ia aula 03 busca 2012

Upload: vicente-sitoi

Post on 04-Mar-2016

3 views

Category:

Documents


0 download

DESCRIPTION

Notas de aula sobre busca.

TRANSCRIPT

  • INF 1771 Inteligncia Artificial

    Edirlei Soares de Lima

    Aula 03 Resoluo de Problemas por Meio de Busca

  • Introduo

    Agentes Autnomos: Entidades autnomas capazes de observar o ambiente e

    agir de forma de forma autnoma com o objetivo de atingir determinado objetivo.

    Tipos de Agentes: Agentes reativos simples;

    Agentes reativos baseado em modelo;

    Agentes baseados em objetivos;

    Agentes baseados na utilidade;

    Agentes baseados em aprendizado;

  • Problema de Busca

    Objetivo: Conjunto de estados que satisfazem o objetivo.

    Tarefa de Busca: Encontrar a sequencia de aes que leva do estado atual at um estado objetivo.

    Quais so os estados?

    Quais so as aes?

    Nvel de abstrao?

  • Problema de Busca

    Bucharest

    Arad

    Sibiu

    Timisoara

    Zerind

  • Problema de Busca

  • Problema de Busca

    O processo de tentar encontrar uma sequencia de aes que leva de um estado at um estado objetivo chamado de busca.

    Uma vez encontrada a soluo, o agente pode executar a sequencia de aes para chegar no objetivo.

    Fases: Formular objetivo

    Buscar objetivo

    Executar sequencia de aes

  • Problema de Busca

    function SIMPLE-PROBLEM-SOLVING-AGENT(percept) return an action

    static: seq, an action sequence

    state, some description of the current world state

    goal, a goal

    problem, a problem formulation

    state UPDATE-STATE(state, percept)

    if seq is empty then

    goal FORMULATE-GOAL(state)

    problem FORMULATE-PROBLEM(state,goal)

    seq SEARCH(problem)

    action FIRST(seq)

    seq REST(seq)

    return action

  • Definio do Problema

    A definio do problema a primeira e mais importante etapa do processo de resoluo de problemas de inteligncia artificial por meio de buscas.

    Consiste em analisar o espao de possibilidades de resoluo do problema, encontrar sequncias de aes que levem a um objetivo desejado.

  • Definio de um Problema

    Estado Inicial: Estado inicial do agente.

    Ex: Em(Arad)

    Estado Final: Estado buscado pelo agente.

    Ex: Em(Bucharest)

    Aes Possveis: Conjunto de aes que o agente pode executar.

    Ex: Ir(Cidade, PrximaCidade)

    Espao de Estados: Conjunto de estados que podem ser atingidos a partir do estado inicial.

    Ex: Mapa da Romnia.

    Custo: Custo numrico de cada caminho.

    Ex: Distncia em KM entre as cidades.

  • Consideraes em Relao ao Ambiente

    Esttico: O Ambiente no pode mudar enquanto o agente est realizando a resoluo

    do problema.

    Observvel: O estado inicial do ambiente precisa ser conhecido previamente.

    Determinstico: O prximo estado do agente deve ser determinado pelo estado atual + ao. A

    execuo da ao no pode falhar.

  • Exemplo: Aspirador de P

    Espao de Estados: 8 estados possveis (figura ao lado);

    Estado Inicial: Qualquer estado;

    Estado Final: Estado 7 ou 8 (ambos quadrados limpos);

    Aes Possveis: Mover para direita, mover para esquerda e limpar;

    Custo: Cada passo tem o custo 1, assim o custo do caminho definido pelo nmero de passos;

  • Exemplo: Aspirador de P

  • Exemplo: 8-Puzzle

    Espao de Estados: 181.440 possveis estados;

    Estado Inicial: Qualquer estado;

    Estado Final: Figura ao lado Goal State;

    Aes Possveis: Mover o quadrado vazio para direita, para esquerda, para cima ou para baixo;

    Custo: Cada passo tem o custo 1, assim o custo do caminho definido pelo nmero de passos;

    15-puzzle (4x4) 1.3 trilhes estados possveis. 24-puzzle (5x5) 10 estados possveis.

  • Exemplo: Xadrez

    Espao de Estados: Aproximadamente 1040 possveis estados (Claude Shannon, 1950);

    Estado Inicial: Posio inicial de um jogo de xadrez;

    Estado Final: Qualquer estado onde o rei adversrio est sendo atacado e o adversrio no possui movimentos vlidos;

    Aes Possveis: Regras de movimentao de cada pea do xadrez;

    Custo: Quantidade de posies examinadas;

  • Exemplo: 8 Rainhas (Incremental)

    Espao de Estados: Qualquer disposio de 0 a 8 rainhas no tabuleiro (1.8 x 10 possveis estados);

    Estado Inicial: Nenhuma rainha no tabuleiro;

    Estado Final: Qualquer estado onde as 8 rainhas esto no tabuleiro e nenhuma esta sendo atacada;

    Aes Possveis: Colocar uma rainha em um espao vaio do tabuleiro;

    Custo: No importa nesse caso;

    * O jogo possui apenas 92 possveis solues (considerando diferentes rotaes e reflexes). E apenas 12 solues nicas.

  • Exemplo: 8 Rainhas (Estados Completos)

    Espao de Estados: Tabuleiro com n rainhas, uma por coluna, nas n colunas mais a esquerda sem que nenhuma rainha ataque outra (2057 possveis estados);

    Estado Inicial: Nenhuma rainha no tabuleiro;

    Estado Final: Qualquer estado onde as 8 rainhas esto no tabuleiro e nenhuma esta sendo atacada;

    Aes Possveis: Adicionar uma rainha em qualquer casa na coluna vazia mais esquerda de forma que no possa ser atacada;

    Custo: No importa nesse caso;

  • Exerccios

    Torre de Hani?

    Canibais e Missionrios?

  • Exerccios

    Torre de Hani:

    Espao de Estados: Todas as possveis configuraes de argolas em

    todos os pinos (27 possveis estados).

    Aes Possveis: Mover a primeira argola de qualquer pino para o pino da direita ou da esquerda.

    Custo: Cada movimento tem 1 de custo.

  • Exerccios

  • Exerccios

    Canibais e Missionrios:

    Espao de Estados: Todas as possveis configuraes validas de

    canibais e missionrios em cada lado do rio (16 possveis estados).

    Aes Possveis: Mover 1 ou 2 personagens (canibais ou missionrios) para o outro lado do rio. O nmero de canibais em um determinado lado do rio no pode ser maior do que o nmero de missionrios.

    Custo: Cada movimento tem 1 de custo.

  • Exerccios

  • Aplicaes em Problemas Reais

    Clculo de Rotas:

    Planejamento de rotas de avies;

    Sistemas de planejamento de viagens;

    Caixeiro viajante;

    Rotas em redes de computadores;

    Jogos de computadores (rotas dos personagens);

    Alocao

    Salas de aula;

    Mquinas industriais;

  • Aplicaes em Problemas Reais

    Circuitos Eletrnicos:

    Posicionamento de componentes;

    Rotas de circuitos;

    Robtica:

    Navegao e busca de rotas em ambientes reais;

    Montagem de objetos por robs;

  • Como Encontrar a Soluo?

    Uma vez o problema bem formulado, o estado final (objetivo) deve ser buscado no espao de estados.

    A busca representada em uma rvore de busca: Raiz: corresponde ao estado inicial;

    Expande-se o estado corrente, gerando um novo conjunto de sucessores;

    Escolhe-se o prximo estado a expandir seguindo uma estratgia de busca;

    Prossegue-se at chegar ao estado final (soluo) ou falhar na busca pela soluo;

  • Buscando Solues

    Exemplo: Ir de Arad para Bucharest

    Arad

    Sibiu Timissoara Zerind

    Arad Fagaras Orades Rimnico Vilcea

  • Buscando Solues

    O espao de estados diferente da rvore de buscas.

    Exemplo:

    20 estados no espao de estados;

    Nmero de caminhos infinito;

    rvore com infinitos ns;

  • Cdigo Descritivo Busca em rvore

    Funo BuscaEmArvore(Problema, Estratgia) retorna soluo ou falha

    Inicio

    Inicializa a arvore usando o estado inicial do Problema

    loop do

    se no existem candidatos para serem expandidos ento

    retorna falha

    Escolhe um n folha para ser expandido de acordo com

    a Estratgia

    se Se o n possuir o estado final ento

    retorna soluo correspondente

    se no

    expande o n e adiciona os ns resultantes a

    arvore de busca

    Fim

  • Pseudocdigo Busca em rvore

    Funo BuscaEmArvore(Problema, fronteira) retorna soluo ou falha

    Inicio

    fronteira InsereNaFila(FazN(Problema[EstadoInicial]), fronteira)

    loop do

    se FilaVazia(fronteira) ento

    retorna falha

    n RemovePrimeiro(fronteira)

    se n[Estado] for igual a Problema[EstadoFinal] ento

    retorna Soluo(n)

    fronteira InsereNaFila(ExpandeFronteira(n, Problema), fronteira)

    Fim

    - A funo Soluo retorna a sequncia de ns necessrios para

    retornar a raiz da arvore.

    - Considera-se fronteira uma estrutura do tipo fila.

  • Medida de Desempenho

    Desempenho do Algoritmo: (1) O algoritmo encontrou alguma soluo?

    (2) uma boa soluo? Custo de caminho (qualidade da soluo).

    (3) uma soluo computacionalmente barata? Custo da busca (tempo e memria).

    Custo Total Custo do Caminho + Custo de Busca.

  • Mtodos de Busca

    Busca Cega ou Exaustiva: No sabe qual o melhor n da fronteira a ser expandido. Apenas

    distingue o estado objetivo dos no objetivos.

    Busca Heurstica: Estima qual o melhor n da fronteira a ser expandido com base em

    funes heursticas.

    Busca Local: Operam em um nico estado e movem-se para a vizinhana deste

    estado.

  • Busca Cega

    Algoritmos de Busca Cega:

    Busca em largura;

    Busca de custo uniforme;

    Busca em profundidade;

    Busca com aprofundamento iterativo;

  • Busca em Largura

    Estratgia: O n raiz expandido, em seguida todos os ns sucessores so

    expandidos, ento todos prximos ns sucessores so expandidos, e assim em diante.

    A

    B

    D E

    C

    F G

  • Busca em Largura Pode ser implementado com base no pseudocdigo da funo

    BuscaEmArvore apresentado anteriormente. Utiliza-se uma estrutura de fila (first-in-first-out) para armazenar os ns das fronteira.

    Complexidade:

    )( 1dbO

    Profundidade (d) Ns Tempo Memria

    2 1100 0.11 ms 107 KB

    4 111,100 11 ms 10.6 MB

    6 10 1.1 seg 1 GB

    8 10 2 min 103 GB

    10 10 3 horas 10 TB

    12 10 13 dias 1 PB

    14 10 3.5 anos 99 PB

    * Considerando o nmero de folhas b = 10 e cada n ocupando 1KB de memria.

    15

    13

    11

    9

    7

  • Busca em Profundidade

    Estratgia: Expande os ns da vizinhana at o n mais profundo.

    A

    B

    E F

    D C

    M N P Q

  • Busca em Profundidade

    Pode ser implementado com base no pseudocdigo da funo BuscaEmArvore apresentado anteriormente. Utiliza-se uma estrutura de pilha (last-in-first-out) para armazenar os ns das fronteira.

    Pode tambm ser implementado de forma recursiva.

    Consome pouca memria, apenas o caminho de ns sendo analisados precisa armazenado. Caminhos que j foram explorados podem ser descartados da memria.

  • Busca em Profundidade

    Uso de memria pela busca em largura em uma arvore com 12 de profundidade: 1000 TB.

    Uso de memria pela busca em profundidade em uma arvore com 12 de profundidade: 118 KB.

    Problema: O algoritmo pode fazer uma busca muito longa mesmo quando a resposta do problema esta localizado a poucos ns da raiz da rvore.

  • Busca de Custo Uniforme

    Estratgia: Expande sempre o n de menor custo de caminho. Se o custo de todos

    os passos for o mesmo, o algoritmo acaba sendo o mesmo que a busca em largura.

    A

    B

    E F

    D

    G H

    C

    75

    170

    118

    71 75 99 111

  • Busca de Custo Uniforme

    A primeira soluo encontrada a soluo tima se custo do caminho sempre aumentar ao logo do caminho, ou seja, no existirem operadores com custo negativo.

    Implementao semelhante a busca em largura. Adiciona-se uma condio de seleo dos ns a serem expandidos.

    Complexidade: Onde:

    C = custo da soluo tima;

    = custo mnimo de uma ao;

    )( )/(1 CbO

  • Busca com Aprofundamento Iterativo

    Estratgia: Consiste em uma busca em profundidade onde o limite de profundidade incrementado gradualmente.

    A

    B

    E F

    D C

    M N P Q

    Limit 0

    Limit 1

    G H

    P Q

    Limit 2

    Limit 3

  • Busca com Aprofundamento Iterativo

    Combina os benefcios da busca em largura com os benefcios da busca em profundidade.

    Evita o problema de caminhos muito longos ou infinitos.

    A repetio da expanso de estados no to ruim, pois a maior parte dos estados est nos nveis mais baixos.

    Cria menos estados que a busca em largura e consome menos memria.

  • Busca Bidirecional

    Estratgia: A busca se inicia ao mesmo tempo a partir do estado inicial

    e do estado final.

    A

    B

    D E

    C

    G

    N M

  • Comparao dos Mtodos de Busca Cega

    Criterio Largura Uniforme Profundidade Aprofundamento Iterativo

    Bidirecional

    Completo? Sim Sim , No Sim Sim ,

    timo? Sim Sim No Sim Sim ,

    Tempo

    Espao

    )( 1dbO )()/(1 CbO )( mbO )(

    dbO )( 2/dbO

    )( 2/dbO)(bdO)(bmO)()/(1 CbO )( 1dbO

    b = fator de folhas por n. d = profundidade da soluo mais profunda. m = profundidade mxima da rvore. completo se b for finito. completo se o custo de todos os passos for positivo. timo se o custo de todos os passos for idntico. se ambas as direes usarem busca em largura.

  • Como evitar estados repetidos?

    Estados repetidos sempre vo ocorrer em problema onde os estados so reversveis.

    Como evitar?

    No retornar ao estado pai.

    No retorna a um ancestral.

    No gerar qualquer estado que j tenha sido criado antes (em qualquer ramo). Requer que todos os estados gerados permaneam na memria.

  • Busca com Informao Parcial

    Anteriormente supomos que o ambiente era esttico, completamente observvel e determinstico.

    O que fazer se o conhecimento sobre os estados ou aes incompleto?

  • Busca com Informao Parcial

    Agente sem sensores: em alguns casos o agente no tem nenhum sensor para saber em qual estado ele est.

    Podendo estar em um de vrios possveis estados.

    Cada ao pode levar o agente para um de vrios possveis estados sucessores.

    Exemplo: Aspirador de p sem sensores.

  • Busca com Informao Parcial

    O estado inicial um dos possveis estados {1, 2, 3, 4, 5, 6, 7, 8}.

    Executar a ao MoverDireita sempre vai levar o agente para um dos estados {2, 4, 6, 8}.

    A sequencia de aes [MoverDireita, Limpar] sempre vai levar o agente para um dos estados {4, 8}.

    A sequencia de aes [MoverDireita, Limpar, MoverEsqueda, Limpar] sempre vai levar o agente para o estado 7.

  • Busca com Informao Parcial

    O agente consegue atingir o estado objetivo sem saber onde ele comeou.

    O agente deve raciocinar sobre o conjunto de estados que ele pode estar em vez de um nico estado.

    Estados de crena.

    A busca realizada no espao de estados de crena.

  • Leitura Complementar

    Russell, S. and Novig, P. Artificial Intelligence: a Modern Approach, 2nd Edition, Prentice-Hall,

    2003.

    Captulo 3: Solving Problems by Searching