Estratégias de Busca em Espaços de Estados

Documentos relacionados
Grafos. Luís Antunes. Grafos dirigidos. Grafos não dirigidos. Definição: Um grafo em que os ramos não são direccionados.

Análise e Síntese de Algoritmos

Dado um grafo G, é possível encontrar uma representação gráfica para o grafo tal que não

Fontes Bibliográficas. Estruturas de Dados Aula 15: Árvores. Introdução. Definição Recursiva de Árvore

Estratégias de Busca. Busca em Espaço de Estados. Cabeça-8. Exemplo: Quebra-Cabeça. Exemplo: 8 Rainhas. Exemplo: 8 Rainhas

MAC0328 Algoritmos em Grafos. Administração. MAC328 Algoritmos em Grafos. Página da disciplina: ~ am/328. Livro:

Lista de Exercícios 9: Soluções Grafos

Problemas Hamiltonianos

GRAFOS GRAFOS GRAFOS. Introdução; Algoritmo de Dijkstra.

Teoria dos Grafos Aula 11

MESTRADO INTEGRADO EM ENGENHARIA INFORMÁTICA E COMPUTAÇÃO EIC0011 MATEMÁTICA DISCRETA

Grafos. Histórico. Histórico. Histórico. Histórico. Definição

Árvores B. Introdução. Introdução. AVL como Índice em Disco. AVL como Índice em Disco. Representação

ORION 6. Segunda Porta USB. Henry Equipamentos Eletrônicos e Sistemas Ltda.

Anexo IV Estrutura societária. Estrutura societária vigente

RESOLUÇÃO DE EQUAÇÕES POR MEIO DE DETERMINANTES

= 1, independente do valor de x, logo seria uma função afim e não exponencial.

Uma nota sobre bissetrizes e planos bissetores

AGRUPAMENTO DE ESCOLAS DE MORTÁGUA Geometria Ficha de Trabalho Nº 02 10º Ano

TOTAL PONTOS Nome: Data: / Hora: h m às h m Resolva os problemas e assinale a alternativa correspondente:

Capri L.138 / A.101 / P. 77,5 cm

+ = x + 3y = x 1. x + 2y z = Sistemas de equações Lineares

Nova Linha T-holder com Grampo Combinado para Pastilhas de Cerâmica

TOTAL PONTOS Nome: Data: / Hora: h m às h m Resolva os problemas e assinale a alternativa correspondente:

TOTAL PONTOS Nome: Data: / Hora: h m às h m Resolva os problemas e assinale a alternativa correspondente:

TOTAL PONTOS Nome: Data: / Hora: h m às h m Resolva os problemas e assinale a alternativa correspondente:

E NINGUÉM PODE TIRAR O QUE MEU DEUS ME DÁ A D B SUAS PROMESSAS EM MIM SE CUMPRIRÃO E JÁ POSSO CELEBRAR

TOTAL PONTOS Nome: Data: / Hora: h m às h m Resolva os problemas e assinale a alternativa correspondente:

QUESTIONÁRIO. Senhor(a) Professor(a),

Teoria dos Jogos. Prof. Maurício Bugarin Eco/UnB 2014-I. Aula 10 Teoria dos Jogos Maurício Bugarin. Roteiro

CASA DE DAVI CD VOLTARÁ PARA REINAR 1. DEUS, TU ÉS MEU DEUS. E B C#m A DEUS, TU ÉS MEU DEUS E SENHOR DA TERRA

DIAGRAMA DE INTERLIGAÇÃO DE AUTOMAÇÃO EXXA -SL

Eletrônica Digital Moderna e VHDL Volnei A. Pedroni, Elsevier, Soluções dos Exercícios Ímpares dos Capítulos 1 5

TOTAL PONTOS Nome: Data: / Hora: h m às h m Resolva os problemas e assinale a alternativa correspondente:

TOTAL PONTOS Nome: Data: / Hora: h m às h m Resolva os problemas e assinale a alternativa correspondente:

NESS-A TOUCH SCREEN 7" C/ MODEM

XXIX Olimpíada Brasileira de Matemática GABARITO Segunda Fase

Rev /00. Metalúrgica Netz Ltda. Fone/FAX: (55) Endereço: RS 344, KM 43,5 - ao lado da AGCO do Brasil. Santa Rosa - RS.

CÁLCULO DIFERENCIAL E INTEGRAL II INTEGRAIS MÚLTIPLAS

Expressão Semi-Empírica da Energia de Ligação

UNIVERSIDADE FEDERAL DO CEARÁ FACULDADE DE ECONOMIA, ADMINISTRAÇÃO, ATUÁRIA, CONTABILIDADE E SECRETARIADO DEPARTAMENTO DE CIÊNCIAS CONTÁBEIS

Estruturas de Dados Lista de exercícios

MECANISMOS DE REAÇÕES

A Função Densidade de Probabilidade

DETERMINAÇÃO EFICIENTE DE VÉRTICES SIMPLICIAIS EM GRAFOS CORDAIS

Exercício: Exercício:

DIAGRAMA DE INTERLIGAÇÃO DE AUTOMAÇÃO NESS LRC MULTILINHAS C/ IHM

A Classe de Grafos PI

log5 log 5 x log 2x log x 2

MESTRADO PROFISSIONAL EM ECONOMIA DO SETOR PÚBLICO

Manual de Utilização do Hosp

