Files
problemas-para-competicao-p…/sliding-puzzle/statement/tutorial.tex
2025-11-13 21:07:05 -03:00

30 lines
1.7 KiB
TeX

O problema apresentado é uma versão simplificada do \textit{sliding puzzle}. Nosso objetivo é determinar o número mínimo de movimentos para organizar um tabuleiro $2 \times 3$ a partir de um estado inicial qualquer.
\subsection*{Representação do estado}
\begin{itemize}
\item Cada configuração do tabuleiro pode ser representada como uma sequência linear de números, por exemplo, $[1, 2, 3, 4, 5, 0]$ para o estado final.
\item A posição do $0$ indica onde a casa vazia está localizada e determina quais movimentos são válidos.
\end{itemize}
\subsection*{Estratégia de solução usando BFS}
Podemos modelar o problema como um grafo, onde cada nó é uma configuração do tabuleiro e cada aresta corresponde a um movimento válido do $0$. Uma abordagem eficiente é iniciar a BFS a partir do \textbf{estado final}:
\begin{enumerate}
\item Inicialize a fila com o estado final $[1,2,3,4,5,0]$ e marque-o como visitado com distância $0$.
\item Para cada estado na fila:
\begin{itemize}
\item Identifique a posição do $0$ e calcule todas as posições adjacentes (horizontal e vertical) para trocas.
\item Gere os estados resultantes dessas trocas.
\item Se algum novo estado corresponder ao estado inicial fornecido, retorne a distância armazenada, que representa o número mínimo de movimentos.
\item Caso contrário, adicione o novo estado à fila e marque-o como visitado.
\end{itemize}
\item Se a fila se esvaziar sem encontrar o estado inicial, retorne $-1$.
\end{enumerate}
\subsection*{Complexidade}
\begin{itemize}
\item \textbf{Espacial:} $O(6!)$, pois existem $6! = 720$ possíveis permutações do tabuleiro $2 \times 3$.
\end{itemize}