aula_07_Solu____o_Exercicios_Pesquisa_Informada

Embed Size (px)

Citation preview

IAI: Soluo Exerccios -> Pesquisa InformadaIA1 Aula #07-a) [email protected]

Exerccio 1- Mapa (simplificado) das estradas Romenas - Use Pesquisa Sfrega para ir de Arad a Bucareste.Neamt71

Oradea151 99

87

Iasi

92

Zerind75 Arad118

Fagaras Vaslui142 211 97

Sibiu140 80

Rimnicu Vilcea

Hirsova Urziceni98 85 101 86

Timisoara111 146 70 138 75

Pitesti90

LogojMehadia Dobreta

Bucareste Eforie

120

Craiova

Giurgiu

H(n)= distncia em linha recta de cada cidade a Bucareste Arad 366 Bucareste 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 178 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesti 98 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374

Arad h=366 Arad sibiu h=253 timisoara h=329 zerind h=374

Pesquisa Sfrega (Exerccio 1)AradH(n)= distncia em linha recta de cada cidade a Bucareste Arad 366 Bucareste 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 178 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesti 98 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374

Sibiu Arad h=366 Fagaras h=178

Timisoara h=329 Zerind h=374 Rimnicu h=193 Sibiu Arad h=366 Sibiu h=253 Fagaras Oradea h=380 Bucareste h=0

Oradea h=380

Arad Timisoara h=329 Zerind h=374 Rimnicu h=193

Exerccio 2- Pesquisa Sfrega

Considere o problema de ir de Iasi at Fagaras. Use a mesma funo heurstica para calcular o caminho com recurso Pesquisa Sfrega. Quais as concluses que pode tirar da aplicao do algoritmo.

Exerccio 2 - Pesquisa Sfrega

Considere o problema de ir de Iasi at Fagaras.

H(n) sugere expanso via Neamt que leva a uma no sada Caminho ptimo ir por Vaslui, Urziceni, Bucareste e Fagaras. Se no existir o cuidado de evitar estados repetidos a soluo no ser encontrada, entrando-se em ciclos que oscilam entre Neamt e Iasi.

Exerccio 3- Mapa (simplificado) das estradas Romenas - Use Pesquisa A* para ir de Arad a Bucareste.Neamt71

Oradea151 99

87

Iasi

92

Zerind75 Arad118

Fagaras Vaslui142 211 97

Sibiu140 80

Rimnicu Vilcea

Hirsova Urziceni98 85 101 86

Timisoara111 146 70 138 75

Pitesti90

LogojMehadia Dobreta

Bucareste Eforie

120

Craiova

H(n)= distncia em linha recta de cada cidade a Bucareste Arad 366 Bucareste 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 178 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesti 98 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374

Exerccio 3: A*

arad0+366=366

arad sibiu140+253=393

timisoara118+329= 447

zerind75+374=449

arad sibiu arad280+366= 646

timisoara orad118+329= 447

zerind75+374=449

fag

rimnicu

239+178= 146+380= 526 417

220+193=413

arad sibiu arad280+366= 646

timisoara orad146+380= 526 118+329= 447

zerind75+374=449

fag239+178= 417

rimnicu

craiova366+160= 526

pitesti317+98= 415

sibiu300+253=553

Exerccio 4 - A*

Exerccio 4: Resoluo A*

Exerccio 4: Resoluo A*

Exerccio exame 24/06/2002

Um carteiro tem normalmente uma zona de trabalho bem definida. Por forma a optimizar o tempo de entrega, os servios centrais pretendem construir um sistema para elaborar diariamente o percurso mais curto para a entrega do correio destinado a cada zona. Esse percurso deve incluir a passagem pelos locais para onde existe correio, o que pode variar de dia para dia, e o retorno ao ponto de partida - o centro de distribuio. O processo subjacente baseia-se numa procura A*. Para determinar qual a heurstica a utilizar, decidiu-se realizar um estudo, para qual foi requisitada a sua ajuda. Considerando a zona definida pelo mapa apresentado acima (A o centro de distribuio e os valores representam as distncias entre os vrios locais): a) Supondo que existe correio apenas para os locais D e E, resolva o problema aplicando a procura A* com a heurstica definida por h1= max (20 x (nmero de locais por percorrer para os quais existe correio), (distncia mnima do local corrente at ao ponto de partida)). Para tal, assuma que no se pode passar pelo mesmo local mais do que duas vezes e que os ns so gerados por ordem alfabtica segundo o nome do ltimo local que define o caminho. b) A heurstica h1 admissvel? Justifique. c) Comente a afirmao seguinte: A heurstica h1 pior do que a heurstica definida por h2 = 20 x (nmero de locais por percorrer para os quais existe correio).

