Disciplina: Inteligência Artificial (IA) Fundamentos e História da IA

Propaganda
Disciplina: Inteligência Artificial (IA)
Fundamentos e História da IA
• Denominamos nossa espécie Homo sapiens – homem sábio – porque nossas capacidades
mentais são muito importantes para nós.
• Durante milhares de anos, procuramos entender como pensamos, isto é, como um mero
punhado de matéria pode perceber, compreender, prever e manipular um mundo muito maior e
mais complicado que ela própria.
• O campo da inteligência artificial, ou IA, vai ainda mais além: ele tenta não apenas
compreender, mas também construir entidades inteligentes.
• A IA é uma das ciências mais recentes. O trabalho começou logo após a
Segunda Guerra Mundial, e o próprio nome foi cunhado em 1956.
• Juntamente com a biologia molecular, a IA é citada regularmente como “o campo em que eu
mais gostaria de estar” por cientistas de outras disciplinas, devido ao grande interesse em
estudá-la.
• Atualmente a IA abrange uma enorme variedade de subcampos, desde áreas de uso geral,
como aprendizado e percepção, até tarefas específicas como jogos de xadrez, demonstração
de teoremas matemáticos, criação de poesia e diagnóstico de doenças.
• A IA sistematiza e automatiza tarefas intelectuais e, portanto, é potencialmente relevante para
qualquer esfera da atividade intelectual humana.
• Várias são as definições de Inteligência Artificial:
• “Inteligência Artificial (IA) pode ser definida como o ramo da Ciência da Computação que se
ocupa da automação do comportamento inteligente”
(Luger, 2004).
• “O novo e interessante esforço para fazer os computadores pensarem ... Máquinas com
mentes, no sentido total e literal” (Haugeland, 1985).
• “O estudo das faculdades mentais pelo uso de modelos computacionais”
(Charniak e McDermott, 1985).
• “A arte de criar máquinas que executam funções que exigem inteligência quando executadas
por pessoas” (Kurzweil, 1990).
• “IA é a parte da Ciência da Computação que compreende o projeto de sistemas
computacionais que exibam características associadas, quando presentes no comportamento
humano, à inteligência”.
Fundamentos
• Algumas disciplinas contribuíram com idéias, pontos de vista e técnicas para IA.
• Filosofia (de 428 a.C. até a atualidade)
• Regras formais podem ser usadas para obter conclusões válidas?
• Como a mente (o intelecto) se desenvolve a partir de um cérebro físico?
• De onde vem o conhecimento?
• Como o conhecimento conduz à ação?
• Aristóteles (384-322 a.C) foi o primeiro a formular um conjunto preciso de leis que governam a
parte racional da mente.
• Ele desenvolveu um sistema informal de silogismos para raciocínio apropriado que, em
princípio, permitiram gerar conclusões mecanicamente, dadas as premissas iniciais.
• Muito mais tarde, apresentaram a idéia de que o raciocínio poderia ser conduzido por um
artefato mecânico e que o raciocínio era semelhante à computação numérica, ou seja,
efetuamos somas e subtrações em nossos pensamentos.
• René Descartes (1596 – 1650) apresentou a primeira discussão clara da distinção entre
mente e matéria. Um dos problemas relacionados com uma concepção puramente física da
mente é o fato de que ela parece deixar pouco espaço para o livre arbítrio.
• Descartes era um proponente do dualismo, sustentando que havia parte da mente humana
(ou alma, ou espírito) que transcende a natureza, isenta das leis físicas.
• Uma alternativa ao dualismo é o materialismo. O materialismo sustenta a idéia que a
operação do cérebro de acordo com as leias da física constituem a mente.
• A indução, proposta por Hume em 1739, em que regras gerais são adquiridas pela exposição
a associações repetidas entre seus elementos.
• Matemática (cerca de 800 até a atualidade)
• Quais são as regras formais para obter conclusões válidas?
• O que pode ser computado?
• Como raciocinamos com informações incertas?
• Os filósofos demarcaram a maioria das idéias importantes sobre IA, mas o salto para uma
ciência formal exigiu um certo nível de formalização matemática em três áreas fundamentais:
• Lógica
- Lógica Proposicional: tudo é verdadeiro ou falso. Fatos do mundo Real.
- Lógica de Primeira Ordem: além da Lógica Proposicional. Representa melhor o
conhecimento.
• Computação
- Algoritmos, Linguagens de Programação, Banco de Dados, etc.
- Probabilidade
• Teoria da Probabilidade: tratar as incertezas
Neurociência (de 1861 até a atualidade) - Como o cérebro processa informações?
• A neurociência é o estudo do sistema nervoso, em particular o cérebro. O modo exato como o
cérebro habilita o pensamento é um dos grandes mistérios da ciência.
• Nessa época sabia-se que o cérebro consistia de células nervosas ou neurônios, e que cada
neurônio consiste em um corpo celular, que contém um núcleo celular. Ramificando-se, há uma
série de fibras chamadas dendritos e uma única fibra longa chamada axônio.
• Um neurônio faz conexões com 10 a 100.000 outros neurônios em junções chamadas
sinapses.
• Conclui-se que uma coleção de células simples pode levar ao pensamento, à ação e à
consciência ou, em outras palavras, que cérebros geram mentes.
Psicologia (de 1879 até a atualidade) - Como os seres humanos e os animais pensam e
agem?
• A Psicologia tem suas origens científicas pelo alemão Hermann (1821-1894).
• Kenneth Craik (1943) deu continuidade a modelagem cognitiva, especificando os três passos
fundamentais de um agente baseado no conhecimento:
– O estímulo deve ser traduzido em uma representação interna.
– A representação é manipulada por processos cognitivos para derivar novas representações
internas
– Essas representações são traduzidas em ações.
• Hoje é comum entre os psicólogos a visão de que “uma teoria cognitiva deve ser como um
programa de computador” (Anderson, 1980).
Lingüística (de 1957 até a atualidade) - Como a linguagem se relaciona ao pensamento?
• Naom Chomsky propôs a teoria de Chomsky baseada em modelos sintáticos, sendo formal o
bastante para poder ser programada.
• Chomsky propôs que os seres humanos possuem uma gramática préformatada, isto é,
teríamos um dispositivo de aquisição de linguagem estando biologicamente pré-configurado
para adquirir conhecimento.
• A lingüística morderna e a IA “nasceram” aproximadamente na mesma época e se cruzaram
em um campo chamado lingüística computacional ou processamento de linguagem natural.
• História da IA (1943 – 1955)
• O primeiro trabalho reconhecido por IA foi realizado por Warren McCulloch e Walter Pitts
(1943).
• Eles se basearam em três fontes:
– Conhecimento da fisiologia básica e da função dos neurônios no cérebro;
– Análise formal da lógica proposicional;
– Teoria da computação de Turing;
• Surgiram vários exemplos de trabalhos que hoje podem ser considerados como IA, mas foi
Alan Turing quem primeiro articulou uma visão completa da IA em seu artigo de 1950 intitulado
“Computing Machinery and Intelligency”.
• Nesse artigo ele apresentou o teste de Turing.
• O Teste de Turing, que na versão original é chamado de jogo de imitação ( do inglês imitation
game) tem as seguintes regras:
• Ele é jogado por três pessoas, um homem (A), uma mulher (B) e um interrogador (C) que
pode ser de qualquer sexo.
• O interrogador fica em uma sala à parte dos outros dois.
• Objetivo: quem é o homem e quem é a mulher?
• Ele conhece os rótulos X e Y e no final deve dizer se X é A ou B e se Y é A ou B.
• Uma máquina pode ou não pensar???
• O teste de Turing mede o desempenho de uma máquina aparentemente inteligente, em
relação ao desempenho de um ser humano.
• O Teste de Turing, propriamente, consiste em substituir um dos participantes, A ou B, por
uma máquina. (Figura 1).
• O interrogador não é capaz de ver nenhum dos dois participantes ou de falar diretamente com
eles.
Figura 1: Teste de Turing
• Ele também não sabe qual entidade é a máquina, e só pode se comunicar com eles através
do uso de um dispositivo textual, como um terminal.
• A tarefa do interrogador é distinguir o computador do ser humano utilizando apenas as suas
respostas a perguntas formuladas através deste dispositivo.
• Se o interrogador não puder distinguir a máquina do ser humano, então, argumenta Turing,
pode-se supor que a máquina seja inteligente.
• Isolando-se o interrogador, tanto da máquina como do outro participante humano, o teste
assegura que ele não será influenciado pela aparência da máquina ou por qualquer outra
propriedade mecânica de sua voz.
• O computador será programado para se passar por um humano, com conhecimento sobre
alguns assuntos a serem perguntados.
• O interrogador pode fazer questões previamente estipuladas, o que tornaria mais difícil
identificar quem é o homem e quem é a máquina.
• Em um teste mais rígido, o interrogador seria livre para fazer qualquer pergunta, não
importando quão direta ou indireta ela seja, num esforço para descobrir a identidade do
computador.
• As características importantes deste teste são:
1. Ele nos dá uma noção objetiva de inteligência, isto é, o comportamento de um ser
sabidamente inteligente em resposta a um conjunto particular de questões. Isto nos fornece um
padrão para determinar inteligência, evitando os debates inevitáveis sobre a sua “verdadeira”
natureza.
2. Ele evita que sejamos desviados por estas questões confusas e atualmente irrespondíveis,
por exemplo, se um computador usa ou não os processos internos adequados ou se a máquina
tem ou não consciência de suas ações.
3. Ele elimina qualquer viés em favor dos organismos vivos, forçando o interrogador a focar
apenas no conteúdo das respostas às questões.
• Porém, já chegamos ao fim do século e nenhuma máquina conseguiu passar,
consistentemente, no teste de Turing.
• Alguns computadores, devidamente programados, conseguiram passar por versões
simplificadas do teste, contudo, sempre esteve ausente o atributo mental do entendimento.
• “O maior desafio é dar bom senso às máquinas, e bom senso é essencial para passar no
teste de Turing” (Marvin Minsky, MIT).
• Em 1950, Turing previu que, no ano 2000, as máquinas passariam rotineiramente nesse
teste. Errou !!!.
• Até hoje nenhum computador sequer chegou perto de se passar por humano
• Nenhum juiz sequer foi enganado.
• Todo ano a Universidade de Cambridge - Inglaterra, organiza um Teste de
Turing oficial, o Loebner Prize. Funciona assim: dez pessoas são escolhidas para serem juízes
e têm que conversar 15 minutos por e-mail com alguém que pode tanto ser um humano quanto
um computador.
• Um exemplo de teste:
• Um dos diálogos abaixo é entre dois humanos. O outro é entre um humano e um computador,
que é especialista em conversar e vencedor do Prêmio Loebner de 2000.
• Diálogo 1:
Juiz - Eu tenho que decidir se você é um homem ou uma máquina. Imagino que, se eu decidir
que você é uma máquina, vai ser um golpe para seu ego.
Candidato 1 - Verdade. Seria um pouco embaraçoso, mas daria uma boa história para contar.
Juiz - Te mandaria direto para um psicólogo.
Candidato 1 - Acho que não ....
Juíz - Por que não?
Candidato 1 - Prefiro me aconselhar com amigos.
• Diálogo 2:
Juíz - Qual é o seu nome?
Candidato 2 - Alice. Qual é o seu?
Juiz - Madonna.
Candidato 2 - Madonna, prazer em conhecê-la.
Juíz - Você já foi ao País das Maravilhas, Alice?
Candidato 2 - Já estive no mundo todo, pela internet.
Juíz - Qual é o seu lugar favorito?
Candidato 2 - Não tenho um lugar favorito. Minha cor favorita é verde.
• O candidato 2 é o computador. Note como ele não responde diretamente às perguntas, mas
desvia delas.
• É uma tática para que possa responder mesmo sem compreender o que o juiz pergunta.
Neste trecho de apenas 1 minuto (para passar no teste ele teria que aguentar 15 minutos), a
máquina foi especialmente feliz.
• Respondeu corretamente as perguntas e até poderia passar no teste de Turing?
• Porém: O TESTE PROVA INTELIGÊNCIA?
• O nascimento da IA (1956)
• Princeton foi o lar de outra figura influente em IA.
• John McCarthy reuniu pesquisadores dos Estados Unidos interessados em teoria de
autômatos, redes neurais e no estudo da inteligência.
• Foi realizado um seminário de dois meses em Dartmouth no versão de 1956.
• Haviam 10 participantes mas o destaque foi de Allen Newell e Herbert Simon.
• Ele apresentaram uma programa de raciocínio chamado Logic Theorist.
• Simon afirmou: “Criamos um programa de computador capaz de pensar não numericamente e
assim resolvemos o antigo dilema mente-corpo”.
• O programa foi capaz de criar uma prova de um teorema que era mais curta que a de um livro
de matemática chamado “Principia Mathematica”.
• O seminário apresentou uns aos outros todos os personagens importantes da história.
• O resultado mais duradouro do seminário foi adotar o nome “Inteligência Artificial” sugerido
por McCarthy.
• É possível que “racionalidade computacional” fosse melhor, mas “IA” foi o nome que se fixou.
• Entusiasmo inicial, grandes expectativas (1952 – 1969)
• Os primeiros anos da IA foram repletos de sucesso, mas de uma forma limitada.
• Considerando-se os primitivos computadores, as ferramentas de programação de época e o
fato de que apenas alguns anos antes os computadores eram vistos como objetos capazes de
efetuar operações aritméticas, causava surpresa o fato de um computador realizar atividade
inteligente.
• Newell e Simon prosseguiram com o General Problem Solver (Solucionador de Problemas
Gerais) que diferente do Logic Theorist, foi projetado desde o início para imitar protocolos
humanos de resolução de problemas.
• Em 1959 Herbert Gelernter construiu o Geometry Theorem Prover, que demonstrava
teoremas que eram considerados complicados por muitos alunos de matemática.
• Em 1967 o programa STUDENT de Daniel Bobrow resolvia problemas clássicos de álgebra,
como este:
• Se o número de clientes que Tom consegue é igual ao dobro do quadrado de 20% do número
de anúncios que ele publica, e se o número de anúncios publicados é 45, qual é o número de
clientes que Tom consegue?
• Em 1968 Tom Evans criou o programa ANALOGY que resolvia problemas de analogia
geométrica que aparecem em testes de QI. (Figura 2)
Figura 2 – Um exemplo de problema resolvido pelo programa ANALOGY
• Uma dose de realidade (1966 – 1973)
• Desde o início pesquisadores da IA eram ousados nos prognósticos de seus sucessos
futuros.
• Porém algumas dificuldades surgiram. O primeiro tipo de dificuldade surgiu porque a maioria
dos primeiros programas continha pouco ou nenhum conhecimento e obtinham sucesso por
meio de manipulações sintáticas simples.
• Um dos problemas está relacionado a tradução de documentos científicos.
• Imaginava-se que um documento em um idioma, exemplo russo, baseado em transformações
sintáticas simples nas gramáticas russas e a substituição de palavras com a utilização de um
dicionário seriam suficientes para preservar os significados exatos das orações.
• Como a tradução exige conhecimento geral do assunto para solucionar ambigüidades e
estabelecer o conteúdo da sentença, várias traduções apresentaram dificuldades.
• Um segundo tipo de dificuldade foi a impossibilidade de tratar muitos dos problemas que a IA
estava tentando resolver. A maior parte dos primeiros programas de IA resolvia problemas
experimentando diferentes combinações de passos até encontrar a solução.
• Essa estratégia funcionou inicialmente com poucos objetos e pequenas ações e seqüências
de soluções curtas. A complexidade de situações foi um grande problema.
• Sistemas baseados em conhecimento (1969 – 1979)
• O quadro de resolução de problemas que havia surgido durante a primeira década de
pesquisas em IA foi o de um mecanismo de busca de uso geral que procurava reunir passos
elementares de raciocínio para encontrar soluções completas.
• Tais abordagens foram chamadas de métodos fracos porque, embora gerais, não podiam ter
aumento de escala para instâncias de problemas grandes ou difíceis.
• Adotando essa abordagem surge uma nova metodologia chamada sistema especialista.
• O primeiro sistema foi o MYCIN que servia para diagnosticar infecções sanguíneas. Com
cerca de 450 critérios (regras), o MYCIN foi capaz de se sair tão bem quanto alguns
especialistas, e muito melhor do que médicos em início de carreira.
• A IA se torna uma indústria (de 1980 até hoje)
• O primeiro sistema especialista comercial bem-sucedido, o R1, iniciou sua operação na Digital
Equipment Corporation (McDermott, 1982).
• O programa ajudou a configurar pedidos de novos sistemas de computadores.
• Em 1986 ele ajudou a empresa a economizar 40 milhões de dólares por ano.
• Em 1988, o grupo de IA da DEC tinha 40 sistemas especialistas entregues, com outros sendo
produzidos.
• Quase todas as corporações importantes dos Estados Unidos tinham seu próprio grupo de IA
e estavam usando ou investigando sistemas especialistas.
• O retorno das redes neurais (de 1986 até hoje)
• Embora a Ciência da Computação tenha em grande parte abandonado o campo de redes
neurais no final dos anos 70, o trabalho continuou em outros campos.
• Denomina-se os modelos conexionistas.
• Muitos viam esses sistemas como concorrentes diretos dos modelos simbólicos
(sistemas especialistas).
• Hoje abordagens simbolistas e conexionistas são vistas como complementares e não
concorrentes.
• O surgimento de agentes inteligentes (de 1995 até hoje)
• Encorajados pelo progresso na resolução dos subproblemas da IA, pesquisadores também
começaram a examinar mais uma vez o problema do “agente como um todo”.
• Em 1990 o trabalho de Newell é o exemplo mais conhecido de uma arquitetura completa de
agente. O objetivo é compreender o funcionamento interno de agentes incorporados a
ambientes reais com entradas sensoriais contínuas.
• O que a IA pode fazer hoje?
• É difícil uma resposta concisa, porque existem muitas atividades em vários
subcampos.
• Algumas aplicações:
• Planejamento autônomo e escalonamento: a uma centena de milhões de quilômetros da
Terra, o programa Remote Agent da NASA se tornou o primeiro programa de planejamento
autônomo de bordo a controlar o escalonamento de operações de uma nave espacial.
• O Remote Agent gerou planos de metas de alto nível especificadas a partir do solo e
monitorou a operação da nave espacial à medida que osplanos eram executados – efetuando a
detecção, o diagnóstico e a recuperação de problemas conforme eles ocorriam.
• Jogos: o Deep Blue da IBM se tornou o primeiro programa de computador a derrotar o
campeão mundial em uma partida de xadrez, ao vencer Gary Kasparov por um placar de 3,5 a
2,5 em uma partida de exibição.
• Kasparov disse que sentiu “uma nova espécie de inteligência” do outro lado do tabuleiro.
• Controle autônomo: o sistema de visão de computador ALVINN foi treinado para dirigir um
automóvel, mantendo-o na pista. Ele foi colocado em uma minivan controlada por computador
e foi utilizado para percorrer os Estados Unidos. Ao longo de 4.600km o ALVINN manteve o
controle da direção do veículo durante 98% do tempo.
• Diagnóstico: programas de diagnóstico médico baseados em análise probabilística foram
capazes de executar as tarefas no nível de um médico especialista em diversas áreas da
medicina.
• Planejamento Logístico: durante a crise do Golfo Pérsico em 1991, as forças armadas dos
Estados Unidos utilizaram a ferramenta Dynamic Analysis and Replanning para planejamento
logístico automatizado e a programação de execução de transportes. As técnicas de
planejamento geraram em algumas horas um plano que exigiria semanas para ficar pronto com
outros métodos.
• Robótica: muitos cirurgiões agora utilizam robôs assistentes em microcirurgias. Um exemplo
é o HipNav que é um sistema que emprega técnicas de visão computacional para criar um
modelo tridimensional da anatomia interna de um paciente.
• Reconhecimento de linguagem: o PROVERB é um programa que resolve quebra-cabeças
de palavras cruzadas melhor que a maioria dos seres humanos.
• O projeto BRI.A.N é um aplicativo de IA que simula a conversa em linguagem natural.
• A personagem Digi Expert (DIGI) é uma atendente virtual programada para responder a
perguntas gerais.
• Link: http://www.brian.com.br/digi.aspx
• A Petrobras também possui seu robô capaz de conversar com usuários como se fosse um
atendente real. Ele fala sobre assuntos relacionados ao uso de energia, derivados de petróleo,
meio ambiente, etc.
• Link: http://www.ed.conpet.gov.br/converse.php
EXERCÍCIOS
1. O que é Inteligência Artificial? Quais são seus propósitos? Quando surgiu a IA?
Temos várias definições importantes:
• “Inteligência Artificial (IA) pode ser definida como o ramo da Ciência da Computação que se
ocupa da automação do comportamento inteligente” (Luger, 2004).
• “O novo e interessante esforço para fazer os computadores pensarem Máquinas com mentes,
no sentido total e literal” (Haugeland, 1985).
• “O estudo das faculdades mentais pelo uso de modelos computacionais” (Charniak e
McDermott, 1985).
• “A arte de criar máquinas que executam funções que exigem inteligência quando executadas
por pessoas” (Kurzweil, 1990).
• “IA é a parte da Ciência da Computação que compreende o projeto de sistemas
computacionais que exibam características associadas, quando presentes no comportamento
humano, à inteligência”.
O propósito da IA é sistematizar e automatizar tarefas intelectuais e, portanto, é potencialmente
relevante para qualquer esfera da atividade intelectual humana. A IA surgiu em 1956, mas
remota a várias áreas do saber desde o seu surgimento.
2. Quais foram as disciplinas que contribuíram para a IA? Qual foi a contribuição de cada
disciplina?
a. Filosofia b. Matemática c. Neurociência d. Psicologia e. Lingüística
3. Quem foi Alan Turing? Explique o funcionamento do Teste de Turing.
Alan Turing foi quem primeiro articulou uma visão completa da IA em seu artigo de 1950
intitulado “Computing Machinery and Intelligency”.
O Teste de Turing, que na versão original é chamado de jogo de imitação ( do inglês imitation
game) tem as seguintes regras:
• Ele é jogado por três pessoas, um homem (A), uma mulher (B) e um interrogador (C) que
pode ser de qualquer sexo.
• O interrogador fica em uma sala à parte dos outros dois.
• Objetivo: quem é o homem e quem é a mulher?
• Ele conhece os rótulos X e Y e no final deve dizer se X é A ou B e se Y é A ou B.
4. Turing fez uma previsão que nos anos 2000 as máquinas passariam no em seu teste. Isso
foi possível? Comente.
Não foi possível. O maior desafio é dar bom senso às máquinas, e bom senso é essencial para
passar no teste de Turing e ainda não foi possível programar isso nas máquinas.
5. Se não é possível provar que uma máquina é inteligente, como a IA classifica um sistema
dentro de sua linha de pesquisa?
Ainda não é possível provar totalmente. De acordo com Turing, se uma máquina for capaz de
passar no teste ela será considerada inteligente. A IA classifica um sistema através da IA fraca,
que corresponde aos sistemas que simulam o comportamento de agentes inteligentes, como
médicos. Esse sistema é chamado Especialista.
A IA forte corresponde a linha de pesquisa que busca criar modelos de mente, semelhante ao
nosso Sistema Nervoso, como dendritos, núcleo e axônios, fazendo assim as sinapses. Seriam
realmente modelos de mentes. A esse sistema chamamos de Redes Neurais Artificiais.
6. A IA possui métodos fracos e métodos fortes. Explique a diferença.
Vide explicação dada na resposta acima.
7. Quais são os sistemas que utilizam métodos fracos? Sistemas especialistas
8. Quais são os modelos que utilizam métodos fortes?
Sistemas Neurais artificicais.
9. O que a IA pode fazer hoje? Cite exemplos
Jogos, diagnósticos, planejamento estratégico de viagens espaciais, robótica, reconhecimento
de linguagem.
REPRESENTAÇÃO DO CONHECIMENTO
• Informação X Conhecimento
• Informação: Dados sobre alguém ou algo. – Ex.: Variação do dólar nos dois últimos anos.
• Conhecimento: Noção adquirida pelo estudo ou pela experiência. – Ex.: Análise da variação
do dólar nos dois últimos anos.
• Embora estas definições sejam bastante gerais, mostram que a informação é uma forma
(escrita, falada, etc.) de se representar e transmitir conhecimento.
Porém, não é conhecimento. Mas, então, o que seria conhecimento?
• No campo da Inteligência Artificial, um dos resultados obtidos nas três primeiras décadas de
pesquisa é que a inteligência requer conhecimento.
Porém, sendo o conhecimento algo abstrato, não há como tratá-lo de uma maneira puramente
lógica.
• Considere, por exemplo, certas características do conhecimento como:
– ele é volumoso;
– é difícil caracterizá-lo com precisão;
– ele está mudando constantemente;
– ele difere de uma simples informação, por organizar-se de uma maneira que corresponde ao
modo como será usado.
• Conhecimento em IA
• Uma técnica de IA consiste na especificação do conhecimento necessário a uma capacidade
cognitiva.
• Por capacidade cognitiva entende-se:
– solução de problemas;
– uso de linguagem;
– tomada de decisões;
– percepção e controle motor.
• Esta abordagem considera a INFERÊNCIA como a principal capacidade cognitiva na
resolução de problemas. A capacidade de inferir é a capacidade de deduzir novos
conhecimentos a partir de conhecimentos já existentes.
• Inteligência: Faculdade de entendimento.
• Entendimento: É a capacidade de entender alguma coisa, ou seja, de reconhecer o seu
significado.
• Teorias de Inteligência:
– 1ª - Inteligência é uma propriedade não física de organismos vivos, a qual não pode ser
recriada numa máquina.
– 2ª - Inteligência é uma propriedade emergente de um sistema complexo: microprocessadores
são organismos compostos que podem induzir um comportamento inteligente.
• A primeira teoria é baseada em dualismo. Isto é, a mente e o corpo são duas entidades
distintas. A mente pode ser vista como a consciência humana. Desse ponto de vista o conceito
de inteligência está ligado à espiritualidade, o que é puramente filosófico e não conhecido.
Assim, seria impossível recriá-la.
• A segunda teoria identifica inteligência como uma propriedade envolvida em sistemas
complexos. Como, por exemplo, o desempenho de microprocessadores. Nesse sentido,
inteligência poderia ser recriada.
• De acordo com as definições de inteligência apresentadas, surgem questões como:
– Pode uma máquina ser inteligente?
– Pode uma máquina pensar?
– Pode uma máquina aprender?
– Pode uma máquina tomar decisões baseadas na realidade?
• Definição de máquina: sistema físico capaz de desempenhar determinadas funções.
• Recentemente, pesquisadores têm dado um enfoque diferente a essas questões. Em lugar
dessas perguntas clássicas, outras estão sendo colocadas:
– Pode uma máquina pensar apenas por conter um programa?
– Um programa é por ele mesmo constituído de inteligência?
• Alguns pesquisadores afirmam que um programa que passe no Teste de Turing seria
considerado mais do que um modelo da mente, ele seria literalmente uma mente, no mesmo
sentido em que a mente humana é mente. É claro que nem todos os pesquisadores aceitam
esse fato como verdade. Uma visão mais sensata é pensar sobre computadores estudando a
mente humana da mesma maneira como os computadores podem estudar o tempo, estatística
ou economia.
• Essa primeira abordagem que acredita que um programa de computador que saiba
desempenhar funções tão bem como um ser humano está de fato executando o papel da
mente humana, é chamada de Inteligência Artificial
Forte ( do inglês Strong AI).
• A segunda corrente que considera a IA um ramo como outro qualquer da
Computação é chamada de Inteligência Artificial Fraca (do inglês Weak AI).
• A corrente da IA Forte clama que “a mente está para o cérebro assim como o programa
(software) está para o hardware”. Logo, essa corrente defende que, se um programa de
computador é capaz de entender e gerenciar símbolos ( sejam eles números, letras, símbolos
do idioma chinês, etc.) ele tem a capacidade de pensar como um ser humano pensaria na
mesma situação.
• Um contra-exemplo à essa linha da IA Forte é a Sala Chinesa.
• É uma “argumentação” utilizada para provar que, mesmo um programa executando funções
“semelhantes” às que os seres humanos desempenham, isto não lhes confere o “status” de
inteligência.
• A situação chamada de Sala Chinesa é a seguinte:
• Considere uma linguagem que alguém não entende. Seja essa linguagem o Chinês. Para
essa pessoa a linguagem é um conjunto de símbolos sem significado algum.
• Agora, suponha que essa pessoa é colocada em uma sala onde existam cestas cheias de
símbolos que representam o idioma Chinês.
• Considere também que esta pessoa receba um livro escrito em português (ou no seu idioma
original) o qual contém as regras para compor os símbolos e montar frases em Chinês. O livro
indica as regras através da forma dos símbolos e não requer nenhum raciocínio sobre os
símbolos. Logo, para entender o livro, basta saber reconhecer as formas dos símbolos e como
colocá-los lado a lado para formar palavras.
• Para haver “comunicação” com a pessoa na sala, pessoas do lado de fora que conhecem
Chinês também manipulam símbolos e através deles “mostram” as perguntas para a pessoa
dentro da sala.
• A comparação com o computador seria: o livro de regras é o programa do computador. As
pessoas que o escreveram são os programadores e a pessoa na sala é o computador. As
cestas com os símbolos são o Banco de Dados, os símbolos manipulados pelas pessoas
do lado de fora são a interface de entrada e os símbolos manipulados pela pessoa na sala
são a interface de saída.
Figura 1 – Ilustração do Teste da Sala Chinesa – contra-exemplo da IA Forte
• Suponha agora que as respostas da pessoa na sala (a qual não sabe Chinês) não são
distinguíveis das respostas de uma pessoa que conhece Chinês. Por exemplo, as pessoas do
lado de fora podem manipular símbolos ( os quais a pessoa dentro da sala não conhece)
formando a pergunta: - Qual sua cor favorita?
• Após consultar as regras do livro as quais indicam quais cestas e símbolos deve ser buscada,
a pessoa dentro da sala colocaria os símbolos que respondessem:
“Minha cor favorita é azul”. Respondendo à pergunta, essa pessoa satisfez o
Teste de Turing para entender Chinês.
• Porém, essa pessoa ignora completamente o idioma Chinês. Além disso, não haveria
possibilidade de aprender Chinês através do livro de regras apresentado a ela, uma vez que o
significado dos símbolos não eram apresentados.
• Como um computador, essa pessoa manipulou símbolos, mas não atribuiu significado aos
símbolos.
• A idéia principal desse contra-exemplo à corrente da IA Forte é a seguinte: se uma pessoa
não consegue entender Chinês somente seguindo um algoritmo a ela apresentado, então um
computador também não entende Chinês apenas pelo fato de seguir um algoritmo e
“responder” perguntas feitas em Chinês. • Assim, computadores apenas interpretam
símbolos formais de acordo com as regras apresentadas no software.
• O que é apresentado para a Sala Chinesa também pode ser aplicado para as outras formas
de cognição. Apenas o fato de gerenciar símbolos não é garantia de cognição, percepção,
entendimento e assim por diante. E, como
computadores são meros gerenciadores de símbolos, executar um programa de computador
não é garantia de cognição.
• Esse contra-exemplo é um dos argumentos da corrente da IA Fraca contra os defensores da
IA Forte.
• A corrente da IA Fraca afirma que computadores podem simular certos desempenhos
em algumas áreas de maneira similar aos seres humanos, considerando principalmente
a maneira como o conhecimento é representado, porém isso não os coloca no patamar
de possuidores de “inteligência”.
Abordagens da Representação do Conhecimento
SIMBOLISTA CONEXIONISTA
SISTEMAS ESPECIALISTAS REDES NEURAIS ARTIFICIAIS
RACIOCINIO BASEADO EM RACIOCINIO BASEADO EM
SIMBOLOS CONEXÕES
• Simbolista: linha da inteligência artificial que representa o conhecimento baseado em
símbolos usa de regras e inferência (o mesmo que raciocinar, deduzir).
• Os Sistemas Especialistas, Lógica de Predicados são exemplos do Simbolismo.
• Sistemas Especialistas:
– São sistemas que buscam imitar o comportamento de um especialista humano em alguma
área do conhecimento. Ex: médico, engenheiro, etc.
– O Sistemas Especialistas possuem uma base de conhecimento que é o local onde o
conhecimento é armazenado.
• Esses sistemas trabalham com Regras e Fatos.
• Regra: verdade condicional
– Exemplo:
• Se temperatura_corpo >= 38
• Então febre
• Fato: verdade incondicional (não necessita de condição)
• Exemplo:
– Pessoa em estado febril
– Pessoa com febre
– Pessoa com febre alta
• Exemplo de Regras e Fatos: Considere a área de conhecimento Zoologia:
– Todo artrópode de seis patas é inseto
– Todos os insetos são invertebrados
– A abelha é artrópode
– A abelha tem seis patas
• Regras:
– Se artrópode (x) e número de patas (x, 6)
– Então inseto (x)
• Fatos:
– artrópode (abelha)
– número de patas (abelha, 6)
• Exercício de Fixação:
Crie regras e os fatos que simule o raciocínio para o seguinte conhecimento:
– João é homem (fato)
– Maria é mulher (fato)
– Joaquim é pai de João (fato)
– Joaquim é pai de Maria (fato)
– Ana é mãe de João (fato)
– Ana é mãe de Maria (fato)
– Duas pessoas tem grau de parentesco de irmãos se pelo menos uma é do sexo masculino e
têm mesmos pai e mãe.(regras)
Resolução
Fatos (Resolução através da Lógica de Predicados e Atributos)
– Homem (João)
– Mulher (Maria)
– Pai_de (Joaquim, João)
– Pai_de (Joaquim, Maria)
– Mãe_de (Ana, João)
– Mãe_de (Ana, Maria)
• Regras:
– Se a pessoa é homem
– Então pessoa é do sexo masculino
– Se (pessoa1 ou pessoa2 é do sexo masculino) e (pai de pessoa1 é o mesmo pai de pessoa2)
e (mãe de pessoa1 é a mesma mãe de pessoa2)
– Então pessoa1 e pessoa2 são Irmãos
• Heurística: método “empírico” de solução de problemas através de avaliação de experiências
passadas e caminhar em direção à uma solução através de tentativa e erro.
• Exemplo: caminhar desta sala até a entrada principal da faculdade.
• Pelo método heurístico, não há necessidade de se encontrar um caminho mínimo, mas um
caminho bom.
• Heurística em Sistemas Especialistas: executar as regras de maneira a encontrar uma boa
solução para o problema, não necessariamente a solução ótima.
• Conexionismo: linha da Inteligência Artificial que tenta simular o comportamento do cérebro.
• Redes Neurais Artificiais: métodos de se representar o conhecimento. São técnicas
computacionais que apresentam um modelo matemático inspirado na estrutura neural de
organismos inteligentes e que adquirem conhecimento por meio da experiência.
• Redes Neurais Artificiais (RNA) são métodos de se representar o conhecimento.
• São modelos matemáticos que descrevem o comportamento do cérebro humano.
• As Redes Neurais Naturais são formadas por neurônios.
• O elemento básico de uma RNA é o neurônio artificial. O neurônio artificial tem características
similares ao neurônio biológico.
• As unidades que ligam os neurônios, isto é, conectam os dendritos aos axônios, são
chamadas de sinapses.
• A sinapse é o mecanismo transmissor de informação entre os neurônios.
• As Redes Neurais Naturais são formadas por neurônios
Figura 2 – Rede Neural Natural
• Uma rede neural artificial possui neurônios artificiais, que simulam o neurônio natural.
Entradas da rede neural (dendritos)
Figura 3 - Representação Funcional do Neurônio de McCullock-Pitts (1943).
Resolução de Problemas
Mecanismos de Buscas
• O agente de resolução de problemas decide o que fazer encontrando seqüências de ações
que levam a estados desejáveis.
• Exemplo de Situação:
Imagine um agente na cidade de Arad, na Romênia, aproveitando uma viagem de férias. O
agente tem uma passagem não reembolsável para partir para Bucharest na manhã seguinte.
Nesse caso faz sentido para o agente adotar o objetivo de chegar a Bucharest.
• Os objetivos ajudam a organizar o comportamento, limitando as metas que o agente está
tentando alcançar. A formulação de objetivos, baseada na situação atual e na medida de
desempenho do agente, é o primeiro passo para a resolução de problemas.
• Vamos considerar que um objetivo é um conjunto de estados do mundo, exatamente os
estados em que o objetivo é satisfeito.
• A tarefa do agente é descobrir uma seqüência de ações que o levará a um estado objetivo.
• Antes de poder fazer isso, ele precisa decidir que espécies de ações e estados deve
considerar.
• A formulação de problemas é o processo de decidir que ações e estados devem ser
considerados, dado um objetivo.
• No momento, vamos supor que o agente irá considerar ações no nível de dirigir desde uma
cidade até outra.
• Os estados que ele considerará corresponderão, portanto a estar em uma determinada
cidade.
• Nosso agente agora adotou o objetivo de dirigir para Bucharest, e está considerando partir de
Arad.
• Existem três estradas que saem de Arad, uma em direção a Sibiu, uma para Timisoara e uma
para Zerind.
• Assim, a menos que o agente esteja familiarizado com a geografia da Romênia, ele não
saberá que estrada seguir.
• Em outras palavras, o agente não saberá qual das ações possíveis é a melhor, porque não
conhece o suficiente sobre o estado que resulta da execução de cada ação.
• O melhor que ele pode fazer é escolher uma das ações ao acaso.
• Caso o agente tenha informações geográficas sobre a Romênia, pode usar essas
informações para determinar um percurso que eventualmente chegue a Bucharest.
• Encontrando um caminho de Arad até Bucharest ele poderá alcançar seu objetivo executando
as ações de dirigir que correspondem aos passos da viagem.
• O processo de procurar alcançar o objetivo é chamado busca.
• Um algoritmo de busca recebe um problema como entrada e retorna uma solução sob a
forma de uma seqüência de ações.
• Portando os agentes de solução de problemas decidem o que fazer através da escolha de
seqüências de ações que levam a um estado desejado. Este estado é simplificado quando o
agente pode estabelecer um objetivo e direciona seu agente para buscá-lo.
• Um problema pode ser definido formalmente pelos seguintes componentes:
– Formulação do Objetivo: pela situação atual, é a situação em que a solução do problema é
encontrada.
– Problema: resolver algo. Situação que deve ser resolvida.
– Estado Inicial: estado em que o agente se encontra no início da resolução do problema.
– Ações: são as ações disponíveis ao agente. Causam mudança de um estado a outro.
– Espaço de Estados: todos os estados possíveis que pode desenvolver.
– Caminho: ações que levam o agente de um estado a outro.
– Teste do estado objetivo: determina se um dado estado é um estado objetivo.
– Custo do caminho: uma função que atribui custo numérico a um caminho.
– Estado Final: é o estado objetivo.
• Passos para se resolver o problema:
– Encontrar um problema.
– Representar o problema com os componentes de um agente.
– Encontrar uma estrutura de dados que possa implementar o problema.
– Reconhecer uma maneira de encontrar uma solução por meio de um algoritmo de busca.
– Encontrar uma solução
• Exemplo:
– Definição do problema: Dirigir de Arad até Bucharest usando as estradas mostradas na figura
acima.
o Final: Em (Bucharest)
para cada estado
é 1, porém poderia ser adotado a distância entre as cidades como custo).
estado a outro.
• Encontrando uma solução:
Uma solução possível é o caminho:
-> Em(Sibiu) -> Em(Rimnicu Vilcea) -> Em(Pitesti) -> Em(Bucharest)
-> Em(Sibiu) -> Em(Fagaras) -> Em(Bucharest)
-> Em(Timisoara) -> Em(Lugoj) -> Em(Mehadia) -> Em(Giurgiu) ->
Em(Bucharest)
samos saber qual a
função de custo que está sendo utilizada: poderia ser a quilometragem ou o tempo de viagem
esperado.
egar em
Bucharest).
• Passos para a execução de uma busca em Espaços de Estados:
atual gerando um
novo conjunto de estados. Este processo é chamado de Expansão de Estados.
– Neste exemplo, três novos estados são obtidos: em Sibiu, em Timisoara e em Zerind.
– Suponha que Zerind tenha sido escolhido.
– Checa-se para verificar se este é um estado-objetivo, como não é, pode-se voltar a ARAD ou
ir para ORADEA.
– Se a volta a ARAD for escolhida então se pode escolher Sibiu ou Timisoara.
– Continua-se escolhendo, testando e expandindo até que uma solução seja encontrada ou até
que não haja mais estados a serem expandidos.
Exercício: Considere o seguinte problema: Quebra-Cabeças de oito (“Eight- Puzzle”)
Descrição: Dado um tabuleiro com 9 posições e oito números inteiros de 1 a 8, colocar os
números em ordem crescente de forma que o espaço em branco fique na última posição.
1. Quais os possíveis estados iniciais? Qual o estado final? Quais as Ações? Qual o custo de
cada Ação?
Possível Resolução
• Possíveis estados iniciais: são muitos os estados iniciais (9!).
• Qual o estado final: números em ordem crescente e última posição em branco.
• Ações: Mover para Cima (MC), Mover para Baixo (MB), Mover para Direita
(MD), Mover para Esquerda (ME)
• Custo de cada Ação: Custo 1.
2. Descreva 3 possíveis caminhos partindo do Estado Inicial a seguir e executando uma
seqüência de 5 ações.
• Um determinado problema pode ser representado por meio de um grafo. Cada vértice do
grafo equivale a um determinado estado desse problema. Ao aplicar-se determinada ação a um
estado, o mesmo expande-se para outro estado. A busca refere-se à estratégia utilizada pelo
algoritmo para executar essa expansão.
• Grafos são umas das mais versáteis estruturas de dados utilizadas na programação de
computadores.
• Sob o ponto de vista estritamente matemático, listas ligadas e árvores podem ser
classificadas como grafos.
• Estas estruturas têm sua forma ditada pelo algoritmo que irá manipulá-las (a forma de uma
árvore binária facilita a pesquisa e inserção de dados dentro dela).
• Já grafos têm sua forma orientada pelo problema que se propõem a modelar.
Por exemplo, um grafo pode modelar um mapa rodoviário (com as cidades e as rodovias que
as interligam).
• Um grafo consiste num conjunto de nós (ou vértices) e num conjunto de arcos (ou arestas).
• Cada arco num grafo é especificado por um par de nós.
• A figura abaixo ilustra um grafo. A seqüência de nós é {A, B, C, D, E, F, G, H}, e o conjunto de
arcos é {(A,B), (A,D), (A,C), (C,D), (C,F), (E,G), (A,A)}.
• Se os pares de nós que formam os arcos forem pares ordenados, diz-se que o grafo é um
grafo orientado (ou dígrafo).
• As figuras b, c e d ilustram três dígrafos. As setas entre os nós representam arcos.
• Pela figura a, b e d verifica-se que um grafo não precisa ser uma árvore, mas uma árvore tem
de ser um grafo.
• O grau de um nó é o número de arcos incidentes nesse nó.
• O grau de entrada de um nó n é o número de arcos chegam até esse nó.
• O grau de saída de n é o número de arcos que saem desse nó.
• Por exemplo, o nó A na Figura 1d tem grau de entrada 1, grau de saída 2 e grau 3.
• Um nó n será adjacente a um nó m se existir um arco de m até n. Por exemplo, na Figura 1b,
(A é adjacente de B, C e D).
• Um caminho é a seqüência de arcos e nós percorridos com o objetivo
de ligar dois nós não adjacentes. Ex: Na Figura c, (A,B), (B,D) é o
caminho que liga o nó A ao nó D.
Exemplo:
• N = {1,2,3,4,5,6}
• A = {(1,2), (2,1), (2,3), (2,4), (3,3), (4,1), (4,3), (5,6)}
• Um circuito é um caminho que pode ser percorrido infinitamente dentro do grafo. Ex: (1,2),
(2,4), (4,1); ou (3,3).
• Um subgrafo é aquele onde é considerado apenas um subconjunto dos nós do grafo original.
• Um grafo pode ser representado pela matriz de adjacência A, tal que, se i e j são nós, então:
– A[i,j] = 1, se i é adjacente a j e 0, caso contrário
Matriz
• De maneira semelhante, uma lista de adjacência L pode ser representada da seguinte
maneira:
• Caminhamentos
– Os dois critérios mais comuns de se percorrer grafos são caminhamento em amplitude
(breadth-first search) e o caminhamento em profundidade (depth-first search).
• Caminhamento em Amplitude:
• Caminhamento em Profundidade:
Resolução de Problemas: Mecanismos de Buscas
- Mostrar algoritmo Grafos.
- Atividade para casa: realize o teste de mesa para entendimento do programa.
Método de Busca Heurística:
- George Polya define heurística como “o estudo dos métodos e das regras de descoberta e
invenção”.
- Para muitos problemas, é possível estabelecer princípios para ajudar a reduzir a busca.
- Qualquer técnica usada para melhorar a busca depende de informações especiais acerca do
problema em questão.
- Chamamos a este tipo de informação de INFORMAÇÃO HEURÍSTICA e os procedimentos de
busca que a utilizam de MÉTODOS DE BUSCA HEURÍSTICA.
- Idéia de Heurística: Para resolver sistematicamente muitos problemas difíceis, geralmente é
necessário comprometer as exigências de mobilidade e sistematicidade e construir uma
estrutura de controle que não mais garanta encontrar a melhor resposta, mas que quase
sempre encontre uma resposta muito boa.
- Definição: A heurística é uma técnica que melhora a eficiência de um processo de busca,
possivelmente sacrificando critérios de completeza.
- Comparação: A heurística é como um guia de turismo. Ela é válida no sentido de que aponta
para direções normalmente interessantes; é imprópria no sentido de que pode deixar de fora
pontos de interesse para determinados indivíduos.
- Por que boas funções heurística são difíceis de serem implementadas?
- É difícil medir precisamente o valor de uma determinada solução. (Embora a extensão de
uma viagem a várias cidades seja uma noção precisa, o mesmo não ocorre com perguntas do
tipo “Por que a inflação subiu?”)
- É difícil medir determinados conhecimentos de forma a permitir que seja realizada uma
análise matemática de seu efeito no processo de busca.
- Por que a Heurística é útil?
- Sem a heurística estaríamos irremediavelmente presos a análises combinatórias.
- Em um jogo de xadrez, o crescimento do espaço de estados é combinatoriamente explosivo,
com o número de estados possíveis aumentando exponencialmente (10120) com a profundidade
da busca. As heurísticas atacam esta complexidade guiando a busca através do espaço ao
longo do caminho mais “promissor”.
- Raramente precisamos de uma solução ótima: uma boa aproximação normalmente será
aceita.
- Infelizmente, como todas as regras de descobertas, 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.
- Uma heurística pode levar um algoritmo de busca a uma solução ótima ou, inclusive, levá-lo a
não conseguir encontrar uma solução.
- Uma função heurística é uma função que mapeia descrições do estado de um problema até
medidas de conveniência, normalmente representada como números.
- Os aspectos do estado do problema que são considerados, o modo como esses aspectos são
avaliados e os pesos atribuídos a aspectos isolados são escolhidos de forma a que o valor da
função heurística em um determinado nó no processo de busca forneça a melhor estimativa
possível sobre se o nó está ou não no caminho desejado para uma solução.
- Maneiras de se fazer uma Busca Heurística:
- Os tópicos de heurística que podem ser aplicados numa busca são:
- Decidir sobre qual nó será feita a próxima expansão no espaço de busca, ao invés de
expandir numa ordem de Profundidade ou Amplitude.
- Decidir que certos nós deveriam ser descartados ou poupados da busca.
- Situação 1:
- O Universo é totalmente conhecido.
- A heurística será realizada através da atribuição de números como informações adicionais
para que o agente possa se decidir por uma mudança de estado mais racional.
- Situação 2:
- O Universo não é totalmente conhecido.
- A heurística será realizada através da aplicação de Regras as quais devem conter o
raciocínio que levaria o agente à uma mudança de estado mais racional.
- A heurística deverá estar contida em uma função matemática.
- A informação que pode compor uma informação heurística é o Custo do Caminho.
- O CUSTO DO CAMINHO pode ser composto pelo somatório de dois outros custos:
- O custo do caminho do estado inicial até o estado atual que está sendo expandido; e uma
estimativa do custo do caminho do estado atual até o estado meta.
- Exemplo: Dado os estados abaixo, com dois custos para a mudança de estado (distância e
número de postos), o objetivo é se mover do estado inicial 2 para o estado final 5.
- Como a distância é mais importante que o número de postos, foi atribuído peso 3 para a
distância e peso 2 para os postos.
- Uma função heurística seria:
– f(d, p) = (3 * d + 2 * p) / 5
–
- Este é um exemplo de Universo conhecido.
- Para se deslocar de 2 até 1, teríamos:
– f(4,2) = (3 * 4 + 2 * 2) /5= 3,2.
–
Para se deslocar de 2 até 6, teríamos:
– f(5,4) = (3 * 5 + 2 * 4) /5= 4,6
– Para se deslocar de 2 até 3, teríamos:
– F(4,1) = (3 * 4 + 2 * 1) /5 = 2,8
-Logo, utilizando a função heurística, o deslocamento se dará o menor valor de f(d,p), se
deslocando do estado 2 para o estado 3.
- Porém, nem sempre será o local certo a se seguir, mas está sendo racional de acordo com a
regra.
- Hill Climbing (Subida da Encosta)
- É a estratégia de busca heurística mais simples e popular. Baseada na busca em
profundidade, mas a seleção não é arbitrária.
- É um método de busca local que usa a idéia de que o objetivo deve ser atingido com o menor
número de passos.
- A idéia heurística que lhe dá suporte é a de que o número de passos para atingir um objetivo
é inversamente proporcional ao tamanho destes passos.
- Empregando uma ordenação total ou parcial do conjunto de estados, é possível dizer se um
estado sucessor leva para mais perto ou para mais longe da solução. Assim o algoritmo de
busca pode preferir explorar em primeiro lugar os estados que levam para mais perto da
solução.
- Examina TODOS os sucessores do estado atual e escolhe entre estes sucessores qual é o
que está mais próximo da solução.
- Esta seleção é baseada numa estimativa de proximidade com o estado objetivo.
- É recomendada quando há possibilidade de se estimar a distância até o objetivo.
Download