resolução de problemas - dainf.ct.utfpr.edu.brfabro/ensino/sistemas_inteligentes_1/... · hdl...

25
HDL Resolução de Problemas Resolução de Problemas Aula 2 - Inteligência Artificial

Upload: ngotram

Post on 12-Feb-2019

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

HDL

Resolução de ProblemasResolução de ProblemasAula 2 - Inteligência Artificial

Page 2: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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.

Page 3: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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

Page 4: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

HDL

Problema - BlocosProblema - Blocos

Problema: encontrar um plano para rearranjar os blocos.

CC

AA

BB

AA

BB

CC

??

Page 5: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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.

Page 6: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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.

Page 7: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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

Page 8: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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

Page 9: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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?

Page 10: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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)

Page 11: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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

Page 12: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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.

Page 13: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

HDL

Problema – VasilhameProblema – VasilhameUma possível solução:

02920524733203930200

Regra aplicadaLitros no vasilhame de 3 l

Litros no vasilhame de 4 l

Page 14: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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?

Page 15: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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?

Page 16: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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;

Page 17: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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.

Page 18: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

HDL

Estratégias de ControleEstratégias de Controle

Duas estratégias básicas de abordagem para a busca:• Busca em profundidade • Busca em largura

Page 19: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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]

Page 20: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

HDL

Busca em profundidadeBusca em profundidade

a

b

d e f

ki jh

c

g

Page 21: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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.

Page 22: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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.

Page 23: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

HDL

Busca em larguraBusca em largura

a

b

d e f

ki jh

c

g

Page 24: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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.

Page 25: Resolução de Problemas - dainf.ct.utfpr.edu.brfabro/ensino/Sistemas_Inteligentes_1/... · HDL Resolução de Problemas (Introdução) A resolução de um problema é composta por

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