6ª LISTA DE EXERCÍCIOS - DINÂMICA

banco bolsa passo a passo

RESUMO de LIMITES X CONTINUIDADE. , tivermos que f(x) arbitr

CD CORAÇÃO DA NOIVA - 1. O SENHOR É BOM INTR:E D A/C# C7+ B E D A/C# O SENHOR É BOM C7+ B E SEU AMOR DURA PARA SEMPRE ELE É BOM...

Aula 16 p. 1. 1:for Cada v V do 2: Make_Set(v) 3:for cada aresta (u, v) E do. 1:if Find_Set(u)=Find_Set(v)then. 5: Union(u, v)

Associação de Resistores e Resistência Equivalente

DIAGRAMA DE INTERLIGAÇÃO DE AUTOMAÇÃO NESS P2 COM SENSORES NESS P2 SEM SENSORES

SUAVIZAÇÃO DA FRONTEIRA DEA: O CASO BCC N-DIMENSIONAL COM MULTIPLICIDADE SIMULTÂNEA DOS INPUTS E DOS OUTPUTS

INTEGRAÇÃO MÉTODO DA SUBSTITUIÇÃO

Manual de instalação. Adaptador de LAN Daikin Altherma BRP069A61 BRP069A62. Manual de instalação Adaptador de LAN Daikin Altherma.

Desenvolvimento com a placa Altera DE2 Prof. Rodrigo de Paula Rodrigues

Considere a junção representada na Fig.1. Admita que as linhas bifilares são ideais (sem 2 (3)

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE MATEMÁTICA MESTRADO PROFISSIONALIZANTE EM ENSINO DE MATEMÁTICA SANDRO AZEVEDO CARVALHO

Guarde esse manual ele pode servir para futuras consultas em caso de avarias, lembrando que nossos móveis tem garantia de 2 anos.

Parte II: Sistemas de Procura em Inteligência Artificial. 3. Resolução de Problemas através de Busca

CATÁLOGO DE PEÇAS COLHEDORA DE CAPIM. Rev /01

Compressão Paralela às Fibras

Estes resultados podem ser obtidos através da regra da mão direita.

TÓPICOS. Números complexos. Plano complexo. Forma polar. Fórmulas de Euler e de Moivre. Raízes de números complexos.

Instruções para uma impressora conectada localmente no Windows

8/8 6/8 5/8 4/8 3/8 2/8 1/8 LAY-OUT DO QUADRO FOLHA 2 LAY-OUT DO QUADRO FOLHA 1 MOTIVO ÉRITON S. VER.

MODALIDADE CATEGORIA SEXO FUTSAL INFANTO FEMININO

O PRESIDENTE DA REPÚBLICA Faço saber que o Congresso Nacional decreta e eu sanciono a seguinte Lei:

ERROS ESTACIONÁRIOS. Controle em malha aberta. Controle em malha fechada. Diagrama completo. Análise de Erro Estacionário CONSTANTES DE ERRO

UNIVERSIDADE FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE INFORMÁTICA CURSO BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO

ADESIVO PARAFUSO TRANSPORTE 2 7

/ :;7 1 6 < =>6? < 7 A 7 B 5 = CED? = DE:F= 6 < 5 G? DIHJ? KLD M 7FD? :>? A 6? D P

+12V. 0.1uF/ 100V RL4 :A ULN2003A C3 3 U1:D LIGA/ DESLIGA CARREGADOR. 10uF/ 16V C2 4 1N4148 D1 1 1N K GND 10K BC337 R2 5 CRISTAL DE 2 0 MHZ

PV nrt V. (isocórico) P V. Resumo e Exemplos Resolvidos Processos Termodinâmicos - Física Prof. Dr. Cláudio S.

3. CÁLCULO INTEGRAL EM IR

ÍNDICE PREFÁCIO 9 O GREGO 9 FONÉTICA 11 MORFOLOGIA 23 PARTE PARTE CAPÍTULO I 25 ARTIGO CAPÍTULO II 26 SUBSTANTIVOS. QUADRO GERAL DAS DESINÊNCIAS

1 Capítulo 2 Cálc l u c lo l I ntegra r l l em m R

Manual de instalação. Adaptador de LAN Daikin Altherma BRP069A61 BRP069A62. Manual de instalação Adaptador de LAN Daikin Altherma.

MATRIZES. Matriz é uma tabela de números formada por m linhas e n colunas. Dizemos que essa matriz tem ordem m x n (lê-se: m por n), com m, n N*

3 Proposição de fórmula

Cálculo Numérico. Integração Numérica. Prof: Reinaldo Haas

u t = L t N t L t Aplicação dos conceitos: Exemplo: Interpretando Rendimento Per Capita: Y = Pop {z} PIB per capita Y {z} Produtividade Trabalho

Cinemática de uma Partícula Cap. 12

a) 1. b) 0. c) xnw. d) q (Espm 2014) Se a matriz 7. (Pucrs 2014) Dadas as matrizes A = [ 1 2 3] a) 18 b) 21 c) 32 d) 126 e) 720 Se a matriz M=

RADIOPROPAGAÇÃO MEEC 2007/2008

Instruções para uma impressora conectada localmente no Windows

ANEXO II MODELO DE PROPOSTA

Mapa de Karnaugh. João Paulo Cerquinho Cajueiro 24 de agosto de 2009

Módulo II Resistores e Circuitos

