KMP wylicza dla wzorca tablicę LPS (najdłuższy proper prefix będący jednocześnie suffixem). Przy niedopasowaniu przesuwa wzorzec zgodnie z LPS zamiast cofać wskaźnik tekstu, więc znaki tekstu nie są porównywane ponownie.