Inteligência Artificial I

Propaganda
FEOL – FACULDADES DE OLIVEIRA
Prof. Rodrigo Bahia Paiva
Inteligência Artificial
O que é Inteligência Artificial ?
Inteligência Artificial

Etimologicamente - Inteligência (Origem: Latim)
Inter (entre)
e
legere (escolher)
Aquilo que permite ao ser humano escolher entre
uma coisa e outra;
Habilidade de realizar, de forma eficiente,
uma determinada tarefa.
Inteligência Artificial

Artificial (Origem: Latim)
Artificiale
Algo não natural, isto é, produzido pelo homem.
Inteligência Artificial
“Um tipo de inteligência produzida pelo homem
para dotar as máquinas de algum tipo de
habilidade que simula a inteligência do homem.”
Inteligência Artificial
Algumas definições de IA:



"O ramo da ciência da computação preocupada com
a automação de comportamento inteligente."
[LUGER & STUBBLEFIELD, 93]
"O estudo da computação que torna possível
perceber, raciocinar e agir." [WINSTON, 92]
"IA é a parte da ciência da computação voltada para
o desenvolvimento de sistemas de computadores
inteligentes, isto é, sistemas que exibem
características, as quais nós associamos com a
inteligência no comportamento humano – em geral
compreensão da linguagem, aprendizado, raciocínio,
resolução de problemas, etc." [FEIGENBAUM, 81]
Inteligência Artificial
Algumas definições de IA:



"É o campo de estudo que tenta explicar e emular o
comportamento inteligente em termos de processos
computacionais." [SCHALKOFF, 90]
"Inteligência artificial é o estudo das idéias que
permitem aos computadores serem inteligentes."
[WINSTON, 84]
"Inteligência Artificial é o estudo das faculdades
mentais através do uso de modelos computacionais."
[CHARNIAK & McDERMOTT, 85]
Inteligência Artificial
Algumas definições de IA:



"A arte de criar máquinas que executam funções que
requerem inteligência quando executadas por
pessoas." [KURZWEIL,90]
"Inteligência artificial é o estudo de como fazer os
computadores realizarem coisas que, no momento,
as pessoas fazem melhor." [RICH, Elaine & KNIGHT,
Kevin, 93]
"[...] atividade que nós associamos com o pensar
humano, atividades tais como: tomada de decisão,
resolução de problemas, aprendizado[... ]."
[BELLMAN, 78]
Inteligência Artificial
Algumas definições de IA:


"A inteligência artificial (IA) é simplesmente uma
maneira
de
fazer
o
computador
pensar
inteligentemente." [LEVINE, 88]
“Pode ser definida como o ramo da Ciência da
Computação que se ocupa da automação do
comportamento inteligente.” [LUGER, 2004]
Inteligência Artificial

A Inteligência Artificial busca entender a mente
humana e imitar o seu comportamento [BOOSE, 94],
levantando questões tais como:






Como ocorre o pensar?
Como o homem extrai o conhecimento do mundo?
Como a memória, os sentidos e a linguagem ajudam no
desenvolvimento da inteligência?
Como surgem as idéias?
Como a mente processa informações e tira conclusões decidindo
por uma coisa ao invés de outra?
Essas são algumas perguntas que a IA precisa
responder para simular o raciocínio humano e
implementar aspectos da inteligência.
Inteligência Artificial

A inteligência humana está aliada a sua
capacidade de interagir com o meio através de
habilidades cognitivas (sentidos) e conotativas
(ação), ou seja,



se movimentar,
reconhecer sons (fala) e imagens,
se expressar, etc.
Inteligência Artificial

Existe um esforço, principalmente no campo da
robótica, no sentido de implementar “as máquinas
inteligentes”, para propiciar:


uma maior interação com o meio e
desenvolver padrões de inteligência envolvidos na



aquisição do conhecimento,
reconhecimento,
aprendizado, etc.
Inteligência Artificial
“É mesmo possível se obter
inteligência num
computador, ou uma
entidade inteligente requer a
riqueza das sensações e
experiências que só podem
ser encontradas numa
existência biológica?”
Objetivo