Degeneração. Exercício 1: Resolva o seguinte problema pelo método das duas fases: sujeito a

ANÁLISE MATEMÁTICA IV FICHA SUPLEMENTAR 2. < arg z < π}.

Enunciados equivalentes

FUNÇÃO REAL DE UMA VARIÁVEL REAL

S = evento em que uma pessoa apresente o conjunto de sintomas;

Transcrição:

Estrtéis Bus m Espços Estos Intliêni Artiiil Bus não inorm Em prouni vriçõs Em lrur Bus inorm Gulos A* Hill-limin Estrtéis Bus m Espços Estos Intliêni Artiiil Bus não inorm Em prouni vriçõs Em lrur Bus inorm Gulos A* Hill-limin 1

Bus m Espço Estos Um ro po sr uso pr rprsntr um spço stos on: Os nós orrsponm situçõs um prolm As rsts orrsponm movimntos prmitios ou çõs ou pssos solução Um o prolm é soluiono nontrno-s um minho no ro Um prolm é inio por Um spço stos (um ro) Um sto (nó) iniil Um onição término ou ritério pr; stos (nós) trminis são quls qu stiszm onição término S não houvr ustos, há intrss m soluçõs minho mínimo No so m qu ustos são iionos os movimntos, normlmnt há intrss m soluçõs usto mínimo O usto um solução é o usto s rsts o lono o minho solução 3 Exmplo: Qur-Cç-8 4

Exmplo: Qur-Cç-8 Estos: posiçõs intirs os quros (inorr posiçõs intrmiáris) Oprors: movr rno pr squr, irit, im, mixo Esto Finl: = sto ornio (únio) Custo o minho: 1 por movimnto 5 Exmplo: 8 Rinhs Estos? Oprors? Esto Finl? Custo o minho? 6 3

Exmplo: 8 Rinhs Esto: qulqur rrnjo 0 8 rinhs no tuliro Opror: iionr um rinh qulqur quro Esto Finl: 8 rinhs no tuliro, sm tqu (múltiplos stos) Custo o minho: zro (pns o sto inl é intrssnt) 7 Exmplo: Missionários Cniis Estos? Oprors? Esto Finl? Custo o minho? 8 4

Exmplo: Missionários Cniis Estos um sto é um squêni orn três númros rprsntno o númro niis, missionários ot n mrm o rio n qul ls iniim Assim, o sto iniil é [3,3,squr] Oprors prtir sto os oprors possívis são: tomr um nil, um missionário, um missionário um nil, ois missionários ou ois niis Há no máximo 5 oprors, mor luns stos tnhm mnos oprors um vz qu s v vitr stos inválios Esto Finl: [3,3,irit] (únio) Custo o minho: númro trvssis 9 Exmplo: Missionários Cniis 10 5

Exmplo: Montm om Roô Estos: oorns vlor rl ânulos s junçõs o roô prts o ojto sr monto Oprors: movimntos ontínuos s junçõs o roô Esto Finl: montm omplt (únio) Custo o minho: tmpo pr montm 11 Exmplo: Pilh Bloos Consir o prolm nontrr um plno (strtéi) pr rrrnjr um pilh loos omo n iur Somnt é prmitio um movimnto por vz Um loo somnt po sr movio s não há n m su topo Um loo po sr oloo n ms ou im outro loo C A B? A B C 1 6

Exmplo: Pilh Bloos N situção iniil o prolm, há pns um movimnto possívl: olor loo C n ms Dpois qu C oi oloo n ms, há três ltrntivs Color A n ms ou Color A im C ou Color C im A (movimnto qu não v sr onsiro pois rtorn um situção ntrior o prolm) A? A B B C C 13 Exmplo: Pilh Bloos sto iniil C A B B A C A B C A B C C B A B A C A B C C A B B C A B A C C A B A B C A C B 14 7

Espço Estos Árvor ou Gro? Nst so, um ro po sr trnsormo m um árvor, om um msmo nó oorrno m irnts suárvors, inino qu s po pssr por um sto por irnts minhos prtir o nó iniil (riz). 15 Bus m Espço Estos Estrtéis Básis Bus (Uniorm, Exustiv ou C) não utiliz inormçõs sor o prolm pr uir us strtéi us xustiv pli té um solução sr nontr (ou lhr) Prouni (Dpth-irst) Prouni limit (Dpth-irst Limit) Lrur (Brth-irst) Biirionl Estrtéis Hurístis Bus (Bus Inorm) utiliz inormçõs spíis o omínio pr jur n isão Gulos A* 16 8

Prurso m Prouni Insrir n rnt, rmovr rnt: 17 Prurso m Prouni Insrir n rnt, rmovr rnt:, 18 9

Prurso m Prouni Insrir n rnt, rmovr rnt:,, 19 Prurso m Prouni Insrir n rnt, rmovr rnt: h,, 0 10

Prurso m Prouni Insrir n rnt, rmovr rnt:, 1 Prurso m Prouni Insrir n rnt, rmovr rnt: i, j, 11

Prurso m Prouni Insrir n rnt, rmovr rnt: j, 3 Prurso m Prouni Insrir n rnt, rmovr rnt: 4 1

Prurso m Prouni Insrir n rnt, rmovr rnt:, 5 Prurso m Prouni Insrir n rnt, rmovr rnt: k, 6 13

