Para resolver o problema de encontrar o número mínimo de movimentos que um cavalo precisa para ir de uma posição inicial a uma posição de destino em um tabuleiro de xadrez $8 \times 8$, podemos modelar o tabuleiro como um grafo. \subsection*{Observações importantes} \begin{itemize} \item Cada casa do tabuleiro representa um vértice do grafo. \item Cada movimento válido do cavalo corresponde a uma aresta entre dois vértices. \item O objetivo é encontrar o menor número de arestas que conectam a posição inicial à posição de destino. \end{itemize} \subsection*{Estratégia de solução} O problema de encontrar o menor caminho em um grafo sem pesos nas arestas pode ser resolvido eficientemente usando \textbf{Busca em Largura (BFS, \textit{Breadth-First Search})}. \begin{enumerate} \item Inicialize uma fila com a posição inicial do cavalo. \item Mantenha uma matriz de visitados para marcar as posições já exploradas. \item Para cada posição na fila, tente todos os oito movimentos possíveis do cavalo: \begin{itemize} \item $(+2, +1)$, $(+2, -1)$, $(-2, +1)$, $(-2, -1)$ \item $(+1, +2)$, $(+1, -2)$, $(-1, +2)$, $(-1, -2)$ \end{itemize} \item Se a nova posição estiver dentro do tabuleiro e ainda não tiver sido visitada, marque-a como visitada e adicione-a à fila. \item Continue até alcançar a posição de destino. \end{enumerate}