• Nenhum resultado encontrado

aula3

N/A
N/A
Protected

Academic year: 2021

Share "aula3"

Copied!
78
0
0

Texto

(1)

Resolução de Problemas por Meio de Busca

Busca sem Informação

Gilzamir F. Gomes 24 de agosto de 2010

(2)

Visão Geral

1. Busca em Inteligência Articial (Origens)

2. Componentes de um Sistema de Busca

3. Agente de Resolução de Problemas

4. Tipos de Problemas

(3)

Referências

1. http://www.aaai.org/AITopics/pmwiki/pmwiki.php/AITopics/Search 2. Gardner, Anne. Search: An Overview. AI Magazine. Inverno de

1980-1981.

3. http://www.cse.unsw.edu.au/~billw/cs9414/notes/mandc/mandc.html 4. http://cs-alb-pc3.massey.ac.nz/notes/59302/l03.html

5. http://cs-alb-pc3.massey.ac.nz/notes/59302/l04.html

(4)

Busca em Inteligência Articial

I Em 1976, Newel e Simon propuseram que o comportamento

inteligente surge da manipulação de entidades simbólicas que representam outras entidades, e que o processo pelo qual a inteligência surge é a busca heurística [1].

I Busca é um processo de formular e examinar alternativas [1]. I Esta é a essência da busca  escolher uma opção agora e

deixar as outras para depois, no caso da primeira escolha não levar a uma solução. Nós continuamos escolhendo, testando e expandindo até que uma solução seja encontrada e mais nenhum estado possa ser expandido. A escolha de qual estado expandir primeiro é determinado pela estratégia da busca [1].

(5)

Busca em Inteligência Articial

Busca incorpora uma classe geral de algoritmos para explorar um espaço de problema am de encontrar uma solução. Virtualmente, qualquer problema pode ser resolvido por meio de um algoritmo de busca, embora busca possa ser ineciente para tarefas tais quais aritmética. Métodos de busca podem ser divididos em algoritmos sistemáticos e não sistemáticos [1].

(6)

Aplicações

I Compreensão de Linguagem Natural.

I Recuperação de Informação (Information Retrieval). I Programação Automática

I Robótica

I Análise de Cenas I Sistemas Especialistas

(7)

Nesta Aula

I Encontrar uma solução para um quebra cabeças. I Encontrar a prova de um teorema em lógica ou em

matemática.

I Encontrar o caminho mais curto conectando um conjunto de

pontos equidistantes (o problema do caixeiro viajante).

I Encontrar uma sequencia de movimentos que vence um jogo,

ou o melhor movimento para fazer determinada quantidade de pontos em um jogo.

(8)

Componentes de um Sistema de Busca

I Base de dados: descreve a situação do domínio de tarefa e o

objetivo.

I Conjunto de Operadores: operadores que são utilizados para

alterar a base de dados.

I Estratégia de controle: para decidir em determinado momento

(9)

Componentes de um Sistema de Busca

I Exemplo:provador de teoremas

I Base de dados: asserções representando axiomas, lemas e

teoremas já provados.

I Conjunto de Operadores: regras de inferência como modus

ponens e resolução.

I Estratégia de controle: quais regras de inferências primeiro

(10)

Agente para Resolução de Problemas por Meio de Busca

I Primeiro passo da busca consiste em se denir um objetivo. A

esta fase denominados formulação de objetivo.

I O segundo passo consiste em formular o problema: dado onde

estamos e o objetivo, um problema consiste nos componentes necessários para se sair de uma estado inicial e se chegar a um estado objetivo.

I O terceiro passo consiste na própria busca.

I O quarto passo consiste na execução da sequência de ações

(11)

Agente para Resolução de Problemas

(12)

Exemplo: Missionários e Canibais

I Missionários e Canibais: dado uma barco com capacidade para

transportar dois passageiros, como atravessar seis pessoas de uma margem do rio a outra. Das seis pessoas, três são canibais e as outras três são missionários.

I Formular objetivo

I Atravessar com segurança os missionários e os canibais I Formular problemas

I Estado: localização de todos os personagens

