GSI010 - Programação Lógica Resolvendo problemas com Programação Lógica Busca informada

Documentos relacionados
Busca em Espaço de Estados a

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 5 Resolvendo Problemas

Resolução de Problemas. Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial

Fundamentos de Inteligência Artificial [5COP099]

Inteligência Artificial

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA

Resolução de Problemas. Hugo Barros

Resolução de problemas por meio de busca. Inteligência Artificial

Resolução de problemas por meio de busca. Capítulo 3 Inteligência Artificial Sistemas de Informação

BCC204 - Teoria dos Grafos

Resolução de Problemas

INF 1771 Inteligência Artificial

Inteligência Artificial

Inteligência Artificial

Algoritmos Distribuídos. AD Modelo Computacional 1

meio de busca Seções 3.1, 3.2 e 3.3

Resolução de Problemas

ERROS. Representação de Números

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula I - Introdução

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 02 Prof. Vitor Hugo Ferreira

Este Robô utiliza o Indicador HILO_ACTIVATOR e Psar

Inteligência Artificial

MODELAGEM E SIMULAÇÃO

Linguagens de Programação Princípios e Paradigmas

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Erros META OBJETIVOS. 2.1 Erros

Inteligência Artificial - IA

Fundamentos de Programação Introdução

Unidade I ESTATÍSTICA APLICADA. Prof. Mauricio Fanno

Árvore Binária de Busca Ótima

Teoria dos Grafos Aula 6

Demonstração do Simulador de Saldo e Benefícios

a) Defina em Prolog iguais/1, um predicado que recebe um estado do jogo e que verifica que todas as pilhas têm o mesmo número de peças.

Funcionamento do computador. Conceito e definição de algoritmos. Prof. Alex Camargo

Enunciados dos Exercícios Cap. 2 Russell & Norvig

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula VI Busca Competitiva

Árvore de Jogos Minimax e Poda Alfa-Beta

Compiladores e Computabilidade

Sistemas Baseados em Conhecimento

Introdução aos Números Pseudo-aleatórios. Profa. Dra. Soraia Raupp Musse

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009

semana 03/05/2014 a 09/05/2014 semana 10/05/2014 a 16/05/2014 semana 17/05/2014 a 23/05/ e 25/05/2014

Métodos de Ordenação Parte 3

Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA

Inteligência Artificial. Conceitos Gerais

Incertezas na Computação Científica: Abordagens via Matemática Intervalar e Teoria Fuzzy

INTELIGÊNCIA ARTIFICIAL

Inteligência Artificial

Exemplo de Arquitetura: Cliente/Servidor com Mestre e Escravos. Interface. Fator de speed-up. Speed-up

Algoritmos e Linguagem de Programação I

Lista 1 Sistemas Inteligentes (INE5633) 2014s2. Cap. 2 - Russel & Norvig - Exercícios selecionados (respostas em azul)

VERIFICAÇÃO & VALIDAÇÃO

Desenho e Análise de Algoritmos

Programação de Computadores III

Organização e Arquitetura de Computadores I

Gerência de Projetos e Manutenção de Software Aula 5 Planejamento de Projetos Andréa Magalhães Magdaleno

Sinal de compra quando a linha verde do indicador RVI fica maior que a linha vermelha.

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Nome do Robô: EA_HASHI

Redes de Petri. 1 Introdução. José de Oliveira Guimarães DC-UFSCar

Olimpíada Brasileira de Robótica 2012

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

Circuito B4F 1º torneio 2011

Reunião nº 04/2017 PMAS. CONSUMO CONSCIENTE DE ENERGIA DISPOSIÇÃO ADEQUADA DE RESÍDUOS (Lâmpadas, pilhas e baterias)

Gestão de Processos. Tópico 4. Ferramentas de Qualidade: PDCA

étodos uméricos Erros Visão Geral Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Introdução à Análise e Projeto de Sistemas

INTELIGÊNCIA ARTIFICIAL 2008/09

Otimização de horários Seminário. Clarisse Resende 25/01/2013

Buscas Informadas ou Heurísticas - Parte II

Proteção. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos,

PROCURA E PLANEAMENTO

CI065 CI755 Algoritmos e Teoria dos Grafos

SISTEMAS DE INFORMAÇÃO NAS ORGANIZAÇÕES

MAC425/5739 Inteligência Artificial 3. Busca informada

Inteligência Artificial (SI 214) Aula 6 Busca com Adversário. Prof. Josenildo Silva

