• Nenhum resultado encontrado

Sistemas especialistas

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas especialistas"

Copied!
46
0
0

Texto

(1)
(2)

Inferência em lógica de primeira ordem

 Método mais utilizado:

resolução por refutação

 Passos largos baseados em eliminação do E  Passos largos baseados em eliminação do E

e Modus Ponens, como em lógica proposicional

 Precisa lidar com as variáveis lógicas:

(3)

Sistemas dedutivos: exemplo

“A lei americana diz que é crime um americano vender armas para nações hostis.

Nono, um país inimigo dos EUA, tem alguns mísseis, e todos estes mísseis foram vendidos pelo Coronel Oeste, todos estes mísseis foram vendidos pelo Coronel Oeste, que é americano”.

(4)

Passo 1: representação...

...é um crime um americano vender armas para nações hostis...

(1) forall x,y,z Amer(x) E Arma(y) E Nacao(z) E Hostil(z) E Vende(x,z,y) → Crim(x)

...Nono...tem alguns mísseis...

(2) exists x Dono(Nono,x) E Missil(x)

...todos estes mísseis foram vendidos pelo Coronel Oeste... ...todos estes mísseis foram vendidos pelo Coronel Oeste...

(3) Para todo x Dono(Nono,x) E Missil(x) →

Vende(Oeste,Nono,x)

(4) Para todo x Missil(x) → Arma(x)

(5) Para todo x Inimigo(x,EUA) → Hostil(x)

Fatos:

(6) Americano(Oeste) (9) Nacao(EUA)

(7) Nacao(Nono) (10) Arma(M1)

(5)

Passo 2: inferência...

Crim(x)

(6)

Crim(x)

(7)

Crim(x)

(8)

Crim(x)

Amer(x) Arma(y) Nacao(z) Hostil(z) Vende(x,z,y)

(9)

Crim(x)

x/Oeste

Amer(x) Arma(y) Nacao(z) Hostil(z) Vende(Oeste,z,y)

x/Oeste

(10)

Crim(x)

x/Oeste

Amer(x) Arma(y) Nacao(z) Hostil(z) Vende(Oeste,z,y)

y/M1 x/Oeste

(11)

Crim(x)

x/Oeste y/M1

Amer(x) Arma(y) Nacao(z) Hostil(z) Vende(Oeste,z,M1)

y/M1 x/Oeste

x/Oeste y/M1

(12)

Crim(x)

x/Oeste y/M1

Amer(x) Arma(y) Nacao(z) Hostil(z) Vende(Oeste,z,M1)

y/M1 x/Oeste

x/Oeste

z/EUA

(13)

Crim(x)

x/Oeste

z/EUA z/EUA

y/M1

Amer(x) Arma(y) Nacao(z) Hostil(EUA) Vende(Oeste,EUA,M1)

y/M1 x/Oeste x/Oeste z/EUA z/EUA z/EUA

(14)

Crim(x)

x/Oeste

z/EUA z/EUA

y/M1

Amer(x) Arma(y) Nacao(z) Hostil(EUA) Vende(Oeste,EUA,M1)

y/M1 x/Oeste x/Oeste z/EUA z/EUA z/EUA FAIL!

(15)

Crim(x)

x/Oeste

y/M1

Amer(x) Arma(y) Nacao(z) Hostil(z) Vende(Oeste,z,M1)

y/M1 x/Oeste

x/Oeste

(16)

Crim(x)

x/Oeste

y/M1

Amer(x) Arma(y) Nacao(z) Hostil(z) Vende(Oeste,z,M1)

y/M1 x/Oeste

x/Oeste

z/Nono

(17)

Crim(x)

x/Oeste

z/Nono z/Nono

y/M1

Amer(x) Arma(y) Nacao(z) Hostil(Nono) Vende(Oeste,Nono,M1)

y/M1 x/Oeste x/Oeste z/Nono z/Nono z/Nono