Desenvolver sistemas para realizar tarefas que, no
momento:


são melhor realizadas por seres humanos que por
máquinas, ou
não possuem solução algorítmica viável pela computação
convencional

Reproduzir o comportamento inteligente.

Entender entidades inteligentes.
Se o ser humano pode, por que não a máquina? (tese de Church-Turing)
Tese de Church-Turing
Na teoria da computabilidade, a Tese de Church-Turing ou Tese de
Church, assim nomeada em referência a Alonzo Church e Alan Turing, é
uma hipótese sobre a natureza de artefatos mecânicos de cálculo, como
computadores, e sobre que tipo de algoritmos eles podem executar.
Geralmente assume-se que um algoritmo deve satisfazer os seguintes
requisitos:




O algoritmo consiste de um conjunto finito de instruções simples e
precisas, que são descritas com um número finito de símbolos.
O algoritmo sempre produz resultado em um número finito de passos.
O algoritmo pode, a princípio, ser executado por um ser humano com
apenas papel e lápis.
A execução do algoritmo não requer inteligência do ser humano além do
necessário para entender e executar as instruções.
* A teoria da computação, um subcampo da ciência da computação e matemática, busca determinar quais
problemas podem ser computados em um dado modelo de computação.
Algoritmo de Euclides
Um exemplo de tal método é o Algoritmo de Euclides para a
determinação do máximo divisor comum de dois números
naturais. A noção de algoritmo é intuitivamente clara mas não
é definida formalmente, pois não está claro o que quer dizer
"instruções simples e precisas", e o que significa "inteligência
necessária para executar as instruções".
O Algoritmo de Euclides busca encontrar o máximo divisor
comum entre dois números inteiros diferentes de zero. É um
dos algoritmos mais antigos conhecidos, desde que apareceu
na obra Elementos de Euclides por volta de 300 AC. O
algoritmo não requer fatoração.
Embora seja um algoritmo bastante simples, a sua análise
revela-se um problema bastante complexo. Não se sabe ao
certo qual a complexidade esperada deste algoritmo para
valores muito grandes de n, mas estima-se que seja
aproximadamente 12(ln2)π2)lnn.
Algoritmo de Euclides
Exemplo
Tomemos os números 348 e 156:
dividendo ← 348
divisor ← 156
resto(348/156) = 36 ≠ 0
Como o resto não é zero, substituímos o dividendo e o divisor:
dividendo ← 156
divisor ← 36
resto(156/36) = 12 ≠ 0
Repetimos o passo anterior:
dividendo ← 36
divisor ← 12
resto(36/12) = 0
retornar 12
Portanto, o máximo divisor comum de 348 e 156 é 12.
Tese de Church-Turing
Informalmente a tese enuncia que nossa noção de
algoritmo pode ser formalizada (sob a forma de
funções computáveis) e que computadores podem
executar esses algoritmos. Além disso, qualquer
computador pode, teoricamente, executar qualquer
algoritmo, isto é, o poder computacional teórico de
cada computador é o mesmo e não é possível
construir um artefato de cálculo mais poderoso que
um computador.
A tese pode ser considerada uma lei física, já que
não pode ser matematicamente demonstrada.
O que é IA?
Abordagens

Centradas em torno de seres humanos


Ciência empírica, envolvendo hipóteses e confirmação
experimental.
Centradas em torno da racionalidade

Envolve uma combinação de Matemática e Engenharia.
O que é IA?

Agindo de forma humana: a abordagem do teste de
Turing






Processamento de linguagem natural
Representação de conhecimento
Raciocínio automatizado
Aprendizado de máquina
Visão Computacional
Robótica
O que é IA?

Pensando de forma humana: a estratégia de
modelagem cognitiva

Ciência cognitiva - reúne modelos computacionais da IA e
técnicas experimentais da psicologia para tentar construir
teorias precisas e verificáveis a respeito dos processos de
funcionamento da mente humana.
O que é IA?

Pensando racionalmente: a abordagem das “leis do
pensamento”



