Busca

32
Resolução de problemas por meio de busca Prof. Pedro Luiz Santos Serra

Transcript of Busca

Resolução de problemas por meio de busca

Prof. Pedro Luiz Santos Serra

Prof. Pedro Luiz Santos Serra 2

Agentes de resolução de problemas

• Agente: É um elemento qualquer capaz de perceber seu ambiente por meio de sensores e de agir sobre este ambiente por intermédio de atuadores.

• Agentes de resolução de problemas: Tratam-se de agentes com poder de decisão, ou seja, decidem o que fazer quando encontra seqüência de ações que levam a estados desejáveis.– Devem maximizar sua medida de desempenho.

• Formulação de objetivos: é o primeiro passo para a resolução de problemas. Baseada na situação atual e na medida de desempenho do agente.

Prof. Pedro Luiz Santos Serra 3

Agentes de resolução de problemas

• Exemplo: Suponha um agente em férias na cidade de Arad na Romênia. Suas medidas de desempenho são:– Melhorar o bronzeado– Melhorar seu conhecimento no idioma Romeno– Vera as paisagens, apreciar a vida noturna (ver como

ela é),– Evitar ressacas, etc.

• Suponha ainda que o agente tenha uma passagem aérea não-reembolsável para partir de Bucareste no dia seguinte.

• Faz sentido adotar o objetivo de chegar a Bucareste. Os demais cursos podem ser rejeitados sem nenhuma consideração adicional.

Prof. Pedro Luiz Santos Serra 4

Agentes de resolução de problemas

Prof. Pedro Luiz Santos Serra 5

Agentes de resolução de problemas

• Objetivo: É um conjunto de estados do mundo.• Formulação de problemas: É o processo de decidir

que ações e estados devem ser considerados, em função de um objetivo. Considera-se a possibilidade de se atingir um mesmo objetivo através de caminhos (ações e estados) diferentes.

• Busca: É o processo de procura pela melhor seqüência em função das diversas opções existentes de ações possíveis que levam a estados de valor conhecido.

Prof. Pedro Luiz Santos Serra 6

Agentes de resolução de problemas

Um algoritmo de busca recebe um problema como entrada e retorna uma solução sob a forma de uma seqüência de ações.As ações recomendadas podem ser executadas (fase de execução).Forma-se então o ciclo:

Formular – Buscar – Executar

Prof. Pedro Luiz Santos Serra 7

Agentes de resolução de problemas

função AGENTE DE RESOLUÇÃO DE PROBLEMAS – SIMPLES(percepção) retorna uma ação

entradas: percepção, uma percepção

variáveis estáticas: seq, uma seqüência de ações, inicialmente vazia

estado, alguma descrição do estado atual do mundo

objetivo, um objetivo, inicialmente nulo

problema, uma formulação do problema

Prof. Pedro Luiz Santos Serra 8

Agentes de resolução de problemas

Prof. Pedro Luiz Santos Serra 9

Agentes de resolução de problemas

• Agentes de Resolução de problemas ← Agentes de ambiente– Ambiente é estático: não ocorrem mudanças no ambiente

durante o processo de formulação e resolução do problema;

– Ambiente é observável: o estado inicial é conhecido– Ambiente é discreto: os cursos alternativos de ação

podem ser enumerados;– Ambiente determinístico: As soluções para os problemas

são seqüências de ações únicas. Isto impossibilita a ocorrência de ações inesperadas. Na teoria de controle, denomina-se sistemas similares como laço de repetição aberto ou sistema de malha aberta.

Prof. Pedro Luiz Santos Serra 10

Problemas e soluções bem definidos

Quatro elementos podem definir um problema:• Estado inicial: Trata-se do estado em que o agente começa.

Por ex.: Em(Arad)

• Uma descrição das ações possíveis que estão disponíveis para o agente. A formulação mais comum utiliza uma função sucessor.Dado um estado particular x, SUCESSOR(x) retorna um conjunto de pares ordenados <ação, sucessor>, em que cada ação é uma ação válida no estado x e cada sucessor é um estado que pode ser alcançado a partir de x aplicando-se a ação.

