The path displayed on the board is the shortest path for the knight to take from its starting square to the X, avoiding the pawns. When you click the board, the new path begins at the previous destination X and ends at the newly selected square. Although there may be other paths of the same length, there is never any path shorter than the displayed path.

To find the shortest path, the Demonstration takes the square the knight is on and uses it to create a graph of all of the paths the knight can take, removing any paths that connect to squares containing pawns. Then the Demonstration calls Mathematica's built-in FindShortestPath function to find the path the knight should take and finds those squares on the chessboard to output the highlighted path. The graph of the knight's paths changes every time a new pawn configuration is created.