I Ações: atravessar dois personagens de uma única vez. I Encontrar uma solução

I Uma sequencia de travessias que levam do estado em que todos os personagens se encontram na margem esquerda até o estado em que todos os personagens estejam na margem direita do rio.

(13)

Exemplo: Romênia

I Em férias na Romênia; atualmente em Arad. I Voos chegam amanhã a Bucharest.

I Formulação de Objetivos:

I Está em Bucharest.

I Formulação de Problemas:

I Estados: várias cidades I Ações: dirigir entre cidades

I Encontrar uma solução:

I Sequência de cidades, por exemplo, Arad, Sibiu, Fagaras,

(14)

Exemplo: Romênia

(15)

Tipos de Problemas

I Determinísticos, completamente observáveis: problemas de

estado único.

I Não-observável: problema de adaptação

I O agente pode ter nenhuma ideia de onde ele está; solução (se

alguma) é uma sequencia.

I Não-determinístico e ou parcialmente observável: problemas de

contingências

I Percepções proveem novas informações sobre o estado atual. I Solução é um plano de contingência ou uma política. I Frequentemente intercala busca e execução.

I Espaço de estados desconhecido: problema de exploração

(16)

Exemplo: Mundo do Aspirador de Pó

Estado único. Começa em #5. Solução??

(17)

Exemplo: Mundo do Aspirador de Pó

Estado único. Começa em #5. Solução??

[Direita, Aspirar]

Adaptação, começa em {1,2,3,4,5,6,7,8}

Por exemplo: Direita leva para {2,4,6,8}. Solução??

(18)

Exemplo: Mundo do Aspirador de Pó

Estado único. Começa em #5.

Solução?? [Direita, Aspirar]

Adaptação, começa em {1,2,3,4,5,6,7,8}

Por exemplo: Direita leva para {2,4,6,8}. Solução??

[Direita, Aspirar, Esquerda, Aspirar]

Contigência, começa em #5 Lei de Murphy: Aspirar pode sujar um tapete limpo Sensor local: sujeira, localização apenas Solução??

(19)

Exemplo: Mundo do Aspirador de Pó

Estado único. Começa em #5.

Solução?? [Direita, Aspirar]

Adaptação, começa em {1,2,3,4,5,6,7,8}

Por exemplo: Direita leva para {2,4,6,8}. Solução??

[Direita, Aspirar, Esquerda, Aspirar]

Contigência, começa em #5 Lei de Murphy: Aspirar pode sujar um tapete limpo Sensor local: sujeira, localização apenas Solução??

(20)

Formulação de Problema de Estado Único

Um problema é denido por quatro itens:

1. Estado inicial. Por exemplo, em Arad.

2. Função sucessora: S(x) conjunto de pares ação-estado. Por exemplo, S(Arad) = {< Arad → Zerind, Zerind >, ...}.

3. Teste de objetivo:

3.1 Explicito, por exemplo, x = ”Em Bucharest”.

3.2 Implicito, por exemplo, N˜aoSujo(x). 4. Custo de caminho (aditivo)

4.1 Por exemplo, soma de distâncias, número de ações executadas, etc.

4.2 c(x, a, y) é o custo de passo, assumido ser ≥ 0.

Uma solução é uma seqüência de ações que levam de um estado inicial a um estado objetivo.

(21)

Selecionando um Espaço de Estados

I O mundo real é absurdamente complexo

I espaços de estado devem ser abstraídos para resolução de

problemas

I Estado (Abstrato) = conjunto de estados reais.

I Ação (Abstrata) = combinação complexa de ações reais.

I Por exemplo, ”Arad → Zerind” representa um conjunto

complexo de possíveis rotas, desvios, paradas, etc.

I Para garantir executabilidade, qualquer estado em Arad deve

resultar em algum estado real ”em Zerind”.

I Solução (Abstrata) = conjunto de caminhos reais que são

solução no mundo real.

I Cada ação abstrata deve ser tão fácil quanto aquela do

(22)

Exemplo: Espaço de Estados do Mundo do Aspirador de Pó

Estados?? Ações??

Teste de objetivo?? Custo de caminho??

