inteligência artificial i - computação unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf ·...
TRANSCRIPT
![Page 1: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/1.jpg)
Resolução de problemas por meio de algoritmos de busca
Aula I - Introdução
Universidade Estadual do Oeste do Paraná
Curso de Bacharelado em Ciência da Computação
Inteligência Artificial
![Page 2: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/2.jpg)
Roteiro
Experimentação de desafios (página)
Introdução aos problemas de busca
Explosão combinatória
Problemas e soluções
Características do algoritmo de busca
Toy Problems ou mini problemas
Busca cega
![Page 3: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/3.jpg)
Introdução
A capacidade das pessoas para resolver problemas
é um importante indicador de inteligência – o
mesmo é válido para a IA.
A maneira mais simples de resolver um problema é
através do uso exaustivo (força bruta) de um
procedimento que garanta a solução, caso ela
exista.
![Page 4: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/4.jpg)
Introdução: motivação
Resolvendo problemas: imagine que você
tenha perdido as chaves de seu carro.
Você sabe que elas estão em algum lugar de
sua casa, que possui a seguinte planta (Herbert
Schildt).
Você está no local marcado com X
![Page 5: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/5.jpg)
Um grafo do caminho-solução
Uma alternativa para encontrar as chaves seria
seguir este caminho:
![Page 6: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/6.jpg)
Explosão combinatória
Para este caso, o método de ir a todos os
cômodos da casa é uma boa maneira de encontrá-
las.
Porém, a maioria dos problemas a situação é
diferente.
Em particular, o computador é usado para
solucionar problemas nos quais o número de nós
do espaço de busca é muito grande e, conforme
o espaço de busca cresce, cresce também o
número de diferentes caminhos possíveis para
alcançar o objetivo.
![Page 7: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/7.jpg)
Explosão combinatória
O problema é que a cada nó adicionado ao espaço
de busca é acrescentado mais de um caminho, ou
seja, a quantidade de caminhos até o objetivo
aumenta muito a cada novo nó.
Outro exemplo: existem três objetos A, B e C.
Identifique todas as maneiras de arranjá-los.
![Page 8: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/8.jpg)
Explosão combinatória
O problema é que a cada nó adicionado ao espaço
de busca é acrescentado mais de um caminho, ou
seja, a quantidade de caminhos até o objetivo
aumenta muito a cada novo nó.
Outro exemplo: existem três objetos A, B e C.
Identifique todas as maneiras de arranjá-los.
A B C
A C B
B C A
B A C
C B A
C A B
![Page 9: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/9.jpg)
Explosão combinatória
Pode-se encontrar esse resultado utilizando
análise combinatória.
O teorema afirma que o número de maneira que N
objetos podem ser permutados é igual a N! (o
fatorial do número é o produto deste por todos os
números menores que ele até 1)
Assim, 3! é 3x2x1= 6
4! = 4x3x2x1 = 24
5! = 5x4x3x2x1 = 120
6! = 6x5x4x3x2x1 = 720
1000! = ? – explosão combinatória
![Page 10: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/10.jpg)
Explosão combinatória
Gráfico:
3! = 3x2x1= 6
4! = 4x3x2x1 = 24
![Page 11: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/11.jpg)
Introdução
Busca no espaços de estados é uma das
técnicas mais utilizadas para resolução de
problemas em Inteligência Artificial.
No início das pesquisas em IA, desenvolver
bons métodos de busca foi o primeiro objetivo
em função da necessidade e do desejo.
Era necessário que programadores
desenvolvessem boas técnicas de busca para
solucionar esses problemas por causa da
limitação dos computadores usados na época.
![Page 12: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/12.jpg)
Explosão combinatória
Apesar de a técnica exaustiva, ou de “força bruta”,
teoricamente sempre funcionar, isto não é prático,
porque consome muito tempo, muitos recursos de
computação ou ambos.
Por essa razão, outras técnicas de busca têm sido
desenvolvidas.
![Page 13: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/13.jpg)
Introdução
Em IA, a questão é definir como representar o
conhecimento sobre um determinado problema e o
modo como se processará essa representação para
a solução de problemas.
Quanto de conhecimento preciso representar para
resolver um problema?
Exemplo: que conhecimento preciso para
representar o problema das chaves perdidas, das
jarras ou dos missionários e canibais?
![Page 14: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/14.jpg)
Introdução
Para construir um sistema para resolver um problema
específico nós precisamos:
Analisar o problema
Definir o problema precisamente (inclusive definindo
quais estados finais constituem soluções para o
problema)
Identificar e representar o conhecimento
específico à tarefa que é necessário para se
resolver o problema
Aplicar técnicas de resolução de problemas
Avaliar resultados
![Page 15: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/15.jpg)
Introdução
Representação da solução de problemas
Podemos representar a solução de problemas
como uma sequência de estados, que leva de um
estado inicial até um estado final, onde cada estado
é um estado admissível, isto é, produzido a partir
de um estado anterior através de uma ação.
![Page 16: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/16.jpg)
Problemas e Soluções
Componentes de um problema de busca:
Nó = um ponto discreto e um possível objetivo
Nó terminal = um nó que finaliza um caminho
Espaço de busca = o conjunto de todos os nós
Objetivo = o nó que é o objeto da busca
Caminho para a solução = um grafo dirigido dos
nós visitados que leva à solução
Avaliação = indicação de quanto “custa” essa
solução
![Page 17: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/17.jpg)
Problemas e Soluções
De outra maneira, um problema pode ser definido
formalmente por quatro componentes (Russell e
Norvig):
1) Estado inicial: é o estado inicial dado.
2) Ações possíveis: uma descrição das ações que
estão disponíveis;
3) O teste de objetivo: este teste determina se um
dado estado é um estado objetivo.
4) Uma função de custo de caminho: esta função
atribui um custo numérico a cada caminho.
![Page 18: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/18.jpg)
Problemas e Soluções
Assim:
O espaço de estados forma um grafo em que os
nós são estados e os arcos são ações / conexões.
Um caminho no espaço de estados é uma
seqüência de estados conectados por uma
seqüência de ações.
Do exemplo:
![Page 19: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/19.jpg)
Avaliar uma Busca
Avaliar a performance de uma técnica de busca
pode ser complicado.
Mas, resumidamente, existem duas medidas
elementares que são importantes:
1) Com que velocidade a busca encontra a solução
2) Quão boa é a solução.
Existem diversos tipos de problemas em que a
única preocupação é encontrar uma solução –
qualquer que seja – com o mínimo de esforço.
![Page 20: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/20.jpg)
Avaliar uma Busca
Para os problemas que só requerem uma solução,
a primeira medida é importante (velocidade).
Para outras, o importante é que a solução esteja
perto de ser a solução ótima (qualidade).
O comprimento do caminho da solução como a
quantidade de nós visitados determinam a
velocidade da busca.
Qualidade da solução é ótima: se ela tem o
menor custo de caminho entre todas as soluções.
![Page 21: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/21.jpg)
Avaliar uma Busca
É importante entender a diferença entre encontrar
uma solução ótima e encontrar uma boa
solução.
Encontrar uma solução ótima, frequentemente
implica uma busca exaustiva.
Encontrar uma boa solução significa encontrar
uma solução que obedeça a um conjunto de
restrições – não importando se existe ou não uma
solução melhor.
![Page 22: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/22.jpg)
Formulação de problemas
Voltando à questão da abstração:
Para formular problemas é importante abstrair
detalhes;
A abstração é útil se a execução de cada uma das
ações na solução é mais fácil que o problema
original.
![Page 23: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/23.jpg)
Formulação de problemas
A questão da abstração:
Exemplo (Russell e Norvig): sair de uma cidade e
chegar em outra.
Abstrações:
Companheiros de viagem
Paisagem
Outros veículos
Distância até a próxima parada
Condições da estrada
Condições do tempo
...
![Page 24: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/24.jpg)
Mini problema Toy Problems
Um Mini problema ou “toy problem” se destina a
ilustrar ou exercitar diversos métodos de resolução
de problemas.
Ele tem uma descrição concisa e exata.
Isto significa que ele pode ser usado com facilidade
visando comparar o desempenho de algoritmos.
Exemplos: problema das jarras de água,
missionários e canibais, quebra-cabeças de 8 peças,
o problema das 8 rainhas...
![Page 25: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/25.jpg)
Problema Real
Um problema real é aquele cujas soluções de fato
preocupam as pessoas.
Eles tendem a não apresentar uma única descrição
consensual.
Exemplos: xadrez, problemas de roteamento,
problemas de tour, caixeiro viajante, navegação de
robôs, sequência automática de montagem, projeto
de proteínas, pesquisas na Internet…
![Page 26: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/26.jpg)
Exemplos de Problemas
Xadrez
Etapas: especificar a posição inicial do tabuleiro, as regras
que definem os movimento, as posições que representam a
vitória.
O que se sabe: como representar a posição inicial (matriz
8x8), identificar peças brancas e pretas.
Meta: qualquer posição no tabuleiro na qual o oponente não
tenha um movimento legal, e seu rei esteja sendo atacado.
Movimentos legais: a maneira de sair de um estado inicial e
chegar a um estado-meta, descrito por um conjunto de
regras (movimento do peão, da torre, do bispo...).
![Page 27: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/27.jpg)
Exemplos de Problemas
Xadrez
Existem vária maneiras pelas quais estas regras
podem ser escritas.
Para escrever uma a uma as regras, será
necessário considerar, aproximadamente, as 10120
possíveis posições no tabuleiro, ou seja, uma regra
para cada uma dessas posições.
![Page 28: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/28.jpg)
Exemplos de Problemas
Xadrez
O uso de tantas regras resulta em pelo menos as
seguintes dificuldades:
a) nenhuma pessoa seria capaz de fornecer um
conjunto completo dessas regras.
Este processo demoraria muito e certamente não poderia
ser realizado sem erros;
b) nenhum programa conseguiria lidar facilmente
com essas regras.
Daí a necessidade de abstração
![Page 29: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/29.jpg)
Parênteses!!
Deep Blue: supercomputador + software criado pela
IBM para jogar xadrez.
Capaz de analisar aproximadamente 200 milhões de
posições por segundo.
Em sua base de dados havia mais de 700 mil
partidas de Mestres e Grandes Mestres
Em 1997, Deep Blue venceu Garry Kasparov em uma
partida controversa.
Discussões: o movimento nº 44, foi interpretado
como estratégico, mas teria sido um erro. Kasparov
foi surpreendido com o movimento e mudou sua
forma de jogar, sendo derrotado por isto.
![Page 30: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/30.jpg)
Mini problemas ou Toy Problems
Novamente os exemplos:
Missionários e canibais
Quebra-cabeças de 8 peças,
O problema das 8 rainhas
A ovelha e o lobo
Travessia da ponte…
![Page 31: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/31.jpg)
Missionários e canibais
Três missionários e três canibais estão em um lado
do rio, juntamente com um barco que pode conter
uma ou duas pessoas.
Descubra uma maneira de fazer todos
atravessarem o rio, sem deixar que um grupo de
missionários de um lado fique em número menor
que o número de canibais nesse lado do rio.
![Page 32: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/32.jpg)
Missionários e canibais
Que elementos são necessários?
Quais abstrações devem ser feitas?
Qual estrutura de dados pode ser utilizada?
Qual é o estado inicial?
Qual é o objetivo?
Como avaliar a solução?
![Page 33: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/33.jpg)
Missionários e canibais
MMM CCC B Rio Estado inicial
MMM C CC B
MMM CC B C
MMM CCC B
MMM C B CC
M C MM CC B
MM CC B M C
CC MMM C B
CCC B MMM
C MMM CC B
CC B MMM C
Estado final MMM CCC B
![Page 34: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/34.jpg)
Missionários e canibais
MMM CCC B Rio Estado inicial
MMM C CC B
MMM CC B C
MMM CCC B
MMM C B CC
M C MM CC B
MM CC B M C
CC MMM C B
CCC B MMM
C MMM CC B
CC B MMM C
Estado final MMM CCC B
![Page 35: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/35.jpg)
Missionários e canibais
MMM CCC B Rio Estado inicial
MMM C CC B
MMM CC B C
MMM CCC B
MMM C B CC
M C MM CC B
MM CC B M C
CC MMM C B
CCC B MMM
C MMM CC B
CC B MMM C
Estado final MMM CCC B
![Page 36: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/36.jpg)
Toy Problems/Mini problemas
![Page 37: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/37.jpg)
Toy Problems/Mini problemas
![Page 38: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/38.jpg)
Toy Problems/Blocos deslizantes
4 5 8
1 6
7 3 2
5 8
4 1 6
7 3 2
4 5 8
7 1 6
3 2
4 5 8
6
7 3 2
1
1 2 3
4 6
7 8
5
![Page 39: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/39.jpg)
Toy Problems: blocos deslizantes
Usado com freqüência como problema de teste
para novos algoritmos de busca em IA.
Sabe-se que essa classe geral é NP-completa;
Com 8 peças existem 181.440 estados
acessíveis (9!/2);
Com 15 peças tem 1.3 trilhões de estados
Com 24 peças tem 1025 estados
![Page 40: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/40.jpg)
Toy Problems: 8 rainhas
O objetivo do problema das 8 rainhas é posicionar
oito rainhas em um tabuleiro de xadrez de tal forma
que nenhuma rainha ataque qualquer outra.
Uma rainha ataca qualquer peça situada na mesma
linha, coluna ou diagonal.
![Page 41: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/41.jpg)
Toy Problems: 8 rainhas
![Page 42: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/42.jpg)
Exercício com Jarras de água
Você tem duas jarras, uma de 4 litros e uma de 3
litros.
Nenhuma delas tem qualquer marcação de
medidas.
Há uma bomba que pode ser usada para encher as
jarras com água.
Como você consegue colocar exatamente 2 litros
de água na jarra de 4 litros?
![Page 43: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/43.jpg)
Características do Algoritmo de busca
Características de um algoritmo de busca:
Completude (completeza): o algoritmo sempre
encontra uma solução, se ela existe
Complexidade temporal: se refere ao tempo
máximo exigido pelo algoritmo para realizar a busca
Complexidade espacial (memória): quantidade
máxima de memória usada pelo algoritmo
(geralmente p/guardar os nós visitados)
Otimalidade (otimização): quando o algoritmo
encontra a solução ótima
![Page 44: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/44.jpg)
Algoritmo de busca
Complexidade: a complexidade depende de b, o
fator de ramificação no espaço de estados, e de d, a
profundidade da solução mais rasa.
![Page 45: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/45.jpg)
b
d
![Page 46: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/46.jpg)
Estratégias de busca sem informação / busca cega
“Busca cega” denomina o conjunto de estratégias de
busca que não têm nenhuma informação sobre
estados, além daquelas fornecidas na definição do
problema;
Tudo o que elas podem fazer é gerar sucessores e
distinguir um estado objetivo de um estado não-
objetivo;
As estratégias que sabem se um estado não-objetivo
é “mais promissor” que outro são chamadas
estratégias de busca com informação ou busca
heurística.
![Page 47: Inteligência Artificial I - Computação Unioesteinf.unioeste.br/~claudia/resulucao_a1.pdf · Apesar de a técnica exaustiva, ou de “força bruta”, teoricamente sempre funcionar,](https://reader031.vdocuments.net/reader031/viewer/2022022111/5c2b704909d3f216698c7c85/html5/thumbnails/47.jpg)
Próxima aulas
Algoritmos de busca
Busca em amplitude/largura
Busca em profundidade
Busca em profundidade limitada
Busca em profundidade de custo uniforme
Busca de aprofundamento iterativo
Busca bidirecional