Inteligência Artificial - IA - UFMT

Propaganda
Inteligência Artificial - IA
Resolução de problemas
por meio de busca
1
Inteligência Artificial - IA
Agente reativo - definido por ação–reação
Agente de resolução de problemas (ou baseado em
objetivos) encontra sequencias de ações que leva ao
estado desejável.
O que é um problema de IA?
 Formulação de objetivo – baseado na situação atual e
na medida de desempenho do agente, buscar a
resolução do problema.
 Formulação de problema – é o processo de decidir que
ações e estados devem ser considerados, dado um
objetivo.
2
Inteligência Artificial - IA
Definição do objetivo:
– propriedade abstrata
● ex.: No jogo de 8 números o objetivo é organizar o tabuleiro de
números
– conjunto de estados finais do mundo
● ex.: No caso de uma viagem o objetivo é chegar ao destino
Solução:
–
caminho (sequência de ações ou operadores) que leva do estado
inicial a um estado final (objetivo).
Espaço de Estados:
–
conjunto de todos os estados alcançáveis a partir do estado
inicial por qualquer sequência de ações.
3
Inteligência Artificial - IA
Formulação do problema e do objetivo:
– quais são os estados e as ações a considerar?
– qual é (e como representar) o objetivo?
Busca (solução do problema):
– processo que gera/analisa sequências de ações para
alcançar um objetivo
– solução = caminho entre estado inicial e estado final.
– custo do caminho = qualidade da solução
Execução:
– executar a solução completa encontrada, ou
– intercalar execução com busca: planejamento
4
Inteligência Artificial - IA
Agentes solucionadores de problema
função Agente-Resolução-Problema-Simples(percepção) retorna uma ação
entradas: percepção, uma percepção
variáveis estáticas: seq, uma sequencia de ações, inicialmente vazia,
estado, alguma descrição do estado atual,
objetivo, um objetivo, inicialmente nulo,
problema, uma formulação de problema
estado  ATUALIZA-ESTADO(estado, percepção)
se seq está vazia então faça
objetivo  FORMULAR-OBJETIVO(estado)
problema  FORMULAR-PROBLEMA (estado, objetivo)
seq  BUSCA(problema)
ação  PRIMEIRO (seq)
seq  RESTO (seq)
retorna ação
5
Inteligência Artificial - IA
Um problema em IA pode ser definido por quatro
componentes:
 Estado inicial – posição em que o agente começa
 Espaço de ações – um conjunto de descrição das ações possíveis que
estão disponíveis para o agente. A passagem de um estado para outro
é dado pela função sucessor. O espaço de estados pode ser
interpretado como um grafo em que os nós são estados e os arcos
são ações.
 Teste de objetivo: determina se um dado estado gerado é o estado
objetivo;
 Função custo: atribui um valor numérico para cada caminho. Custo