(23)

Exemplo: Espaço de Estados do Mundo do Aspirador de Pó

Estados?? sujeira e localização do robô (ignora quantidade de sujeira)

Ações??

Teste de objetivo?? Custo de caminho??

(24)

Exemplo: Espaço de Estados do Mundo do Aspirador de Pó

Estados?? sujeira e localização do robô (ignora quantidade de sujeira)

Ações?? Esquerda, Direita, Aspirar, Nada

Teste de objetivo?? Custo de caminho??

(25)

Exemplo: Espaço de Estados do Mundo do Aspirador de Pó

Estados?? sujeira e localização do robô (ignora quantidade de sujeira)

Ações?? Esquerda, Direita, Aspirar, Nada

Teste de objetivo?? Nenhuma sujeira nas salas

(26)

Exemplo: Espaço de Estados do Mundo do Aspirador de Pó

Estados?? sujeira e localização do robô (ignora quantidade de sujeira)

Ações?? Esquerda, Direita, Aspirar, Nada

Teste de objetivo?? Nenhuma sujeira nas salas

(27)

Exemplo: quebra-cabeça de oito peças

Estado Inicial Estado Objetivo

Estados?? Ações??

Teste de objetivo?? Custo de caminho??

(28)

Exemplo: quebra-cabeça de oito peças

Estado Inicial Estado Objetivo

Estados?? Localizações inteiras de tijolos (ignora posições intermediárias)

Ações??

Teste de objetivo?? Custo de caminho??

(29)

Exemplo: quebra-cabeça de oito peças

Estado Inicial Estado Objetivo

Estados?? Localizações inteiras de tijolos (ignora posições intermediárias)

Ações?? Mover espaço vázio para a esquerda, direita, cima e baixo.

Teste de objetivo?? Custo de caminho??

(30)

Exemplo: quebra-cabeça de oito peças

Estado Inicial Estado Objetivo

Estados?? Localizações inteiras de tijolos (ignora posições intermediárias)

Ações?? Mover espaço vázio para a esquerda, direita, cima e baixo.

Teste de objetivo?? Estado objetivo dado.

(31)

Exemplo: quebra-cabeça de oito peças

Estado Inicial Estado Objetivo

Estados?? Localizações inteiras de tijolos (ignora posições intermediárias)

Ações?? Mover espaço vázio para a esquerda, direita, cima e baixo.

Teste de objetivo?? Estado objetivo dado.

Custo de caminho?? 1 por movimento

[Observação: soluções ótimas da família de quebra-cabeças de n peças é NP-Difícil.]

(32)

Montagem de Robôs

Estados?? coordenadas de valor real de ângulos de juntas de robôs.

Ações?? Movimentos continuos de juntas de robôs.

Teste de objetivo?? Montagem completa com nenhum robô incluído.

(33)

Algoritmos de Busca em Árvore

I Idéia básica:

I oine, exploração simulada do espaço de estados por meio da

geração de sucessores de estados já explorados (expansão de estados).

(34)
(35)
(36)
(37)

Implementação: Estado versus Nó

I Um estado é uma (representação de) uma conguração física I Um nó é uma estrutura de dados constituindo parte da árvore

de busca

I inclui pai, lhos, profundidade, custo de caminho g(x).

I Estados não possuem pai, lhos, profundidade ou custo de

caminho!

I A função EXPAND cria novos nós, preenchendo seus vários

campos e utilizando a função SUCCESSORFN (função sucessora) do problema para criar os estados correspondentes.

(38)
(39)

Estratégias de Busca

I Uma estratégia é denida pela escolha da ordem de expansão

dos nós.

I Estratégias são avaliadas ao longo das seguintes dimensões:

I completeza: sempre encontra uma solução, se esta solução

existe?

I Complexidade de tempo: número de nós gerados/expandidos. I Complexidade de espaço: número máximo de nós em memória. I Otimização: sempre encontra uma solução de menor custo?

I Complexidade de tempo e de espaço são medidos em termo de:

I b: fator de ramicação máximo da árvore de busca. I d: profundidade da solução de menor custo.

(40)