#Conceituação. Algoritmos. Eliezio Soares

Inteligência Computacional

INF 1771 Inteligência Artificial

Resumo. Como um agente busca de seqüência de ações para alcançar seus objetivos.

Algoritmos e Estruturas de Dados II

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa

SSC510 Arquitetura de Computadores 1ª AULA

Sistemas de Banco de Dados

O Indicador TURTLE CHANNEL é um indicador que busca identificar as tendências e diminui os ruídos do indicador COLORHMA.

Sinal de compra quando a mínima da barra fica abaixo do indicador e o fechamento da barra fica acima do indicador.

Olimpíada Brasileira de Robótica 2012

Cálculo Numérico - Mat 215. Prof. Dirceu Melo. Prof. Dirceu Melo - MAT215

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Fluxogramas. Vanessa Braganholo

Algoritmos e Estrutura de Dados Aula 08 Pilhas

CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 02

Tópicos Especiais em Controle de Conversores Estáticos. Prof. Cassiano Rech

Conceitos Básicos de Algoritmos

Manual do Tenente Skat. Martin Heni Eugene Trounev Revisor: Mike McBride Tradução: Marcus Gama Revisão: Stephen Killing

método de solução aproximada

9ª Sessão. Avaliação de hipóteses SE Variáveis. Ruth Braga

Cálculo Numérico - DCC034. Ana Paula

Transcrição:

GSI010 - Programação Lógica Resolvendo problemas com Programação Lógica Busca informada

Nesta aula Busca informada no espaço de estados

Busca no espaço de estados Método Considerar a existência de um agente, que possui ações para modificar os estados do mundo. Simplificações o estado do mundo só muda quanda o agente faz uma ação meta do agente é fazer o mundo atingir um estado pré-definido

Exemplo: O mundo do aspirador Agente: aspirador-robô Qual é a melhor forma de aspirar sujeira? Ações entrarsala1 entrarsala2 aspirar Estados do mundo sala 1 suja sala 1 limpa sala 2 suja sala 2 limpa

Exemplo: modelagem aspirar [sala1, limpa, limpa] [sala1, limpa, suja] entrar2 entrar1 entrar2 entrar1 [sala2, limpa, limpa] [sala2, limpa, suja] aspirar aspirar [sala1, suja, limpa] [sala1, suja, suja] entrar2 entrar1 entrar2 entrar1 [sala2, suja, limpa] [sala2, suja, suja] aspirar

Representação de estados Estados são representados por estruturas Estrutura de estados do Aspirador-robô lista com três elementos [SalaAgente, Sala1Estado, Sala2Estado] SalaAgente pode ser sala1 ou sala2 Sala1Estado pode ser limpa ou suja Sala2Estado pode ser limpa ou suja Exemplo: representação estado_inicial([sala1, suja, suja]). meta([_,limpa,limpa]). 1 2 3

Estratégias de busca não informadas Estratégia descreve Como fazer para encontrar solução na árvore de busca. Opções de estratégias não informadas busca aleatória escolhe aleatoriamente para onde ir busca em largura explora as possibilidades um nível por vez busca em profundidade explora as possibilidades uma sequência por vez

Estratégias de busca informadas Opções de estratégias informadas busca pelo menor custo usa informação de avaliação das ações realizadas busca pela melhor estimativa usa estratégia para avaliar aproximadamente boas alternativas busca ótima A busca melhor solução possível

Busca pelo menor custo Custo de ação ações podem ter custos e.g. gasto de bateria do dispositivo tempo/distância de viagem entre cidades etc. adicionamos um novo argumento ao predicado ação acao(acao, Estado1, Estado2, Custo) : condicoes, efeitos. 1 Leia-se: para executar a Acao no Estado1 e afetar alterar o estado do mundo para Estado2 é necessário arcar com o Custo, se as condicoes permitirem, e ocorrendo alguns efeitos colaterais.

Exemplo de problema com informação udia arag 37.7 137 ituiu 105 uba 36.7 72.5 84.5 capin gurin 74.7 cflor 78.1 63.6 prta 134 71.3 cverde inicial(udia). meta(cverde). acao(vai(p, Q), P, Q, D): via(p, Q, D). via(udia, arag, 37.7). via(udia, ituiu, 137). via(udia, prta, 84.5 ). via(udia, uba, 105 ). via(ituiu, capin, 36.7). via(ituiu, gurin, 72.5). via(gurin, cverde, 63.6 ). via(prta, cverde, 71.3). via(uba, cflor, 74.7). via(cflor, cverde, 134). via(cflor, prta, 78.1 ). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