(18)

Crim(x)

x/Oeste

z/Nono z/Nono

y/M1

Amer(x) Arma(y) Nacao(z) Hostil(Nono) Vende(Oeste,Nono,M1)

y/M1 x/Oeste x/Oeste z/Nono z/Nono z/Nono Oeste é criminoso!!

(19)

MYCIN

(Shortliffe et al.)

 Examplo de regra:

IF the infection is primary-bacteremia

AND the site of the culture is one of the sterile sites

sites

AND the suspected portal of entry is the gastrointestinal tract

THEN there is suggestive evidence (0.7) that infection is bacteroid.

 MYCIN usa uma notação que não é exatamente

(20)

MYCIN

MYCIN -- A typical consultation

1. Patient’s name: (first - last) ** FRED BRAUN

(Questions 1-3 request background patient data). 2. Sex:

** M

3. Age:

** 55

4. Are there any cultures for Fred Braun which may be related to the present illness, and from which organisms have been grown successfully in the microbiology laboratory?

have been grown successfully in the microbiology laboratory? ** Y

CULTURE 1

-5. From what site was the specimen for CULTURE - 1 taken? ** BLOD

= BLOOD

(System corrects typing error).

6. Please give the date and time when CULTURE-1 was obtained. (mo/da/yr time)

** JUN 20, 1977

The first organism isolated from the blood culture of 20-JUN-77 (CULTURE-1) will be referred to as: ORGANISM 1

-7. Enter the laboratory - reported identity of ORGANISM-1: ** UNKNOWN

(Typically identity is not known yet).

8. The strain (gram or Ziehl-Neelsen acid-fast) of ORGANISM-1: ** NEG

(21)

MYCIN

 Sistema dedutivo:

 Médico e paciente fornecem dados (anamnese

e sintomas) que fazem MYCIN iniciar uma e sintomas) que fazem MYCIN iniciar uma busca em profundidade, orientada ao objetivo para encontrar o “melhor” diagnóstico e

(22)

MYCIN

(23)

Sistema especialista (apoio à decisão)

 Vantagens

 Provê respostas consistentes para perguntas

repetitivas, processos e tarefas repetitivas, processos e tarefas

 Mantém níveis significantes de informação  Motiva o esclarecimento da lógica da tomada

de decisões

(24)

Sistema especialista

 Desvantagens

 Falta de senso comum necessário em processos de

tomada de decisão

 Não cria respostas em circunstâncias não usuais,  Não cria respostas em circunstâncias não usuais,

como os humanos fazem

 Especialista nem sempre consegue explicar seu

raciocínio

 erros no banco de dados podem levar a conclusões

erradas

 Não conseguem se adaptar às modificações do

ambiente, a menos que se modifique o banco de dados

(25)

Outros métodos

 Árvores de decisão (decision trees)

 Clusterização (agrupamento - clustering)

 Baseados em explicação (explanation-based)  Baseados em casos (case-based reasoning)  Baseados em casos (case-based reasoning)

 Aprendizagem por reforço (reinforcement learning)  Redes neuronais (neural networks)

 Algoritmos genéticos (genetic algorithms)

 Programação evolutiva (evolutionary programming)  Estatísticos (statistical methods)

 Híbridos (mixture of the above...)  ...

(26)

Linguagem mais popular: Prolog

 Linguagem de alto nível.  Poder de expressão.

Formal.

 Formal.

 Manipulação fácil de símbolos.

 Prova de Teoremas e Processamento de

(27)

Prova de Teoremas ou Dedução Automática

 Representação do conhecimento de forma

declarativa, em lógica matemática.

 Mecanismo de inferência (provador de

teoremas) deduz soluções para os problemas. teoremas) deduz soluções para os problemas.

 Exceto para classes de problemas muito

restritas, o espaço de busca pode crescer exponencialmente.

 Requer estratégias de busca inteligentes.

 Pouco sucesso após muito trabalho nos anos