• Ex.: Em(Arad) a função sucessor retornaria:{<Ir(Sibiu), Em(Sibiu)>,<Ir(Timisoara),Em(Timisoara)>,<Ir(Zerind),Em(Zerind)>}

Prof. Pedro Luiz Santos Serra 11

Agentes de resolução de problemas

Prof. Pedro Luiz Santos Serra 12

Problemas e soluções bem definidos

• Espaço de Estados: É a conjunção do estado inicial e a função sucessor do problema. Trata-se do conjunto de todos os estados acessíveis a partir do estado inicial. Forma um grafo em que os nós são estados e os arcos entre os nós são ações.

• Caminho: Trata-se de uma seqüência de estados conectados por uma seqüência de ações.

• Teste de Objetivo: é um teste que determina se um dado estado é um estado objetivo.É possível a existência de um conjunto de estados objetivos possíveis e o teste simplesmente verifica se o estado dado é um deles.

Prof. Pedro Luiz Santos Serra 13

Problemas e soluções bem definidos

• Custo de caminho: é uma função que atribui um custo (valor) numérico a cada caminho. O agente de resolução de problemas escolhe uma função de custo que reflete sua própria medida de desempenho. No exemplo do agente de Arad, o tempo é essencial e, portanto, considera-se o caminho mais rápido aquele com a menor distância percorrida.

• Custo de passo: é o custo por se adotar a ação a para ir do estado x ao estado y, ou seja, denota-se c(x,a,y).Para o caso do agente que se desloca de Arad àBucareste, trata-se das distância das rotas entre os diversos municípios interligados entre as duas cidades.

Prof. Pedro Luiz Santos Serra 14

Problemas e soluções bem definidos

Solução Ótima

Uma solução para um dado problema é um caminho desde o estado inicial até o estado objetivo.

A qualidade da solução é medida pela função de custo de caminho.

Uma solução é considerada ótima quando apresenta o menor custo de caminho entre todas soluções.

Prof. Pedro Luiz Santos Serra 15

Exemplos de Problemas - Miniproblemas• Miniproblemas: destina-se a ilustrar ou exercitar

diversos métodos de resolução de problemas.• Aspirador de Pó:

– Estados: O agente está em uma entre duas posições (Esquerda ou Direita), cada uma das quais pode conter sujeira ou não.

– Estado Inicial: Qualquer estado pode ser designado como o estado inicial.

– Função Sucessor: Gera os estados válidos que resultam da tentativa de executar as três ações (Esquerda, Direita e Aspirar).

– Teste de Objetivo: Verifica se todos os quadrados estão limpos.

– Custo de Caminho: Cada passo custa 1, e assim o cursto do caminho é o número de passos do caminho.

Prof. Pedro Luiz Santos Serra 16

Exemplos de Problemas

O mini-problema do Aspirador de Pó: Espaço de Estados

Prof. Pedro Luiz Santos Serra 17

Exemplos de Problemas

• Quebra-cabeças de 8 peças (blocos deslizantes):

Estado inicial Estado objetivo

Prof. Pedro Luiz Santos Serra 18

Exemplos de Problemas

• Quebra-cabeças de 8 peças (blocos deslizantes):– Estados: Especifica a posição de cada uma das oito

peças e do espaço vazio em um dos nove quadrados.– Estado inicial: Qualquer estado pode ser designado

como o estado inicial.– Função sucessor: Gera os estados válidos que

resultam da tentativa de executar as quatro ações (o espaço vazio se desloca para a Esquerda, Direita, Acima ou Abaixo).

– Teste de objetivo: Verifica se o estado corresponde àconfiguração de objetivo.

– Custo de caminho: Cada passo custa 1, e assim o custo de caminho é o número de passos do caminho.

Prof. Pedro Luiz Santos Serra 19