Tentativa de codificação do “pensamento correto” – processos
de raciocínios irrefutáveis.
Seus silogismos forneceram padrões para estruturas de
programas que sempre resultavam em conclusões corretas ao
receberem premissas corretas.
As leis do pensamento deveriam governar a operação da
mente.
O que é IA?

Pensando racionalmente: a abordagem de agente
racional


Agente – é simplesmente algo que age (latim – agere –
fazer).
Agente racional – age para alcançar o melhor resultado ou,
quando há incerteza, o melhor resultado esperado.
Os fundamentos da IA
Matemática
Filosofia
Lingüística
Economia
IA
IA
Cibernética
Neurociência
Psicologia
Engenharia de
Computação
História da IA

Inteligência
 Estudada há mais de 2000 anos por filósofos


Raciocínio, memória, aprendizado, visão.
Inteligência Artificial
 surgiu na década de 50
 estuda a inteligência de maneira teórica e
experimental.
História da IA


Church e Turing estabelecem limites para aquilo
que pode ser resolvido por computadores,
introduzindo o conceito de computabilidade (1936).
"Mas podem as máquinas pensar?"
Famosa pergunta feita em 1950 por Alan Turing
(Teste de Turing)
História da IA


Primeiro trabalho (1943) - McCulloch and Pitts:
implementação dos operadores lógicos através de
uma rede neural.
Primeiro Evento (1956)
 Newell and Simon – Logic Theorist (resolvedor
de teoremas).
História da IA





GPS (General Problem Solver, 1960 ) - Newell and
Simon.
Linguagem LISP (1958) – McCarthy.
Micromundos (1963) – Minsky (problemas de
domínios limitados).
O mundo dos blocos (1968).
Linguagem Prolog (1970) - Edinburgh/Marseilles.
Surge o nome Inteligência Artificial, após um workshop
entre grandes nomes como: John McCarthy, Arthur Samuel
(IBM), Ray Solomonoff e Oliver Selfridge (MIT).
História da IA

Primeiro experimento feito para tentar realizar o
“Teste de Turing” - Eliza (1966)


um programa criado pelo pesquisador Joseph Weizenbaum,
do MIT, que simulava uma psicóloga virtual usando trechos
das frases dos usuários para compor as respostas e
estimulava o “paciente” a se aprofundar cada vez mais nos
detalhes dos seus problemas.
Exemplo de diálogo com a Eliza:





Eliza: Olá, conte-me o seu problema.
Usuário: Eu não me relaciono bem com as outras pessoas.
Eliza: E por que você acha que você não se relaciona bem
com as outras pessoas?
Usuário: Pois estou sempre sozinho.
...
Exemplo de software de Inteligência Artificial para criação de personagens
virtuais (chatter boot) : www.inbot.com.br
História da IA


1969 - ressurgimento do entusiasmo
 Sistemas especialistas
1970/1980 - Alguns sistemas famosos:



SHRLDU (interface em
linguagem
aplicado ao mundo de blocos)
natural
MYCIN (diagnóstico médico)
LUNAR (interface para geólogos interrogarem
sobre as amostras de rochas trazidas pela Appolo
na missão lunar - o primeiro usado por pessoas
que não os projetistas do sistema).
História da IA


1980 - Projeto japonês: a quinta geração de
computadores (IA, Prolog, PLN) repercussões no
financiamento global para a área de IA.
1980 - com projetos mais reais, a IA começa a ser
utilizada na indústria, promovendo cortes de
despesas e otimização de tarefas.

R1 - o primeiro "expert system" de sucesso que iniciou suas
atividades na Digital Equipment - economia de 40 milhões
de dólares por ano.
História da IA


1997 - Deep Blue vence Kasparov
 algoritmos de busca
 computadores de alta velocidade
 hardware específico para xadrez
A IA é o elemento fundamental nas mais diversas
ferramentas disponíveis na Internet.
Deep Blue




