Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

76

Transcript of Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Page 1: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.
Page 2: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Who is Mr Wolf ?

Page 3: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Who is Mr Wolf ?

Page 4: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Mr Wolf

Page 5: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Mr Wolf

Page 6: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Mr Wolf

Page 7: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Mr Wolf

Page 8: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Pesquisa num espaço de estados

Resolução de Problemas

Page 9: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Agentes reflexos

Panorâmica

Page 10: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Agentes reflexos Agentes que planeiam e

que antecipam os efeitos das suas acções

Panorâmica

Page 11: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Agentes reflexos Agentes que planeiam e

que antecipam os efeitos das suas acções

Modelo do Mundo/ProblemaGrafo de Estados: uma

abstracção do problema

Panorâmica

Page 12: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Resolução de problemas como uma pesquisa num espaço de estados.

Agentes reflexos Agentes que planeiam e

que antecipam os efeitos das suas acções

Modelo do Mundo/ProblemaGrafo de Estados: uma

abstracção do problema

Panorâmica

Page 13: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Resolução de problemas como uma pesquisa num espaço de estados.

Uma solução é um plano capaz de atingir os objectivos.

Agentes reflexos Agentes que planeiam e

que antecipam os efeitos das suas acções

Modelo do Mundo/ProblemaGrafo de Estados: uma

abstracção do problema

Panorâmica

Page 14: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Formalização de um problema numa pesquisa num grafo

• Espaço de estados• A realidade do problema é abstraída em termos de

estados. Só a informação relevante que muda devido aos operadores de transição é que deve estar inscrita nos estados.

• Transições entre estados• As acções determinísticas e discretas levam de um

estado X a um estado Y, com um determinado custo.

• Estado Inicial • um estado conhecido)