Exemplos de Problemas

• O quebra-cabeças de 8 peças (blocos deslizantes):– É um problema da classe NP-completos: Trata-se de uma

classificação de problemas, em Inteligência Artificial. Problemas denominados NP-completos, são o extremo de uma classe de problemas NP considerados de difícil solução. Tratam-se de problemas cujo tempo de solução de problemas não pode ser atribuido à uma função polinomial (tempo polinomial);

– O quebra cabeças de 8 peças tem 9!/2 = 181.440 estados acessíveis e é resolvido com facilidade;

– O quebra cabeças de 15 peças (em um tabuleiro de 4 x 4) tem, aproximadamente 1,3 trilhão de estados;

– O quebra cabeças de 24 peças tem cerca de 1025 estados e são bastante difíceis de resolver de forma ótima com as máquinas e algorítmos atuais.

Prof. Pedro Luiz Santos Serra 20

Exemplos de Problemas

• Problema de 8 rainhas: Posicionar 8 rainhas em um tabuleiro de xadrez de tal forma que nenhuma rainha ataque outra.

Prof. Pedro Luiz Santos Serra 21

Exemplos de Problemas

• Problema de 8 rainhas:– Estados: qualquer disposição de 0 a 8 rainhas no

tabuleiro é um estado.– Estado inicial: Nenhuma rainha no tabuleiro.– Função sucessor: Colocar uma rainha em

qualquer quadrado vazio.– Teste de objetivo: 8 rainhas estão no tabuleiro e

nenhuma é atacada.• NESSA FORMULAÇÃO TEMOS 3 x 1014

SEQÜÊNCIAS POSSÍVEIS PARA INVESTIGAR.

Prof. Pedro Luiz Santos Serra 22

EXEMPLOS DE PROBLEMAS

• Problema de 8 rainhas:• UMA FORMULAÇÃO MELHOR SERIA A RESTRIÇÃO

DA COLOCAÇÃO DE UMA RAINHA EM QUALQUER QUADRADO QUE JÁ ESTIVESSE SOB ATAQUE:– Estados: Os estados são disposições de n

rainhas (0 ≤≤≤≤ n ≤≤≤≤ 8), uma por coluna nas n colunas mais à esquerda, sem que nenhuma rainha ataque outra.

– Função sucessor: Adicione uma rainha a qualquer quadrado na coluna vazia mais àesquerda de tal modo que ela não seja atacada por qualquer outra rainha.

• ESSA FORMULAÇÃO REDUZ O ESPAÇO DE ESTADOS PARA 2057, E AS SOLUÇÕES SÃO FÁCEIS DE ENCONTRAR.

Prof. Pedro Luiz Santos Serra 23

Exemplos de Problemas

• Problemas do mundo real ���� Problemas de Roteamento.

• Problema de passagem aérea:

– Estados: Cada um é apresentado por uma posição (por exemplo: um aeroporto – GRU) e pela hora atual.

– Estado inicial: É especificado pelo problema.– Função sucessor: Retorna os estados resultantes de tomar

qualquer vôo programado (talvez especificado com mais detalhes pela classe e posição da poltrona) que parte depois da hora atual somada ao tempo de trânsito no aeroporto, desde o aeroporto atual até outro.

– Teste de objetivo: Verifica o destino após algum tempo previamente especificado.

– Custo de caminho: Depende do custo monetário, do tempo de espera, do tempo de vôo, dos procedimentos alfandegários e de imigração, da qualidade da poltrona, da hora do dia, do tipo de aeronave, dos prêmios por milhagem em vôos freqüentes e assim por diante.

Prof. Pedro Luiz Santos Serra 24

Busca por soluções

• Árvore de Busca: – Gerada pelo estado inicial e pela função sucessor

(definem o espaço de estado)• Grafo de busca:

– Também pode ser utilizado ao invés da árvore de busca. Empregado quando o mesmo estado pode ser alcançado a partir de vários caminhos.