Resoluo: Expanso A* = Custo Uniforme + pesquisa sfrega. Estratgia de resoluo: dada o pequeno nmero de ns mas a existncia de inmeros caminhos com custo diferente, comear a desenhar a rvore de expanso total incluindo todos os diferentes caminhos que incluam o n objectivo A passando por D e E. A partir da comear a expanso, calculando o respectivo custo heurstico. Parar quando encontrar o caminho de custo mnimo que inclua os dois ns objectivo.A {D(30) B(55)} D {A(40),B(55),E(70),C(115)} A{D(50),B(55), B(55),E(70),C(115)} D {B(55), B(55),E(70),E(90),C(115),C(135)} B {B(55),E(70),E(90),E(100),C(115),C(130),C(135)} B{A(70),E(70),E(80),E(90),E(100),C(110),C(115),C(130),C(135)} A {D(60),E(70),B(85),E(80),E(90),E(100),C(110),C(115),C(130),C(135)} D{E(70),B(85),E(80),E(90),E(100),EIV(100),C(110),C(115),C(130),C(135),CIv(145)} E {D(70),B(80),B(85),E(80),E(90),E(100),EIV(100),C(110),C(115),C(130),C(135), CIv(145)} D{A(70),B(80),B(85),E(80),E(90),E(100),EIV(100),C(110),C(115),C(130),C(135), CIv(145)} A{B(80),B(85),E(80),E(90),E(100),EIV(100),C(110),C(115),C(130),C(135),CIv(145)} Ns na fila que no sero expandidos. Parar a expanso, foi encontrado o caminho de custo mnimo! Caminho ptimo: A D E D A = Custo 70Ns visitados= 11 a saber: A,D(30),A(40),D(50),B(55),B(55),A(70),D(60),E(70),D(70),A(70)

Exerccio exame 24/06/2002

Exerccio exame 24/06/2002Resoluo: Expanso total em rvore com custo A* dos caminhos ( Ordem de expanso dos ns 1 a 11). Ns no numerados no foram expandidos ver expanso anterior!

Avaliao de cada n, h medida que so expandidos. Custo real at ao n + distncia heurstica do n corrente ao n objectivo A.

Exerccio exame 24/06/2002Resoluo: Clculo de F(n)=G(n)+H(n) para os ns visitados F(A) = 30+ Max(20*2=40,0)=30+40=70 F(A) = 20+ Max(20*1=20,10)=20+20=40 F(A) = 70+ Max(20*0=0,0)=70+0=70 F(B) = 15+ Max(20*2=40,15)=15+40=55 F(B) = 45+ Max(20*2=40,15)=45+40=85 F(B) = 35+ Max(20*1=20,15)=35+20=55 F(B) = 65+ Max(20*0=0,15)=65+15=80 F(C) = 60+ Max(20*1=20,55)=60+55=115 F(C) = 80+ Max(20*1=20,55)=80+55=135 F(C) = 75+ Max(20*2=40,55)=90+55=130 F(C) = 55+ Max(20*2=40,55)=55+55=110

F(C) = 90+ Max(20*1=20,55)=90+55=145 F(D) = 10+ Max(20*1=20,10)=10+20=30 F(D) = 30+ Max(20*1=20,10)=30+20=50 F(D) = 40+ Max(20*1=20,10)=40+20=60 F(D) = Max(20*0=0,10)=60+10=70 F(E) = Max(20*1=20,35)=35+35=70 F(E) = Max(20*0=0,35)=55+35=90 F(E) = Max(20*1=0,35)=65+35=100 F(E) = Max(20*1=20,35)=45+35=80 F(E) = Max(20*0=0,35)=35+35=100

60+ 35+ 55+ 65+ 45+ 65+

Exerccio exame 24/06/2002a)

A heurstica h1 admissvel? Justifique.

Sim, h1 admissvel. Uma heurstica admissvel no toma valores superiores ao custo real. Para h1 ser admissvel qualquer das suas componentes tambm tem que o ser, dado ser definida pelo mximo de ambas. A distncia mnima entre dois quaisquer locais diferentes do ponto de partida "A" sempre superior ou igual a 20. Alm disso, uma soluo tem que incluir a sada de "A" e regresso a "A", percurso que tem um custo mnimo de 20 (atravs do caminho "AD"). Isto significa que a primeira componente nunca sobrestima o custo real. A segunda componente tambm admissvel visto o custo de um qualquer estado at ao ponto de partida nunca ser inferior distncia mnima respectiva. b) Comente a afirmao seguinte: A heurstica h1 pior do que a heurstica definida por h2 = 20 x (nmero de locais por percorrer para os quais existe correio). A afirmao falsa. Como h1>=h2 e ambas so admissveis, h1 aproxima-se mais do custo real, logo mais informada, o que possibilita uma procura mais eficiente