Deep Blue (azul profundo) foi um supercomputador e um software criados pela IBM
especialmente para jogar xadrez com 256 co-processadores, capazes de analisar
aproximadamente 200 milhões de posições por segundo.
Em fevereiro de 1996, o campeão do mundo de xadrez, Garry Kasparov, natural do Azerbeijão,
atualmente radicado na Rússia, considerado o melhor jogador de todos os tempos, ganhou três
partidas, empatou duas e perdeu uma contra Deep Blue, obtendo a pontuação final de 4 a 2 (o
empate dá 0,5 ponto para cada um dos lados). A única derrota de Kasparov nesse match foi
justamente na primeira partida, a qual passou a ser o primeiro jogo de xadrez em que um
computador venceu um campeão do mundo sob regras normais de tempo. Mesmo
recuperando-se nos jogos seguintes, ao final do match, Kasparov declarou que era o último
humano campeão de xadrez, talvez prevendo o que aconteceria no ano seguinte.
Em maio de 1997, após uma severa atualização, Deep Blue venceu Kasparov em um novo
confronto de 6 partidas, com 2 vitórias, 3 empates e 1 derrota (pontuação final: 3,5 a 2,5),
tornando-se o primeiro computador a vencer um campeão mundial de xadrez num match com
regras de tempo oficiais.
A derrota de Kasparov no segundo match é uma das maiores polêmicas do mundo do xadrez.
Naquela ocasião, o grande mestre acusou a IBM de ter trapaceado dizendo que jogadores
humanos intervieram durante a segunda partida. A IBM se defendeu dizendo que os ajustes no
programa e intervenções ocorriam somente entre uma partida e outra. Kasparov pediu os
arquivos (printouts dos log files), porém a IBM se recusou a fornecê-los. Na base de dados do
computador havia mais de 700 mil partidas de Mestres e Grandes Mestres, porém quando
Kasparov pediu à IBM algumas partidas jogadas pelo Deep Blue para que entendesse melhor
seu oponente, o pedido foi negado. Kasparov pediu ainda um novo match, porém a IBM não
teve interesse e aposentou o computador. Há um documentário de 2003 (Game Over:
Kasparov and the Machine) que conclui que esta vitória foi armada para elevar o valor das
ações da companhia.
História da IA


Atualmente - usada em grande escala, posta a
prova pelos militares americanos na operação Desert
Storm, na guerra do Iraque (Mísseis teleguiados e
sensores de visão noturna)
Tendências - passagem de sistemas experimentais
para aplicações reais de grande escala
 representação de conhecimento
 reconhecimento da fala
 robótica
 visão
 internet
Exemplos de Aplicação da IA

Matemática: demonstração de teoremas, resolução simbólica
de equações, geometria, etc.

Pesquisa operacional: otimização e busca heurística em geral

Jogos: xadrez, damas, etc.




Processamento de linguagem natural: tradução automática,
verificadores ortográficos e sintáticos, interface vocal,
reconhecimento da fala, de locutor, etc.
Sistemas tutores: modelagem do aluno, escolha de
estratégias pedagógicas, etc.
Percepção: visão, tato, audição, olfato, paladar...
Robótica (software e hardware): manipulação, navegação,
monitoramento, etc.
Exemplos de Aplicação da IA


Sistemas especialistas: Atividades que exigem
conhecimento especializado e não formalizado

Tarefas: diagnóstico, previsão, monitoramento, análise,
planejamento, projeto, etc.

Áreas: medicina, finanças, engenharia, química, indústria,
arquitetura, arte, computação,...
Computação:

engenharia de software (sobretudo na Web)

programação automática

interfaces adaptativas

bancos de dados dedutivos e ativos

mineração de dados (data mining)

sistemas distribuídos, etc.
IA - Limitações
Ainda existem muitas limitações nas questões
relacionadas à Inteligência Artificial?
Órgãos/Empresas de IA

Empresas especializadas em IA:


Grandes empresas desenvolvendo e utilizando IA:


IBM, HP, Sun, Microsoft, Unisys, Google, Amazon.com, ...
Grandes empresas utilizando IA:



