Inteligência artificial -...
Transcript of Inteligência artificial -...
Inteligência artificial
Definição da IA
� Ramo da ciência da computação que se preocupa com a automação do comportamento inteligente
� O objetivo da IA é capacitar o computador a executar funções que são desempenhadas pelo homem usando conhecimento e raciocínio.
História
�Alan Turing, matemático britânico, resolveu criar um teste para avaliar se um computador digital pode agir de modo inteligente.
�Mede o desempenho de uma máquina aparentemente inteligente, em relação ao desempenho de um ser humano.� Um interrogador faz perguntas à uma máquina e a um ser humano, todos em salas distintas. - O problema do cálculo complexo- O problema da reação emocional
Atividade inteligente
� Newell e Simon sustentam que a atividade inteligente é alcançada pelo uso de:
- Padrões simbólicos para representar aspectos significativos de um domínio de um problema
- Operações sobre esses padrões para gerar potenciais soluções para o problema
- Busca para selecionar uma solução
Áreas de aplicação da IA(Visão geral)
� Os pesquisadores em IA focam os seus esforços na representação do conhecimento e busca.
� A representação do conhecimento utiliza uma linguagem formal para que um domínio de um problema seja representado computacionalmente.
� Busca é uma técnica que explora o espaço de estado do problema
Áreas da IA (pesquisas em representação do conhecimento e busca)
� Jogos:
- (Podem gerar espaços de buscas extremamente grandes)
- Necessitam de técnicas poderosas (Heurísticas) para determinar alternativas
Áreas da IA (pesquisas em representação do conhecimento e busca)
� Sistemas especialistas- A importância do conhecimento específico (Médico
conhece muito a respeito de uma especialidade)- Associado ao conhecimento, regras heurísticas são
aplicadas para resolver problemas.- Ex: MYCIN (Tratamento para a meningite e
infecções bacterianas)
Áreas da IA (pesquisas em representação do conhecimento e busca)
� Planejamento e robótica - O planejamento procura determinar a execução de
uma seqüência de tarefas- é um problema difícil (o espaço de seqüência é
grande)- Criar programas para descobrir o melhor caminho da
trajetória requer técnicas para representar conhecimento e busca dos melhores caminhos
Representação do conhecimento
� Redes semânticas – Conjunto de nós (Objetos) conectados por um conjunto de arcos (Relações binárias)
� Frames – Conjunto de atributos (Slots) que representam um objeto.
� Lógica – Métodos que derivam da lógica matemática.
Redes semânticas
� Objetos complexos podem ser decompostos em objetos mais simples através das relações:
- is-a- part-of
Rede Semântica
Frames
� Frame é um termo usado para designar um agrupamento de conhecimentos relevantes a um objeto (Maida 1987; Minsky 1975)
PWMAcionamento
CartesianoTipo
XIdentificação
Manipulador mecânico
Motor de passoAcionamento
CilíndricoTipo
AIdentificação
Manipulador mecânico
Representação Lógica
� Implementam dedução automática (Inferências dedutivas a partir das leis da lógica)
� Lógicas para dedução automática:
- Cálculo proposicional - Cálculo de predicados
Implementação da representação do conhecimento
� Linguagem para representar conhecimento em lógica
� Prolog – baseia-se no paradigma declarativo de programação em lógica. (baseado no cálculo de predicado)
� Coleção de fatos e regras (descreve um determinado domínio do conhecimento)
Prolog
� Consultas são executas para capturar informações representadas através de fatos e regras.
� Exemplo de fatos (problema de representação da arvore genealógica de uma família):
genitor(joao,roberto).genitor(paulo,roberto).genitor(paulo,maria).genitor(roberto,alice).genitor(roberto,patricia).genitor(patricia,fabio).
3 ? – genitor(patricia,fabio).
Yes
4 ? – genitor(fabio,patricia).
No
5 ? – genitor(X,roberto).
X=joao;
X=paulo;
No
Prolog
� 6 ? – genitor(Y, fabio), genitor(X,Y).
Conjunção ,
Disjunção ;
Prolog
� As regras relacionam os fatos. (Simplifica a representação do conhecimento)
� Ex: mae(X,Y) :- genitor(X,Y), mulher(X).
7 ?- mae(patricia,Y).Y=fabio.No
Exercícios
� Avaliar se um ser é mortal ou não:
mortal(X) :- homem(X).homem(roberto).
?- mortal(roberto).
Exercício
� Verificar se um dia é dia da semana ou fim de semana
Semana(segunda).Semana(terca).Semana(quarta).Semana(quinta).Semana(sexta).fimdeSemana(sabado).fimdeSemana(domingo).
Categorai(X) :- fimdesemana(X), writef(‘%w%w’,[X, ‘É um final de semana.’]), !.
Categorai(X) :- semana(X), writef(‘%w%w’,[X, ‘É um dia da semana.’]), !.
? - c a t e g o r i a ( segunda ) .segunda é um dia de semana .Yes .? - c a t e g o r i a ( domingo ) .domingo é um f i n a l de semana .Yes .
Exercícios
Traduza as seguintes frases para um programa em Prolog:
João gosta de comer qualquer alimento. Maçãs são um alimento. Ostras são um alimento. Se alguém come alguma coisa e continua vivo a coisa
comida é um alimento. André come cobras e continua vivo. Sueli come tudo que André come.
Prolog
1) Traduzir para regras Prolog: (a) Qualquer pessoa que tem um filho é feliz (defina a relação de
um argumento feliz). (b) Se alguém tem um filho que tem um irmão/irmã, então esse
alguém tem dois filhos (defina a relação temdoisfilhos)
2) Defina a relação neto usando a relação um_dos_pais.
3) Defina a relação tia em termos das relações um_dos_pais e irma.
BUSCA NO ESPAÇO DE ESTADOS
� Estratégia:
- Encadeamento regressivo:
* Dado o objetivo, avaliar as regras que poderiam ser usadas para gerar o objetivo.* Avaliar as condições verdadeiras para que as regras sejamusadas. As condições tornam-se os subobjetivos para a busca* A busca atua de forma regressiva através de subobjetivossucessivos até que ela chegue aos fatos do problema.
BUSCA NO ESPAÇO DE ESTADOS(Exemplo)
genitor(pam,bob).genitor(tom,bob).genitor(tom,liz).genitor(bob,ann).genitor(bob,pat).genitor(pat,gim).gescendente(X,Z) :- genitor(X,Z).gescendente(X,Z) :- genitor(X,Y), descendente(Y,Z).
? – descendente(tom,pat).
BUSCA NO ESPAÇO DE ESTADOS(Exemplo)
collie(fred).dono(fred,sam).dia(sabado).not(quente(sabado)).treinado(fred).bom_cachorro(X) :- spaniel(X) ; (collie(X), treinado(X)).local(X,Z):- bom_cachorro(X), dono(X,Y), local(Y,Z).local(sam,parque):- dia(sabado), quente(sabado).local(sam,museu):- dia(sabado), not(quente(sabado)).
? – local(fred,Z).
BUSCA NO ESPAÇO DE ESTADOS(Exemplo)
Exercício� Dado um conjunto de animais, determinar a
cadeia alimentar de um animal.
Animal(urso).Animal(peixe).
Animal(peixinho).
Animal(guaxinim).Animal(Raposa).
Animal(Coelho).
animal ( veado ) .
animal ( l i n c e ) .p l a n t a ( a l g a ) .
p l a n t a ( grama ).
come ( urso , p e i x e ) .come ( pei xe , p e i x i n h o ) .come ( pe i x inh o , a l g a ) .come ( guaxinim , p e i x e ) .come ( urso , guaxinim ) .come ( urso , raposa ) .come ( raposa , c o e l h o ) .come ( coelho , grama ) .come ( urso , veado ) .come ( veado , grama ) .come ( l i n c e , veado ) .
cadeia-alimentar(X,Z) :- come(X,Z).cadeia-alimentar(X,Z) :- come(X,Y), cadeia-alimentar(Y,Z).
?- cadeia-alimentar(urso , Y) .