Exerccio exame16/09/2002 2 poca

4 3 2 1 0

X X G S X X 0 1 2 3 4

Considere a seguinte matriz em que os ndices 0 a 4 representam as coordenadas de cada casa. A casa S(1,2) representa a casa de partida enquanto que a G(2,3) representa a casa objectivo. As casas com X so obstculos. A funo seguinte retorna as casas acessveis a partir dum estado H qualquer e pela ordem indicada:1 4H 2 3

Represente a rvore parcial que conduz do estado corrente (S) ao estado objectivo (G) usando uma pesquisa do tipo pesquisa sfrega orientada por uma heurstica do tipo Distncia de Manhattam d(x1,y1,x2,y2) entre um estado qualquer e o estado objectivo sendo dx1,y1,x2,y2 = abs(x1x2)+ abs(y1-y2).

Exerccio exame16/09/2002 2 pocaResoluo:

4 3 2 1 0

X X G S X X 0 1 2 3 4

4 3 2 1 0

5 4 3 4 5 0

4 3 X 3 4 1

3 2 X 2 3 2

2 1 0 X X 3

3 2 1 2 3 4

A pesquisa sfrega uma pesquisa do tipo o melhor primeiro em que f(n)=h(n). Selecciona o n a expandir que parece estar mais prximo (sfrega) do n objectivo( i.e. o menor valor de f ). no completa e no admissvel (ver slides das aulas). Se se no tiver cuidado em evitar ns repetidos a pesquisa pode entrar em ciclos infinitos e no encontrar a soluo. o caso neste problema! O enunciado nada diz a este propsito, dando no entanto uma sequncia de expanso dos ns que obrigatoriamente deveria ser seguida! Por este facto duas respostas seriam possveis, tendo ambas a mesma cotao: 1 aco: Clculo dos valores heursticos dos ns h(n): Lembrar que a Distncia de Manhattan a soma das distncias mnimas horizontais e verticais de cada casa at casa objectivo. Pode resolverse de forma analtica usando a funo dada. Por exemplo para a casa (2,0)=> H(n) = abs(x1-x2)+ abs(y1-y2)= abs(2-3)+ abs(0-2)= abs(-1)+ abs(2)= 1+2= 3, sendo que x1 e y1 so as coordenadas do n corrente e x2 e y2 as coordenadas do n objectivo.

Exerccio exame16/09/2002 2 poca

4 3 2 1 0

5 4 3 4 5 0

4 3 X 3 4 1

3 2 X 2 3 2

2 1 0 X X 3

3 2 1 2 3 4

4 3 2 1 0

X X G S X X 0 1 2 3 4

1 Soluo No evitando estados repetidos: Assim a expanso a partir de S e seguindo a ordem indicada seria usando o algoritmo de pesquisa sfrega a seguinte:

Ao seguir a ordem indicada entraria em ciclo infinito nunca expandindo o n (1,1) com custo heurstico =3, pelo que nunca encontraria a soluo.

Exerccio exame16/09/2002 2 poca2Soluo: Evitando ciclos repetidos: (a no referncia a este facto leva a perder metade da cotao mesmo que a resposta esteja certa)

4 3 2 1 0

5 4 3 4 5 0

4 3 X 3 4 1

3 2 X 2 3 2

2 1 0 X X 3

3 2 1 2 3 4

4 3 2 1 0

X X G S X X 0 1 2 3 4

Exame 2002 diurnoConsidere o grafo seguinte representando o espao de estados e operadores dum problema de navegao

Exame 2002 diurnoO custo do caminho indicado pelos valores representados nos arcos enquanto que uma avaliao heurstica do custo de cada n em relao ao n objectivo G dado pelos valores indicados nas caixas. Ao expandir cada n assuma que: Ao colocar na fila, os ns expandidos ordenam-se por ordem alfabtica (Por ex: ao expandir S a ordem ser S { A,B}) No gere nenhum n filho que aparea como antecessor do n corrente na rvore de pesquisa. Qual a ordem de expanso, o caminho e o respectivo custo at soluo(S>G), usando: a) Custo uniforme b) A*