http://dmoz.org/Computers/Artificial_Intelligence/Companies/
www.businessweek.com/bw50/content/mar2003/a3826072.htm
Wal-Mart, Abbot Labs, US Bancorp, LucasArts, ...
Órgãos governamentais utilizando IA:

US National Security Agency
Pluridisciplinaridade da IA
Inspiração
Tarefas
•Filosofia
•Matemática
- Lógica
- Proba. e Estat.
- Cálculo
• Pesquisa
Operacional
• Economia
• Sociologia
• Lingüística
• Psicologia
• Biologia
• Automação e
Controle
• Computação
tradicional
Problemas
•Busca heurística
• Representação
do conhecimento
e Raciocínio
automático
• Planejamento
• Aprendizagem e
Aquisição de
Conhecimento
• Sistemas
Multi-Agente
• Reconhecimento
de Padrões
Aplicações
•Jogos
• Sistemas
Especialistas
• Percepção
Computacional
•Classificação
• Previsão
• Monitoramento
• Diagnóstico e
Interpretação
• Conserto
- Visão
• Escalonamento
- Processamento
de Voz
• Alocação
• Filtragem
- Integração de
Sensores
• Descoberta
• Processamento de
Linguagem Natural
• Robótica
- Navegação
- Manipulação
• Design
• Controle
• Simulação
Em Busca de Soluções


Busca Heurística
Epistemologia (ciência do conhecimento)
existem 3 linhas na teoria do conhecimento:



empirismo (Locke).
racionalismo (Kant).
intercionismo (Piaget, Vigotsky).
Filosoficamente



Empirismo (Locke): é um movimento que acredita nas experiências como
únicas (ou principais) formadoras das idéias, discordando, portanto, da noção
de idéias inatas. Locke argumentou que a mente seria, originalmente, um
"quadro em branco", sobre o qual é gravado o conhecimento, cuja base é a
sensação. Ou seja, todas as pessoas, ao nascer, o fazem sem saber de
absolutamente nada, sem impressão nenhuma, sem conhecimento algum.
Todo o processo do conhecer, do saber e do agir é aprendido pela experiência,
pela tentativa e erro.
Racionalismo (Kant): o homem nasceria com certas idéias inatas, as quais
iriam "aflorando" à consciência e constituiriam as verdades acerca do Universo.
A partir dessas idéias, o homem poderia entender os fenômenos particulares
apresentados pelos sentidos. O conhecimento da verdade, portanto,
independeria dos sentidos físicos.
Intercionismo (Piaget, Vigotsky): a aprendizagem é um processo que começa
no nascimento e acaba na morte. A aprendizagem dá-se através do equilíbrio
entre a assimilação e a acomodação, resultando em adaptação. Segundo este
esquema, o ser humano assimila os dados que obtém do exterior, mas uma vez
que já tem uma estrutura mental que não está "vazia", precisa adaptar esses
dados à estrutura mental já existente.
Busca Heurística



Heurística - Informação específica do domínio que
pode ser usada para guiar o processo de busca.
Em muitos casos uma heurística envolve a aplicação
de uma função que avalia um nó particular e prediz
a qualidade dos seus nós sucessores.
Uma função heurística de avaliação no jogo-davelha poderia ser o número de linhas, colunas e
diagonais ainda disponíveis, quanto maior este
número maior a chance de vitória.
Busca Heurística

1.
Os problemas de IA empregam heurísticas,
basicamente, em duas situações:
Um problema pode não ter uma solução exata por
causa das ambigüidades inerentes na sua
formulação ou pela disponibilidade dos dados.
Exemplos: Diagnóstico médico, Sistemas de visão.
2. Um problema pode ter uma solução exata, mas o
custo computacional para encontrá-la pode ser
proibitivo.
Exemplo: Jogo de xadrez.
Busca Heurística