udia 37.7 137 105 Custo do caminho O caminho de ações [a 1, a 2, a 3,..., a n ] tem o custo igual a n g(a i ) (1) i=1 arag ituiu 36.7 72.5 capin gurin 84.5 uba 74.7 cflor 78.1 g(a i ) é o custo da ação a i 63.6 prta 134 71.3 cverde O custo do caminho [via(udia, uba, 105), via(uba, cflor, 74.7)] é 105 + 74.7 = 179.7

Busca de menor custo garantia do menor custo (mas não menor número de ações) se custos são iguais, equivalente a busca em largura

Exemplo: problema de aritmética Quais operações aritméticas podemos usar para sair de um número e chegar em outro? inicial(0). meta(10). acao(incrementa, S1, S2, 1) : S2 is S1+1. acao(decrementa, S1, S2, 1) : S2 is S1 1. acao(duplica, S1, S2, 2) : S2 is S1 2. acao(desdobra, S1, S2, 2) : S2 is S1/2. acao(inverte, S1, S2, 2) : S2 is S1. 1 2 3 4 5 6 7

Exemplo: problema de jogo Jogo: Street Fighter Quais golpes usar para ganhar do adversário? Cada golpe usa uma quantidade de tempo. Quais golpes vão levar menos tempo? inicial(50). % barra de energia do adversário meta(0). % quando a energia do adversário chegar a 0 acao(socofraco, S1, S2, 1) : S2 is S1 1. acao(socoforte, S1, S2, 2) : S2 is S1 2. acao(chutefraco, S1, S2, 3) : S2 is S1 4. acao(chuteforte, S1, S2, 4) : S2 is S1 8. acao(haduken, S1, S2, 10) : S2 is S1/2. 1 2 3 4 5 6 7

Implementação da busca de menor custo Com insereordenado/3 é possível sempre consultar primeiro aquele com menor custo até o momento. buscamenor: inicial(estadoinicial), buscamenor([0:estadoinicial:[]], [], CaminhoMenorCustoAteMeta:Custo), format( Plano: ~w, [CaminhoMenorCustoAteMeta]), format( \ncusto: ~w \n\n, [Custo]). buscamenor([custo:estadofinal:caminhofiminicio _], _, CaminhoInicioFim: Custo) : meta(estadofinal),!, reverse(caminhofiminicio, CaminhoInicioFim). buscamenor([custoatual:estadoatual:caminho Folhas], Visitados, Solucao): sucessorescusto(custoatual:estadoatual:caminho, Visitados, Sucessores), insereordenado(sucessores, Folhas, NovoFolhas), union([estadoatual], Visitados, UniaoVisitados), buscamenor(novofolhas, UniaoVisitados, Solucao). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

sucessorescusto(custoatual:estadoatual:caminho, Visitados, ListaDeSucessores): findall(custonovo:estadonovo:[acao Caminho], (acao(acao, EstadoAtual, EstadoNovo, CustoAcao), not(member(estadonovo, Visitados)), CustoNovo is CustoAtual+CustoAcao), ListaDeSucessores). insereordenado(novasopcoes, Caminhos, NovosCaminhos) : append(novasopcoes, Caminhos, OpcoesCaminhos), sort(opcoescaminhos, NovosCaminhos),!. 1 2 3 4 5 6 7 8 9 10 11

Exercício: problema do troco Uma máquina automática tem N1 moedas de 1 centavo, N5 moedas de cinco centavos, N10 moedas de 10 centavos, N25 moedas de 25 centavos, N50 moedas de 50 centavos e N100 moedas de 1 real. Exercício Fazer a modelagem (grafo de estados) e codificação do problema para obter moedas para formar um troco de T, colocando um custo maior em oferecer moedas mais escassas e um custo menor em moedas mais frequentes. Dicas Se temos N moedas de um determinado tipo, o custo da operação de oferecer essa moeda pode ser 1/N se N > 0. Para simplificar a modelagem, reduza o número de moedas apenas após cada troco ter sido realizado.

Referências Slides Busca no espaço de estados (Parte I) Prof. Dr. Silvio do Lago Pereira Slides Busca no espaço de estados (Parte II) Prof. Dr. Silvio do Lago Pereira