Resolverdor automático de Sudoku
Por Fernando Cesar Andreoli | 13/07/2017 | TecnologiaAutor: Fernando César Andreoli (fernandoandriolli@yahoo.com.br)
Neste artigo, é apresentado o programa que auxilia na resolução do jogo de lógica conhecido como Sudoku do tipo retangular de 9 números (1 a 9).
O programa é bem simples e pode ser construído em planilhas do Excel ou outro software semelhante. No link abaixo é possível acessar um drive público com um exemplo desse programa:
Tutorial de utilização do programa:
- Uma vez tendo em mãos um jogo de Sudoku do tipo retangular com 9 números (1 a 9), clique no link indicado;
- Ao abrir o drive, na planilha “pagina principal” existem duas tabelas, na tabela da esquerda está escrito “Preencha seu jogo aqui” e na da direita está escrito “Resolução”. Coloque todos os números do seu jogo na tabela da direita;
- Após o preenchimento dos números fornecidos pelo jogo, a tabela da direita (Resolução) irá indicar algumas respostas para os espaços vagos. Preencha com esses números a tabela da esquerda, colocando exatamente nas mesmas linhas, colunas e quadras que a resolução mandar;
- Caso haja algum erro de preenchimento, aparecerá a palavra “ERRO” abaixo das tabelas. Deve-se observar onde foi digitado errado, apagar e preencher corretamente;
- Durante o preenchimento, automaticamente outros números irão aparecer na resolução até todos os espaços vazios se preencherem e a tabela Resolução zerar.
Jogos de nível especialista: Pode acontecer de alguns jogos mais difíceis o programa não conseguir completar, para isso, existe a função resíduo. Abra a aba "resíduos", nela possui uma tabela grande com todos os possíveis números que faltam preencher. Com isso, escolha uma das opções apresentadas e tenta colocar no jogo principal. Se aparecer "ERRO", apague e tente novamente com as outras opções indicadas na aba "resíduos" (dica: quando for utilizar esse recurso, antes de chutar as opções copie o cole o jogo preenchido até então na tabela de rascunho para facilitar o recomeço caso os primeiros chutes falhem).
Explicação do funcionamento do programa
O resolvedor de Sudoku tem como princípio a dedução, ou seja, são excluídas as possibilidades inviáveis e apresentadas as soluções restantes. Para isso, são realizadas 7 funções:
Função Linha: Para cada número, o programa exclui das alternativas todas as linhas em que o número já foi colocado.
Função Coluna: Para cada número, o programa exclui das alternativas todas as colunas em que o número já foi colocado.
Função Quadra: Para cada número, o programa exclui das alternativas todas as quadras em que o número já foi colocado.
Função vazio: Todos os locais onde possuem números preenchidos, o programa também exclui das alternativas.
Função filtro: Uma vez sobrepostas todas as alternativas das funções anteriores, o programa analisa quais as linhas, colunas e quadras onde existem mais de uma opção para cada número, excluindo-as. Dessa forma, apenas são apresentadas na tabela Resolução as alternativas que passaram por esse filtro.
Função Resíduos: Todas as alternativas que foram excluídas pela função filtro são chamadas de resíduos. Nessa função, o programa analisa quantos resíduos sobraram em cada quadrícula. Quando há apenas um resíduo, se deduz que essa é a resposta para a quadrícula, sendo assim incluído na resolução.
Função Erro: O programa analisa se existem números iguais em todas as linhas, colunas e quadras. Uma vez encontrada essa condição, a pagina principal é alertada com a palavra “ERRO”.
Recomendações
O Resolvedor de Sudoku é composto por 12 planilhas: a “pagina principal”, 9 planilhas de análises (uma para cada número), a planilha de análise dos resíduos e a de análise de erro. Use somente a página principal (e observe a de resíduos quando precisar).
Só é permitido alterar a tabela de preenchimento do jogo. Nunca altere outra parte do programa para não desconfigurar as funções.