do passo: é o custo de adotar a ação para ir do estado x ao estado y,
denotado por c(x,a,y)
6
Inteligência Artificial - IA
Um problema em IA é definido em termos de...
Espaço de estados
Conjunto de ações
Um espaço de estados possíveis, incluindo:
- um estado inicial;
- um (ou mais) estado final = objetivo
Um conjunto de ações (ou operações)
que permitem passar de um estado a
outro.
Exemplo:
a) dirigir de Barra para Goiânia
- Espaço de estados: todas as cidades da
região
Exemplo:
a) Dirigir de uma cidade a outra
b) Jogo de 8-números
-Espaço de estados: mudanças peças
b) Mover uma peça do jogo
7
Inteligência Artificial - IA
Formulação do problema: jogo de 8 números
–
–
–
–
–
Estados = cada possível configuração do tabuleiro
(9 quadrados, 8 peças e um espaço vazio)
estado inicial = qualquer um dos estados possíveis
Função sucessor = gera os estados válidos resultante das
ações (o espaço vazio desloca para: cima, baixo, direita,
esquerda)
teste de objetivo = quadrado ordenado com vazio na posição
[1,1]
custo do caminho = número de passos para a solução
8
Inteligência Artificial - IA
Espaço de estados para
Jogo de 8 números
cima
4 5 8
1 6
7 2 3
direita
5 8
4 1 6
7 2 3
baixo
baixo
4 5 8
7 1 6
2 3
direita
Observe que nas condições do jogo
podemos afirmar que:
o ambiente é completamente observável,
determinístico, episódico, discreto,
estático e de um único agente.
objetivo
1 2
4 5
7 8
3
6
9
Inteligência Artificial - IA
Formulação do problema: viagem de Barra a Goiânia
–
–
–
–
–
estados = cada possível cidade do mapa
estado inicial = Barra do Garças
teste de término = estar em Goiânia
operadores = dirigir de uma cidade para outra
custo do caminho = número de cidades visitadas, distância
percorrida, tempo de viagem, custo combustível, prazer, etc.
10
Inteligência Artificial - IA
Para se resolver um problema é necessário fazer uma busca em
todo o espaço de estados.
A técnica a ser utilizada é a árvore de busca – gerada pelo
estado inicial e pela função sucessor, que juntas definem o
espaço de estados
11
Inteligência Artificial - IA
Problemas de busca em árvore
A essência da busca em árvore é seguir uma opção e
deixar as outras reservadas para depois, no caso da
primeira escolha não levar a uma solução.
É possivel escolher qualquer das opções da expansão ou
então voltar e escolher outro caminho. O processo é
continuar testando a opção e expandindo até ser
encontrada uma solução ou não existirem mais estados
para serem expandidos.
A escolha de qual estado expandir é determinada pela
estratégia de busca.
12
Inteligência Artificial - IA
Descrição informal do algoritmo geral de busca em árvore.
Algoritmo:
O algoritmo começa com a lista contendo o estado inicial do
problema.
1. Selecionar o primeiro nó (estado) da lista do espaço de estados;
- se a lista está vazia, o algoritmo termina com falha.
2. Testar se o nó é um estado final (solução):
- se “sim”, então retornar nó - a busca termina com sucesso.
3. Gerar um novo conjunto de estados pela aplicação dos
operadores ao estado selecionado;
4. Inserir os nós gerados na lista, de acordo com a estratégia de
busca usada, e voltar para o passo (1).
13
Inteligência Artificial - IA
Árvore de busca parcial para localização de rota
14
Inteligência Artificial - IA
Descrição informal do Algoritmo Busca em Árvore
Função BUSCA-EM-ARVORE (problema, estratégia) retorna uma
solução ou falha
Inicializar a árvore de busca usando o estado inicial de problema
Repita
se não existir nenhum candidato para expansão então retornar
falha
Escolher um nó folha para expansão de acordo com estratégia
se o nó contem um estado objetivo então retornar a solução
correspondente
senão expandir o nó e adicionar os nós resultantes à árvore de
busca
15
Inteligência Artificial - IA
Medida de desempenho do algoritmo
Completude:
–
O algoritmo oferece a garantia de encontra uma solução quando ela
existir?
Complexidade de tempo*:
–
quanto tempo o algoritmo gasta para encontrar uma solução?
Complexidade de espaço*:
–
quanta memória é necessária para realizar a busca?
Otimização/qualidade:
–
a estratégia encontra a melhor solução (tem o menor custo de
caminho entre as soluções)?
* Devem ser consideradas mediante a dificuldade do problema
16
Inteligência Artificial - IA
Estratégias de busca
 Busca sem informação (cega)
Tipo de busca exaustiva – não tem nenhuma informação
adicional sobre os estados, só definição do problema.
Apenas gera sucessores e distingue o estado objetivo do
estado não objetivo.
a.
b.
c.
d.
e.
Busca em extensão
Busca de custo uniforme
Busca em profundidade
Busca em profundiade limitada
Busca de aprofundamento iterativo
 Busca com informação (heurística)
Tipo de busca que estima qual o melhor caminho a ser
expandido usando funções heurísticas => conhecimento
17
Inteligência Artificial - IA
 Referências
Rich, Elaine; Knight, Kevin, Artificial Intelligence, Second Edition, McGraw. Hill, 1993.
Russel, S.; Norvig, P. Artificial Intelligence: A Modern Approach, 2ª ed., Elsevier, Ed. Campus, 2004.
18
Download