You are on page 1of 42

Encadeamento progressivo: Exemplo no domnio dos veculos Carregar a BR de veculos no MI e atribuir valores iniciais para algumas variveis, guardando

esses fatos na MT. Fatos iniciais: num-rodas=4, motor=sim, num-portas=3, tamanho=mdio Fase de casamento Conjunto de conflito da 1a rodada de inferncia resulta em apenas uma regra Automvel: Se num-rodas=4 E motor=sim Ento veculoTipo=automvel
52

Encadeamento progressivo: Exemplo no domnio dos veculos


A resoluo de conflito fica ento trivial. Fatos na MT: num-rodas=4; motor=sim; num-portas=3; tamanho=mdio veculoTipo=automvel Casamento: segunda rodada de inferncia seleciona apenas 1 regra para o conjunto de conflito: MiniVan: Se veculoTipo=automvel E tamanho=mdio E num-portas=3 Ento veculo=MiniVan

53

Encadeamento progressivo: Exemplo no domnio dos veculos Fatos na MT: num-rodas=4; motor=sim; num-portas=3; tamanho=mdio veculoTipo=automvel; veculo=MiniVan Casamento: terceira rodada de inferncia seleciona a mesma regra que na rodada anterior como esta j foi disparada, no ser adicionada novamente ao conjunto de conflito com o conjunto de conflito vazio, o processo de inferncia para Com os fatos na MT, conclumos ento que o veculo procurado uma Minivan.

54

Exemplo: regras disparadas


O fluxo de informaes se d atravs de uma srie de regras encadeadas a partir das premissas para as concluses
Automvel: Se num-rodas=4 E motor=sim Ento veculoTipo=automvel MiniVan: Se veculoTipo=automvel E tamanho=mdio E num-portas=3 Ento veculo=MiniVan
num-rodas=4 motor=sim Autom. veculoTipo= automvel veculo=MiniVan MiniVan

tamanho=mdio num-portas=3

Encadeamento regressivo: Busca e Casamento Da hiptese aos dados Parte da hiptese que se quer provar, procurando regras na BR cujo conseqente satisfaz essa hiptese. usa as regras da BR para responder a perguntas busca provar se uma assero verdadeira ex.: criminoso(Fulano)? s processa as regras relevantes para a pergunta Duas etapas: Busca e Casamento (unificao) Utilizado em sistemas de aconselhamento trava um dilogo com o usurio ex.: MYCIN

56

Encadeamento regressivo: algoritmo


1. Armazena as regras da BC na mquina de inferncia (MI) e os fatos na memria de trabalho (MT); 2. Adiciona os dados iniciais memria de trabalho; 3. Especifica uma varivel objetivo para a MI; 4. Busca o conjunto de regras que possuem a varivel objetivo no conseqente da regra (Isto , seleciona todas as regras que atribuem um valor varivel objetivo quando disparadas.) Insere as regras selecionadas na pilha de objetivos;
57

5. Seleciona a regra no topo da pilha de objetivos - Se a pilha de objetivos est vazia, o algoritmo falha! (no conseguiu provar a hiptese de entrada) 6. Tenta provar que a regra selecionada verdadeira testando, um a um, se todos os seus antecedentes so verdadeiros: a) se o 1o. antecedente V, v em frente para o prximo b) se algum antecedente dessa regra for F, a regra toda falha; - o algoritmo volta ao passo 5 (para tentar provar outra regra selecionada previamente, disponvel na pilha de objetivos)

58

6. Continuao: c) quando todos os antecedentes so provados V - dispara a regra = instancia a varivel no seu conseqente para o valor que aparece nessa regra e - devolve o resultado para o usurio (o algoritmo termina com sucesso). d) se o valor-verdade de um antecedente desconhecido (porque no est na MT): - suspende o processamento da regra atual - vai para o passo 4 com essa varivel como varivel objetivo. (nesse caso, o algoritmo cria uma nova pilha de objetivos, com base na nova varivel objetivo RECURSO!)

59

6. Continuao: d) continuao: - Se conseguir provar que o valor-verdade dessa nova varivel V: - dispara a regra, instancia a varivel no seu conseqente para o valor que aparece nessa regra; - abandona a nova pilha de objetivos e - retoma o processamento da regra que estava sendo provada antes (6.a) - Se o valor-verdade dessa nova varivel F: - abandona a regra e volta para a nova pilha de objetivos - se nova pilha de objetivos estiver vazia, o algoritmo falha.
60