As heurísticas podem falhar.
Uma heurística é apenas uma conjectura
informada sobre o próximo passo a ser tomado na
solução de um problema.
A heurística é baseada na experiência e na
intuição.
Uma heurística pode levar um algoritmo de busca
a uma solução subótima ou, inclusive, levá-lo a
não conseguir encontrar uma solução.
George Polya define heurística como “o estudo dos métodos e das regras de descoberta e
invenção” (Polya, 1945) – relacionada com o termo grego original, o verbo eurisco (“Eu
descubro”). Quando Arquimedes emergiu de seu famoso banho segurando a coroa de ouro, ele
gritou “Eureka!” (“Eu descobri!”).
Busca Heurística
Estratégias de Busca Heurística



Usam conhecimento específico do problema na
busca da solução.
Mais eficientes do que a busca não informada.
Algoritmo geral: Busca pela Melhor Escolha - BME
(Best-first search)


Seleciona para expansão o nó que tiver o menor custo
estimado até a meta (objetivo), segundo uma função de
avaliação f(n).
Tipicamente f(n) usa uma função heurística h(n) = custo
estimado do caminho mais econômico do nó n até um nó
objetivo (Restrição inicial: se n é um nó objetivo, h(n)=0).
Busca Heurística




Uma forma de uso da informação heurística sobre
um problema consiste em computar estimativas
numéricas para os nós no espaço de estados;
Uma estimativa indica o quanto um nó é promissor
com relação ao alcance de um nó-objetivo;
A idéia é continuar a busca sempre a partir do nó
mais promissor no conjunto de candidatos;
O programa de busca do melhor caminho (escolha)
é baseado neste princípio.
Busca Heurística



Busca do melhor caminho - pode ser derivada de
um refinamento da busca em largura.
Busca em largura - sempre escolhe para expansão
os menores caminhos-candidatos (isto é, os nós
extremos menos profundos da busca).
Busca do melhor caminho - refina este princípio
calculando uma estimativa heurística para cada
candidato e escolhe para expansão o melhor
candidato de acordo com esta estimativa.
Busca Heurística
Greedy best-first search
(Busca gulosa pela melhor escolha)



Tenta expandir o nó mais próximo à meta, na
suposição de que isso provavelmente levará a uma
solução rápida.
Avalia nós para expandir com base unicamente na
função heurística: f(n) = h(n)
Exemplo: encontrar a melhor rota (rota mais curta)
de uma cidade a outra, num mapa.

h(n) = distância em linha reta entre as cidades e a cidademeta.
Busca Heurística
Exemplo: Localização de rotas na Romênia, usando a
heurística de distância em linha reta (hDLR)
Objetivo: Bucharest (Bucareste)
176
100
Um mapa rodoviário simplificado de parte da Romênia.
Busca Heurística
Busca pela melhor escolha - Busca Gulosa
Distância em linha
reta para Bucharest:
Exemplo – Passo a Passo ...
Fases de uma busca gulosa pela melhor escolha para Bucareste, usando-se a heurística de
distância em linha reta hDLR. Os nós são identificados por seus valores de h.
Exemplo – Passo a Passo ...
Fases de uma busca gulosa pela melhor escolha para Bucareste, usando-se a heurística de
distância em linha reta hDLR. Os nós são identificados por seus valores de h.
Exemplo – Passo a Passo ...
Fases de uma busca gulosa pela melhor escolha para Bucareste, usando-se a heurística de
distância em linha reta hDLR. Os nós são identificados por seus valores de h.
Exemplo – Passo a Passo ...
Fases de uma busca gulosa pela melhor escolha para Bucareste, usando-se a heurística de
distância em linha reta hDLR. Os nós são identificados por seus valores de h.
Fases de uma busca gulosa pela melhor escolha para Bucareste, usando-se a heurística de
distância em linha reta hDLR. Os nós são identificados por seus valores de h.
Busca Heurística
Não é completa

pode entrar em ciclos e não encontrar a solução se
não detectar estados repetidos;

pode se perder em um caminho infinito e nunca
retroceder para tentar outras opções.
Não é ótima

No exemplo encontrou caminho (Arad, Sibiu,
Fagaras, Bucharest) que é 32km maior que (Arad,
Sibiu, Rimnicu Vilcea, Pitesti, Bucharest)

Dependendo do problema e da qualidade da
heurística a complexidade pode ter uma redução
substancial.
Busca Heurística
BME mais “famoso”: Busca A*

