26
Inteligência artificial

Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

  • Upload
    letuong

  • View
    232

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

Inteligência artificial

Page 2: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

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.

Page 3: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

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

Page 4: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

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

Page 5: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

Á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

Page 6: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

Á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

Page 7: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

Á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)

Page 8: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

Á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

Page 9: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

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.

Page 10: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

Redes semânticas

� Objetos complexos podem ser decompostos em objetos mais simples através das relações:

- is-a- part-of

Page 11: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

Rede Semântica

Page 12: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

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

Page 13: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

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

Page 14: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

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)

Page 15: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

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

Page 16: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

Prolog

� 6 ? – genitor(Y, fabio), genitor(X,Y).

Conjunção ,

Disjunção ;

Page 17: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

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

Page 18: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

Exercícios

� Avaliar se um ser é mortal ou não:

mortal(X) :- homem(X).homem(roberto).

?- mortal(roberto).

Page 19: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

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 .

Page 20: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

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.

Page 21: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

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.

Page 22: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

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.

Page 23: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

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).

Page 24: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

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).

Page 25: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

BUSCA NO ESPAÇO DE ESTADOS(Exemplo)

Page 26: Inteligência artificial - homes.dcc.ufba.brhomes.dcc.ufba.br/~jteles/Inteligencia_Artificial/Inteligencia...Lógicas para dedução automática: - Cálculo proposicional - Cálculo

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) .