The KMP Pattern Matching Algorithm first builds an LPS array for the pattern, which stores the longest prefix that is also a suffix for each prefix of the pattern. Then it scans the text with two indices: i for text and j for pattern. When characters match, both indices move forward. On mismatch, instead of moving i forward blindly, the algorithm uses the LPS array to shift the pattern index j to reuse previous matches, avoiding rechecking characters. When j reaches the pattern length, it means the pattern is found in the text at position i-j. This process continues until the entire text is scanned. The LPS array is key to the algorithm's efficiency, allowing it to run in linear time relative to the text length.