Prurso m Prouni Insrir n rnt, rmovr rnt: 7 Bus m Espço Estos O prorm us srá implmnto omo rlção: rsolv(iníio,soluo) on Iníio é o nó iniil no spço stos Soluo é um minho ntr Iníio qulqur nó inl. 8 14

Bus m Prouni Esto iniil: Estos inis: j,?- rsolv(, Soluo). Soluo = [,,,j] Após ktrkin, outr solução é nontr: [,,] 9 Bus m Espço Estos Vmos rprsntr um spço stos pls rlçõs s(x,y) qu é vrir s há um movimnto prmitio no spço stos o nó X pr o nó Y; nst so, Y é um sussor X inl(x) qu é vrir s X é um sto inl S houvr ustos nvolvios, um triro rumnto srá iiono: o usto o movimnto s(x,y,custo) A rlção s po sr rprsnt xpliitmnt no prorm por um onjunto tos Entrtnto, pr spços sto omplxos, rlção s é usulmnt ini impliitmnt trvés rrs qu prmitm lulr o sussor um o nó 30 15

Exríio: prt 1 Rprsnt o spço stos o lo! 31 Exríio: prt 1 s(x, Y) :- rst(x, Y). rst(, ). rst(, ). rst(, ). rst(, ). rst(, ). rst(, ). rst(, h). rst(, i). rst(, j). rst(, k). inl(j). inl(). 3 16

Exríio: prt Implmnt m Prolo us m prouni, orm qu, prtir um nó iniil, rtorn o minho solução. 33 Bus m Prouni Pr nontrr Soluo prtir um nó N (té um nó inl): S N é um nó inl, ntão Soluo = [N] S N tm um sussor N1, tl qu há um minho N1 um nó inl, ntão Soluo = [N Cminho N1 no_inl] (orm invrs) Em Prolo: rsolv(n,[n]) :- inl(n). rsolv(n,[n Cminho]) :- s(n,n1), rsolv(n1,cminho). % lnçou mt % ç um movimnto válio % rursivi A us m prouni é mis nturl quno s us rursão 34 17

Bus m Prouni rsolv(n, [N]) :- inl(n). rsolv(n, [N Cminho]) :- s(n, N1), rsolv(n1, Cminho). s(n, N1) :- rst(n, N1). rst(, ). rst(, ). rst(, ). rst(, ). rst(, ). rst(, ). rst(, h). rst(, i). rst(, j). rst(, k). inl(j). inl(). 35 Bus m Prouni: Cilos 36 18

Bus m Prouni: Cilos 37 Bus m Prouni: Cilos 38 19

Bus m Prouni rsolv(n, [N]) :- inl(n). rsolv(n, [N Cminho]) :- s(n, N1), rsolv(n1, Cminho). s(n, N1) :- rst(n, N1). rst(, ). rst(, ). rst(, ). rst(, ). rst(, ). rst(, ). rst(, h). rst(h, ). rst(, i). rst(, j). rst(, k). inl(j). inl(). 39 Bus m Prouni?- rsolv(, Soluo). ERROR: Out o lol stk Exption: (340,306) rsolv(h, _G10097)? Como rsolvr? 40 0

Bus m Prouni: sm ilos % rsolv(no,soluo) Soluo é um minho ílio (n orm % rvrs) ntr nó iniil No um solução rsolv(no,soluo) :- pthfirst([],no,soluo). % pthfirst(cminho,no,soluo): No é o sto prtir o qul s qur lnçr o sto inl; Cminho é o minho s o sto iniil té No; Soluo é o Cminho té um nó inl, stnio om No. pthfirst(cminho,no,[no Cminho]) :- inl(no). pthfirst(cminho,no,soluo) :- s(no,no1), \+ prtn(no1,cminho), % vit ilo pthfirst([no Cminho],No1,Soluo). prtn(e,[e _]). prtn(e,[_ T]) :- prtn(e,t). 41 Bus m Prouni Rpr qu o ktrkin o Prolo z om qu não sj nssário o uso um pilh pr urr os stos ntriors Um prolm om us m prouni é qu xistm spços sto nos quis o loritmo s pr: quno há rmos ininitos no spço stos O loritmo ntão xplor st prt ininit o spço, nun hno prto um nó inl Por xmplo, o prolm s 8 Rinhs é sustívl st tipo rmilh, ms omo o spço é inito, s rinhs pom sr olos m surnç no tuliro, ou sj, um solução é nontr Pr vitr minhos ininitos, um rinmnto po sr iiono à us m prouni: limitr prouni us 4 1

Bus m Prouni Limit (L=0) Insrir n rnt, rmovr rnt: 43 Bus m Prouni Limit (L=1) Insrir n rnt, rmovr rnt: 44

Bus m Prouni Limit (L=1) Insrir n rnt, rmovr rnt:, 45 Bus m Prouni Limit (L=1) Insrir n rnt, rmovr rnt: 46 3

Bus m Prouni Limit (L=) Insrir n rnt, rmovr rnt: 47 Bus m Prouni Limit (L=) Insrir n rnt, rmovr rnt:, 48 4

Bus m Prouni Limit (L=) Insrir n rnt, rmovr rnt:,, 49 Bus m Prouni Limit (L=) Insrir n rnt, rmovr rnt:, 50 5

Bus m Prouni Limit (L=) Insrir n rnt, rmovr rnt: 51 Bus m Prouni Limit (L=) Insrir n rnt, rmovr rnt:, 5 6

