resolução de problemas - dainf.ct.utfpr.edu.brfabro/ensino/sistemas_inteligentes_1/... · hdl...
TRANSCRIPT
HDL
Resolução de ProblemasResolução de ProblemasAula 2 - Inteligência Artificial
HDL
Resolução de ProblemasResolução de Problemas(Introdução)(Introdução)
A resolução de um problema é composta por três passos:• Definir o problema com precisão.
(situações inicial e final)• Analisar o problema. (recursos)• Escolher a melhor técnica e aplicá-la ao
problema em particular.
HDL
Definição do Problema como uma Definição do Problema como uma Busca em um Espaço de EstadosBusca em um Espaço de Estados
Para exemplificar, vejamos dois exemplos:• Blocos• Vasilhame de água
HDL
Problema - BlocosProblema - Blocos
Problema: encontrar um plano para rearranjar os blocos.
CC
AA
BB
AA
BB
CC
??
HDL
Problema - BlocosProblema - Blocos
■ Condições • Um bloco pode ser movido apenas se seu
topo está vazio;• Apenas um bloco pode ser movido de cada
vez;• Um bloco pode ser colocado sobre a mesa
ou sobre outro bloco;■ Para encontrar um plano, devemos encontrar um seqüência de movimentos que nos levem ao objetivo.
HDL
Problema - BlocosProblema - Blocos
Como esse exemplo ilustra, existem dois tipos de conceitos envolvidos nesse problema:• Situações do problema;• Movimentos ou ações permitidos, os quais
transformam as situações de problema em outras situações.
Explorar entre as diversas Explorar entre as diversas possíveis alternativas.possíveis alternativas.
HDL
Problema – BlocosProblema – BlocosEspaço de EstadosEspaço de Estados
ABC
AB C
AB C
CAB
BAC
ACB
CA B
ABC
BA C
BA C
CBA
BCA
CA B
Estado Estado inicialinicial
HDL
Problema – BlocosProblema – BlocosEspaço de EstadosEspaço de Estados
ABC
AB C
AB C
CAB
BAC
ACB
CA B
ABC
BA C
BA C
CBA
BCA
CA B
Estado Estado inicialinicial
Estado finalEstado final
HDL
Problema – VasilhameProblema – Vasilhame
Problema: são dados dois vasilhames d’água, em de 4 litros e outros de 3 litros. Nenhum deles possui qualquer marcação de medida. Há uma bomba que pode ser utilizada para encher os vasilhames de água. Como colocar exatamente 2 litros de água no vasilhame de 4 litros?
HDL
Problema – VasilhameProblema – Vasilhame
■ Espaço de estados pode ser descrito como o conjunto de pares ordenados de inteiros (x,y), tal que x={0,1,2,3,4} e y={0,1,2,3} onde x representa o vasilhame de 4 l e y o vasilhame de 3 l.
■ Estado inicial: (0,0)■ Estado final: (2,n)
HDL
Problema – VasilhameProblema – Vasilhame■ Regras:
• (x,y ! x<4)→(4,y) Encher• (x,y ! y<3)→(x,3) Encher• (x,y ! x>0)→(x-d,y) Esvaziar parcial/
e• (x,y ! y>0)→(x,y-d) Esvaziar parcial/
e• (x,y ! x>0)→(0,y) Esvaziar • (x,y ! y>0)→(x,0) Esvaziar• (x,y ! x+y>=4 ^ y>0)→(4,y-(4-x)) Despejar• (x,y ! x+y>=3 ^ x>0)→(x-(3-y),3) Despejar• (x,y ! x+y>=4 ^ y>0)→(x+y,0) Despejar tudo• (x,y ! x+y>=3 ^ x>0)→(0,x+y) Despejar tudo
HDL
Problema – VasilhameProblema – Vasilhame
Para resolver o problema, deve-se:• Escolher a regra cujo lado esquerdo seja
igual ao estado atual;• A mudança adequada ao estado seja
realizada conforme descrito pelo lado direito correspondente;
• Verificar se o estado resultante corresponde ao estado meta (final); cc repetir até que o estado meta seja alcançado.
HDL
Problema – VasilhameProblema – VasilhameUma possível solução:
02920524733203930200
Regra aplicadaLitros no vasilhame de 3 l
Litros no vasilhame de 4 l
HDL
Problema – VasilhameProblema – Vasilhame
■ Observar regras 3 e 4. • Prática x “característica inteligente” ;• Poucas regras (generalidade) x muitas
regras (especificidade);■ Como projetar um programa que
converta descrições informais de problemas em representações de espaço de estados?
HDL
Descrição formal de um Descrição formal de um problemaproblema
■ Definir o espaço de estados;■ Especificar estado(s) inicial(ais) e final(ais);■ Especificar o conjunto de operadores e a
estratégia de controle:• Que suposições não declaradas estão presentes
na descrição informal?• Qual a generalidade a ser considerada?• Quanto do trabalho exigido para resolver o
problema deve ser pré-calculado e representado nas regras?
HDL
Estratégias de ControleEstratégias de Controle
■ Importante pois, algumas vezes, mais de uma regra pode ter seu lado esquerdo igual ao estado atual;
■ A decisão sobre que regras aplicar tem um impacto direto sobre o tempo e possibilidade de resolução do problema;
HDL
Estratégias de ControleEstratégias de Controle
■ Exigências para uma estratégia de controle:• Ela deve causar movimento, cc é possível
que uma solução nunca seja encontrada;• Ela deve ser sistemática, cc seqüências de
estados inúteis podem ser exploradas antes que uma solução seja encontrada. Exemplo: árvore contendo os estados possíveis.
HDL
Estratégias de ControleEstratégias de Controle
Duas estratégias básicas de abordagem para a busca:• Busca em profundidade • Busca em largura
HDL
Busca em profundidadeBusca em profundidade
O nó mais distante do nó inicial é sempre escolhido.
Idéia:Se N é um nó solução então Sol=[N], ouSe há um nó adjacente N1 a N, tal que
existe um caminho Sol1 partindo de N1 até o nó final, então Sol=[N|Sol1]
HDL
Busca em profundidadeBusca em profundidade
a
b
d e f
ki jh
c
g
HDL
Busca em larguraBusca em largura
■ São escolhidos os nós mais próximos do nó inicial.
■ A busca é realizada mais em “largura” que em “profundidade”.
■ Algoritmo mais complexo, pois é necessário manter um conjunto de candidatos em uma fila e não apenas um como na busca em profundidade.
HDL
Busca em larguraBusca em larguraO caminho mais curto sempre é encontrado.
Idéia:Dado um conjunto(fila) de caminhos candidatos:
• Se o primeiro caminho contém o nó final como primeiro elemento da fila, esta é a solução;
• Remova o primeiro caminho do conjunto de candidatos e gere um conjunto de todas as possíveis extensões de um nó desse caminho, adicione esse conjunto de extensões ao final do conjunto de candidatos e execute busca em largura no conjunto resultante.
HDL
Busca em larguraBusca em largura
a
b
d e f
ki jh
c
g
HDL
Busca HeurísticaBusca Heurística
■ Busca em profundidade e largura ineficientes para resolver problemas complexos ➪ fundamental procurar por melhores estratégias de busca.
■ Maioria dessas melhores estratégias estão relacionadas a busca em profundidade e largura.
■ Duas variações: busca usando heurística e busca usando funções de avaliação.
HDL
Alguns problemas clássicosAlguns problemas clássicos
■ Canibais e Missionários■ Torre de Hanoi■ Macaco e Bananas■ Caminho num Grafo■ Caminho do Cavalo no Tabuleiro de
Xadrez■ Problema das Oito Rainhas