• Teste de estado final (satisfação do objectivo) • (Pode dar-se o caso de não sabermos quais os

estados que satisfazem o nosso objectivo mas sabemos identificar que são finais com um teste de satisfação dos objectivos.

Page 15: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Viajando na Roménia

O problema consiste em encontrar o caminho mais curto desde Arad até Bucarest.

Page 16: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Esboço de uma formalização do problema Viajando na Roménia

• Espaço de estados

Page 17: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Esboço de uma formalização do problema Viajando na Roménia

• Espaço de estados• Cidades

Page 18: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Esboço de uma formalização do problema Viajando na Roménia

• Espaço de estados• Cidades

• Tamanho do espaço

Page 19: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Esboço de uma formalização do problema Viajando na Roménia

• Espaço de estados• Cidades

• Tamanho do espaço• Nº de cidades = 20

Page 20: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Esboço de uma formalização do problema Viajando na Roménia

• Espaço de estados• Cidades

• Tamanho do espaço• Nº de cidades = 20

• Transições entre estados

Page 21: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Esboço de uma formalização do problema Viajando na Roménia

• Espaço de estados• Cidades

• Tamanho do espaço• Nº de cidades = 20

• Transições entre estados• Ir para a cidade adjacente em que

o custo é o comprimento da Estrada que liga as 2 cidades.

Page 22: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Esboço de uma formalização do problema Viajando na Roménia

• Espaço de estados• Cidades

• Tamanho do espaço• Nº de cidades = 20

• Transições entre estados• Ir para a cidade adjacente em que

o custo é o comprimento da Estrada que liga as 2 cidades.

• Poderíamos ter como custo não a distância mas o tempo ou o combustível gasto ou alguma combinação desses custos.

Page 23: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Esboço de uma formalização do problema Viajando na Roménia

• Espaço de estados• Cidades

• Tamanho do espaço• Nº de cidades = 20

• Transições entre estados• Ir para a cidade adjacente em que

o custo é o comprimento da Estrada que liga as 2 cidades.

• Poderíamos ter como custo não a distância mas o tempo ou o combustível gasto ou alguma combinação desses custos.

• Estado Inicial

Page 24: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Esboço de uma formalização do problema Viajando na Roménia

• Espaço de estados• Cidades

• Tamanho do espaço• Nº de cidades = 20

• Transições entre estados• Ir para a cidade adjacente em que

o custo é o comprimento da Estrada que liga as 2 cidades.

• Poderíamos ter como custo não a distância mas o tempo ou o combustível gasto ou alguma combinação desses custos.

• Estado Inicial • Arad

Page 25: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Esboço de uma formalização do problema Viajando na Roménia

• Espaço de estados• Cidades

• Tamanho do espaço• Nº de cidades = 20

• Transições entre estados• Ir para a cidade adjacente em que

o custo é o comprimento da Estrada que liga as 2 cidades.

• Poderíamos ter como custo não a distância mas o tempo ou o combustível gasto ou alguma combinação desses custos.

• Estado Inicial • Arad

• Estado Final

Page 26: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Esboço de uma formalização do problema Viajando na Roménia

• Espaço de estados• Cidades

• Tamanho do espaço• Nº de cidades = 20

• Transições entre estados• Ir para a cidade adjacente em que

o custo é o comprimento da Estrada que liga as 2 cidades.

• Poderíamos ter como custo não a distância mas o tempo ou o combustível gasto ou alguma combinação desses custos.

• Estado Inicial • Arad

• Estado Final• Bucareste

Page 27: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Formalização em Prolog do problema Viajando na Roménia

Inicial(‘Arad’).

final(‘Bucarest’).

sucessor(Cid1,Cid2,M,C) :-adjacente(Cid1, Cid2, M,C) ;adjacente(Cid2, Cid1, M, C).

% o 3º argumento indica a etiqueta que% identifica o movimento/operadoradjacente(‘Oradea’, ’Zerind’, o-z, 71).adjacente(‘Oradea’, ’Sibiu’, o-s, 151).adjacente(‘Arad’, ’Zerind’, a-z, 75).adjacente(‘Arad’, ‘Timisoara’, a-t,118).adjacente(‘Lugoj’, ’Timisoara’, l-t, 111).adjacente(‘Mehadia’, ’Lugoj’, m-l, 70).adjacente(‘Drobeta’, ‘Craiova’, d-c, 120).adjacente(‘Drobeta’, ’Mehadia’, d-m, 75)....

Page 28: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

O Pacman pode mover-se para Norte, Sul, Este e Oeste.

Pacman quer ir até uma determinada posição. Por exemplo uma superPastilha

Quando se move para uma célula com pastilha ou superpastilha estas são ignoradas e os fantasmas são inofensivos, andam pelo jogo sem fazer qualquer mal ao Pacman , que os ignora. Só está interessado em encontrar um caminho.

objectivo

Page 29: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

O que representar em cada estado?

Formalização do PacMan quer descobrir um caminho

Page 30: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

O que representar em cada estado?

Formalização do PacMan quer descobrir um caminho

Apenas a informação relevante para a resolução do problemae a informação que muda devido aos operadores de transição entre estados.

Page 31: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

O que representar em cada estado?

Formalização do PacMan quer descobrir um caminho

Apenas a informação relevante para a resolução do problemae a informação que muda devido aos operadores de transição entre estados.

• Sendo assim, não queremos saber

Page 32: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

O que representar em cada estado?

Formalização do PacMan quer descobrir um caminho

Apenas a informação relevante para a resolução do problemae a informação que muda devido aos operadores de transição entre estados.

• Sendo assim, não queremos saber • que cor tem o Pacman, ou os fantasmas,

nem as cores ou tipos de pastilhas

Page 33: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

O que representar em cada estado?

Formalização do PacMan quer descobrir um caminho

Apenas a informação relevante para a resolução do problemae a informação que muda devido aos operadores de transição entre estados.

• Sendo assim, não queremos saber • que cor tem o Pacman, ou os fantasmas,

nem as cores ou tipos de pastilhas • as posições das pastilhas ou dos fantasmas

Page 34: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

O que representar em cada estado?

Formalização do PacMan quer descobrir um caminho

Apenas a informação relevante para a resolução do problemae a informação que muda devido aos operadores de transição entre estados.

• Sendo assim, não queremos saber • que cor tem o Pacman, ou os fantasmas,

nem as cores ou tipos de pastilhas • as posições das pastilhas ou dos fantasmas• as dimensões do mundo ou as coordenadas

das paredes ou das células navegáveis.

Page 35: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

O que representar em cada estado?

Formalização do PacMan quer descobrir um caminho

Apenas a informação relevante para a resolução do problemae a informação que muda devido aos operadores de transição entre estados.

• Sendo assim, não queremos saber • que cor tem o Pacman, ou os fantasmas, nem as cores ou

tipos de pastilhas • as posições das pastilhas ou dos fantasmas• as dimensões do mundo ou as coordenadas das paredes ou

das células navegáveis.

• O que muda é apenas a posição do PacMan

Page 36: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Coordenadas cartesianas

Vamos definir uma grelha de 6 x 30, para representar as células navegáveis ou as paredes.

(1,1)

(1,6)

(30,6)

(30,1)

Page 37: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Um estado:

Formalização do Pacman quer descobrir um caminho num problema de Pesquisa

Page 38: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Um estado: é apenas as coordenadas do PacMan

Formalização do Pacman quer descobrir um caminho num problema de Pesquisa

Page 39: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Um estado: é apenas as coordenadas do PacMan

Tamanho do espaço de estados:

Formalização do Pacman quer descobrir um caminho num problema de Pesquisa

Page 40: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Um estado: é apenas as coordenadas do PacMan

Tamanho do espaço de estados: nº de células navegáveis ~6x30 – #paredes.

Formalização do Pacman quer descobrir um caminho num problema de Pesquisa

Page 41: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Um estado: é apenas as coordenadas do PacMan

Tamanho do espaço de estados: nº de células navegáveis ~6x30 – #paredes.

Estado Inicial:

Formalização do Pacman quer descobrir um caminho num problema de Pesquisa

Page 42: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Um estado: é apenas as coordenadas do PacMan

Tamanho do espaço de estados: nº de células navegáveis ~6x30 – #paredes.

Estado Inicial: posição do Pacman

Formalização do Pacman quer descobrir um caminho num problema de Pesquisa

Page 43: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Um estado: é apenas as coordenadas do PacMan

Tamanho do espaço de estados: nº de células navegáveis ~6x30 – #paredes.

Estado Inicial: posição do Pacman

Estado Final:

Formalização do Pacman quer descobrir um caminho num problema de Pesquisa

Page 44: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Um estado: é apenas as coordenadas do PacMan

Tamanho do espaço de estados: nº de células navegáveis ~6x30 – #paredes.

Estado Inicial: posição do Pacman

Estado Final: célula objectivo

Formalização do Pacman quer descobrir um caminho num problema de Pesquisa

Page 45: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Um estado: é apenas as coordenadas do PacMan

Tamanho do espaço de estados: nº de células navegáveis ~6x30 – #paredes.

Estado Inicial: posição do Pacman

Estado Final: célula objective

Transição de estados:

Formalização do Pacman quer descobrir um caminho num problema de Pesquisa

Page 46: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Um estado: é apenas as coordenadas do PacMan

Tamanho do espaço de estados: nº de células navegáveis ~6x30 – #paredes.

Estado Inicial: posição do Pacman

Estado Final: célula objective

Transição de estados: Move o PacMan para uma célula válida ortogonalmente vizinha (a norte, leste, sul, oeste) da sua posição actual, dentro dos limites do tabuleiro.

Formalização do Pacman quer descobrir um caminho num problema de Pesquisa

Page 47: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Formalização do Pacman quer descobrir um caminho em Prolog

% informação estática que % não faz parte do estado

navegavel((1,1)).navegavel((1,2))....navegavel((30,6)).

% não precisamos de nos preocupar % com os limites do mundo porque % conhecemos as células navegáveis

viz((X,Y),(NX,Y),oeste) :-NX is X – 1.

viz((X,Y),(NX,Y),leste) :-NX is X + 1.

viz((X,Y),(X,NY),norte) :-NY is Y – 1.

viz((X,Y),(X,NY),sul) :-NY is Y + 1.

inicial((1,3)).

final((30,3)).

suc(Est,NEst,Mov,1) :-viz(Est,Nest,Mov),navegavel(NE).

Page 48: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Formalização do Pacman quer descobrir um caminho em Prolog (alternativa)

% informação estática que % não faz parte do estado

parede((2,1)).parede((2,2))....

% temos de verificar os limites% do labirinto.viz((X,Y),(NX,Y),oeste) :-NX >1, NX is X – 1.

viz((X,Y),(NX,Y),leste) :-NX < 30, NX is X + 1.

viz((X,Y),(X,NY),norte) :-NY > 1, NY is Y – 1.

viz((X,Y),(X,NY),sul) :-NY < 6, NY is Y + 1.

Inicial((1,3)).

final((30,3)).

% todos os sucs têm custo 1suc(Est,NEst,Mov,1) :-

viz(Est,NEst,Mov),\+ parede(NEst).

Vamos declarar as coordenadas das paredesinteriores e não as células navegáveis.

Page 49: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

O Pacman pode mover-se para Norte, Sul, Este e Oeste.

Novo Problema: Pacman quer comer todas as pastilhas

Quando se move para uma célula com pastilha, esta é “papada”

Page 50: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Espaço de estados

Problema de Pesquisa

Operador de sucessor

Um estado inicial e um teste de satisfação do objectivo

Uma solução é uma sequência de acções (um plano) que transformam o estado inicial num estado final (satisfaz objectivo)

PacMan quer comer todas as pastilhas

Page 51: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

O que representar em cada estado?

Formalização do PacMan quer comer todas as pastilhas

Page 52: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

O que representar em cada estado?

Formalização do PacMan quer comer todas as pastilhas

• O que muda e é relevante é:• a posição do PacMan e

• a informação sobre as pastilhas, se foram ou não comidas.

Page 53: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Vamos arranjar um sistema de coordenadas para poder com precisão definir a posição do Pacman e as posiçõesque têm pastilha.

O que representar em cada estado?1 2 3

1 2 3

Page 54: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Vamos arranjar um sistema de coordenadas para poder com precisão definir a posição do Pacman e as posiçõesque têm pastilha.

O que representar em cada estado?

O pacman é representado pelas coordenadas da célula que ocupa

1 2 31 2 3

Page 55: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Vamos arranjar um sistema de coordenadas para poder com precisão definir a posição do Pacman e as posiçõesque têm pastilha.

O que representar em cada estado?

O pacman é representado pelas coordenadas da célula que ocupa

Um vector de booleans para cada pastilha.O 1º elemento do vector seria a pastilha no topo mais à esquerda e o ultimo a pastilha de fundo mais à direita. (função que mapeia as coordenadas de uma posição com pastilha num índice do vector).

1 2 31 2 3

Page 56: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Vamos arranjar um sistema de coordenadas para poder com precisão definir a posição do Pacman e as posiçõesque têm pastilha.

O que representar em cada estado?

O pacman é representado pelas coordenadas da célula que ocupa

Um vector de booleans para cada pastilha.O 1º elemento do vector seria a pastilha no topo mais à esquerda e o último a pastilha de fundo mais à direita. (função que mapeia as coordenadas de uma posição com pastilha num índice do vector).

Teremos então um duplo (PacMan, Pastilhas) em que o Pacman é dado pelo par (X,Y) das suas coordenadas cartesianas e em que Pastilhas é um vector de booleans.

1 2 31 2 3

Page 57: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Um estado: é um duplo (PacMan, Pastilhas)Tamanho do espaço de estados: ~ 9 X 28

Estado Inicial: ((2,2),#(true,true,true,true,true,true,true,true))

Estado Final: (qualquer, #(false,false,false,false,false,false,false,false))

Transição de estados:Move o PacMan para uma célula válida ortogonalmente vizinha (a norte, leste, sul, oeste) da sua posição actual, dentro dos limites do tabuleiro.Se a nova posição contiver uma pastilha então actualiza o vector de booleans.

Formalização do Pacman num problema de Pesquisa

Page 58: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Um estado: é um duplo (PacMan, Pastilhas) em que as Pastilhs é um conjunto de coordenadas das células com pastilha.Tamanho do espaço de estados: ~ 9 X 28 (na verdade são menos)

Estado Inicial: ((2,2),{(1,1),(1,2),(1,3),(2,1),(2,3),(3,1),(3,2),(3,3)})

Estado Final: (qualquer, {})

Transição de estados:Move o PacMan para uma célula válida ortogonalmente vizinha (a norte, leste, sul, oeste) da sua posição actual, dentro dos limites do tabuleiro.Se a nova posição contiver uma pastilha então remove a nova posição da lista actual de coordenadas das pastilhas.

Formalização alternativa do Pacman num problema de Pesquisa

Page 59: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

% um estado é dado por uma par com as coordenadas do Pacman e % a lista das coordenadas das pastilhas.

inicial( ((2,2), [(1,1),(1,2),(1,3),(2,1),(2,3),(3,1),(3,2),(3,3)]) ).

% não interessa onde está o Pacman mas apenas que não restam pastilhasfinal( (_,[]) ).

suc((Pacman,Pastilhas), (NovoPacman,NovasPastilhas),Movimento,1) :-move(Pacman, NovoPacman, Movimento),actualizaPastilhas(Pastilhas, Pacman, NovasPastilhas).

Modelização do Pacman em Prolog

Page 60: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

move((X,Y),(NX,Y),oeste) :-X > 1, NX is X – 1.

move((X,Y),(NX,Y),leste) :-X < 3, NX is X + 1.

move((X,Y),(X,NY),norte) :-Y > 1, NY is Y – 1.

move((X,Y),(X,NY),sul) :-Y < 3, NY is Y + 1.

Modelização do Pacman em Prolog (cont.)

% se existir pastilha remove-aactualizaPastilhas((X,Y),Pastilhas,Novas) :-

select((X,Y),Pastilhas,Novas).

% mantém intactas se a nova posição não % contiver pastilha.actualizaPastilhas((X,Y),Pastilhas,Pastilhas).

\+ member((X,Y),Pastilhas).

Page 61: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Problema da Torre de Hanoi

A Torre de Hanói é um quebra-cabeça inventado ou divulgado por Édouard Lucas em 1883 e que consiste numa base contendo 3 pinos, em cada um dos quais podem ser dispostos discos, uns sobre os outros, por ordem crescente de diâmetro, (de cima para baixo).

O problema consiste em passar todos os discos de um pino para outro, por exemplo do pino da esquerda para o do centro, sem que nunca um disco maior fique em cima de um menor..

Page 62: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Formalização gráfica do Problema da Torre de Hanoi

Estados:

Transição entre estados:(custos homogéneos)

Estado inicial: Estado final:

Tamanho do Espaço: 27

Page 63: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

O Grafo de Estados das Torres de Hanoi

Inicial Final

Page 64: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Solução do Problema dasTorres de Hánoi

Page 65: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Modelização do Problema da Torre de Hánoi

Page 66: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Modelização do Problema da Torre de Hánoi

Estados:

Page 67: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Modelização do Problema da Torre de Hánoi

Estados:

Estado inicial:

Uma lista de 3 pinos em que cada pino é representado por uma pilha de números.1 para o disco menor, 2 para o do meio e 3 para o maior.

Page 68: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Modelização do Problema da Torre de Hánoi

Estados: Uma lista de 3 pinos em que cada pino é representado por uma pilha de números.1 para o disco menor, 2 para o do meio e 3 para o maior.

Estado inicial:

Page 69: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Modelização do Problema da Torre de Hánoi

Estados: Uma lista de 3 pinos em que cada pino é representado por uma pilha de números.1 para o disco menor, 2 para o do meio e 3 para o maior.

Estado inicial: ([1,2,3],[],[])

Page 70: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Modelização do Problema da Torre de Hánoi

Estados: Uma lista de 3 pinos em que cada pino é representado por uma pilha de números.1 para o disco menor, 2 para o do meio e 3 para o maior.

Estado inicial: ([1,2,3],[],[])

Estado final:

Page 71: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Modelização do Problema da Torre de Hánoi

Estados: Uma lista de 3 pinos em que cada pino é representado por uma pilha de números.1 para o disco menor, 2 para o do meio e 3 para o maior.

Estado inicial: ([1,2,3],[],[])

Estado final: ([],[],[1,2,3])

Page 72: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Modelização do Problema da Torre de Hánoi

Estados: Uma lista de 3 pinos em que cada pino é representado por uma pilha de números.1 para o disco menor, 2 para o do meio e 3 para o maior.

Estado inicial: ([1,2,3],[],[])

Estado final: ([],[],[1,2,3])

Transição entre estados:(custos homogéneos)

Page 73: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Modelização do Problema da Torre de Hánoi

Estados: Uma lista de 3 pinos em que cada pino é representado por uma pilha de números.1 para o disco menor, 2 para o do meio e 3 para o maior.

Estado inicial: ([1,2,3],[],[])

Estado final: ([],[],[1,2,3])

Transição entre estados: desempilha um dos discos e empilha-o num dos pinos livres ou numa pilha com o topo maior.

Page 74: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Modelização em Prolog do Problema da Torre de Hánoi

Page 75: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Modelização em Prolog do Problema da Torre de Hánoi

Inicial(([1,2,3],[],[])).

final(([],[],[1,2,3])).

transfere([P|R],[],R,[P]).

transfere([P|R],[Q|S],R,[P,Q|S]) :- P < Q.

suc((P1,P2,P3),(NP1,NP2,P3),transf(1,2),1). transfere(P1,P2,NP1,NP2).

suc((P1,P2,P3),(NP1,P2,NP3),transf(1,3),1). transfere(P1,P3,NP1,NP3).

suc((P1,P2,P3),(P1,NP2,NP3),transf(2,3),1). transfere(P2,P3,NP2,NP3).

suc((P1,P2,P3),(NP1,NP2,P3),transf(2,1),1). transfere(P2,P1,NP2,NP1).

suc((P1,P2,P3),(NP1,P2,NP3),transf(3,1),1). transfere(P3,P1,NP3,NP1).

suc((P1,P2,P3),(P1,NP2,NP3),transf(3,2),1). transfere(P3,P2,NP3,NP2).

Page 76: Who is Mr Wolf ? Mr Wolf Pesquisa num espaço de estados Resolução de Problemas.

Modelização em Prolog do Problema da Torre de Hánoi (2ª versão)

Inicial(((e,[1,2,3]),(c,[]),(d,[]))).

final(((e[]),(c,[]),(d,[1,2,3]))).

transfere([P|R],[],R,[P]).

transfere([P|R],[Q|S],R,[P,Q|S]) :-P < Q.

suc(Pinos,NovosPinos,transf(X,Y),1).select((X1,P1),Pinos,Pr),select((X2,P2),Pr,Prr),transfere(P1,P2,NP1,NP2),NovosPinos = [(X1,NP1),(X2,NP2)|

Prr].