Estratégias de Busca sem Informação

I Estratégias sem informação utilizam apenas as informações

disponíveis na denição do problema.

I Busca em amplitude

I Busca de custo Uniforme (??) I Busca em profundidade

I Busca em profundidade limitada I Busca de aprofundamento iterativo

(41)

Busca em Amplitude

I Expande o nó mais raso ainda não expandido. I Implementação:

(42)

Busca em Amplitude

I Expande o nó mais raso ainda não expandido. I Implementação:

(43)

Busca em Amplitude

I Expande o nó mais raso ainda não expandido. I Implementação:

(44)

Busca em Amplitude

I Expande o nó mais raso ainda não expandido. I Implementação:

(45)

Propriedades da Busca em Amplitude

I Completa?? I Tempo?? I Espaço?? I Ótima??

(46)

Propriedades da Busca em Amplitude

I Completa?? Sim (se b for nito) I Tempo??

I Espaço?? I Ótima??

(47)

Propriedades da Busca em Amplitude

I Completa?? Sim (se b for nito)

I Tempo?? 1 + b + b² + b3+ ... +bd+b(bd−1) = O(bd+1), isto é, exponencial em d.

I Espaço?? I Ótima??

(48)

Propriedades da Busca em Amplitude

I Completa?? Sim (se b for nito)

I Tempo?? 1 + b + b² + b3+ ... +bd+b(bd−1) = O(bd+1), isto é, exponencial em d.

I Espaço?? O(bd+1) (mantém todos os nós em memória)

(49)

Propriedades da Busca em Amplitude

I Completa?? Sim (se b for nito)

I Tempo?? 1 + b + b² + b3+ ... +bd+b(bd−1) = O(bd+1), isto é, exponencial em d.

I Espaço?? O(bd+1) (mantém todos os nós em memória)

I Ótima?? Sim (se custo de passo = 1); não ótima em geral.

Espaço é um grande problema; pode facilmente gerar nós a 100MB/s, então 24h =8640 GB.

(50)

Busca de Custo Uniforme

I Expande o nó de menor custo ainda não expandido. I Implementação:

I borda = lista ordenada por custo de caminho, menor primeiro.

I Equivalente à busca em amplitude se todos os custos de

passos forem iguais

I Completa?? Sim, se custo de passo ≥ , onde  é uma

constante positiva pequena.

I Tempo?? # de nós com g ≤custo da solução ótima,

O(bdC/e

), onde C∗é o custo da solução ótima.

I Espaço?? # de nós com g ≤custo da solução ótima,

O(bdC/e

)

(51)

Busca em Profundidade

I Expande o nó mais profundo ainda não expandido. I Implementação:

(52)

Busca em Profundidade

I Expande o nó mais profundo ainda não expandido. I Implementação:

(53)

Busca em Profundidade

I Expande o nó mais profundo ainda não expandido. I Implementação:

(54)

Busca em Profundidade

I Expande o nó mais profundo ainda não expandido. I Implementação:

(55)

Busca em Profundidade

I Expande o nó mais profundo ainda não expandido. I Implementação:

(56)

Busca em Profundidade

I Expande o nó mais profundo ainda não expandido. I Implementação:

(57)

Busca em Profundidade

I Expande o nó mais profundo ainda não expandido. I Implementação:

(58)

Busca em Profundidade

I Expande o nó mais profundo ainda não expandido. I Implementação:

(59)

Busca em Profundidade

I Expande o nó mais profundo ainda não expandido. I Implementação:

(60)

Busca em Profundidade

I Expande o nó mais profundo ainda não expandido. I Implementação:

(61)

Busca em Profundidade

I Expande o nó mais profundo ainda não expandido. I Implementação:

(62)

Busca em Profundidade

I Expande o nó mais profundo ainda não expandido. I Implementação:

(63)

Propriedade da Busca em Profundidade

I Completa?? I Tempo?? I Espaço?? I Ótima??

(64)

Propriedade da Busca em Profundidade

I Completa?? Não, falha em espaços de profundidade innita,

espaços com laços

I Completa em espaços nitos.