Prof. Pedro Luiz Santos Serra 25

Busca de soluçõesRaiz da árvore

de buscaNó de busca ou Estado Inicial

A expansão consiste na geração de um novo conjunto de

estados. No caso 3 novos estados foram gerados.

Estratégia de Busca

Prof. Pedro Luiz Santos Serra 26

Busca de Soluções

• Um nó é uma estrutura de dados com cinco componentes:– ESTADO: O estado no espaço de estados ao que o nó corresponde;– NÓ-PAI: O nó na árvore de busca que gerou este nó;– AÇÃO: A ação que foi aplicada ao PAI para gerar o nó;– CUSTO-DO-CAMINHO: O custo, tradicionalmente denotado por

g(n), do caminho desde o estado inicial até o nó indicado pelos ponteiros do pai.

– PROFUNDIDADE: O número de passos ao longo do caminho desde o estado inicial.

Prof. Pedro Luiz Santos Serra 27

Busca de Soluções

• NÓ: Estrutura de dados de anotação usada para representar a árvore de busca;

• ESTADO: Corresponde a uma configuração do mundo.• ���� NÓS estão em caminhos específicos, definidos por

ponteiros NÓ-PAI.• ���� Dois NÓS diferentes podem conter o mesmo estado do

mundo, se esse estado for gerado por meio de dois caminhos de busca diferentes.

Prof. Pedro Luiz Santos Serra 28

Busca de Soluções• BORDA: Coleção de nós gerados (ainda não expandidos);• NÓ-FOLHA: São elementos da BORDA. Cada elemento da BORDA é

um NÓ-FOLHA.• Supondo que a implementação de nós seja uma fila. As operações

sobre uma fila são:– CRIAR-FILA(elemento, ...) ���� cria uma fila com o(s) elemento(s)

dado(s);– VAZIA?(fila) ���� retorna verdadeiro caso não exista nenhum

elemento na fila;– PRIMEIRO(fila) ���� retorna o primeiro elemento da fila;– REMOVER-PRIMEIRO(fila) ���� retorna PRIMEIRO(fila) e o remove da

fila;– INSERIR(elemento,fila) ���� insere um elemento na fila e retorna a fila

resultante.– INSERIR-TODOS(elementos,fila) ����insere um conjunto de

elementos na fila e retorna a fila resultante.

Prof. Pedro Luiz Santos Serra 29

Busca de Soluções• Algorítmo Geral de Busca em Árvore:

Prof. Pedro Luiz Santos Serra 30

Busca de Soluções

• Medição de desempenho de resolução de problemas.• Quatro aspectos são empregados para avaliação do

desempenho de um algorítmo:– Completeza: O algorítmo oferece a garantia de

encontrar uma solução quando existir?– Otimização: A estratégia encontra a solução ótima?– Complexidade de tempo: Quanto tempo ele leva para

encontrar uma solução?– Complexidade de espaço: Quanta memória é

necessária para executar a busca?

Prof. Pedro Luiz Santos Serra 31

Busca de Soluções

• Em IA a complexidade é expressa em termos de três quantidades:– b ����Fator de ramificação: número máximo de

sucessores de qualque nó;– d ���� Profundidade do nó-objetivo menos profundo;– m ���� o comprimento máximo de qualquer caminho

no espaço de estados.

• Com freqüência o tempo é medido em termos do número de nós gerados durante a busca e o espaço émedido em termos de número de nós armazenados na memória.

Prof. Pedro Luiz Santos Serra 32

Busca de Soluções

• Custo de Busca ���� depende da complexidade de tempo mas também pode incluir um termo para uso da memória;

• Custo Total ���� Combina o custo de busca e o custo de caminho da solução encontrada.

• Ex.: Localizar uma rota desde Arad até Bucareste:– Custo de Busca ���� Período de tempo exigido pela

busca;– Custo de Solução ���� Comprimento total do

caminho em quilometros;– Custo Total ���� Soma do Custo de Busca com o

Custo de Solução.