Bus m Prouni Limit (L=) Insrir n rnt, rmovr rnt: 53 Bus m Prouni Limit % rsolv(no,soluo,l) Soluo é um minho ílio omprimnto L % (n orm rvrs) ntr nó iniil No um solução rsolv(no,soluo,l) :- pthfirstlimit([],no,soluo,l). % pthfirstlimit(cminho,no,soluo,l) stn o minho % [No Cminho] té um nó inl otno Soluo om % prouni não mior qu L pthfirstlimit(cminho,no,[no Cminho],_) :- inl(no). pthfirstlimit(cminho,no,soluo,l) :- L > 0, % limit us s(no,no1), /+ prtn(no1,cminho), % vit um ilo L1 is L - 1, pthfirstlimit([no Cminho],No1,Soluo,L1). 54 7

Bus m Prouni Limit Um prolm om us m prouni limit é qu não s tm prvimnt um limit rzoávl S o limit or muito pquno (mnor qu qulqur minho té um solução) ntão us lh S o limit or muito rn, us s torn muito omplx Pr rsolvr st prolm, us m prouni limit po sr xut orm itrtiv, vrino o limit: om om um limit prouni pquno umnt rulmnt o limit té qu um solução sj nontr Est téni é nomin us m prouni itrtiv 55 Sntio Bus Bus orwr us kwr Em muitos prolms o ojtivo stá pns implíito (x. plvrs ruzs) Existm sos m qu mos os nós iniil ojtivo são onhios Movr o sto iniil pr o sto inl ou vivrs Bus kwr é mis iint quno o númro possívis minhos o nó ojtivo pr o nó iniil é mnor qu o númro possívis minhos no sntio ontrário Movr m ms s irçõs (us iirionl) 56 8

Bus Biirionl 57 Bus m Lrur Em ontrst om us m prouni, us m lrur solh primiro visitr quls nós mis próximos o nó iniil O loritmo não é tão simpls, pois é nssário mntr um onjunto nós nitos ltrntivos não pns um únio, omo n us m prouni Além isso, só o onjunto não é suiint s o minho solução tmém or nssário Assim, o invés mntr um onjunto nós nitos, é nssário mntr um onjunto minhos nitos 58 9

Bus m Lrur Insrir no inl, rmovr rnt: 59 Bus m Lrur Insrir no inl, rmovr rnt:, 60 30

Bus m Lrur Insrir no inl, rmovr rnt:,, 61 Bus m Lrur Insrir no inl, rmovr rnt:,,, 6 31

Bus m Lrur Insrir no inl, rmovr rnt:,,, h 63 Bus m Lrur Insrir no inl, rmovr rnt:,, h, i, j 64 3

Bus m Lrur Insrir no inl, rmovr rnt:, h, i, j, k 65 Bus m Lrur Insrir no inl, rmovr rnt: h, i, j, k 66 33

Bus m Lrur Insrir no inl, rmovr rnt: i, j, k 67 Bus m Lrur Insrir no inl, rmovr rnt: j, k 68 34

Bus m Lrur Insrir no inl, rmovr rnt: k 69 Bus m Lrur Esto iniil: Estos inis: j, Nós visitos n orm:,,,,, A solução mis urt [,,] é nontr nts mis lon [,,,j] 70 35

Bus m Lrur m Prolo rthfirst(cminhos,solução) é vriro s lum minho prtir o onjunto nitos Cminhos po sr stnio pr um nó inl; Solução é o minho stnio O onjunto minhos nitos srá rprsnto omo um list minhos minho srá um list nós n orm rvrs A us inii om um onjunto um únio nito: [ [iníio] ] O loritmo é o suint: S ç o primiro minho é um nó inl ntão st minho é um solução; so ontrário Rmov o primiro minho o onjunto nitos r o onjunto tos s xtnsõs m um psso prtir st minho; iion st onjunto xtnsõs o inl o onjunto nitos xut us m lrur pr tulizr st onjunto 71 Bus m Lrur Com om o onjunto nitos iniil [ [] ] Gr xtnsõs [] (not qu stão m orm rvrs) tst 1o. nó o 1o. minho: [ [,], [,] ] Rmov o primiro nito [,] o onjunto nitos r xtnsõs st minho, iionno-s o inl o onjunto nitos [ [,], [,,], [,,] ] Rmov [,] iion s xtnsõs o inl [ [,,], [,,], [,,], [,,] ] Estnno [,,] [ [,,], [,,], [,,], [h,,,] ] Estnno [,,] [ [,,], [,,], [h,,,], [i,,,], [j,,,] ] A us nontr [,,] qu ontém um nó inl, portnto o minho é rtorno omo um solução s(n, N1) :- rst(n, N1). rst(, ). rst(, ). rst(, ). rst(, ). rst(, ). rst(, ). rst(, h). rst(h, ). rst(, i). rst(, j). rst(, k). inl(j). inl(). 7 36

