Escolar Documentos
Profissional Documentos
Cultura Documentos
Natal - RN
2014
Orientador
Prof. Dr. Marco Csar Goldbarg
Natal - RN
2014
RN/UF/BSE-CCET
CDU: 004.021
BANCA EXAMINADORA
____________________________________________
Prof. Dr. Marco Cesar Goldbarg (Orientador)
Centro de Cincias Exatas e da Terra
Departamento de Informtica e Matemtica Aplicada
UFRN
____________________________________________
Profa. Dra. Elizabeth Ferreira Gouvea
Centro de Cincias Exatas e da Terra
Departamento de Informtica e Matemtica Aplicada
UFRN
_____________________________________________
Profa. Dra. Iloneide Carlos de Oliveira Ramos
Examinadora externa ao Programa
Departamento de Estatstica
UFRN
____________________________________________
Prof. Dr. Henrique Pacca Loureiro Luna
Examinador externo ao Programa
UFAL - Universidade Federal de Alagoas
____________________________________________
Profa. Dra. Myriam Regattieri De Biase da Silva Delgado
Examinadora externa ao Programa
UTFPR - Universidade Tecnolgica Federal do Paran
Natal - RN
2014
RESUMO
O Hiker Dice foi um jogo proposto recentemente em um software projetado por Mara
Kuzmich e Leonardo Goldbarg. No jogo um dado responsvel pela construo de
uma trilha sobre um tabuleiro n x m. O dado ao visitar uma clula do tabuleiro
imprime (marca) a face que entra em contato com a superfcie. O jogo apresenta o
Problema do Caminho Hamiltoniano Simples Mximo Hiker Dice (CHS-HiDi) em
Tabuleiros Compactos de ordem N, esse problema ento caracterizado por
buscar um caminho hamiltoniano que maximize a soma dos faces do dado marcados
no tabuleiro. A pesquisa presentemente relatada, modela o problema atravs de
Grafos, e prope duas classes de algoritmos de soluo. A primeira classe,
pertencente aos algoritmos exatos, constituda por um algoritmo em backtracking
aparelhado com um retorno realizado atravs de regras lgicas e limite da melhor
soluo encontrada. A segunda classe de algoritmos constituda por
metaheursticas do tipo Computao Evolucionria, Busca Local Aleatorizada e
GRASP (Greed Randomized Adaptative Search). Para os algoritmos foram criados
trs operadores especficos da seguinte forma: de reestruturao, de recombinao
com duas solues e construtivo guloso aleatrio. O algoritmo exato foi testado em
tabuleiros 4x4 a 8x8 esgotando a possibilidade de tratamento computacional dos
casos maiores em virtude da exploso em tempo de processamento. Os algoritmos
heursticos foram testados nos tabuleiros 5x5 at 14x14. Segundo a metodologia de
avaliao utilizada, os resultados encontrados pelos algoritmos heursticos sugere
um melhor potencial de desempenho para o algoritmo GRASP.
ABSTRACT
The Hiker Dice was a game recently proposed in a software designed by Mara
Kuzmich and Leonardo Goldbarg. In the game a dice is responsible for building a trail
on an n x m board. As the dice waits upon a cell on the board, it prints the side that
touches the surface. The game shows the Hamiltonian Path Problem Simple
Maximum Hiker Dice (Hidi-CHS) in trays Compact Nth, this problem is then
characterized by looking for a Hamiltonian Path that maximize the sum of marked
sides on the board. The research now related, models the problem through Graphs,
and proposes two classes of solution algorithms. The first class, belonging to the
exact algorithms, is formed by a backtracking algorithm planed with a return through
logical rules and limiting the best found solution. The second class of algorithms is
composed by metaheuristics type Evolutionary Computing, Local Ramdomized
search and GRASP (Greed Randomized Adaptative Search). Three specific
operators for the algorithms were created as follows: restructuring, recombination
with two solutions and random greedy constructive.The exact algorithm was teste on
4x4 to 8x8 boards exhausting the possibility of higher computational treatment of
cases due to the explosion in processing time. The heuristics algorithms were tested
on 5x5 to 14x14 boards. According to the applied methodology for evaluation, the
results acheived by the heuristics algorithms suggests a better performance for the
GRASP algorithm.
LISTA DE FIGURAS
FIGURA 1 - MOVIMENTO DO DADO NO TABULEIRO DO JOGO HIKER DICE. ............................... 14
FIGURA 2 EXEMPLIFICAO DO DADO. ........................................................................................ 17
FIGURA 3 - JUMPS DIREITA ONDE AS FACES PROJETADAS OCUPAM AS SEGUINTES
POSIES: (A) POSIO (I-1, J-1); (B) POSIO (I-1, J+1); (C) POSIO (I+1,
J+1); E (D) POSIO (I+1, J-1). ................................................................................... 18
FIGURA 4 TRILHAS DO DADO SOBRE UM TABULEIRO. ............................................................... 19
FIGURA 5 EXEMPLO DE TABULEIRO 10X10, GRAFO GRADE 10X10 E CAMINHOS SIMPLES
HIKER DICE (HIDI). ....................................................................................................... 20
FIGURA 6 - EXEMPLOS DE RESTRIES. ........................................................................................ 21
FIGURA 7 - GRAFOS GRADE R7, 4 COM
OS VRTICES DEFINIDOS POR COORDENADAS:
GRAFO GRADE TETRGANO SOLIDO (A), GRAFO GRADE TETRGONO COM
BURACO (B).
23
FIGURA 8 - GRAFO GRADE COM CICLOS DIJUNTOS. ..................................................................... 24
FIGURA 9 - GRAFO GRADE ORIGINAL (A), E GRAFO GRADE AUXILIAR COM VRTICES E
ARESTAS FICTCIOS (B). ............................................................................................ 26
FIGURA 10 - GRAFO GRADE COM CICLOS DEFINIDOS (A), FUSO DOS CICLOS (B). ................ 26
FIGURA 11 EXEMPLO DE VRTICES TERMINAIS. ........................................................................ 27
FIGURA 12 EXEMPLO DE PONTO DE ISOLAMENTO. ................................................................... 29
FIGURA 13 EXEMPLO DE VRTICES ADJACENTES DA POSIO CORRENTE. ....................... 29
FIGURA 14 MARCA GRAFO 1. .......................................................................................................... 30
FIGURA 15 MARCA GRAFO 2. .......................................................................................................... 31
FIGURA 16 ESTRUTURA CRUZ........................................................................................................ 32
FIGURA 17 EXEMPLO DE ROLAMENTO DO DADO NA DIREO VERTICAL E
HORIZONTAL. ............................................................................................................... 33
FIGURA 18 EXEMPLO DE TABULEIRO E GRAFO GRADE 3X3. ................................................... 34
FIGURA 19 EXEMPLO DE MOVIMENTO DO DADO. ....................................................................... 35
FIGURA 20 - ELEMENTO DA ESTRUTURA PILHA. ............................................................................ 37
FIGURA 21 GRAFO GRADE 3 X 3 (A); CONSTRUO DO CAMINHO (B), (C), (D) E (E);
EXEMPLO DE RVORE DE ESTADO (F). ................................................................... 39
FIGURA 22 GRAFO GRADE 4X4 E SOLUO INICIAL (S*). ........................................................... 49
FIGURA 23 RELAO DE ADJACNCIA DO INTERVALO DE REESTRUTURAO NO
GRAFO GRADE 4X4. .................................................................................................... 50
FIGURA 24 SOLUO REESTRUTURADA. ..................................................................................... 50
FIGURA 25 EXEMPLO RECOMBINAO. ....................................................................................... 55
FIGURA 26 NOVO CAMINHO NO GRAFO GRADE 4X4. ................................................................. 56
FIGURA 27 EXEMPLO CONSTRUO PRIMEIRO NVEL. ............................................................. 60
FIGURA 28 EXEMPLO CONSTRUO SEGUNDO NVEL. ............................................................. 61
FIGURA 29 EXEMPLO CONSTRUO TERCEIRO NVEL. ............................................................ 62
FIGURA 30 - GRAFO (N, M). ................................................................................................................. 85
FIGURA 31 - EXEMPLO DE CAMINHO FECHADO EM UM GRAFO G. ............................................. 86
FIGURA 32 EXEMPLO DE UM GRAFO GRADE. .............................................................................. 87
FIGURA 33 - PRODUTO CARTESIANO ENTRE DOIS GRAFOS CAMINHOS RESULTA EM
GRAFO GRADE. ........................................................................................................... 87
FIGURA 34 GRAFO GRADE 3X3 EM MATRIZ E LISTA DE ADJACNCIA. .................................... 88
LISTA DE TABELAS
TABELA 1 RESULTADOS EXATOS ENCONTRADOS. ................................................................... 73
TABELA 2 CASO DE TESTE: TABULEIRO 3X3. .............................................................................. 75
TABELA 3 - CONFIGURAES FILTRADAS PARA O BUSCA LOCAL NO TABULEIRO 8X8. ........ 78
TABELA 4 - CONFIGURAES FILTRADAS PARA O GRASP NO TABULEIRO 8X8. ..................... 79
TABELA 5 - CONFIGURAES FILTRADAS PARA O GENTICO NO TABULEIRO 8X8................. 80
TABELA 6 RESULTADOS HEURSTICOS. ....................................................................................... 82
TABELA 7 COLETA DE DADOS DAS CONFIGURAES APLICADA AO BUSCA LOCAL NO
TABULEIRO 8X8. .......................................................................................................... 92
TABELA 8 - COLETA DE DADOS DAS CONFIGURAES APLICADA AO GRASP NO
TABULEIRO 8X8. .......................................................................................................... 93
TABELA 9 - COLETA DE DADOS DAS CONFIGURAES APLICADA AO GENTICO NO
TABULEIRO 8X8. .......................................................................................................... 94
SUMRIO
INTRODUO .................................................................................................... 13
JOGO HIKER DICE .......................................................................................... 14
1.1
1.1.1
1.2
1.2.1
Geral ............................................................................................................. 16
1.2.2
Especficos .................................................................................................... 16
DIVISO DO TRABALHO ................................................................................ 16
1.3
2
4.1
4.2
4.3
4.4
MARCAO DO GRAFO................................................................................. 30
4.4.1
4.4.2
4.5
4.6
4.6.1
4.6.2
4.7
5
6.1
6.1.1
6.1.2
6.1.3
6.2
OPERADORES ................................................................................................ 49
6.2.1
6.2.2
6.2.3
6.2.4
7
RESULTADOS .................................................................................................... 73
7.1
7.2
7.2.1
7.2.1.1
7.2.1.2
7.2.1.3
7.2.2
7.2.2.1
Busca Local................................................................................................ 77
7.2.2.2
GRASP....................................................................................................... 78
7.2.2.3
Gentico ..................................................................................................... 79
7.3
7.3.1
8
8.1
CONCLUSO ..................................................................................................... 83
TRABALHOS FUTUROS ................................................................................. 84
13
INTRODUO
Na Cincia da Computao existe uma ateno crescente relacionada aos
jogos de raciocnio logico que demonstram natureza combinatria. Por causa das
aplicaes prticas que muitos deles podem demostrar; como tambm, o
desenvolvimento de algoritmos computacionais com capacidade de enfrentar o
raciocnio humano com possibilidade de vitria.
O inicio das pesquisas relacionadas ao desenvolvimento de algoritmos
computacionais que confrontassem o raciocnio humano com alguma chance de
vitria, ocorreu na dcada de 90. Nessa poca, foi marcante a disputa no xadrez
entre o computador Deep Blue da IBM e ex-campeo Garry Kasparov. Na primeira
disputa, em um total de seis (6) jogos, em 1996, Deep Blue surpreende a todos ao
ganhar uma e empatar duas partidas contra Kasparov, entretanto, o computador da
IBM perdeu trs vezes. Na segunda disputa, no dia 11 de maio de 1997, o desafio foi
finalizado com duas vitrias e trs empates de Deep Blue, contra uma vitria de
Kasparov. Na cidade de New York entre os dias 11 e 18 de Novembro de 2003,
aconteceu mais uma disputa de Kasparov contra uma maquina, desta vez foi o
computador X3D Fritz, equipado por 4 processadores Intel Pentium Xeon com
2.8GHz. Nesta disputa, houve dois jogos empatados, uma vitria para Kasparov e
outra para computador X3D Fritz. Assim sendo, tornana-se evidente a capacidade
de certo algoritmo computacional confrontar o raciocnio humano com chance de
vitria (GOLDBARG M.; OLIVEIRA; GOLDBARG, E., 2011).
Um novo significado na popularizao dos jogos de raciocnio lgico
aconteceu na dcada de 90. Devido a evoluo computacional relacionada s
interfaces e modernos meios de mdia, muitos desses jogos comearam a ter sua
analise de complexidade de solues estudadas, como o Xadrez (FRAENKEL;
LICHTENSTEIN, 1981), Go (LICHTENSTEIN; SIPSER, 1980), Sokoban (DOR;
ZWICK, 1999), Soduko (YATO; SETA, 2003) Minesweeper (KAYE, 2000), Tantrix
(HOLZER, M.; HOLZER, W., 2004), Lemmings (CORMODE, 2004), Spiral Galaxies
(FRIEDMAN, 1992), Tertrix (HOOGEBOOM; KOSTERS, 2004), dentre outros.
Posto
isso,
torna-se
importante
desenvolvimento
de
pesquisas
14
1.1
15
16
1.2
OBJETIVOS
1.2.1 Geral
Construir classes de algoritmos de solues para o problema do Caminho
Hamiltoniano Simples Mximo (CHS-HiDi) em Tabuleiros Compactos de ordem n.
1.2.2 Especficos
1. Modelar o problema do CHS-HiDi atravs de grafos.
2. Criar um algoritmo exato para o problema do CHS-HiDi.
3. Criar operadores construtivos para o problema do CHS-HiDi, a fim de, adaptlos aos algoritmos de Busca Local, GRASP e Gentico.
4. Realizar experimentos computacionais com o algoritmo exato e, com os
algoritmos heursticos de Busca Local, GRASP e Gentico.
1.3
DIVISO DO TRABALHO
O restante do trabalho est dividido da seguinte forma: a seo 2 (dois),
17
18
utilizar uma das duas faces. O jump direita projeta a face no adjacente situada
direita em relao ao sentido de movimento do dado. O jump esquerda a face
projetada ser aquela situada esquerda. A Figura 3 exemplifica os jumps direita.
Figura 3 - Jumps direita onde as faces projetadas ocupam as seguintes posies: (a) posio (i-1, j1); (b) posio (i-1, j+1); (c) posio (i+1, j+1); e (d) posio (i+1, j-1).
19
20
5
1
4
1
3
6
21
22
vrtices em um grafo qualquer sem admitir vrtices repetidos, foi proposto em 1856
por Thomas Penyngton Kirkman. No trabalho (Kirkman, 1856) foram analisadas as
condies em tipos de slidos da existncia de caminhos e ciclos que no
repetissem vrtices ou arestas (LAPORTE, 2006; GROPP, 2006).
Um pouco mais tarde o problema de encontrar os caminhos que passassem
por todos os vrtices do grafo iniciando e terminando no mesmo vrtice foi
denominado de Hamiltoniano devido ao jogo Around the World criado em 1857 por
Willian Rowan Hamilton (GOLDBARG, M.; GOLDBARG, E., 2012). O jogo tinha a
forma de um dodecaedro1, no qual cada vrtice representava uma cidade importante
na poca. O objetivo era encontrar um caminho passando por todas as cidades de
forma que iniciasse e terminasse na mesma cidade e nunca repetisse uma cidade j
visitada, ento uma soluo desse jogo passou a ser chamada de ciclo
Hamiltoniano.
Segundo Goldbarg e Goldbarg (2012, p. 217), um grafo dito hamiltoniano,
se possui um ciclo hamiltoniano; um grafo dito semi-hamiltoniano se possui um
caminho hamiltoniano.
O Problema do Caminho Hamiltoniano Simples Mximo HiDi em Tabuleiros
Compactos (CHS-HiDi) desenvolvido em grafos grade pois esse o tipo de grafo
formado pelos rolamentos do dado.
Um dos primeiros estudos relacionados a Caminhos Hamiltonianos em grafo
grade foi apresentado em Luccio e Mugnia (1978), cujos autores tentavam resolver o
problema do caminho hamiltoniano em algumas classes de grafos, inclusive os
grafos grade retangulares.
Denotando por G um grafo infinito no qual os vrtices so todos os pontos
do plano com coordenadas inteiras, dois vrtices distintos so conectados se e
23
somente se a distancia Euclidiana entre eles igual a um (1). O grafo grade R(m, n)
unicamente um subgrafo induzido de G, onde o conjunto de vrtices V(R(m, n)) =
{v: 1 Vx m e 1 Vy n} so definidos pelas coordenadas no plano cartesiano.
(ITAI et al., 1982).
De acordo com Weisstein (2013), nesse tipo de grafo a quantidade de
vrtices pode ser encontrada pela equao mn e a quantidade de arestas pela
equao (m-1)n + (n-1)m = 2mn - m - n.
Na Figura 7 (a) e (b) so exemplificados os grafos grade R7,4 sem buraco e
com buraco (com um conjunto de vrtices ausentes), nesses grafos os vrtices pode
ser localizados pelas coordenadas inteiras (Vx, Vy) definidas no plano cartesiano.
Como exemplo, o vrtice de forma quadrada est localizado na coordenada V(4, 3)
e, o vrtice triangular est localizado na coordenada V(5, 2). Segundo as definies
relatadas no trabalho de Weisstein (2013), o grafo da Figura 7 (a), apresenta pelas
equaes um total de 28 vrtices e precisamente 45 arestas.
Figura 7 - Grafos Grade R7, 4 com os vrtices definidos por coordenadas: Grafo Grade Tetrgano
Solido (a), Grafo Grade Tetrgono com Buraco (b).
24
em dois conjuntos, onde cada aresta apresenta seus vrtices terminais em conjuntos
diferentes); o maior grau de um vrtice no grafo ser 4 (SALMAN, 2005). No
Apndice 1 so mostradas algumas definies bsicas.
Alguns autores estabelecem algoritmos para a enumerao dos diferentes
caminhos hamiltonianos em grafos grade. Kwong e Rogers (1994) apresentam um
mtodo matricial de contagem. Stoyan e Strehl (1996) geram funes para a
enumerao dos caminhos hamiltonianos em grafos grades com uma das
dimenses menor ou igual a 6.
Lenhart e Umans (1997) apresentaram um algoritmo para encontrar ciclos
hamiltonianos em grafos grade usando a tcnica de fuso de ciclo. Primeiro, o
algoritmo proposto encontra um conjunto de ciclos disjuntos que cobrem exatamente
os vrtices do grafo G, onde cada subgrafo nesse conjunto apresenta os vrtices
com grau dois. Segundo, o algoritmo faz a fuso dos componentes encontrados com
finalidade de formar um ciclo hamiltoniano. Ento, repetidamente a transformao
identifica um conjunto de ciclos que reduz o nmero de componentes e em seguida
realiza a fuso dos componentes. Esse processo encontra um ciclo hamiltoniano ou
simplesmente termina com mltiplos componentes. A Figura 8 exemplifica os ciclos
encontrados em grafo grade.
Figura 8 - Grafo Grade com Ciclos Dijuntos.
25
Polgono que tem seis ngulos e, por conseguinte, seis lados. Disponvel em:
http://www.dicio.com.br/hexagono/
26
Figura 9 - Grafo grade original (a), e grafo grade auxiliar com vrtices e arestas fictcios (b).
27
4
4.1
dois vrtices terminais, um vrtice inicial e um vrtice final, ambos com grau 1 (um).
Sendo assim, o Procedimento Vrtices Terminais tem como funo manter um
controle sobre a quantidade de vrtices no grafo grade com grau igual a um (1).
Na Figura 11 (a), os vrtices terminais para o caminho (0-3-4) j existem no
grafo G, os vrtices 0 e 6.
O procedimento tem como entrada um vrtice (v), o grafo G (matriz de
adjacncia) e como sada, uma condio verdadeira (para o vrtice v sendo vivel)
ou falsa (para o vrtice v sendo no vivel).
Para o caminho, na Figura 11 (a), supondo o vrtice (5) passado como
entrada, o procedimento resultar o caminho (0-3-4-5) no grafo (G); na Figura 11 (b),
o caminho construdo resultou no grafo G, o vrtice um (1) com grau 1.
Logo, o procedimento ao adicionar o vrtice 5 retorna uma condio falsa;
visto que o grafo G apresenta alm dos vrtices 0 e 6, o vrtice um (1) com grau
igual a 1.
Figura 11 Exemplo de Vrtices Terminais.
4.2
PONTO DE ISOLAMENTO
Os pontos de isolamento tm como funo inibir a construo do Caminho
28
29
4.3
adjacncia entre os vrtices com o valor 1, como mostra a Figura 13 (a). No decorre
da construo do caminho no grafo, as arestas que fazem parte do caminho vo
sendo marcadas com -1 e com 0, as arestas que no fazem parte do caminho.
A Figura 13 (b) exemplifica um caminho definido pelos vrtices 0-3-4, as
arestas nesse caminho so marcadas com valor (-1) e, as arestas 0-1 e 3-6 so
removidas, marcadas com valor (0).
O Procedimento Vrtices Adjacentes da Posio Corrente no Caminho tem
como entrada um vrtice (v), um grafo G (matriz de adjacncia) e como sada, uma
lista com os vrtices adjacentes ao vrtice (v) no grafo G, cujas arestas tenham
marcao com valor (1).
No exemplo da Figura 13 (b), supondo o vrtice (4) passado como entrada, o
procedimento retornar uma lista com os vrtices (1, 5 e 7), apenas as adjacncias
com arestas com marcao igual a 1.
Figura 13 Exemplo de Vrtices Adjacentes da Posio Corrente.
30
4.4
MARCAO DO GRAFO
31
4.5
4.6
32
33
34
35
4.7
procedimento
realiza
uma
das
trs
regras
para
atualizao:
1. Verificar se o vetor de solues (v_solucao) est vazio; caso verdade, a
nova soluo (nova_s) adicionada ao vetor e o procedimento finalizado;
2. Verificar se o valor objetivo da nova soluo (nova_s) igual aos valores
objetivos das solues do vetor (v_solucao); caso verdade, a nova
36
37
ABORDAGEM EXATA
O algoritmo exato para o problema Hiker Dice um Backtracking usando
uma estrutura pilha. Cada elemento da pilha apresenta dois compartimentos para
guardar informao do caminho em construo. A Figura 20 exemplifica um
elemento da pilha. O primeiro, guarda um vrtice referente ao caminho em
construo no tabuleiro (parte em amarelo); o segundo, guarda uma lista referente
s ramificaes (vizinhos) do vrtice escolhido (parte em azul).
Passos do algoritmo:
1. Adicionar como primeiro elemento na pilha um vrtice do grafo que
represente o incio do caminho na parte amarela e suas ramificaes
(vizinhos), na parte em azul. Depois, sero realizados os passos
seguintes at a pilha ficar vazia;
2. Verificar se a pilha no est vazia para continuar o procedimento no
passo 3. Se estiver, finalizar procedimento no passo 9;
3. Verificar se a lista do topo da pilha maior que zero. Se for o caso, devese fazer o passo 4; caso contrrio, o desempilhamento (passo 8);
4. Selecionar um vrtice presente na lista do topo da pilha; depois, marc-lo
como vizitado;
5. Verificar se o vrtice selecionado, no passo 4, no pertence ao caminho
que est sendo construdo, no cause isolamentos de pontos no grafo e
mantenha o controle de pontos terminais (ver seo 4);
38
39
Figura 21 Grafo Grade 3 x 3 (a); Construo do caminho (b), (c), (d) e (e); Exemplo de rvore de
Estado (f).
Uma soluo representada por dois vetores de inteiros, um para o caminho, outro para
40
41
Exato_HikerDice ( )
Entrada: G(V, A)
Sada: v_solucao (vetor de solues)
0
// Inicio
Pilha pilha
v0
pilha.add(0, lista_v)
Equanto(pilha ) faa
v pilha.topo.lista.ponto_frente
pilha.topo.ponto_frente_remove
10
11
pilha.add(v, lista_v)
12
marca_grafo1(G, retorna_caminho(pilha))
13
Fim_se
14
15
Solucao nova_s
16
nova_s rolamento_dado(retorna_caminho(pilha))
17
18
Fim_se
19
Contrario
20
Se (pilha )) faa
21
marca_grafo2(G, retorna_caminho(pilha))
22
pilha.desempilhar_elemento
23
24
Fim_se
Fim_se
25 Fim_enquanto
42
ABORDAGEM HEURSTICA
Na seo 6.1, sero apresentados os Algoritmos Heursticos e na seo 6.2,
6.1
43
Busca_Local()
Entrada:
S* (soluo inicial);
N (nmero de vizinhos a serem gerados);
T (valor para definir o tamanho do intervalo de reestruturao).
Saida: S (melhor soluo encontrada).
//inicio
melhoria_it verdade
melhoria_it falso
5
6
Para (i 0 at N) faa
V.add (s_vizinha)
10
Fim_para
11
12
13
14
S* V[i]
15
melhoria_it verdade
16
17
Fim_se
Fim_para
18
19
Fim_enquanto
44
45
GRASP( )
Entrada:
It (nmero de iteraes);
Alfa (define o tamanho da lista de candidatos restrita no operador construtivo
guloso aleatrio);
Taxa_g (tamanho do caminho constuido de forma gulosa no operador construtivo
guloso aleatrio).
Saida: S (melhor soluo encontrada)
0
//inicio
iterao 1
S* Operador.contrucao_gulosa_aleatoria(alfa, taxa_g)
4
5
6
7
8
9
10
11
12
iterao iterao + 1
Fim_enquanto
46
47
Genetico ()
Entrada:
Populacao (populao criada a partir de alguma regra);
P_r (probabilidade de recombinao);
P_m (probalidade de mutao).
Saida: S (melhor soluo encontrada).
0
//inicio
S melhor_individo (populacao)
melhoria_it verdade
contador 1
7
8
sorteio_r [0, 1]
10
11
12
13
sorteio_m [0, 1]
14
15
16
17
18
Fim_se
Fim_se
48
Continuao
21
22
S filho_1
23
contador 0
24
Fim_se
25
26
27
S filho_2
28
contador 0
29
Fim_se
30
31
32
33
contador contador +1
34
35
36
37
melhoria_it falso
Fim_se
Fim_enquanto
49
6.2
OPERADORES
50
linha
2,
varivel
numrica
51
Procedimento 1 - Reestruturao
reestruturacao ()
Entrada: S* (Soluo inicial), T (define o tamanho do intervalo de reestruturao), G
(grafo grade)
Sada: Sr (Soluo reestruturada)
// Inicio
1
tamanho_intervalo S*.caminho_tamanho * T
2
indice_inicial_maximo S*.caminho_tamanho tamanho_intervalo
3
in_extremo_inicial [0, indice_inicial_maximo]
4
in_extremo_final in_extremo_inicial + tamanho_intervalo
5
6
novo_intervalo modificar_intervalo (in_extremo_inicial, in_extremo_final, S*, G)
7
8
Se(novo_intervalo )faa
9
n_caminho novo_caminho(novo_intervalo, S*.caminho, in_extremo_inicial,
in_extremo_final)
10
rolamento_dado(n_caminho, Sr)
11 Fim_se
12
13 Retorna Sr
52
53
modificar_intervalo ()
Entrada: in_inicial (ndice do extremo inicial), in_final (ndice do extremo final),
S* (soluo inicial), G (Grafo)
Sada: novo_intervalo (vetor de inteiros)
// Inicio
1
marca_caminho_no_grafo(S*.caminho, G)
2
3
intervalo_r
Para (i in_inicial; i <= in_final; i++) faa
4
5
intervalo_r.add(S*.caminho[i])
Fim_para
6
8
marca_intervalo_no_grafo(intervalo_r, G)
9
10 Pilha pilha
11 v intervalo_r.primeiro
12 lista_v pega_vizinhos(v, G)
13 pilha.add(v, lista_v)
15 K |G(V)|
16
17 Para (j 0 at K ) faa
Enquanto( pilha.topo.lista ) faa
18
19
v vertice_maior_grau(pilha.topo.lista)
20
pilha.topo.lista.remove(v)
Se (ponto_isolamento(v, retorna_caminho(pilha)) == T) faa
21
22
lista_v pega_vizinhos(v, G)
23
pilha.add(v, lista_v)
24
marca_grafo1(G, retorna_caminho(pilha))
Fim_se
25
Fim_enquanto
26
27
Se(pilha.tamanho == intervalo_r.tamanho) faa
28
Se(teste_intervalo(pilha) == verdadeiro) faa
29
30
novo_intervalo retorna_caminho(pilha)
31
jK
Fim_se
32
Contrario Se (pilha == ) faa
33
34
jK
Fim_se
35
36
Enquanto( pilha.topo.lista == ) faa
37
54
38
marca_grafo2(G, retorna_caminho(pilha))
39
pilha.desempilha
Fim_enquanto
40
41 Fim_para
42 Retornar novo_intervalo
55
56
57
58
Procedimento 3 - Recombinao
Recombinacao ( )
Entrada: S1 (Soluo 1), S2 (Soluo 2), G (grafo em matriz de adjacncia)
Sada: Sr (nova soluo)
//inicio
1
v_caminho
2
tamanho S1.caminho_tamanho * 0,5
Para (i 0; i < tamanho; i++) faa
3
4
v_caminho.add(S1.caminho[i])
Fim_para
5
6
Para (i v_caminho.tamanho; i > 0; --i) faa
7
8
v v_caminho[i]
9
s v_sucessor(v, S2)
Se (teste_s (v_caminho, s) == T) faa
10
11
Sair do lao
Contrario
12
13
v_caminho.remove_ultimo_vertice
Fim_se
14
15 Fim_para
16
17 Indice
18 ponto_r v_caminho.ultimo
19 Para (i 0; i < S2.caminho_tamanho; ++i) faa
Se (S2.caminho[i] == ponto_r) faa
20
21
indice i + 1
22
Sair do lao
Fim_se
23
24 Fim_para
25
26 Para (i indice; i < S2.caminho_tamanho; ++i) faa
27
v S2.caminho[i]
Se(teste_s (v_caminho, v) == T) faa
28
29
v_caminho.add(v)
Contrario
30
31
Sair do lao
Fim_se
32
33 Fim_para
34
35 marca_caminho_grafo(v_caminho, G)
36 v_terminais vertices_terminais (G)
37
38 Se (v_terminais.tamanho <= 2) faa
39
v_caminho repara_caminho(v_caminho, v_terminais, G)
40 Fim_se
41
42 Se (v_caminho.tamanho == |G(V)|) faa
43
rolamento_dado(v_caminho, Sr)
44 Fim_se
45
46 Retornar Sr
59
60
61
62
A soluo representada por dois vetores de inteiros, um para o caminho, outro para as
63
(construir_caminho_nivel_2())
remove
um
elemento
do
vetor
(caminho_nivel_1).
A linha 9 declara um vetor (caminho_nivel_2) para guardar os caminhos
construdos no segundo nvel, cada elemento do vetor tambm armazena dois tipos
de informaes, um para o caminho e outro para somatrio das faces do dado desse
caminho. Na linha 10, o procedimento (construir_caminho_nivel_2()) construir os
caminos do segundo nvel.
O lao mais interno entre as linhas de nmeros 12 a 16 executar at o vetor
(caminho_nivel_2) ficar vazio ou a soluo (S) ser construda. No pior caso, o lao
executar at o vetor ficar vazio, aqui, o lao tambm executar 50 vezes, devido o
tamanho mximo do vetor (caminho_nivel_2). E, a cada iterao do lao, o
procedimento
(construir_caminho_nivel_3())
remove
um
elemento
do
vetor
(caminho_nivel_2).
Na linha 10, o procedimento (construir_caminho_nivel_3()) construir uma
soluo (S).
64
construcao_gulosa_aleatoria ( )
Entrada:
A (varivel para definir o tamanho da lista de candidato restrita),
T (varivel para definir o tamanho do caminho no primeiro e segundo nvel),
G (Grafo)
Sada: S
1
nivel_2 |G(V)| * T
2
nivel_1 (nvel_2) / 2
3
4
caminho_nivel_1
5
caminho_nivel_1 construir_caminho_nivel_1(nivel_1, A, G)
6
7
Enquanto (caminho_nivel_1 E S.caminho == ) faa
8
9
caminho_nivel_2
10
caminho_nivel_2 construir_caminho_nivel_2(caminho_nivel_1,
nvel_2, A, G)
11
12
Enquanto (caminho_nivel_2 E S.caminho == ) faa
13
14
S construir_caminho_nivel_3(caminho_nivel_2, G)
15
Fim_enquanto
16
17 Fim_enquanto
18
19 Retonar S
65
66
construir_caminho_nivel_1 ( )
Entrada:
nvel_1 (varivel para definir o tamanho dos caminhos no primeiro nvel)
A (varivel para definir o tamanho da lista de candidato restrita),
G (Grafo)
Sada: caminho_nivel_1 (um vetor com os caminhos do primeiro nvel)
// Inicio
1
Pilha pilha
2
v0
3
lista_v vertices_adjacentes (v, G);
4
pilha.add(v, lista_v)
5
6
saida_enquanto verdade
Enquanto (sada_enquanto == verdade) faa
7
Enquanto (pilha.topo.lista E pilha.tamanho < nivel_1) faa
9
10
v seleciona_vertice_aleatorio(pilha.topo.lista)
11
pilha.topo.lista.remove(v)
12
Se (ponto_isolamento(v, retorna_caminho(pilha), G) == T ) faa
13
14
lista_v vertices_adjacentes (v, G);
15
pilha.add(v, lista_v)
16
marca_grafo1(G, retorna_caminho(pilha))
Fim_se
17
18
Se (pilha.tamanho == nvel_1) faa
19
20
Solucao S
21
rolamento_dado(retorna_caminho(pilha), S)
23
caminho_nivel_1.add(S.soma, S.caminho)
Fim_se
24
Fim_enquanto
25
26
Enquanto (pilha.topo.lista == OU pilha.tamanho > nivel_1) faa
27
28
marca_grafo2(G, retorna_caminho(pilha))
29
pilha.desempilha
Fim_enquanto
30
31
Se (caminho_nivel_1.tamanho == 50) faa
32
33
sada_enquanto falso
Fim_se
34
35
36 Fim_enquanto
37
38 ordena_decrescente (caminho_nivel_1)
39
40 int_corte caminho_nivel_1.tamanho * A
41 Para (i 1 at int_corte) faa
42
caminho_nivel_1.remove_ultimo
43 Fim_para
44
45 Retorna caminho_nivel_1
67
na
estrutura
pilha.
Da
linha
12
em
diante,
procedimento
construir_caminho_nivel_2 ( )
Entrada:
caminho_nivel_1 (vetor com caminhos de primeiro nvel)
nvel_2 (varivel para definir o tamanho dos caminhos no segundo nvel)
A (varivel para definir o tamanho da lista de candidato restrita),
G (Grafo)
Sada: caminho_nivel_2 (um vetor com os caminhos do primeiro nvel)
// Inicio
1
int_sorteio seleciona_aleatorio [0 - caminho_nivel_1.tamanho]
2
v_caminho caminho_nivel_1[int_sorteio].caminho
3
caminho_nivel_1.remove(int_sorteio)
4
5
Pilha pilha
Para (i 0 at v_caminho.tamanho) faa
6
7
v v_caminho[i]
8
lista_v vertices_adjacentes(v, G);
9
pilha.add(v, lista_v)
10 Fim_para
11
12 saida_enquanto verdade
13 Enquanto (sada_enquanto == verdade) faa
14
Enquanto (pilha.topo.lista E pilha.tamanho < nivel_2) faa
15
16
v seleciona_vertice_aleatorio(pilha.topo.lista)
68
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
pilha.topo.lista.remove(v)
Se (ponto_isolamento(v, retorna_caminho(pilha)) == T ) faa
lista_v vertices_adjacentes(v, G);
pilha.add(v, lista_v)
marca_grafo1(G, retorna_caminho(pilha))
Fim_se
Se (pilha.tamanho == nvel_2) faa
Solucao s
rolamento_dado(retorna_caminho(pilha), s)
caminho_nivel_2.add(s.soma, s.caminho)
Fim_se
Fim_enquanto
Enquanto (pilha.topo.lista == OU pilha.tamanho > nivel_1) faa
marca_grafo2(G, retorna_caminho(pilha))
pilha.desempilha
Fim_enquanto
Se (caminho_nivel_2.tamanho == 50) faa
sada_enquanto falso
Fim_se
Fim_enquanto
ordena_decrescente (caminho_nivel_2)
int_corte caminho_nivel_2.tamanho * A
Para (i 1 at int_corte) faa
caminho_nivel_2.remove_ultimo
Fim_para
Retorna caminho_nivel_2
69
Construir_caminho_nivel_3 ( )
Entrada:
caminho_nivel_2 (vetor com caminhos de segundo nvel)
G (Grafo)
Sada: S
//Inicio
1
int_sorteio seleciona_aleatorio [0 - caminho_nivel_2.tamanho]
2
v_caminho caminho_nivel_2[int_sorteio].caminho
3
caminho_nivel_2.remove(int_sorteio)
4
5
marca_caminho_no_grafo(v_caminho, G)
6
v_terminais localiza_vertices_terminais (G)
7
Se (vertices_terminais.tamanho < 3) faa
8
9
v_caminho repara_caminho(v_caminho, v_terminais, G)
10
Se (v_caminho.tamanho == |G(V)|) faa
11
12
rolamento_dado(v_caminho, S)
Fim_se
13
14
15 Fim_se
16
17 Retornar S
70
como
vivel
para
caminho.
No
primeiro,
procedimento
71
repara_caminho( )
Entrada:
v_caminho (vetor de inteiros com caminho para ser reparado),
v_terminais(vetor de inteiros com os vrtices terminais),
G (grafo em matriz de adjacncia)
Saida: r_caminho (vetor de inteiros com caminho reparado)
//inicio
1
Pilha pilha
Para (i 0 at v_caminho.tamanho - 1) faa
2
3
pilha.add(v_caminho[i], )
Fim_para
4
5
6
v v_caminho.ultimo
7
lista_v vertices_adjacentes (v, G)
8
pilha.add(v, lista_v)
9
10 K |G(V)|
11
12 Para (j 0 at K ) faa
Enquanto( pilha.topo.lista ) faa
13
14
v vertice_maior_grau(pilha.topo.lista)
15
pilha.topo.lista.remove(v)
Se (ponto_isolamento(v, retorna_caminho(pilha), G) == T E
16
vertices_terminais(v, retorna_caminho(pilha), v_terminais, G) == T) faa
17
lista_v vertices_adjacentes (v, G)
18
pilha.add(v, lista_v)
19
marca_grafo1(G, retorna_caminho(pilha))
Fim_se
21
Fim_enquanto
22
23
Se(pilha.tamanho == |G(V)|) faa
24
25
r_caminho retorna_caminho(pilha)
26
jK
Contrario Se (pilha == ) faa
27
28
jK
Fim_se
29
30
Enquanto( pilha.topo.lista == ) faa
31
32
marca_grafo2(G, retorna_caminho(pilha))
33
pilha.desempilha
Fim_enquanto
34
35
36 Fim_para
37 Retorna r_caminho
72
73
RESULTADOS
Os casos teste para o problema Hiker Dice foram os tabuleiros com
7.1
RESULTADO EXATO
Na Tabela 1, a primeira coluna, indica o tabuleiro testado; a segunda coluna,
Tabuleiro
4x4
5x5
6x6
7x7
8x8
N Solues
1
4
1
3
1
Valor Objetivo
64
100
145
203
268
Tempo
0,57 s
0,60 s
1,80 s
2,16 m
2,07 h
74
7.2
execuo
de
todas
as
combinaes
dos
parmetros
(configuraes);
3. Filtrar as configuraes mais favorveis;
4. Usar teste no-paramtrico de Kruskal-Wallis para identificar diferenas
significativas nas configuraes selecionadas no passo anterior.
75
uma coluna mediana (para listar as medianas pelo valor objetivo das trinta (30)
execues de cada configurao) e uma coluna mdia (para listar as mdias do
tempo das trinta (30) execues de cada configurao). A Tabela 2 mostra um
exemplo para os valores obtidos em um caso teste.
So usados dois critrios para selecionar uma quantidade arbitrria de
configuraes:
1. Maior mediana pelo valor objetivo;
2. Em caso das configuraes com mediana empatada usar a menor mdia
de tempo das configuraes.
Por exemplo, supondo uma quantia de 3 configuraes para serem
selecionadas.
Na Tabela 2, so selecionadas as configuraes (conf_80_w_4 e
conf_100_w_3) por causa das maiores medianas pelo valor objetivo, ainda precisase selecionar mais uma configurao para um total de 3, como as configuraes
(conf_80_w_3 e conf_140_w_3 ) esto empatadas pela mediana do valor objetivo, a
configurao (conf_80_w_3) selecionada por apresentar a menor mdia de tempo.
Tabela 2 Caso de Teste: tabuleiro 3x3.
Configurao
conf_80_w_3
30
0,02
conf_80_w_4
32
0,03
conf_100_w_3
32
0,07
conf_100_w_4
25
0,04
conf_140_w_3
30
0,03
V.O. (Valor Objetivo)
76
Segundo Cmara (2001, p. 57), "o objetivo do teste de Kruskal-Wallis (1952) ver se as
http://www.R-
77
78
Configuo
Mediana (V.O)
Mdia (tempo)
bl_r05_v10
236
0,37
bl_r05_v15
239
0,52
bl_r055_v10
239
0,36
bl_r06_v15
237
0,53
bl_r06_v8
236
0,47
Valor Objetivo (V.O)
7.2.2.2 GRASP
O algoritmo GRASP (seo 6.1.2) precisa ajustar os parmetros: nmero de
iteraes (N_ITERACAO); tamanho da lista de candidatos restrita pelo operador
construtivo guloso aleatrio (ALFA) e; tamanho de construo do caminho de forma
gulosa pelo operador construtivo guloso aleatrio (TAXA_G):
N_ITERACAO = {100; 120; 140};
ALFA = {0,4; 0,5; 0,6};
TAXA_G = {0,5; 0,55; 0,6}.
Com as faixas de valores definidas para cada parmetro no algoritmo
GRASP, foram coletados os dados das 30 execues de cada configurao no caso
teste (tabuleiro 8x8). A Tabela 8, no Apndice 3, mostra as medianas pelo valor
objetivo e as mdias de tempo da coleta de dados. A Tabela 4 exibe um total de 6
configuraes selecionadas na Tabela 8, segundo a filtragem definida na seo
7.2.1.2.
Na execuo do teste Kruskal-Wallis, relacionado aos valores objetivos e
tempos nas configuraes da Tabela 4, foram observados os seguintes resultados:
para os valores objetivos foi obtido o p-valor de 0,08166 (superior ao nvel de
significncia de 5%), mostrando-se como indiferentes estatisticamente e; para os
79
Configurao
Mediana (V.O)
Mdia (Tempo)
grasp_it120_a05_ta06
grasp_it120_a06_ta055
252
252
7,96
6,87
grasp_it120_a06_ta06
253
6,76
grasp_it140_a05_ta06
253
9,62
grasp_it140_a06_ta055
253
8,93
grasp_it140_a06_ta06
253
7,45
Valor Objetivo (V.O)
7.2.2.3 Gentico
O algoritmo Gentico (seo 6.1.3) precisa ajustar os parmetros para: o
tamanho da populao; probabilidade de recombinao (P_RECOMBINACAO) e;
probabilidade de mutao (P_MUTACAO):
T_POPULACAO = {60; 80; 100};
P_RECOMBINACAO = {0,75; 0,8; 0,85};
P_MUTACAO = {0,25; 0,2; 0,15}.
Estabelecidas as faixas de valores para cada parmetro no algoritmo
Gentico, foram reunidos os dados das 30 execues de cada configurao para o
caso teste (tabuleiro 8x8). No Apndice 3, a Tabela 9, exibe as medianas pelo valor
objetivo e as mdias de tempo da coleta dos dados. Na Tabela 5, so mostradas 6
configuraes selecionadas na Tabela 9, de acordo com a filtragem na seo
7.2.1.2.
80
Configurao
Mediana (V.O)
Mdia (Tempo)
gen_p80_r08_m015
242
0,27
gen_p80_r085_m025
241
0,34
gen_p80_r085_m015
gen_p100_r075_m025
gen_p100_r075_m02
240
0,29
240
240
0,30
0,29
gen_p100_r08_m015
240
0,31
Valor Objetivo (V.O)
81
7.3
RESULTADOS HEURSTICOS
Nessa seo sero apresentados os dados coletados pelas execues dos
82
algoritmo Gentico com valor objetivo (715) vence o algoritmo Busca Local com
valor objetivo (712).
Tabela 6 Resultados Heursticos.
Busca Local
Gentico
GRASP
Tabuleiro N.S
V.O
Tempo N.S
V.O
Tempo N.S
V.O
Tempo
5x5
100
0,94s
100
0,13s
100
1,27s
6x6
142
0,21s
137
0,17s
145
4,5s
7x7
185
0,19s
191
0,107s
197
3,36s
8x8
248
0,57s
244
0,319s
255
6,26s
9x9
307
0,36s
306
0,31s
325
4,67s
10x10
368
0,46s
368
0,32s
383
7,75s
11x11
449
0,54s
452
0,92s
456
2,80s
12x12
532
2,7s
540
0,49s
545
30,04m
13x13
640
2,2m
624
2,34m
14x14
712
3,2m
715
2,71m
83
CONCLUSO
Nesta seo, ser apresentado a concluso desta pesquisa, identificando
84
8.1
TRABALHOS FUTUROS
Algumas melhorias podem ser efetivadas no estudo realizado no presente
86
87
88
89
TABULEIRO 4x4
Soluo 1
C: 0 1 2 3 7 11 15 14 13 9 10 6 5 4 8 12
R: 0 4 6 3 2 4 5 6 2 4 6 5 4 2 6 5
S: 64
Tempo: 0.5736
TABULEIRO 5x5
Soluo 1
C: 0 1 2 3 8 7 12 11 6 5 10 15 20 21 16 17 22 23 24 19 18 13 14 9 4
R: 0 4 6 3 2 6 4 5 6 3 5 4 2 6 4 5 6 3 1 5 3 6 5 4 2
S: 100
Tempo: 0.57565
Soluo 2
C: 0 5 6 1 2 3 4 9 8 7 12 17 18 13 14 19 24 23 22 21 16 11 10 15 20
R: 0 2 4 1 5 6 2 4 6 3 5 4 6 5 3 6 4 5 3 2 6 5 4 6 3
S: 100
Tempo: 0.57565
Soluo 3
C: 0 5 10 11 16 15 20 21 22 17 18 23 24 19 14 13 8 9 4 3 2 1 6 7 12
R: 0 2 6 4 5 6 3 5 4 6 2 4 1 2 6 4 5 6 3 5 4 2 6 4 5
90
S: 100
Tempo: 0.57565
Soluo 4
C: 0 5 10 15 20 21 16 17 18 13 12 11 6 1 2 7 8 3 4 9 14 19 24 23 22
R: 0 2 6 5 1 4 5 6 2 3 6 4 5 3 6 5 4 6 2 4 5 3 2 6 5
S: 100
TABULEIRO 6x6
Soluo 1
C: 0 6 12 13 19 18 24 25 26 20 14 8 7 1 2 3 4 5 11 10 9 15 16 17 23 22 21 27 28 29
35 34 33 32 31 30
R: 0 2 6 4 5 6 3 5 4 6 3 1 5 4 1 3 6 4 5 6 2 3 6 4 5 6 2 3 6 4 5 6 2 1 5 6
S: 145
Tempo: 1.795719
TABULEIRO 7x7
Soluo 1
C: 0 1 2 3 10 9 8 7 14 21 22 15 16 23 30 37 36 29 28 35 42 43 44 45 46 47 48 41 34
33 40 39 38 31 32 25 24 17 18 19 26 27 20 13 6 5 4 11 12
R: 0 4 6 3 2 6 5 1 4 6 5 4 1 5 6 2 4 6 5 4 2 6 5 1 2 6 5 4 2 6 4 5 3 6 5 4 6 2 4 5 6 3 5 4
26546
S: 203
Tempo: 129.886441
Soluo 2
C: 0 1 2 3 10 9 8 7 14 21 22 15 16 23 30 37 36 29 28 35 42 43 44 45 46 47 48 41 34
33 40 39 38 31 32 25 24 17 18 19 26 27 20 13 6 5 12 11 4
91
R: 0 4 6 3 2 6 5 1 4 6 5 4 1 5 6 2 4 6 5 4 2 6 5 1 2 6 5 4 2 6 4 5 3 6 5 4 6 2 4 5 6 3 5 4
26456
S: 203
Tempo: 129.886441
Soluo 3
C: 0 1 2 3 10 9 16 15 8 7 14 21 22 23 30 29 28 35 42 43 36 37 44 45 38 31 24 17 18
11 4 5 6 13 12 19 20 27 26 25 32 33 34 41 40 39 46 47 48
R: 0 4 6 3 2 6 4 5 6 3 5 4 6 3 2 6 5 4 2 6 4 5 6 3 5 4 2 3 1 5 6 4 1 5 4 6 5 3 6 4 2 6 5 3
64265
S: 203
Tempo: 129.886441
TABULEIRO 8X8
Soluo 1
C: 0 8 16 24 32 33 34 35 27 19 18 26 25 17 9 1 2 10 11 3 4 12 20 21 13 5 6 7 15 14
22 23 31 39 38 30 29 28 36 37 45 44 52 53 54 46 47 55 63 62 61 60 59 51 43 42 41
49 50 58 57 56 48 40
R: 0 2 6 5 1 4 6 3 5 4 6 5 3 6 4 1 5 4 6 5 3 6 4 2 6 5 3 2 6 3 5 6 4 1 5 4 6 3 5 6 4 5 1 4
65364532463546536453
S: 268
Tempo: 9746.392253
92
Tabela 7 Coleta de dados das configuraes aplicada ao Busca Local no Tabuleiro 8x8.
Configurao
Media (Tempo/s)
bl_r05_v8
235
0,32
bl_r05_v10
236
0,37
bl_r05_v15
239
0,52
bl_r055_v8
235
0,40
bl_r055_v10
239
0,36
bl_r055_v15
236
0,60
bl_r06_v8
236
0,47
bl_r06_v10
236
0,50
bl_r06_v15
237
0,53
V. O. (Valor Objetivo)
93
Configuraes
Media (Tempo/s)
grasp_it100_a04_ta05
250
5,7
grasp_it100_a04_ta055
251
5,6
grasp_it100_a04_ta06
250
6,15
grasp_it100_a05_ta05
250
5,61
grasp_it100_a05_ta055
250
6,5
grasp_it100_a05_ta06
250,5
6,7
grasp_it100_a06_ta05
250
5,43
grasp_it100_a06_ta055
251,5
4,98
grasp_it100_a06_ta06
251
5,51
grasp_it120_a04_ta05
250
6,88
grasp_it120_a04_ta055
251
7,24
grasp_it120_a04_ta06
250
9,07
grasp_it120_a05_ta05
250
8,17
grasp_it120_a05_ta055
251,5
8,07
grasp_it120_a05_ta06
252
7,96
grasp_it120_a06_ta05
250
6,30
grasp_it120_a06_ta055
252
6,87
grasp_it120_a06_ta06
253
6,76
grasp_it140_a04_ta05
250
9,8
grasp_it140_a04_ta055
251
10,1
grasp_it140_a04_ta06
250
9,55
grasp_it140_a05_ta05
250
7,78
grasp_it140_a05_ta055
251,5
8,28
grasp_it140_a05_ta06
253
9,62
grasp_it140_a06_ta05
250
9,26
grasp_it140_a06_ta055
253
8,93
grasp_it140_a06_ta06
253
7,45
V. O. (Valor Objetivo)
94
Configurao
Media (Tempo/s)
gen_p60_r075_m025
239
0,41
gen_p60_r075_m02
239,5
0,42
gen_p60_r075_m015
239
0,41
gen_p60_r08_m025
240
0,49
gen_p60_r08_m02
240
0,44
gen_p60_r08_m015
240
0,50
gen_p60_r085_m025
240
0,49
gen_p60_r085_m02
240
0,54
gen_p60_r085_m015
240
0,48
gen_p80_r075_m025
238
0,32
gen_p80_r075_m02
239
0,28
gen_p80_r075_m015
238
0,26
gen_p80_r08_m025
240
0,36
gen_p80_r08_m02
240
0,32
gen_p80_r08_m015
242
0,27
gen_p80_r085_m025
241
0,34
gen_p80_r085_m02
239
0,30
gen_p80_r085_m015
240
0,29
gen_p100_r075_m025
240
0,30
gen_p100_r075_m02
240
0,29
gen_p100_r075_m015
240
0,32
gen_p100_r08_m025
238
0,37
gen_p100_r08_m02
238
0,32
gen_p100_r08_m015
240
0,31
gen_p100_r085_m025
240
0,36
gen_p100_r085_m02
239
0,34
gen_p100_r085_m015
238
0,35
V. O. (Valor Objetivo
95
TABULEIRO 5X5
Soluo 1
C: 0 5 10 15 20 21 16 17 18 13 12 11 6 1 2 7 8 3 4 9 14 19 24 23 22
R: 0 2 6 5 1 4 5 6 2 3 6 4 5 3 6 5 4 6 2 4 5 3 2 6 5
S: 100
Objetivo: 100
Tempo: 0.9456
TABULEIRO 6X6
Soluo 1
C: 0 1 2 3 9 8 7 6 12 18 24 25 26 20 19 13 14 15 16 10 4 5 11 17 23 22 21 27 28 29
35 34 33 32 31 30
R: 0 4 6 3 2 6 5 1 4 6 3 5 4 6 5 3 6 4 1 2 6 3 2 4 5 6 2 3 6 4 5 6 2 1 5 6
S: 142
Objetivo: 142
Tempo: 0.20736
TABULEIRO 7X7
Soluo 1
C: 0 1 2 3 4 5 6 13 12 11 10 9 8 7 14 15 16 17 24 23 30 31 32 25 18 19 20 27 26 33
34 41 40 39 38 37 36 29 22 21 28 35 42 43 44 45 46 47 48
96
R: 0 4 6 3 1 4 6 2 4 5 3 2 4 5 1 4 6 3 2 6 4 2 3 6 4 5 3 6 5 4 6 2 4 5 3 2 4 6 3 5 6 2 1 3
64136
S: 185
Objetivo: 185
Tempo: 0.19904
TABULEIRO 8X8
Soluo 1
C: 0 1 2 3 11 10 9 8 16 17 18 26 25 24 32 33 34 42 41 40 48 56 57 49 50 58 59 51
43 35 27 19 20 12 4 5 13 21 22 14 6 7 15 23 31 39 47 46 45 37 38 30 29 28 36 44
52 60 61 53 54 55 63 62
R: 0 4 6 3 2 6 5 1 4 5 3 6 5 1 4 5 3 6 5 1 4 6 5 4 1 5 3 1 4 6 3 1 2 4 5 6 4 1 2 4 5 6 4 1
36453654635423624564
S: 248
Objetivo: 248
Tempo: 0.57202
TABULEIRO 9X9
Soluo 1
C: 0 1 2 3 12 11 10 9 18 19 20 29 28 27 36 37 38 47 46 45 54 55 56 65 64 63 72 73
74 75 66 57 48 39 30 21 22 13 4 5 6 7 8 17 16 15 14 23 32 31 40 41 42 43 34 33 24
25 26 35 44 53 62 71 80 79 70 61 52 51 50 49 58 59 60 69 68 67 76 77 78
R: 0 4 6 3 2 6 5 1 4 5 3 6 5 1 4 5 3 6 5 1 4 5 3 6 5 1 4 5 3 2 1 5 6 2 1 5 4 6 3 2 4 5 3 6
5124563542645624532456413245146245146
S: 307
Objetivo: 307
Tempo: 0.36204
97
TABULEIRO 10X10
Soluo 1
C: 0 1 2 3 4 5 6 7 8 9 19 18 17 16 15 14 13 12 11 10 20 21 22 23 24 25 26 27 28 29
39 38 37 36 35 34 33 32 31 30 40 41 51 50 60 61 62 52 42 43 44 45 46 47 48 49 59
58 57 56 55 54 53 63 64 65 75 74 73 72 71 70 80 81 82 83 84 85 86 76 66 67 68 69
79 78 77 87 88 89 99 98 97 96 95 94 93 92 91 90
R: 0 4 6 3 1 4 6 3 1 4 2 1 5 6 2 1 5 6 2 1 3 2 4 5 3 2 4 5 3 2 6 3 1 4 6 3 1 4 6 3 5 6 4 5
146513641364562156236456215635423546324564124
56413641364
S: 368
Objetivo: 368
Tempo: 0.46084
TABULEIRO 11X11
Soluo 1
C: 0 1 2 3 4 5 6 7 8 9 10 21 20 19 18 17 16 15 14 13 12 11 22 23 24 25 26 37 36 35
34 33 44 45 46 57 56 55 66 67 68 79 78 77 88 89 100 99 110 111 112 113 102 101
90 91 80 69 58 47 48 49 38 27 28 29 30 31 32 43 42 41 40 39 50 51 52 53 54 65 64
63 62 61 60 59 70 71 72 73 74 75 76 87 86 85 84 83 82 81 92 93 94 95 96 97 98
109 120 119 108 107 106 105 104 103 114 115 116 117 118
R: 0 4 6 3 1 4 6 3 1 4 6 2 4 5 3 2 4 5 3 2 4 5 1 4 6 3 1 2 3 5 4 2 6 4 1 5 4 2 6 4 1 5 4 2
645635426456314621365126536413215624631463562
15624631463562156245642354264136
S: 449
Objetivo: 449
Tempo: 0.547803
TABULEIRO 12X12
98
Soluo 1
C: 0 12 24 36 37 25 13 1 2 3 4 16 15 14 26 27 28 40 39 38 50 49 48 60 61 62 63 51
52 64 76 75 74 73 72 84 85 86 87 88 100 99 98 97 96 108 109 110 122 121 120 132
133 134 135 123 111 112 124 125 113 101 89 77 65 53 41 29 17 5 6 7 8 9 10 11 23
22 34 35 47 46 45 33 21 20 32 44 43 31 19 18 30 42 54 66 78 79 67 55 56 57 58 59
71 70 69 68 80 81 82 83 95 94 93 92 91 90 102 103 104 105 106 107 119 118 117
116 128 129 130 131 143 142 141 140 139 127 115 114 126 138 137 136
R: 0 2 6 5 4 6 3 1 2 6 5 3 6 4 2 6 5 3 6 4 2 1 5 3 1 4 6 5 3 6 4 5 3 2 4 1 2 6 5 1 3 5 4 2
362142362153263562156215624532456426324635624
635621563541364562132456413642651263245146326
5123563126
S: 532
Objetivo: 532
Tempo: 2.672724
TABULEIRO 13X13
Soluo 1
C: 0 13 26 39 52 65 78 91 104 117 130 143 156 157 144 131 118 105 92 79 66 53
40 27 14 1 2 15 16 3 4 5 6 7 8 9 10 11 12 25 24 23 22 21 20 19 18 17 30 29 28 41
42 43 56 55 54 67 68 69 82 81 80 93 94 95 108 107 106 119 120 121 134 133 132
145 158 159 146 147 148 135 122 109 96 83 70 57 44 31 32 33 34 35 36 37 38 51
50 49 48 47 46 45 58 59 60 61 62 63 64 77 76 75 74 73 72 71 84 85 86 87 88 89 90
103 102 101 100 99 98 97 110 111 112 113 114 115 116 129 128 127 126 125 124
123 136 137 138 139 140 141 142 155 168 167 154 153 166 165 152 151 164 163
150 149 162 161 160
R: 0 2 6 5 1 2 6 5 1 2 6 5 1 4 5 3 2 4 5 3 2 4 5 3 2 4 6 2 3 6 5 1 2 6 5 1 2 6 5 3 6 4 1 3
641326546326546326546326546326542645314631463
126512653641364265126536413642651265364136426
51265364136426512653263564514213265
S: 640
99
Objetivo: 640
Tempo: 132.332
TABULEIRO 14X14
Soluo 1
C: 0 1 2 3 4 5 6 7 8 22 21 20 19 18 17 16 15 14 28 29 30 31 32 33 34 35 36 37 23 9
10 11 12 13 27 26 25 24 38 39 40 41 55 54 53 52 51 50 49 48 47 46 45 44 43 42 56
57 58 59 60 61 62 76 75 74 73 72 71 70 84 85 86 87 88 89 90 104 103 102 101 100
99 98 112 113 114 115 116 117 131 130 129 128 127 126 140 141 142 143 144 145
146 147 133 132 118 119 105 91 77 63 64 65 66 67 68 69 83 82 81 80 79 78 92 93
94 95 96 97 111 110 109 108 107 106 120 121 122 123 124 125 139 138 137 136
135 134 148 149 150 151 152 153 167 166 165 164 163 162 161 160 159 158 157
156 155 154 168 169 170 171 172 173 174 175 176 177 178 179 180 181 195 194
193 192 191 190 189 188 187 186 185 184 183 182
R: 0 4 6 3 1 4 6 3 1 2 3 5 4 2 3 5 4 2 6 4 1 3 6 4 1 3 6 4 2 3 1 4 6 3 2 6 5 1 4 5 3 2 6 3
146314631463562156246314635621562463146356215
645324514631463564512653245326314635621564532
451463142156213245326314631463146356215621562
15645324532453245
S: 712
Objetivo: 712
Tempo: 192.12
100
TABULEIRO 5X5
Soluo 1
C: 0 5 10 15 20 21 16 17 18 13 12 11 6 1 2 7 8 3 4 9 14 19 24 23 22
R: 0 2 6 5 1 4 5 6 2 3 6 4 5 3 6 5 4 6 2 4 5 3 2 6 5
S: 100
Objetivo: 100
Tempo: 0.13692
TABULEIRO 6X6
Soluo 1
C: 0 6 12 18 24 30 31 25 19 13 7 1 2 8 9 3 4 5 11 10 16 17 23 22 21 15 14 20 26 32
33 27 28 34 35 29
R: 0 2 6 5 1 2 4 1 3 6 4 1 5 4 6 5 3 2 6 3 5 6 4 5 3 6 2 3 5 4 6 5 3 6 2 3
S: 137
Objetivo: 137
Tempo: 0.17434
TABULEIRO 7X7
Soluo 1
C: 0 1 2 3 4 5 6 13 12 11 18 19 20 27 26 25 24 17 10 9 8 7 14 15 16 23 30 31 38 37
36 29 22 21 28 35 42 43 44 45 46 39 32 33 34 41 40 47 48
101
R: 0 4 6 3 1 4 6 2 4 5 1 4 6 2 4 5 3 6 4 2 3 5 6 3 1 2 6 4 5 6 2 4 5 1 4 6 3 5 4 2 3 6 4 5
36546
S: 191
Objetivo: 191
Tempo: 0.107723
TABULEIRO 8X8
Soluo 1
C: 0 1 2 3 4 5 6 7 15 14 13 12 11 10 9 8 16 17 18 26 25 24 32 40 48 56 57 49 41 33
34 35 27 19 20 21 22 23 31 30 29 28 36 44 52 51 43 42 50 58 59 60 61 53 45 37 38
39 47 46 54 55 63 62
R: 0 4 6 3 1 4 6 3 2 6 5 1 2 6 5 1 4 5 3 6 5 1 4 6 3 1 5 3 2 4 6 3 5 4 1 3 6 4 5 6 2 1 3 6
45635463156245642632
S: 244
Objetivo: 244
Tempo: 0.31969
TABULEIRO 9X9
Soluo 1
C: 0 1 2 3 4 5 6 7 8 17 16 15 14 13 12 11 10 9 18 19 20 29 28 27 36 37 38 47 46 45
54 55 64 63 72 73 74 75 66 65 56 57 48 39 30 21 22 23 24 25 26 35 34 33 42 43 44
53 62 71 70 69 68 59 60 61 52 51 50 41 32 31 40 49 58 67 76 77 78 79 80
R: 0 4 6 3 1 4 6 3 1 2 3 5 4 2 3 5 4 2 6 4 1 5 4 2 6 4 1 5 4 2 6 4 5 6 3 5 4 2 6 4 5 6 3 1
4621562463562453641542641563542356215
S: 306
Objetivo: 306
Tempo: 0.31636
102
TABULEIRO 10 X 10
Soluo 1
C: 0 1 2 3 4 5 6 7 8 9 19 18 17 16 15 14 13 12 11 10 20 21 22 23 24 25 26 27 28 29
39 38 37 36 35 34 33 32 31 30 40 41 42 52 51 50 60 61 62 72 71 70 80 90 91 81 82
92 93 83 84 94 95 85 86 96 97 87 77 78 88 98 99 89 79 69 59 49 48 47 46 45 44 43
53 54 55 56 57 58 68 67 66 65 64 63 73 74 75 76
R: 0 4 6 3 1 4 6 3 1 4 2 1 5 6 2 1 5 6 2 1 3 2 4 5 3 2 4 5 3 2 6 3 1 4 6 3 1 4 6 3 5 6 2 4
635624635465362312415465135465126542354264136
45621563542
S: 368
Objetivo: 368
Tempo: 0.323702
TABULEIRO 11X11
Soluo 1
C: 0 1 2 3 4 5 6 17 16 15 14 13 12 11 22 23 24 25 26 27 28 39 38 37 36 35 34 33 44
45 46 47 48 49 50 61 60 59 58 57 56 55 66 67 68 69 70 71 72 83 82 81 80 79 78 77
88 89 90 91 92 93 94 105 104 103 102 101 100 99 110 111 112 113 114 115 116
117 118 119 120 109 98 87 76 65 54 43 32 21 10 9 8 7 18 19 20 31 30 29 40 41 42
53 52 51 62 63 64 75 74 73 84 85 86 97 96 95 106 107 108
R: 0 4 6 3 1 4 6 2 4 5 3 2 4 5 1 4 6 3 1 4 6 2 4 5 3 2 4 5 1 4 6 3 1 4 6 2 4 5 3 2 4 5 1 4
631462453245146314624532451463146314651265126
51463562463562463562463562463562
S: 452
Objetivo: 452
Tempo: 0.921894
TABULEIRO 12X12
103
Soluo 1
C: 0 1 2 3 4 5 6 7 8 9 10 11 23 22 21 20 19 18 17 16 15 14 13 12 24 25 26 38 37 36
48 49 50 62 61 60 72 73 74 86 85 84 96 97 98 110 122 121 109 108 120 132 133
134 135 123 111 99 87 75 63 51 39 27 28 29 30 31 32 33 34 35 47 46 45 44 43 42
41 40 52 53 54 55 56 57 58 59 71 83 95 107 106 105 117 116 115 114 113 101 89
77 78 79 91 90 102 103 104 92 80 81 93 94 82 70 69 68 67 66 65 64 76 88 100 112
124 125 126 127 128 129 130 118 119 131 143 142 141 140 139 138 137 136
R: 0 4 6 3 1 4 6 3 1 4 6 3 2 6 5 1 2 6 5 1 2 6 5 1 4 5 3 6 5 1 4 5 3 6 5 1 4 5 3 6 5 1 4 5
364563546315621562154235423513641364265126513
641563245364156451465135631562156314635423546
2456215621
S: 540
Objetivo: 540
Tempo: 0.490085
TABULEIRO 13X13
Soluo 1
C: 0 13 26 39 52 65 78 91 92 79 66 53 40 27 14 1 2 3 4 5 6 7 8 9 10 11 12 25 24 23
22 21 20 19 18 17 16 15 28 29 30 31 32 33 34 35 36 37 38 51 50 49 48 47 46 45 44
43 42 41 54 55 56 69 68 67 80 81 82 95 94 93 106 105 104 117 118 119 120 107
108 121 134 133 132 131 130 143 156 157 144 145 158 159 146 147 160 161 148
135 136 149 162 163 164 165 166 167 168 155 142 129 116 103 90 77 64 63 62 61
60 59 58 57 70 71 72 73 74 75 76 89 88 87 86 85 84 83 96 97 98 99 100 101 102
115 114 113 112 111 110 109 122 123 124 125 126 127 128 141 140 139 138 137
150 151 152 153 154
R: 0 2 6 5 1 2 6 5 4 6 3 1 4 6 3 1 2 6 5 1 2 6 5 1 2 6 5 3 6 4 1 3 6 4 1 3 6 4 2 6 5 1 2 6
512653641364136426536426536421531465364532413
214264563541563146315621562136413642651265364
13642651265364136426512653641321562
S: 624
104
Objetivo: 624
Tempo: 140.478055
TABULEIRO 14X14
Soluo 1
C: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 27 26 25 24 23 22 21 20 19 18 17 16 15 14 28 29
30 31 32 33 34 35 36 37 38 39 40 41 55 54 53 52 51 50 49 48 47 46 45 44 43 42 56
57 58 72 71 70 84 85 86 100 99 98 112 113 114 128 127 126 140 141 142 156 170
169 155 154 168 182 183 184 185 171 157 143 129 115 101 87 73 59 60 61 62 63
64 65 66 67 68 69 83 82 81 80 79 78 77 76 75 74 88 102 103 89 90 91 92 93 94 95
96 97 111 110 109 108 107 106 105 104 118 117 116 130 131 132 133 119 120 121
122 123 124 125 139 138 137 136 135 134 148 147 146 145 144 158 159 160 161
162 163 149 150 151 152 153 167 166 165 164 178 177 176 175 174 173 172 186
187 188 189 190 191 192 193 179 180 181 195 194
R: 0 4 6 3 1 4 6 3 1 4 6 3 1 4 2 1 5 6 2 1 5 6 2 1 5 6 2 1 3 2 4 5 3 2 4 5 3 2 4 5 3 2 6 3
146314631463562463562463562463562456426542364
136413651265126513542354235623651265126324532
451362354621562142354263146542354621564532146
31465423542365135
S: 715
Objetivo: 715
Tempo: 163.1280
105
TABULEIRO 5X5
Soluo 1
C: 0 5 6 1 2 3 4 9 8 7 12 17 18 13 14 19 24 23 22 21 16 11 10 15 20
R: 0 2 4 1 5 6 2 4 6 3 5 4 6 5 3 6 4 5 3 2 6 5 4 6 3
S: 100
Objetivo: 100
Tempo: 1.271162
Soluo 2
C: 0 5 10 15 20 21 16 17 18 13 12 11 6 1 2 7 8 3 4 9 14 19 24 23 22
R: 0 2 6 5 1 4 5 6 2 3 6 4 5 3 6 5 4 6 2 4 5 3 2 6 5
S: 100
Objetivo: 100
Tempo: 1.326712
Soluo 3
C: 0 1 2 3 8 7 12 11 6 5 10 15 20 21 16 17 22 23 24 19 18 13 14 9 4
R: 0 4 6 3 2 6 4 5 6 3 5 4 2 6 4 5 6 3 1 5 3 6 5 4 2
S: 100
Objetivo: 100
Tempo: 1.283673
TABULEIRO 6X6
Soluo 1
106
C: 0 6 12 13 19 18 24 25 26 20 14 8 7 1 2 3 4 5 11 10 9 15 16 17 23 22 21 27 28 29
35 34 33 32 31 30
R: 0 2 6 4 5 6 3 5 4 6 3 1 5 4 1 3 6 4 5 6 2 3 6 4 5 6 2 3 6 4 5 6 2 1 5 6
S: 145
Objetivo: 145
Tempo: 4.543126
TABULEIRO 7X7
Soluo 1
C: 0 1 2 3 10 9 16 15 8 7 14 21 22 23 24 17 18 19 12 11 4 5 6 13 20 27 26 25 32 33
34 41 48 47 40 39 46 45 38 31 30 29 28 35 36 37 44 43 42
R: 0 4 6 3 2 6 4 5 6 3 5 4 6 3 1 5 4 2 6 4 5 6 2 4 5 3 6 4 2 6 5 3 2 6 3 5 6 4 5 3 1 4 6 5
42146
S: 197
Objetivo: 197
Tempo: 3.363420
TABULEIRO 8X8
Soluo 1
C: 0 8 16 24 25 26 18 17 9 1 2 3 4 5 6 7 15 14 22 23 31 30 29 21 13 12 20 28 36 44
43 51 52 53 45 37 38 39 47 46 54 55 63 62 61 60 59 58 50 42 41 49 57 56 48 40 32
33 34 35 27 19 11 10
R: 0 2 6 5 4 2 6 4 5 3 6 4 1 3 6 4 5 6 3 5 1 3 6 5 1 4 5 3 2 4 6 5 4 2 6 5 3 2 6 3 5 6 4 5
32456236456214635426
S: 255
Objetivo: 255
Tempo: 6.263311
107
TABULEIRO 9X9
Soluo 1
C: 0 1 2 3 12 11 20 19 10 9 18 27 28 29 30 21 22 13 4 5 6 7 8 17 16 25 26 35 34 33
24 15 14 23 32 31 40 39 38 37 46 47 48 49 58 57 66 67 68 59 60 51 50 41 42 43 44
53 52 61 62 71 80 79 70 69 78 77 76 75 74 65 56 55 64 73 72 63 54 45 36
R: 0 4 6 3 2 6 4 5 6 3 5 4 6 3 1 5 4 6 3 2 4 5 3 6 5 4 6 2 4 5 6 2 3 6 4 5 1 3 6 4 2 6 5 1
35631546536415465326356413651453651267
S: 325
Objetivo: 325
Tempo: 4.662782
TABULEIRO10X10
Soluo 1
C: 0 1 2 3 4 14 13 12 22 21 11 10 20 30 31 32 33 23 24 25 15 5 6 7 8 9 19 18 17 16
26 27 28 29 39 38 37 36 35 34 44 43 42 41 40 50 51 52 53 54 55 45 46 56 57 67 77
76 66 65 64 63 62 61 60 70 71 81 80 90 91 92 82 72 73 83 93 94 84 74 75 85 95 96
86 87 97 98 99 89 88 78 79 69 68 58 59 49 48 47
R: 0 4 6 3 1 2 3 5 6 4 5 1 4 6 5 1 2 4 6 3 5 4 1 3 6 4 5 6 2 1 3 2 4 5 6 4 1 3 6 4 2 1 5 6
236413624653263542354653623562463562463564512
41546536235
S: 383
Objetivo: 383
Tempo: 7.748748
TABULEIRO 11X11
Soluo 1
C: 0 11 22 33 44 55 66 67 78 77 88 89 90 79 68 57 46 35 24 13 14 15 16 17 18 19
20 31 30 29 28 27 26 25 36 37 38 39 40 41 42 53 52 51 50 49 48 47 58 59 60 61 62
108
TABULEIRO 12X12
Soluo 1
C: 0 1 2 3 4 5 6 7 8 9 10 11 23 22 21 20 19 18 17 16 15 14 13 12 24 25 26 27 28 29
30 31 32 33 34 35 47 46 45 44 43 42 54 55 56 57 58 59 71 70 69 68 67 66 65 53 41
40 39 38 37 36 48 49 50 62 74 73 61 60 72 84 85 86 87 75 63 51 52 64 76 88 89 90
102 114 113 101 100 99 111 112 124 123 122 110 98 97 96 108 109 121 120 132
133 134 135 136 137 125 126 138 139 127 115 103 91 92 93 94 106 105 104 116
117 118 130 129 128 140 141 142 143 131 119 107 95 83 82 81 80 79 78 77
R: 0 4 6 3 1 4 6 3 1 4 6 3 2 6 5 1 2 6 5 1 2 6 5 1 4 5 3 2 4 5 3 2 4 5 3 2 6 3 1 4 6 3 5 6
215645324536423542641564514651245365124562465
145641563153654631465362354215645315645315623
5423641364
S: 545
Objetivo: 545
Tempo: 1802.565542
109
REFERNCIAS
ALMEIDA, A. R. Emparelhamento em Produto Cartesiano de Grafos e sua Aplicao
a Redes de Interconexo / Aline Ribeiro de Almeida. Rio de Janeiro: UFRJ/ IM/NCE,
2010. DispOnvel em: <http://teses2.ufrj.br/15/teses/760200.pdf> Acesso em: 20
OUtubro de 2013.
CMARA, F. G. Estatstica No Paramtrica-Testes de Hipteses e Medidas de
Associao. Universidade dos Aores, Departamento de Matemtica. 29 Junho de
2001.
Disponvel
em:
<http://www.amendes.uac.pt/monograf/
monograf01estatNparamt.pdf> Acesso em: 5 Junho de 2013
CORMODE, G. (2004). The hardness of the lemmings game, or Oh no, more NPcompleteness proofs. Proceedings of the International Conference on Fun with
Algorithms, 6576.
CHEN, S. D.; SHEN, H.; and TOPOR, R. (2002) An efficient algorithm for
constructing Hamiltonian paths in meshes, Parallel Computing. Theory and
Applications,
vol.
28,
no.
9,
pp.
12931305.
Disponvel
em:
<http://www.sciencedirect.com/science/article/pii/S0167819102001357>. Acesso em:
12 Junho de 2013.
DOR, D., ZWICK, U. (1999). SOKOBAN and other motion planning problems.
Computational Geometry: Theory and Applications, 13(4):215228.
FRAENKEL, A. S., LICHTENSTEIN, D. (1981). Computing a perfect strategy for nn
chess requires time exponential in n. Journal of Combinatorial Theory, Series A,
31:199214.
FRIEDMAN, E. (1992). Spiral Galaxies Puzzles are NP-complete. Disponvel em:
<http://www.stetson.edu/efriedma/articles/spiral.pdf> Acesso em: 10 fev 2010.
GOLDBERG, D E. Genetic Algorithms in Search, Optimization, and Machine
Learning. EUA: Addison-Wesley, 1989.
GOLDBARG, M. C.; OLIVEIRA, C. N. e GOLDBARG, E. F. G. Algoritmo Busca Tabu
Para a Soluo do Nonograma. XLIII Simpsio Brasileiro de PESQUISA
OPERACIONAL.
Ubatuba/SP.
Agosto
de
2011.
Disponvel
em:
<http://www.din.uem.br/sbpo/sbpo2011/pdf/87833.pdf> Acesso em: 10 Novembro de
2013.
110
111
112