(28)

O que faz programação em lógica ser diferente de prova de teoremas?

 Programação em Lógica é Programação!

 Programador se preocupa com a eficiência e

praticidade (roda e termina em tempo polinomial?)

polinomial?)

 Utilização de uma lógica restrita (Cláusulas de

Horn).

 Mecanismo de inferência simples e eficiente.  Algoritmo = Lógica + Controle.

 Controle pode ser ignorado quando ``lemos'' o

(29)

Conceitos Básicos em Lógica

 Computação: método de ``raciocínio formal''.  ``objetos'' do raciocínio: sentenças sobre o

mundo ( fatos ou regras). mundo ( fatos ou regras).

 ``Computação lógica'': usa o conjunto de

sentenças para predizer ou computar a validade ou falsidade de outras sentenças.

(30)

Conceitos Básicos em Lógica

 Modelo computacional básico: máquina de

inferência.

 Fatos: entidades básicas em lógica, assume-se

que são verdadeiros (axiomas).

 Exs: o preço deste livro é 49 euros, às 5 h do

dia 13/03/98 está chovendo, o fatorial de 3 é 6.

(31)

Conceitos Básicos em Lógica

 Relação: conjunto de tuplas.

 Cada tupla: conjunto de objetos que  Cada tupla: conjunto de objetos que

compartilham as mesmas características ou possuem a mesma propriedade.

(32)

Conceitos Básicos em Lógica

 Outras formas de relações: ``Se A é um fato,

então B também é um fato''.

 Contradições não são permitidas: A é um fato  Contradições não são permitidas: A é um fato

e A não é um fato.

 Uma tupla não pode estar numa relação e ao

(33)

Conceitos Básicos em Lógica

 Inferência: conclui que uma sentença é

verdadeira através da verificação de que outras sentenças são verdadeiras, sem ter outras sentenças são verdadeiras, sem ter que procurar exaustivamente pelo conjunto total de sentenças. Ex: Se x é pai de alguma criança, então x é pai. Vítor é pai de

Mariana.

 Não é necessário procurar por todas as

(34)

Sistemas de Lógica Formal

 Sintaxe + Semântica.

 Fórmulas bem formadas: expressões

sintaticamente válidas na linguagem. sintaticamente válidas na linguagem.

(35)

Sistemas de Lógica Formal

 Conjunto de símbolos permitidos:

 constantes;  funções;  funções;

 predicados;

 variáveis lógicas;

 conectivos lógicos: implicação, conjunção,

disjunção, negação, relacionais;

(36)

Sistemas de Lógica Formal

 Regras de inferência utilizadas para o

raciocínio automático

 Resolução por refutação: método  Resolução por refutação: método

