CCT-UFCA/Ciência da Computação/Inteligência Artificial/Busca Cega
Aparência
Problemas de Busca
[editar | editar código]A busca é uma das técnicas centrais da Inteligência Artificial (IA). Ela é usada para encontrar soluções em problemas que envolvem múltiplas possibilidades.
- Ideal para ambientes observáveis, discretos, determinísticos e conhecidos.
- Uma estratégia de busca percorre sistematicamente alternativas até encontrar uma sequência de passos que leva à solução.
A busca pode ser:
- Busca Cega (sem informação): não usa conhecimento do problema, só explora sistematicamente.
- Busca com Informada (com heurísticas): usa heurísticas ou conhecimento para guiar a exploração.
Definição Formal de um Problema de Busca
[editar | editar código]Um problema de busca pode ser definido por 5 componentes principais:
- Estado inicial
- Onde o agente começa.
- Ex.: No aspirador de pó, a posição inicial do robô e da sujeira.
- Ações possíveis
- O que o agente pode fazer em cada estado.
- Ex.: “Esquerda”, “Direita” ou “Aspirar” para o robô aspirador.
- Modelo de transição (Função SUCESSOR)
- Mostra para qual estado o agente irá ao executar uma ação.
- Ex.: SUCESSOR(S, A) → retorna o novo estado.
- Teste objetivo
- Determina se um estado é objetivo.
- Ex.: Todas as casas limpas no aspirador de pó.
- Função de custo do caminho
- Associa um custo numérico a cada sequência de ações.
- Ex.: cada movimento ou ação custa 1.
Espaço de estados:
- Conjunto de todos os estados possíveis a partir do estado inicial.
Exemplos Clássicos de Problemas de Busca
[editar | editar código]Mundo do Aspirador de Pó:
- Estados: posição do agente + estado de limpeza das casas.
- Estado inicial: qualquer configuração de sujeira.
- Ações: Esquerda, Direita, Aspirar.
- Modelo de transição: estado muda conforme a ação (ex.: aspirar → limpa a casa).
- Teste objetivo: todas as casas limpas.
- Custo de caminho: cada ação = 1.
Problema das 8 Rainhas:
- Estados: qualquer arranjo de 0 a 8 rainhas no tabuleiro.
- Estado inicial: tabuleiro vazio.
- Ações: adicionar uma rainha em um quadrado vazio.
- Modelo de transição: tabuleiro com uma nova rainha.
- Teste objetivo: 8 rainhas no tabuleiro sem se atacarem.
- Custo de caminho: cada rainha colocada = 1.
Busca de Soluções
[editar | editar código]Para resolver o problema:
- Formulamos a árvore de busca
- Nó raiz: estado inicial
- Filhos: estados resultantes das ações possíveis
- Fronteira: conjunto de nós que ainda podem ser expandidos
- Processo de busca
- Escolhe um nó da fronteira
- Expande: gera todos os estados sucessores
- Adiciona os novos nós à fronteira
- Repete até encontrar um estado objetivo
- Soluções
- São sequências de ações do estado inicial ao objetivo
- A busca pode parar no primeiro objetivo ou continuar para achar o menor custo
Problema de Estados Repetidos
[editar | editar código]Durante a busca, estados podem se repetir e isso gera:
- Caminhos redundantes
- Árvores de busca infinitas
- Grande aumento de custo
Estratégias para lidar com estados repetidos:
- Tree-Search: não evita estados repetidos (pode gerar loops).
- Graph-Search: mantém lista de estados visitados e não os repete.
Referências
[editar | editar código]- RUSSELL, S. J.; NORVIG, P. Inteligência artificial. 3 ed. LTC, 2013. 1016 p.
- COPPIN, B. Inteligência Artificial. 1a ed. LTC, 2010. 664 p.