Search button

Sudoku Solver based on Human Strategies: an application in VBA

Aluno: Daniela Marques Pais


Resumo
O Sudoku é um puzzle popularmente conhecido, com aplicações em diversas áreas que se estendem desde a Criptografia à Medicina. Por ser um problema NP-completo, a maior parte dos esforços para o resolver focam-se em heurísticas e não em métodos exatos. Exemplo destes últimos são as estratégias humanas. A proposta deste Trabalho Final de Mestrado (TFM) consiste no desenvolvimento de um Sudoku Solver, em VBA. O solver desenvolvido é um algoritmo de duas fases que incorpora estratégias humanas (Fase 1) e backtracking (Fase 2). A Fase 2 só é executada se, terminada a Fase 1, não for encontrada uma solução admissível. Foi conduzida uma experiência computacional para testar a performance do solver para puzzles 9×9 de três níveis de dificuldade: fácil, moderado e difícil. Das 230 instâncias testadas, aproximadamente 55% foram resolvidas. O tempo máximo de resolução foi de 6,813 segundos, o tempo mínimo foi de 0,309 e a média do tempo total foi de 2,525 segundos.


Trabalho final de Mestrado