Inteligência Artificial Aplicações de Árvore de Estados Torre de Hanói Malha Viária 08 de novembro de 2006
Torre formada por argolas empilhadas ao redor de pinos TORRE DE HANÓI Torre formada por argolas empilhadas ao redor de pinos
TORRE DE HANÓI Estado Inicial Estado Final 1 2 3 1 2 3 Estado Inicial Estado Final Problema: descobrir todas as sequências possíveis de movimentos que conduzem as argolas ao estado final Restrição: argolas menores sempre em cima das maiores O problema original consta de 64 argolas...
Uma forma de resolver o problema: Criar uma representação matemática dos pinos e das argolas que permita reproduzir todos os movimentos possíveis, sem voltar atrás.
Os pinos são numerados da esquerda para a direita: 1, 2 e 3.
Cada Estado é representado por um par (m, M) m: pino em que se encontra a argola menor M: pino em que se encontra a argola maior 1 2 3 1 2 3 (1,1) (3,3)
É uma estrutura, com a forma de uma árvore invertida, em que ÁRVORE DE ESTADOS É uma estrutura, com a forma de uma árvore invertida, em que aparecem todos os estados percorridos durante a resolução de um problema combinatório.
Os 9 estados possíveis com a sua representação numérica 1 2 3 (11) Inicial 1 2 3 (12) 1 2 3 (13) Os 9 estados possíveis com a sua representação numérica 1 2 3 (23) 1 2 3 (21) 1 2 3 (22) 1 2 3 (31) 1 2 3 (32) 1 2 3 (33) Final
Para prosseguir, os Estados devem ser organizados de forma a que cada um seja seguido dos dois Estados seguintes possíveis..
1 2 3 (11) Inicial 1 2 3 (21) 1 2 3 (31) 31 21 11
1 2 3 (21) 1 2 3 (31) 1 2 3 (23) 31 23 21
Árvore completa com todos os percursos do Estado Inicial ao Estado Final 21 33 23 13 12 22 32 31 11
A solução ótima é o percurso com o menor número de movimentos 21 33 23 13 12 22 32 31 11 Solução Ótima 3 4 5 6 6 7 7 7 8
MALHA VIÁRIA
Descobrir um trajeto entre duas cidades diante de uma malha viária. F G H 3 4 5 2 Origem Destino Se o trajeto tiver que ser percorrido uma só vez qualquer trajeto serve Se o trajeto tiver que ser percorrido várias vezes identificar o melhor trajeto
Criar e percorrer uma Árvore de Estados Uma forma de resolver o problema: A B C D E F G H 3 4 5 2 Origem Destino Criar e percorrer uma Árvore de Estados
Cada ramo é uma solução (trajeto) B C D E F G H 3 4 5 2 A árvore contem todas as bifurcações existentes na malha. A B C D E F G H Cada ramo é uma solução (trajeto)
Existem diversos métodos para achar o melhor trajeto (ótimo) 4 4 B D F 3 5 5 A H 3 4 C E G 2 4 Existem diversos métodos para achar o melhor trajeto (ótimo) A B D C E F G H
De todos os trajetos a partir de um ponto até o destino Um desses métodos consiste em tomar sempre o trajeto mais promissor do ponto em que se encontra até o destino. De todos os trajetos a partir de um ponto até o destino o mais promissor é o que exibe o menor valor de f = g + h em que g = distância já percorrida h = estimativa otimista do que falta Assim sendo: f > g + h No presente problema a estimativa otimista é a distância em linha reta.
Considerando o trajeto mais promissor B C D E F G H 3 4 5 2 Considerando o trajeto mais promissor A f > 0+11 > 11 B C f > 3+10 > 13 f > 4+8,5 > 12,5 C E G H 17 E B f > 6+6,5 > 12,5 f > 9+10 > 19 D E G H 19 G D 10+3 = 13 f > 11+6,5 > 17,5 D E F G H 25 H 13 Outros trajetos trajeto ótimo