Exame 2002 diurnoResoluo: Resoluo: Ordem de expanso: Custo real mnimo. Em caso de custo igual, expandir por ordem alfabtica. Ns visitados: Quando se trata do mesmo n por caminhos diferentes representa-se por: B , B, B, etc. S {B(2),A(3)} B {A(3), C(3), A(6),E(6)} A {C(3), A(6), D(6),E(6),B(7)} C {H(5), A(6), D(6),E(6),B(7)} H {A(6), D(6),E(6),B(7)} A {D(6),E(6),B(7),D(9)} D {E(6),B(7),G(8),D(9),E(9)} E {B(7),F(7),G(8),D(9), D(9),E(9)} B {F(7),C(8),G(8),D(9), D(9),E(9), E(11)} F {C(8),G(8),D(9), D(9),E(9), E(11)} C {G(8),D(9), D(9),E(9),H(10),E(11)} G {D(9), D(9),E(9),H(10),E(11)} Parar expanso dado que foi encontrado o caminho.Ns na pilha que no sero expandidos!

Exame 2002 diurno

Exame 2002 diurnob) A* Heurstica admissvel dado que em nenhum caso sobrestima o custo do caminho Clculo F(n)= G(n)+H(n) F(A)= 3+5=8 F(A)=6+5=11 F(A)=8+5=13 F(B)=2+4=6 F(B)=7+4=11 F(B)=4+4=8 F(C)=3+5=8 F(D)=6+2=8 F(D)= 9+2=11 F(E)=6+2=8 F(E)=8+2=10 F(E)=9+2=11 F(E)=8+2=10 F(F)=7+1=8 F(G)=8+0=8 F(H)=5+4=9S {B(6),A(8)} B {A(8), C(8), E(8), A(11),} A {C(8), D(8),E(8), A(11),B(11)} C {H(9), B(8), D(8),E(8),A(11),B(11)} H {B(8), D(8),E(8),A(11),B(11)} B {D(8),E(8),A(11),B(11),A(13)} D {E(8),G(8),A(11),B(11),E(11),A(13)} E {F(8),G(8),A(11),B(11),D(11),E(11),A(13)} F {G(8),E(10),A(11),B(11),D(11),E(11),A(13)} G {E(10),A(11),B(11),D(11),E(11),A(13)} Ns na pilha que no sero expandidos!

Exame 2002 diurno

Exame 2002 diurnoc) Admita que para o problema anterior, crimos duas heursticas admissveis h1 e h2. Suponha que as queremos combinar por forma a orientar melhor a pesquisa. Quais das 3 combinaes seguintes correspondem a heursticas admissveis, e porqu?:

Resposta: 1 Admissvel. Se h1 e h2 so admissveis a mdia das duas tambm o . 2 No admissvel. Se h1 admissvel nunca sobreestima o caminho at ao n objectivo. O dobro desse valor sobreestimar esse valor. 3 Admissvel.Se h1 e h2 so admissveis, o mximo da combinao das duas nunca sobreestimar o custo do caminho.

Exame 2002 diurnod) Qual a melhor forma de combinar a 1 e a 3: F= max(h1,h2) ou G=(h1+h2)/2. Porqu?

Resposta: Max(h1,h2) ser sempre maior que (h1+h2)/2 ou dito de outro modo o mximo entre dois valores ser sempre maior que a sua mdia, pelo que a pesquisa ser sempre mais informada, nunca sobrestimando o custo do caminho

Exerccio examepoca especial 2002

Um vendedor quer visitar as cidades do mapa sem passar duas vezes pela mesma cidade (e sem voltar cidade de origem). Resolva este problema comeando em Lisboa. Utilize a heurstica que diz que o nmero de quilmetros a percorrer igual ao comprimento mdio dos caminhos (200 km) vezes o nmero de cidades que falta percorrer. Em caso de empate entre dois ns, escolha o n cuja ltima cidade esteja alfabeticamente primeiro. a) use a procura sfrega b) use a A* c) Compare as solues encontradas por ambos os algoritmos d) Diga se a funo heurstica admissvel e porqu?

Exerccio examepoca especial 2002

a)

Exerccio examepoca especial 2002

b)

Exerccio examepoca especial 2002Resposta c): Como se pode observar, a soluo obtida pelo A* de melhor qualidade. O vendedor apenas teria que percorrer 1300 Km, face aos 1450 Km da soluo encontrada pela procura sfrega. Este resultado justifica-se porque o A* considera na sua funo de custo (f) no s o valor heurstico (h) mas tambm o custo do caminho at ento percorrido (g). Observa-se tambm que o nmero de ns expandidos pela procura sfrega foi bastante inferior, ou seja, neste caso este tipo de procura foi mais eficiente em termos espaciais e temporais. Isto, porque a procura sfrega apenas se preocupou em caminhar em direco a uma soluo, no considerando o esforo j realizado (g) para garantir um soluo ptima comportamento que evitou vrios retrocessos e a consequente expanso de mais ns. Resposta d): admissvel uma vez que em nenhum caso sobreestima o custo real do caminho