Bus m Lrur Implmntr us m lrur m Prolo 73 Bus m Lrur % rsolv(no,soluo) Soluo é um minho ílio % (n orm rvrs) ntr nó iniil No um solução rsolv(no,soluo) :- rthfirst([[no]],soluo). % rthfirst([cminho1,cminho,...],soluo), Soluo é um % xtnsão pr um nó inl um os minhos rthfirst([[no Cminho] _],[No Cminho]) :- inl(no). rthfirst([cminho OutrosCminhos],Soluo) :- stnr(cminho,novoscminhos), ontnr(outroscminhos,novoscminhos,cminhos1), rthfirst(cminhos1,soluo). stnr([no Cminho],NovosCminhos) :- inll([novono,no Cminho], (s(no,novono), /+ prtn(novono,[no Cminho])), NovosCminhos). 74 37

Bus m Lrur inll(+trmo, +Mt,-List) Finll/3 us n s por tos s oorrênis o Trmo qu stiszm à Mt, rtorn s instânis m um list não orn ontno tmém s rptiçõs. Exs: ost(mri, joo). ost(n, pro). ost(lr, joo).?-inll(x, ost(x,joo), List). List = [mri, lr] 75 Bus m Lrur rsolv(no,soluo) :- rthfirst([[no]],soluo). rthfirst([cminho OutrosCminhos],Soluo) :- stnr(cminho,novoscminhos), ontnr(outroscminhos,novoscminhos,cminhos1), rthfirst(cminhos1,soluo). stnr([no Cminho],NovosCminhos) :- inll([novono,no Cminho], (s(no,novono), not prtn(novono,[no Cminho])), NovosCminhos). s(, X):- rst(,x). rst(,). rst(,). =============================================================================?-rsolv([[]], Soluo). => rthfirst([[] []], Soluo) %Cminho = []; Cminhos=[] => stnr([], NovoCminhos) => inll([novono, []], s(, NovoNo), /+ prtn(novono, [ []], NovosCminhos) => NovosCminhos= [[,],[,]] => ontnr ([],[[,],[,]], Cminhos1) => Cminhos1=[[,], [,]] => rthfirst([[,],[,]], Soluo)... 76 38

Aloritmos Bus São vlios pls suints imnsõs: Complxi tmpo númro xpnsõs nós Complxi spço - númro máximo nós n mmóri Compltz - o loritmo smpr nontr um solução s l xist? Amissiili - um loritmo é missívl s l rnt nontrr um solução ótim, quno l xist 77 Complxi os Aloritmos Bus = númro minhos ltrntivos/tor iurção/rmiição (rnhin tor) = prouni solução h = prouni máxim árvor us l = limit prouni Tmpo Espço Amissívl? (solução mis urt) Prouni O( h ) O(h) Não Complt? (nontr um solução quno l xist) Sim (spços initos) Não (spços ininitos) Prouni limit O( l ) O(l) Não Sim s l Lrur O( ) O( ) Sim Sim Biirionl O( / ) O( / ) Sim Sim 78 39

Bus Inorm A us m ros po tinir um omplxi lv vio o númro ltrntivs Estrtéis us inorm utilizm inormção hurísti sor o prolm pr nurtr us no spço stos Ess stimtiv ini o qunto o nó é promissor om rlção tinir mt stli 79 Bus Inorm Estrtéis us hurísti utilizm onhimnto spíio o prolm n solh o próximo nó sr xpnio plim um unção vlição nó n rontir o spço stos. Ess unção vlição stim o usto minho o nó tul o ojtivo mis próximo utilizno um unção hurísti Qul os nós supostmnt é o mis próximo o ojtivo 80 40

Bus Inorm Função hurísti h(n) stim o usto o minho ntr o nó n o ojtivo pn o prolm Exmplo: nontrr rot mis urt ntr São Crlos Porto Alr h (n) = istâni irt ntr o nó n o nó inl. Como solhr um o unção hurísti? l v sr missívl i.., nun suprstimr o usto rl solução h(n) h* (h* é o usto rl solução) Distâni irt (h ) é missívl porqu o minho mis urto ntr ois pontos é smpr um linh rt 81 Bus Inorm O nó mnor usto n rontir o spço stos é xpnio primiro Dus orns ásis st-irst srh: 1. Bus Gulos (Gry srh). Aloritmo A* 8 41

Bus Gulos Smlhnt à us m prouni om ktrkin Tnt xpnir o nó mis próximo o nó inl om s n stimtiv it pl unção hurísti h Custo us é minimizo não xpn nós or o minho Esolh o minho qu é mis onômio à primir vist Não é ótim... (smlhnt à us m prouni) porqu só olh pr o uturo!... nm é omplt: po ntrr m loop s não ttr xpnsão stos rptios po tntr snvolvr um minho ininito Custo tmpo mmóri: O() ur toos os nós xpnios n mmóri 83 Bus Gulos Distâni m linh rt pr Buhrst: 84 4

Bus ulos O qu ontu? Por qu não solhu o mlhor minho? 85 Exríio m upls Implmntr us ulos 86 43

Consirno tmém o minho psso... Vmos ssumir qu há um usto nvolvio ntr ro: s(x,y,c) é vrir s há um movimnto prmitio no spço stos o nó X pr o nó Y, usto C; nst so, Y é um sussor X Sjm os um nó iniil s um nó inl t Sj o stimor hurístio unção tl qu, pr nó n no spço, (n) é stimtiv o usto o minho mis rto s té t, vi n. s n t 87 Consirno tmém o minho psso... A unção (n) srá onstruí omo: (n) = (n) + h(n) (n) é um stimtiv o usto o minho ótimo s té n h(n) é um stimtiv o usto o minho ótimo n té t s (n) n h(n) t 88 44

Consirno tmém o minho psso... Quno um nó n é nontro plo prosso us tmos suint situção Um minho s té n já oi nontro su usto po sr lulo omo som os ustos os ros no minho Est minho não é nssrimnt um minho ótimo s té n (po xistir um minho mlhor s té n in não nontro pl us) ms su usto srv omo um stimtiv (n) o usto mínimo s té n O outro trmo, h(n) é mis prolmátio pois o muno ntr n t não oi in xploro Portnto, h(n) é tipimnt um hurísti, s no onhimnto rl o loritmo sor o prolm m qustão Como h pn o omínio o prolm, não há um métoo univrsl pr onstruir h 89 Aloritmo A* A* xpn o nó mnor vlor n rontir o spço stos. Olh o uturo sm squr o psso! S h é missívl, (n) nun irá suprstimr o usto rl mlhor solução trvés n. (n) * (* é o usto ótimo) Nst so, po-s nontrr rot to mis urt ntr Ar Burst. 90 45

Aloritmo A* Distâni m linh rt pr Buhrst: 449 75 + 374 118 + 39 447 0 39 366 393 413 317 140 + 53 417 415 455 496 336 + 160 418 39 + 178 0 + 193 317 + 98 91 A* É onvnint rlmrr qu um strtéi us é ini por mio orm xpnsão os nós Em strtéis us st-irst (o mlhor primiro), iéi ási é prossuir om us smpr prtir o nó mis promissor Bst-First é um rinmnto us m lrur Ams strtéis omçm plo nó iniil mntêm um onjunto minhos nitos Bus m lrur xpn o minho nito mis urto Bst-First rin st prinípio lulno um stimtiv hurísti pr nito solh xpnir o mlhor nito suno st stimtiv 9 46

A* O prosso us po sr visto omo um onjunto su-prossos, um xplorno su própri ltrntiv, ou sj, su própri su-árvor Su-árvors têm su-árvors qu são xplors por su-prossos os su-prossos, t. Dntr toos os prossos pns um nontr-s tivo momnto: qul qu li om ltrntiv tul mis promissor (qul om mnor vlor ) Os prossos rstnts urm silniosmnt té qu stimtiv tul s ltr lum outr ltrntiv s torn mis promissor Então, tivi é omut pr st ltrntiv 93 A* Distâni ntr us is trvés um minho (roovi) s 5 7 5 4 4 4 Distâni ntr i m qustão i stino (t) m linh rt 3 3 3 t 94 47

A* Do um mp, o ojtivo é nontrr o minho mis urto ntr i iniil s i stino t Pr stimr o usto o minho rstnt i X té i t utilizrmos istâni m linh rt not por ist(x,t) (X) = (X) + h(x) = = (X) + ist(x,t) 3 s 4 5 3 3 7 5 4 4 t 95 A* Nst xmplo, pomos iminr us st-irst onsistino m ois prossos, um xplorno um os minhos ltrntivos Prosso 1 xplor o minho vi Prosso xplor o minho vi 3 s 4 5 3 3 7 5 4 4 t 96 48

A* ()=()+ist(,t)=+5=7 ()=()+ist(,t)=+7=9 Como o vlor- é mnor o qu, o prosso 1 (us vi ) prmn tivo nqunto o prosso (us vi ) i m sto spr 3 s 4 5 3 3 ()=7 4 7 ()=9 5 4 t 97 A* ()=()+ist(,t)=+5=7 ()=()+ist(,t)=+7=9 Como o vlor- é mnor o qu, o prosso 1 (us vi ) prmn tivo nqunto o prosso (us vi ) i m sto spr ()=()+ist(,t)=4+4=8 3 s 4 5 3 3 7 ()=7 4 ()=8 ()=9 5 4 t 98 49

A* ()=()+ist(,t)=+5=7 ()=()+ist(,t)=+7=9 Como o vlor- é mnor o qu, o prosso 1 (us vi ) prmn tivo nqunto o prosso (us vi ) i m sto spr ()=()+ist(,t)=4+4=8 s 4 5 ()=7 4 7 ()=9 5 4 ()=()+ist(,t)=6+4=10 Como ()<() or o prosso prossu pr i ()=10 3 3 3 ()=8 t 99 A* ()=()+ist(,t)=7+4=11 Como ()>() or o prosso spr o prosso 1 prossu s 5 ()=7 7 ()=9 5 4 4 ()=11 4 ()=10 3 ()=8 3 3 t 100 50

A* ()=()+ist(,t)=7+4=11 Como ()>() or o prosso spr o prosso 1 prossu ()=()+ist(,t)=9+3=1 Como ()>() o prosso rinii s 5 4 ()=10 3 7 ()=7 4 ()=8 ()=9 5 ()=11 4 3 ()=1 3 t 101 A* ()=()+ist(,t)=7+4=11 Como ()>() or o prosso spr o prosso 1 prossu ()=()+ist(,t)=9+3=1 Como ()>() o prosso rinii hno té o stino t ()=()+ist(,t)=9+=11 s 5 4 ()=10 3 3 3 ()=1 7 ()=9 5 ()=7 ()=11 4 4 ()=8 ()=11 t 10 51

A* ()=()+ist(,t)=7+4=11 Como ()>() or o prosso spr o prosso 1 prossu ()=()+ist(,t)=9+3=1 Como ()>() o prosso rinii hno té o stino t ()=()+ist(,t)=9+=11 (t)=(t)+ist(t,t)=11+0=11 s 5 4 ()=10 3 3 3 ()=1 7 ()=9 5 ()=7 ()=11 4 4 ()=8 ()=11 t (t)=11 103 A* A us, omçno plo nó iniil ontinu rno novos nós sussors, smpr xpnino n irção mis promissor oro om os vlors- Durnt st prosso, um árvor us é r tno omo riz o nó iniil o loritmo st-irst ontinu xpnino árvor us té qu um solução sj nontr 104 5

A* s ()=7 ()=9 105 A* s ()=7 ()=9 ()=8 106 53

A* s ()=7 ()=9 ()=8 ()=10 107 A* s ()=7 ()=9 ()=8 ()=11 ()=10 108 54

A* s ()=7 ()=9 ()=8 ()=11 ()=10 ()=1 109 A* s ()=7 ()=9 ()=8 ()=11 ()=10 ()=11 ()=1 110 55

A* s ()=7 ()=9 ()=8 ()=11 ()=10 ()=11 ()=1 t (t)=11 111 O qu us ulos ri? s 5 7 5 4 4 4 3 3 3 t 11 56

Aloritmo A* : nális o omportmnto Custo tmpo: xponnil om o omprimnto solução, porém os unçõs hurístis iminum siniitivmnt ss usto Custo mmóri: O () ur toos os nós xpnios n mmóri pr possiilitr o ktrkin Eiiêni ótim só xpn nós om (n) *, on * é o usto o minho ótimo é não rsnt nnhum outro loritmo ótimo rnt xpnir mnos nós. 113 Exríio m upls Implmntr us A* Tnt ltrr implmntção us ulos 114 57

Bus lol Até or, vimos métoos us qu xplorm o spço us sistmtimnt Muits vzs, urm o minho pr solução S o minho não intrss, loritmos us lol são útis Consirm somnt o sto tul Movm-s pr stos vizinhos o sto tul Usm pou mmóri Pom nontrr um o solução m spços us rns ou ininitos, nos quis s uss sistmátis lhrim Útis m prolms sin iruitos intros, lyout hão ári, otimizção rs tlomuniçõs, prolms otimizção m rl, t. 115 Hill-Climin É omo slr o mont Evrst m um nvoiro nso om mnési É omo usr óulos qu limitm su visão 3 mtros Hill-Climin: unção vlição é vist omo quli Tmém onhio omo rint snnt 116 58

Hill-Climin Aloritmo Esolh um sto iniil o spço us orm ltóri Consir toos os vizinhos (sussors) no spço us Esolh o vizinho om mlhor quli mov pr qul sto Rpit os pssos té 4 té qu toos os stos vizinhos tnhm mnos quli qu o sto tul Rtorn o sto tul omo sno solução S há mis um vizinho om mlhor quli: Esolhr o primiro mlhor Esolhr um ntr toos orm ltóri 117 Hill-Climin unção vlição máximo lol sto tul spço stos 118 59

Hill-Climin unção vlição omro máximo lol máximo lol máximo lol plno sto tul spço stos 119 Hill-Climin: Prolms Máximo lol: um vz tinio, o loritmo trmin msmo qu solução stj lon sr stistóri Pltôs (riõs plns): riõs on unção vlição é ssnilmnt pln; us torns omo um minh ltóri Cums ou omros : riõs qu são lnçs ilmnt ms té o topo unção vlição rs orm mn; us po tornr-s mor 10 60

Hill-Climin: Anális O loritmo é omplto? SIM, um vz qu nó trto plo loritmo é smpr um sto omplto (um solução) O loritmo é ótimo? TALVEZ, quno itrçõs suiints orm prmitis... O susso st métoo pn muito o ormto supríi o spço stos: S há pouos máximos lois, o riníio ltório nontr um o solução rpimnt 11 Hill-Climin % rsolv(no,soluo) Soluo é um minho % ílio (n orm rvrs) ntr nó % iniil No um solução % l(n,f/g) not o nó N om vlors F=(n) % G = (N) rsolv(no,soluo) :- hilllimin([],l(no,0/0),soluo). hilllimin(cminho,l(no,f/g),[no Cminho]) :- inl(no). hilllimin(cminho,l(no,f/g),s) :- inll(no1/custo, (s(no,no1,custo),\+ prtn(no1,cminho)), Vizinhos ), vli(g,vizinhos,vizinhosavlios), mlhor_quli(vizinhosavlios,mlhorno), hilllimin([no Cminho],MlhorNo,S). mlhor_quli([no Nos],Mlhor) :- minimo_(nos,no,mlhor). minimo_([],no,no). minimo_([no Nos],MinAtul,Min) :- t(no,minatul),!, minimo_(nos,minatul,min). minimo_([no Nos],MinAtul,Min) :- minimo_(nos,no,min). t(l(_,f1/_),l(_,f/_)) :- F1 > F. vli(_,[],[]). vli(g0,[no/custo NoAvlios],[l(No,F/G) Avlios]) :- G is G0 + Custo, h(no,h), % H = h(no) unção hurísti F is G + H, vli(g0,noavlios,avlios). 1 61

Hill-limin Exmplo prolm Trução utomáti 13 Exríio Implmntção m prolo o prolm o joo 8-puzzl Rprsntção o sto Bus inorm Função vlição 14 6