Objetivo: Minimizar o custo total estimado da solução.

Função de avaliação:
f(n) = g(n) + h(n)
• g(n) = distância (custo) do nó inicial ao nó n
• h(n) = distância (custo) estimada de n ao nó final
• Assim, f(n) estima o custo da melhor solução que
passa por n.

A* expande o nó de menor valor de f na fronteira
do espaço de estados.
Busca Heurística

Quando n é encontrado pelo processo de busca,
tem-se a seguinte situação:



Um caminho de i para n já deve ter sido encontrado e o seu
custo pode ser calculado como a soma dos custos dos
arcos no caminho, e pode servir como uma estimativa g(n)
do custo mínimo de i para n.
h(n) é mais problemático porque o espaço entre n e t ainda
não foi explorado, e portanto h(n) é meramente um palpite
baseado no conhecimento geral do algoritmo sobre o
problema particular.
Não existe um método universal para construção de h, pois
depende do domínio do problema.
Busca Heurística
Exemplo: Localização de rotas na Romênia, usando a
Busca A*
Objetivo: Bucharest (Bucareste)
176
100
Um mapa rodoviário simplificado de parte da Romênia.
Busca Heurística
Busca pela melhor escolha - Algoritmo A*
Distância em linha
reta para Bucharest:
449
75 + 374
239
239 + 178
140 + 253
220
417
118 + 329
447
393
220 + 193
413
317
418
366
415
455
496
336 + 160
317 + 98
Exemplo – Passo a Passo ...
Exemplo – Passo a Passo ...
Exemplo – Passo a Passo ...
Exemplo – Passo a Passo ...
Exemplo – Passo a Passo ...
Exemplo – Passo a Passo
Estágios em uma busca A*
por Bucareste. Os nós estão
rotulados
f = g + h. Os
valores de h são distâncias
em linha reta para Bucareste.
Busca Heurística
Desempenho do A*


A análise do caráter ótimo de A* é direta se for usada
com BUSCA-EM-ÁRVORE: A* será ótima se h(n) for
uma heurística admissível.
Conseqüência mais importante da consistência
(também chamada monotonicidade) é: A* usando
BUSCA-EM-GRAFO é ótima se h(n) é consistente.
Busca Heurística
Desempenho do A*

A* é completa e ótima se h(n) for admissível ou
consistente
• h admissível: nunca superestima o custo de atingir
a meta
• h consistente (ou monotônica):
h(n)  c(n,a,n’ )  h(n’ ) , n, n’
– n’ é sucessor de n, gerado pela ação a;
– c(n,a,n’) é o custo de sair de n e atingir n’.
– Se h é consistente, os valores de f(n) ao longo de qualquer
caminho são não-decrescentes.
Busca Heurística
Desempenho do A*




A* é otimamente eficiente: nenhum outro algoritmo
ótimo garante expandir menos nós que A*.
Infelizmente há, na maioria das vezes, crescimento
exponencial do número de nós com o comprimento
da solução (complexidade temporal).
O maior problema é a complexidade espacial: A*
armazena todos os nós gerados!
Assim, A* não é aplicável em muitos problemas de
grande escala. Usa-se variantes que encontram
soluções subótimas.
Busca Heurística
Com Memória Limitada


IDA* (Iterative Deepening A*)
 igual ao aprofundamento iterativo, porém seu
limite é dado pela função de avaliação (f) , e não
pela profundidade (d).
 necessita de menos memória do que A*
SMA* (Simplified Memory-Bounded A*)
 O número de nós guardados em memória é fixado
previamente.
Busca Heurística

Solução de problemas usando técnicas de busca
heurística:



Função de avaliação: compromisso (conflito)
entre



dificuldades em definir e usar a função de avaliação
não consideram conhecimento genérico do mundo (ou
“senso comum”)
tempo gasto na seleção de um nó e
redução do espaço de busca
Achar o melhor nó a ser expandido a cada passo
pode ser tão difícil quanto o problema da busca
em geral.
Download