6. Continuao: d) continuao: - Se o valor-verdade de um antecedente dessa nova regra sendo testada desconhecido - suspende o processamento da regra atual - vai para o passo 4 com essa varivel como varivel objetivo. (RECURSO de novo!)

61

Encadeamento regressivo: Busca e Casamento

O sistema percorre a BC em busca regras cujo conseqente casa com a hiptese de entrada Unificao realizada com busca em profundidade Se a hiptese de entrada um fato (ex. criminoso(Fulano)), a busca para quando encontra a 1a regra que casa com o fato o sistema devolve uma varivel booleana (V ou F).
62

Encadeamento regressivo: Busca e Casamento

Se a hiptese tem alguma varivel livre (ex. criminoso(X)), o sistema (programador) pode optar por devolver a 1a instanciao encontrada, ou devolver uma lista com todas as possveis instanciaes para aquela varivel. Portanto, no h conflito de execuo de regras!

63

Encadeamento regressivo: Exemplo no domnio dos veculos

Carregar a BR de veculos na MI e os fatos na MT Fatos iniciais: num-rodas=4, motor=sim, num-portas=3, tamanho=mdio Especificar varivel objetivo veculo=? Pilha de objetivos regras com varivel objetivo no conseqente as 7 primeiras regras da nossa BC
64

Encadeamento regressivo: Exemplo no domnio dos veculos Tenta provar verdadeiros os antecedentes da 1a regra usando busca em profundidade Bicicleta: Se veculoTipo=ciclo E num-rodas=2 E motor=no Ento veculo=Bicicleta VeculoTipo=ciclo no aparece na MT nova varivel objetivo Atualiza pilha de objetivos inclui regras com nova varivel objetivo no conseqente apenas a penltima regra da nossa BC

65

Encadeamento regressivo
veculoTipo=ciclo s verdade em apenas uma regra Ciclo: Se num-rodas < 4 Ento veculoTipo=ciclo Verifica o valor verdade dos antecedentes da regra num-rodas < 4 ===> FALSO! Donde se deduz que veculo=Bicicleta Falso!

66

Encadeamento regressivo
Desempilha as outras regras, uma a uma, at encontrar a regra abaixo - que vai dar certo! MiniVan: Se veculoTipo=automvel E tamanho=mdio E num-portas=3 Ento veculo=MiniVan VeculoTipo=automvel no existe na MT Automvel: Se num-rodas=4 OK! (1) E motor=sim OK! (2) Ento veculoTipo=automvel ===> OK! (3) Tenta provar os outros antecedentes da regra, que esto todos instanciados na MT, e so verdadeiros! veculo=MiniVan verdade!
67

Encadeamento regressivo
Se o fato a ser provado no aparece explicitamente na base e nem pode ser deduzido por nenhuma outra regra, duas coisas podem ocorrer, dependendo da implementao do sistema o fato considerado FALSO ex. Prolog o sistema consulta o usurio via sua interface ex. Sistema ExpertSinta
68

Regras com fator de incerteza


Geralmente, necessrio associar-se um fator de incerteza (ou de confiana) a algumas regras na BR Incerteza nos dados e na aplicao das regras If (previso-do-tempo = chuva) > 80% and (previso-perodos-anteriores = chuva) = 85% then (chance-de-chuva = alta) = 90% Infelizmente ... combinar as incertezas dos antecedentes neste caso propaga erros s uma abordagem probabilista pode tratar este tipo de incerteza corretamente
69

Exemplos de SE

Histrico: GPS (1960s)

General Problem Solver (GPS) Motivao:


leis do pensamento + mquinas poderosas

Funcionamento:
planejamento + sub-goaling
ex. estou com fome => comer => pedir pizza => telefonar => ir para a sala => sair do quarto...

O Logic theorist deu certo mas.... em geral, GPS no funciona


fraca representao de conhecimento humanos so 71 bons s em domnios restritos

Histrico: Primeiros SEs (1960s-1970s)

DENDRAL
Inferir estrutura molecular de componentes desconhecidos dadas a massa espectral e a resposta nuclear magntica Conhecimento especializado poda a busca por possveis estruturas moleculares Fez sucesso: publicaes cientficas Representao procedimental de conhecimento

72

Histrico: Primeiros SEs (1960s-1970s)


MYCIN
Diagnosticar rapidamente meningite e outras infeces bacterianas, e prescrever tratamento Representao de conhecimento baseada em regras probabilsticas (em torno de 500) Fez sucesso: acima de 90% de acerto introduziu explicao e boa interface com usurio

