Uma Investigação de Algoritmos Exatos e Metaheurísticos Aplicados ao Nonograma
Nonograma, Busca em Profundidade, Las Vegas, Problema de Satisfação de Restrições, Busca Tabu, Algoritmo Memético.
O Nonograma é um jogo lógico cujo problema de decisão associado é NP-completo. Ele possui aplicação em problemas de identificação de padrões e de compactação de dados, dentre outros. O jogo consiste em determinar uma alocação de cores em pixels distribuídos em uma matriz nXm atendendo restrições em linhas e colunas. Um Nonograma é codificado através de vetores cujos elementos especificam o número de pixels existentes em cada coluna e linha de uma figura, sem especificar suas coordenadas. Este trabalho apresenta abordagens exatas e heurísticas para resolver o Nonograma. A Busca em Profundidade foi uma das abordagens escolhidas por ser um exemplo típico de algoritmo força bruta de fácil implementação. Outra abordagem exata implementada foi um algoritmo de Las Vegas, através do qual se pretende investigar se a aleatoriedade introduzida na Busca em Profundidade traria algum benefício para a solução do problema. O Nonograma também é modelado como um Problema de Satisfação de Restrições e resolvido com um solver. Três abordagens heurísticas são propostas: uma Busca Tabu e dois Algoritmos Meméticos. As abordagens são testadas em diversos casos testes, com o tamanho variando de 8 x 8 a 100 x 100, o que inclui Nonogramas lógicos e aleatórios.