Table Of ContentUNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE
CENTRO DE CIÊNCIAS EXATAS E DA TERRA
DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA
PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO
MESTRADO ACADÊMICO EM SISTEMAS E COMPUTAÇÃO
Uma Investigação de Algoritmos Exatos e
Metaheurísticos Aplicados ao Nonograma
Camila Nascimento de Oliveira Taumaturgo
Natal-RN
Fevereiro de 2013
Camila Nascimento de Oliveira Taumaturgo
Uma Investigação de Algoritmos Exatos e Metaheurísticos
Aplicados ao Nonograma
Dissertação de Mestrado apresentado ao
Programa de Pós-Graduação em Sistemas e
Computação do Departamento de Informática e
Matemática Aplicada da Universidade Federal do
Rio Grande do Norte como requisito parcial para
a obtenção do grau de Mestre em Sistemas e
Computação.
Linha de pesquisa:
Algoritmos Experimentais
Orientadora
Prof.ª Dra. Elizabeth Ferreira Gouvêa Goldbarg
PPgSC – Programa de Pós-Graduação em Sistemas e Computação
DIMAp – Departamento de Informática e Matemática Aplicada
CCET – Centro de Ciências Exatas e da Terra
UFRN – Universidade Federal do Rio Grande do Norte
Natal-RN
Fevereiro de 2013
Dissertação de Mestrado sob o título Uma Investigação de Algoritmos Exatos e
Metaheurísticos Aplicados ao Nonograma apresentado por Camila Nascimento de
Oliveira Taumaturgo e aceita pelo Programa de Pós-Graduação em Sistemas e
Computação do Departamento de Informática e Matemática Aplicada da Universidade
Federal do Rio Grande do Norte, sendo aprovada por todos os membros da banca
examinadora abaixo especificada:
__________________________________________
Prof.ª Dra. Elizabeth Ferreira Gouvêa Goldbarg
Presidente
DIMAp – Departamento de Informática e Matemática Aplicada
UFRN – Universidade Federal do Rio Grande do Norte
__________________________________________
Prof. Dr. Marco César Goldbarg
Examinador interno à Instituição
DIMAp – Departamento de Informática e Matemática Aplicada
UFRN – Universidade Federal do Rio Grande do Norte
__________________________________________
Prof.ª Dra. Iloneide Carlos de Oliveira Ramos
Examinadora externa ao Programa
DEST – Departamento de Estatística
UFRN – Universidade Federal do Rio Grande do Norte
__________________________________________
Prof. Dr. Antônio Carlos Gay Thomé
Examinador externo à Instituição
Departamento de Ciência da Computação
UFRJ – Universidade Federal do Rio de Janeiro
Natal-RN, 01 de fevereiro de 2013.
Dedicatória
Dedico este trabalho ao meu esposo, Renato Taumaturgo. Reno, muito obrigada pelo
seu carinho, apoio e atenção. Sem você esta fase da minha vida não teria sido tão bonita
e repleta de alegrias. Te amo.
Agradecimentos
Quero agradecer primeiramente a Deus, por me ter me concedido tantas graças, por ter
me dado forças, amor e ter colocado na minha vida pessoas muito especiais que tornaram meus
dias mais fáceis e prazerosos.
Em especial, quero agradecer e dedicar este trabalho ao meu amado esposo Renato,
por sempre estar ao meu lado e disposto a me ajudar, por compreender minhas preocupações e
angústias durante todo o trabalho. Obrigada por ter abdicado de suas férias para estar ao me lado
no fim desta fase tão importante na minha vida.
Não posso deixar de agradecer aos meus familiares mais próximos. Aos meus irmãos
pela confiança e admiração ao meu trabalho. Ao meu pai que, sendo professor e mestre, me
inspirou nesta jornada. Em especial, à minha mãe, pelo carinho, paciência e pela torcida; sei que
ela é minha maior fã, e sua dedicação me inspira a me tornar uma profissional e mãe amorosa e
dedicada. E aos meus sobrinhos, principalmente Ana Lu, que entendeu todas as vezes que eu
disse que ela não poderia dormir na minha casa porque eu estava terminando meu Mestrado.
Quero agradecer aos meus sogros e às minhas duas cunhadas pela amizade e pelo
carinho. Eles realmente são minha família, e agradeço a Deus por ter posto eles na minha vida.
Quero agradecer aos meus amigos da UFRN. A Juliana Araújo, por sempre estar feliz
ao meu lado, me dando apoio e me incentivando. A Everton Cavalcante, pelos seus conselhos e
sua amizade, e eu sei que ele sempre está disposto a me ajudar em qualquer situação; muito
obrigada! A Alba Sandyra, minha amiga da UFRN mais antiga, que sempre tem conselhos
sábios, é sincera e fiel; obrigada, Albinha, pela sua amizade.
Aos colegas do LAE quero agradecer pelos momentos de descontração e pelas novas
amizades que fiz durante o Mestrado, e espero que essas amizades sejam eternas. Em especial,
agradeço a Silvia, que iniciou o trabalho com os Nonogramas, me concedeu tudo que havia
pesquisado e sempre esteve disposta a me ajudar e a tirar minhas dúvidas. Com certeza, sem a
ajuda de Silvia, meu Mestrado teria sido mais complicado.
Por último, e não menos importante, quero agradecer à minha orientadora Elizabeth
Goldbarg, pelas conversas, orientações e amizade; obrigada por tudo, professora. Quero também
agradecer ao professor Marco Goldbarg pelas ótimas dicas ao meu trabalho e pela confiança em
mim.
Ainda que eu caminhe por um vale tenebroso, nenhum mal temerei, pois estás junto a
mim.
Salmo 22,4
Uma Investigação de Algoritmos Exatos e Metaheurísticos
Aplicados ao Nonograma
Autora: B.Sc. Camila Nascimento de Oliveira Taumaturgo
Orientadora: Prof.ª Dra. Elizabeth Ferreira Gouvêa Goldbarg
RESUMO
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 N M 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 solucionar o
Nonograma. A Busca em Profundidade foi uma das abordagens exatas escolhida, por
ser um exemplo típico de algoritmo de força bruta de fácil implementação. Outra
abordagem exata implementada foi baseada no algoritmo Las Vegas, através do qual se
pretende investigar se a aleatoriedade introduzida pelo algoritmo Las Vegas traria
algum benefício em relação à Busca em Profundidade. O Nonograma também é
transformado em um Problema de Satisfação de Restrições. Três abordagens heurísticas
são propostas: uma Busca Tabu e dois algoritmos Memético. Uma nova abordagem para
o cálculo da função objetivo é proposta neste trabalho. As abordagens são testadas em
234 casos de teste de tamanho entre 5 x 5 e 100 x 100, incluindo Nonogramas lógicos e
aleatórios.
Palavras-chave: Nonograma. Busca em Profundidade. Las Vegas. Problema de
Satisfação de Restrições. Busca Tabu. Memético.
Exact and Metaheuristic Algorithms Research Applied to
Nonogram
Author: Camila Nascimento de Oliveira Taumaturgo, B.Sc.
Supervisor: Prof. Elizabeth Ferreira Gouvêa Goldbarg, Ph.D.
ABSTRACT
Nonogram is a logical puzzle whose associated decision problem is NP-complete. It has
applications in pattern recognition problems and data compression, among others. The
puzzle consists in determining an assignment of colors to pixels distributed in a N M
matrix that satisfies line and column constraints. A Nonogram is encoded by a vector
whose elements specify the number of pixels in each row and column of a figure
without specifying their coordinates. This work presents exact and heuristic approaches
to solve Nonograms. The depth first search was one of the chosen exact approaches
because it is a typical example of brute search algorithm that is easy to implement.
Another implemented exact approach was based on the Las Vegas algorithm, so that we
intend to investigate whether the randomness introduce by the Las Vegas-based
algorithm would be an advantage over the depth first search. The Nonogram is also
transformed into a Constraint Satisfaction Problem. Three heuristics approaches are
proposed: a Tabu Search and two memetic algorithms. A new function to calculate the
objective function is proposed. The approaches are applied on 234 instances, the size of
the instances ranging from 5 x 5 to 100 x 100 size, and including logical and random
Nonograms.
Keywords: Nonogram. Depth First Search. Las Vegas. Constraint Satisfaction Problem.
Tabu Search. Memetic.
Lista de Figuras
Figura 1 – Imagem binária com suas projeções horizontal e vertical (Fonte: Batenburg, 2005) 19
Figura 2 – Esquerda: Descrição de um Nonograma. Direita: Solução correspondente do
Nonograma (Fonte: Pic-a-Pix) ............................................................................................. 20
Figura 3 – Exemplo de um Nonograma preto-e-branco e sua solução ....................................... 24
Figura 4 – Nonograma Colorido .................................................................................................. 24
Figura 5 – (a) Dado um puzzle. (b) Três alocações possíveis de blocos para a linha 1. (c) Duas
alocações possíveis de blocos para a linha 2. (d) Duas alocações possíveis de blocos para a
linha 3. (e) Uma alocação de bloco para a linha 4. ............................................................. 35
Figura 6 – Transformando o Nonograma em cláusulas lógicas para as linhas............................ 47
Figura 7 – Possibilidades da linha 1 ............................................................................................. 49
Figura 8 – Possibilidades da linha 2 ............................................................................................. 49
Figura 9 – Possibilidades da linha 3 ............................................................................................. 50
Figura 10 – Possibilidade da linha 4 ............................................................................................ 50
Figura 11 – Possibilidades da linha 6 ........................................................................................... 50
Figura 12 – Um exemplo de DFS. (a) Dado um puzzle. (b) Três possíveis soluções para a linha 1.
(c) Duas soluções possíveis para a linha 2. (d) Duas soluções possíveis para a linha 3. (e)
Uma solução possível para a linha 4. (f) Árvore de busca de (a). ....................................... 51
Figura 13 – Passo 1 da busca em profundidade com Backtracking ............................................ 51
Figura 14 – Passo 2 da busca em profundidade com Backtracking ............................................ 52
Figura 15 – Passo 3 da busca em profundidade com Backtracking ............................................ 52
Figura 16 – Passo 4 da busca em profundidade com Backtracking ............................................ 52
Figura 17 – Passo 5 da busca em profundidade com Backtracking ............................................ 53
Figura 18 – Passo 6 da busca em profundidade com Backtracking ............................................ 53
Figura 19 – Passo 7 da busca em profundidade com Backtracking ............................................ 53
Figura 20 – Passo 8 da busca em profundidade com Backtracking ............................................ 53
Figura 21 – Sorteia-se uma possibilidade para a primeira linha. ................................................ 54
Description:Dissertação de Mestrado sob o título Uma Investigação de Algoritmos Exatos composition in general crystalline solids by quantitative transmission