I Tempo?? I Espaço?? I Ótima??

(65)

Propriedade da Busca em Profundidade

I Completa?? Não, falha em espaços de profundidade innita,

espaços com laços

I Completa em espaços nitos.

I Tempo?? O(bm): terrível se m é muito maior do que d.

I Mas se soluções são densas, pode ser muito mais rápida do

que a busca em amplitude. I Espaço??

(66)

Propriedade da Busca em Profundidade

I Completa?? Não, falha em espaços de profundidade innita,

espaços com laços

I Completa em espaços nitos.

I Tempo?? O(bm): terrível se m é muito maior do que d.

I Mas se soluções são densas, pode ser muito mais rápida do

que a busca em amplitude.

I Espaço?? O(bm), isto é, espaço linear! I Ótima??

(67)

Propriedade da Busca em Profundidade

I Completa?? Não, falha em espaços de profundidade innita,

espaços com laços

I Completa em espaços nitos.

I Tempo?? O(bm): terrível se m é muito maior do que d.

I Mas se soluções são densas, pode ser muito mais rápida do

que a busca em amplitude.

I Espaço?? O(bm), isto é, espaço linear! I Ótima?? Não.

(68)

Busca em Profundidade Limitada

I Busca em profundidade com limite de profundidade l, isto é,

nós na profundidade l não têm sucessores.

(69)
(70)
(71)
(72)
(73)
(74)

Propriedades da Busca de Aprofundamento Iterativo

I Completa?? I Tempo?? I Espaço?? I Ótima??

(75)

Propriedades da Busca de Aprofundamento Iterativo

I Completa?? Sim

I Tempo?? (d + 1)b0+db1+ (d − 1)b2+ ... +bd =O(bd)

I Espaço?? O(bd)

I Ótima?? Sim, se custo de passo = 1

I Pode ser modicada para explorar árvores de busca de custo

uniforme.

I Comparação numérica para b = 10 e d = 5, solução no nó

mais à direita:

I N(BAI ) = 50 + 400 + 3000 + 20000 + 100000 = 123450 I N(BA) = 10 + 100 + 1000 + 10000 + 100000 + 999990 =

1, 111, 100

I BAI é melhor porque outros nós na profundidade d não são

expandidos

I BA pode ser modicada para aplicar teste de objetivo quando

(76)

Estados Repetidos

I Falha para detectar estados repetidos pode tornar um

(77)
(78)

Resumo

I Formulação de problema normalmente requer abstrair detalhes

do mundo real para se denir um espaço de estados que pode ser explorado de forma viável.

I Várias buscas não informadas.

I Busca de Aprofundamento Iterativo utiliza apenas espaço

linear e não mais tempo do que qualquer outro algoritmo não-informado.

I Busca em grafo pode ser exponencialmente mais eciente do

Referências

Documentos relacionados

Este trabalho tem como objetivo apresentar o Orçamento Público aprovado para 2014 das 25 cidades integrantes do CIVAP, em uma única peça gerencial,

Os dados de temperatura retal, temperatura da pele e freqüência respiratória obtidas para as diferentes categorias do rebanho da raça Sindhi, para as condições deste experimento

Para intensificar a proteção de seus colaboradores e colaboradoras, o Peabiru traz recomendações baseadas nas diretrizes mais recentes das autoridades de saúde brasileiras

Assim, o Compliance Officer deve ter conhecimentos sobre como preser- var provas eletrônicas produzidas no escopo de investigações internas, de modo a garantir a certeza

paragens obrigatórias C20a - Fim de todas as proibições impostas anteriormente por sinalização a veículos em marcha C20b - Fim da limitação de velocidade C20c - Fim da

The strict partition problem is relaxed into a bi-objective set covering problem with k-cliques which allows over-covered and uncovered nodes.. The information extracted

Caso o arrematante não apresente requerimento de parcelamento no prazo de até 30 (trinta) dias contados da lavratura, nos autos da execução, da certidão de

Da mesma forma, permanece devida a comissão estipulada ao leiloeiro na hipótese de qualquer acordo e/ou remição que acarrete a suspensão dos leilões agendados