computacional correto e completo (se

(37)

Programação Prolog

 Programas Prolog são representados por

cláusulas de Horn, um subconjunto de lógica de primeira ordem, onde cada cláusula só

pode conter no máximo um literal positivo na pode conter no máximo um literal positivo na cabeça da cláusula (máximo um consequente positivo).

 Prolog: linguagem declarativa.

 Programa: conjunto de fatos e/ou regras que

(38)

Programação Prolog

 Fatos: valioso(ouro). sexo_feminino(jane). pai(john,mary).  Regras: gosta(john,X) :-gosta(X,vinho). pai(john,mary). humano(socrates). ateniense(socrates).  Atenção à sintaxe! gosta(X,vinho). passaro(X) :- animal(X), tem_penas(X). irma(X,Y) :-sexo_feminino(X), pais(M,F,X), pais(M,F,Y).

(39)

Programação Prolog

 Computação de um programa em lógica é a

dedução dos consequentes do programa. dedução dos consequentes do programa.

 Fatos: relações consideradas sempre

verdadeiras (axiomas).

 Regras: Relações que são verdadeiras ou

(40)

Programação Prolog: A Linguagem - Sintaxe

 Termos:

 Variáveis: X, Y, C1, _ABC, Input

 Constantes: prolog, a, 123, 'rio de janeiro'  Estruturas (termos compostos):

dono(john,livro(ulysses,autor(james,joyce))) dono(john,livro(ulysses,autor(james,joyce)))

 Caracteres: letras maiúsculas, letras minúsculas,

dígitos, sinais do teclado.

 Símbolos especiais: :- ; , .  Comentários:

 linha: % isto e' um comentario.

(41)

Programação Prolog: A Linguagem - Sintaxe  Operadores: +, -, *, / etc.  Igualdade e ``matching'': a(b,c,d(e,F,g(h,i,j))) = a(B,C,d(E,f,g(H,i,j))) a(b,c,d(e,F,g(h,i,j))) = a(B,C,d(E,f,g(H,i,j)))  Aritmética números: =, \=, <, >, >=, =<  Aritmética strings/termos: ==, \== @<, @>

(42)

Programação Prolog: A Linguagem - Sintaxe

 Observação: Prolog não avalia expressões

que não apareçam explicitamente no corpo da cláusula no contexto do operador

da cláusula no contexto do operador especial is.

 p(2+3,4*5).

 Estas operações não são avaliadas!!!  Para obrigar a avaliação:

(43)

Programação Prolog: Exemplo simples

parent(C,M,F) :-mother(C,M), father(C,F). mother(john,ann). mother(mary,ann). father(mary,fred). father(C,F). father(mary,fred). father(john,fred). female(mary). Consulta: ?-female(mary),parent(mary,M,F),parent(john,M,F).

(44)

Programação Prolog: Outras estruturas de Dados

 Listas: estrutura de dados especial em Prolog.  Exs:

 []: lista vazia.

 [ the,men, [like,to,fish ] ]  [ the,men, [like,to,fish ] ]  [a,V1,b, [X,Y ] ]

(45)

Programação Prolog: Outras estruturas de Dados

 Estrutura geral de lista não vazia:

[Head|Tail]

 Head: primeiro elemento da lista (pode ser de  Head: primeiro elemento da lista (pode ser de

qualquer tipo).

 Tail: lista restante (tipo é obrigatoriamente

(46)

Programação Prolog: Outras estruturas de Dados

 Exemplos:

Lista Head Tail

[a,b,c] a [b,c]

[a,b,c] a [b,c]

[a] a []

[[the,cat],sat] [the,cat] [sat]

[the,[cat,sat]] the [[cat,sat]]

[X+Y,x+y] X+Y [x+y]

Referências

Documentos relacionados

O aluno aprovado em 2ª chamada que realizar a sua matrícula online, não enviar o contrato e demais documentos e não pagar o valor respectivo a matrícula nos respectivos

Cada objeto integrante da Ordem Jurídica, enquanto um sistema de normas, só pode ser conhecido verdadeira e originariamente a partir da percepção das suas essências que revelam a

Por fim – sintetizando esta pequena explanação dos prós e dos contras vivenciados pelo Brasil, sede da “Copa do Mundo de 2014” –, um quadro no qual se

De fato, não obstante a descrição dos acontecimentos da história da salvação, assim como o conhecimento do plano de Deus (abertura do livro) e a garantia da vitória de

O grande erro, com o qual a tragédia de Eurípides principia, é a desmedida do herói, que decide trocar Medéia pela princesa de Corinto, gerando a revolta e a fúria da

As árvores de fruto em bordadura devem ser consideradas como parte integrante da ocupação de solo em que se integram, não devendo ser delimitadas enquanto

Problemas renais e pulmonares são comumente observados após a CEC devido uma multiplicidade de fatores, sendo que alguns casos evoluem rapidamente para Insuficiência Renal Aguda

Tem se como justificativa para a idealização deste projeto, o fato de que atualmente as indústrias buscam constantemente serem competitivas no mercado em que