Exemplo de regra
ifthe the the the the the then infection is meningitis and type of infection is bacterial and patient has undergone surgery and patient has under gone neurosurgery and neurosurgery-time was < 2 months ago and patient got a ventricular-urethral-shunt 73 infection = e.coli(.8) or klebsiella(.75)

Histrico: 1970s & 1980s


1970s: Esforo para desenvolver melhores (e mais especializadas) Linguagens de representao de conhecimento Mecanismos de inferncia Concluses O poder de um sistema derivado do conhecimento especfico que ele possui, e no de esquemas de inferncias e formalismo particular que ele emprega As linguagens existentes j bastam 1980s: Grande boom dos SEs XCON, XSEL, CATS-1, etc.

CATS-1
Problema da General Electric: Aposentadoria de David Smith: engenheiro especialista em falhas de motores eltricodiesel de locomotivas Custo deste tipo de engenheiro Soluo convencional Treinamento de engenheiros novatos 1980: Construo de CATS-1 (DELTA) Meses de entrevista, 3 anos p/ primeiro prottipo Permite diagnostico em poucos minutos Existe um em cada oficina D treinamento: amigvel e explica decises
75

Balano

Benefcios do S.E.
Criao de repositrio de conhecimento Crescimento de produtividade e qualidade Habilidade de resolver problemas complexos Flexibilidade e modularidade Operao em ambientes arriscados Credibilidade Habilidade de trabalhar com informaes incompletas ou incertas Fornecimento de treinamento

Problemas e Limitaes

Avaliao de desempenho difcil difcil extrair conhecimento especialista S trabalham muito bem em domnios estreitos Engenheiros de Conhecimento so raros e caros Transferncia de conhecimento est sujeito a um grande nmero de preconceitos

ltimos desenvolvimentos

Aquisio de conhecimento:
SEs de 2 gerao & aprendizagem

Integrao com outros sistemas


ex. banco de dados e sistemas de suporte deciso

Tratamento de incerteza

Expert SINTA

Expert SINTA
Desenvolvido no laboratrio de Inteligncia Artificial da Universidade Federal do Cear (UFC) Uma ferramenta visual para criao de sistemas especialistas Utiliza regras de produo (SE Ento) Ferramenta shell Diversos sistemas podem compartilhar uma mesma mquina de inferncia e outras caracteristicas comuns; Focam o implementador em apenas representar o conhecimento do especialista; Fornece suporte para a construo de interfaces Possui tratamento probabilistico Utiliza raciocnio regressvo Utiliza fatores de confiana Disponibiliza ferramentas de depurao

Sistemas Especialistas

82

Arquitetura simplifica do Expert SINTA

Expert SINTA
Regras de produo
Modularidade; Facilidade de edio (manutenibilidade); Transparncia do sistema.

Regras no Expert SINTA Se esposa autoriza ou vou escondido E dinheiro>= valor ingresso ENTO vou para o esfrega [90%] Denomina-se os conseqentes de uma regra como as cabeas da regra e os antecedentes, caudas. (proveniente de PROLOG)

Expert SINTA
Critrios para definies de assertivas no Expert SINTA : ( I ). A estrutura de cada cauda (premissa) deve obedecer ao seguinte modelo: <conectivo> <atributo> <operador> <valor> <conectivo>: NO, E, OU <atributo>: varivel capaz de assumir uma ou mltiplas instanciaes no decorrer da consulta base de conhecimentos <operador>: =, >, <=, <>,... <valor>: item de uma lista a qual foi previamente criada e relacionada a um atributo.

Expert SINTA
( II ). A estrutura de cada cabea (concluso) deve obedecer ao seguinte modelo: <atributo> = <valor> <grau de confiana> <atributo>: equivalente ao usado em caudas =: operador de atribuio e no de igualdade <valor>: equivalente ao usado em caudas <grau de confiana>: porcentagem indicando a confiabilidade daquela concluso especfica da regra. O grau de confiana varia de 0% a 100%

Expert SINTA
O raciocnio regressivo (encadeamento para trs) destaca-se em problemas nos quais h um grande nmero de concluses que podem ser atingidas, mas o nmero de meios pelos quais elas podem ser alcanadas no grande, e em problemas nos quais no se pode reunir um nmero aceitvel de fatos antes de iniciar-se a busca por respostas. O encadeamento para trs tambm mais intuitivo para o desenvolvedor, pois fundamentada na recurso, um meio elegante e racional de programao, para onde a prpria Programao em Lgica se direcionou. Em nenhum momento, porm, deixa-se de reconhecer que o encadeamento para frente possui vantagens em determinadas ocasies.

Exemplo de encadeamento para trs Sejam as seguintes regras um sistema especialista para decidir se devo ou no ir praia amanh.
REGRA 1 SE amanh pode chover = No E tenho dinheiro suficiente = Sim E tenho tempo suficiente = Sim ENTO devo ir praia = Sim REGRA 2 SE amanh pode chover = Sim OU tenho dinheiro suficiente = No OU tenho tempo suficiente = No ENTO devo ir praia = No REGRA 3 SE o servio de meteorologia disse que vai chover amanh = Sim ENTO amanh pode chover = No REGRA 4 SE no vou sair hoje = Sim E nenhuma emergncia ocorrer = Sim ENTO tenho dinheiro suficiente = Sim REGRA 5 SE minha namorada ligar = Sim ENTO no vou sair hoje = No REGRA 6 SE meu orientador passar trabalho extra = Sim ENTO tenho tempo suficiente = No

Expert SINTA
Examinando o SE percebe-se que o objetivo determinar o valor da varivel devo ir praia. O Expert SINTA procura as regras nas quais a varivel sendo procurada no momento pode receber um valor se a regra for aceita (ou seja, quando ela aparece aps o ENTO). Em seguida, a mquina de inferncia verifica se a regra vale ou no. No exemplo dado, o sistema avalia a regra 1 para poder determinar se devo ir praia ou no. Mas, para isso, temos que determinar se todas as premissas (amanh pode chover = No, tenho dinheiro suficiente = Sim, tenho tempo suficiente = Sim) so verdadeiras.

Expert SINTA
Para descobrir se amanh pode chover, tenho que repetir o processo, avaliando a regra 3. Agora tenho que saber se a meteorologia disse sobre a possibilidade de chuva amanh. Como no existe nenhuma regra que possa concluir o que a meteorologia disse, o Expert SINTA realiza uma pergunta ao usurio, do tipo A meteorologia afirmou se amanh pode chover (Sim/No)? (claro, o computador no ir criar uma frase, essa uma das tarefas do criador da base de conhecimento). Se a meteorologia disser que amanh vai chover, ento primeira premissa da regra 1 passar no teste (quem confia nos servios meteorolgicos?).

Expert SINTA
Avaliando a segunda premissa e repetindo o processo do encadeamento para trs, chegamos regra 4. Mas, para descobrir se eu vou sair hoje ou no, preciso recorrer regra 5. A regra 5 leva a uma pergunta, pela qual concluiremos se tal regra vai ser aprovada. Se realmente for aprovada, a primeira premissa da regra 4 verdadeira, fazendo com que verifiquemos agora a segunda premissa. Quando todas as premissas da primeira regra forem avaliadas, podemos determinar se a regra 1 foi aprovada ou no. Caso contrrio, passamos para a prxima regra que possa concluir um valor para a varivel devo ir praia.

Expert SINTA
Variveis univaloradas x variveis multivaloradas
Uma nica varivel pode receber vrios valores em uma nica consulta ao sistema. muito comum, por exemplo, em sistemas de diagnstico mdico, onde o paciente pode apresentar mais de uma doena. Portanto, importante saber lidar com variveis que podem ter apenas uma instanciao (univalorada) ou mltiplas (multivaloradas). Quando a mquina de inferncia est atrs de encontrar instanciaes para uma varivel univalorada, ela ir procurar at encontrar um valor ou at esgotar todas as possibilidades da base de conhecimento. Se, por algum motivo, durante a busca de uma outra varivel, uma varivel univalorada receber um valor quando j possua outro, esse valor antigo ser descartado e o novo vigorar.

Expert SINTA
Variveis univaloradas x variveis multivaloradas
A busca de valores para variveis multivaloradas prossegue at que toda a base de conhecimento seja explorada. Os valores permanecem acumulados. nessa hora que preciso ter cuidado com contradies presentes na base. O Expert SINTA, na presente verso, no faz verificaes de inconsistncias lgicas. Obs.: variveis numricas univaloradas, sempre. so tratadas como

Expert SINTA
Conhecimento monotnico x conhecimento nomonotnico
No dia-a-dia, enfrentamos situaes que modificam as nossas certezas. O que antes tnhamos por certo agora estamos convictos que no so mais realidade. Isso porque ns pensamos em um tipo de lgica nomonotnica, ou seja, podemos receber informaes que contrarie as que j possumos. No tratamento tradicional de informaes da Inteligncia Artificial, o conhecimento monotnico, ou seja, aquele que ao acrescentarmos novas informaes nunca fica contraditrio, inconsistente, o comumente usado. O Expert SINTA trata o conhecimento de forma essencialmente monotnica.

You might also like