Você está na página 1de 18

Compreendendo os

Sistemas Especialistas

Universidade Federal de Alagoas – Campus Arapiraca


Curso de Ciência da Computação
Disciplina Inteligência Artificial
Rômulo Nunes de Oliveira
Motivação
• Flávia trabalha numa fábrica de manufaturas. Ela
gerencia o estoque, os pedidos e a produção da
fábrica de modo que atende a tudo da melhor
forma possível.
• A experiência de Flávia no negócio é que garante a
entrega de pedidos em prazos aceitáveis, o nível
de estoque de matéria prima, e o ajuste na “força”
de produção necessária a cada época do ano.
• Como fazer um programa que trabalhe por Flávia,
ou mesmo “como ela” em outra filial da empresa?
Motivação
Em outras palavras, as perguntas seriam...
• Como representar a experiência dela?
• Como fazer para que o programa imite o ato
de raciocinar considerando a experiência
representada?

Solução (aula de hoje): Sistemas Especialistas.


Definição
Sistemas Especialistas: sistemas que empregam o
conhecimento humano para resolver problemas
que requererem a presença de um especialista.
É a união de:
leis do pensamento + máquinas poderosas +
conhecimento de um especialista
Utilidade:
• Capacitar/ajudar não-especialistas
• Servir de assistente a especialistas
• Servir de repositório de conhecimento “valioso”
para a empresa
Visão Geral de um SE

Aplicação / Usuário Especialista


Lê e atualiza Fornece o
os fatos conhecimento (regras)

Memória de trabalho
(ou de fatos) Base de
conhecimento
Lê fatos e escreve
(ou de regras)
deduções lógicas
Máquina ou Motor
de Inferência Regras
Visão Geral de um SE
(mais aprimorada)
Usuário / Aplicação

Dados do
Respostas
problema
e consultas
(Fatos)

Máquina de Explicação
Especialista
Inferência do raciocínio
(“como?”)

Memória
Base de Ferramentas Engenheiro de
de
conhecimento de aquisição conhecimento
trabalho
Representação do Conhecimento

• Aqui o conhecimento é representado através de


regras produção (lógica).
• Cada fórmula atômica representa uma variável ou
característica a ser representada.
• A – Aline vai à praia.
• B – Bianca vai à praia.
Então a fórmula A ↔ B representa...
• Aline vai à praia se e somente se Bianca for.
• Uma variável pode assumir um valor boleano,
numérico (intervalo) ou mesmo multivalorado.
• Existe também a possibilidade do uso da lógica
fuzzy, redes semânticas, frames etc.
Como acontece tudo?
• Memória de Trabalho: é volátil e registra...
• descrição do problema em particular
• hipóteses e decisões intermediárias, sub-objetivos, etc.
• ações potenciais esperando por execução (agenda)
• hipóteses e alternativas que o sistema já tenha produzido
• Máquina de Inferência: 3 elementos principais...
• Interpretador (unificação, casamento e execução)
• Controlador da agenda (ordena segundo estratégias)
• Verificador de consistência (TMS)
• Alguns ainda consideram uma memória externa
chamada “quadro negro” que serve para o
compartilhamento de informações (entre sistemas
especialistas)
Como acontece tudo?
• Existe um subsistema que memoriza todo
processo de inferência (log).
• Objetivo: Explicar o comportamento do SE através de
questões como:
• Porque uma certa pergunta foi feita pelo SE ?
• Como a conclusão foi alcançada?
• Porque alguma alternativa foi rejeitada?
• Qual é o plano para alcançar a solução?
• Existem dois métodos de raciocínio:
• Encadeamento para frente (forward chaining)
• Encadeamento para trás (backward chaining)
Como dar certo?
• Como vimos, o motor de inferência trabalha com
informações passadas por um especialista
(humano).
• Daí surge o principal problema... O ponto crítico
desse tipo de sistema... Será que o conhecimento
do especialista humano está representado
corretamente na base de conhecimento?
• Surge então o personagem “Engenheiro de
Conhecimento”, que é o responsável por:
• Extrair o conhecimento do especialista
• Representar o conhecimento obtido na base de
conhecimento.
Gargalo na construção de SE
• Parte do conhecimento pode não ser relevante.
• O conhecimento expresso pode ser incompleto
• o especialista pode não lembrar o conhecimento
aprofundado para resolver um problema
• especialista pular pontos importantes
• O conhecimento expresso pode ser incorreto ou
inconsistente
• Afinal quem garante a qualidade da solução, já
que ela é “coisa de especialista”?
• a racionalidade que se deseja modelar é limitada
(H. Simon)!
Grau de Certeza no SE
• É possível associar níveis de certeza para às
respostas produzidas pelo SE.
• Torna o sistema compatível com a realidade, onde
nem sempre tem-se a certeza absoluta dos fatos.
• FC é o “Fator de Certeza” ou “Fator de Confiança”
associado à conclusão.

SE ( 1 Fato ) E
( 2 Fato )
ENTÃO ( Conclusão ) [FC 75%]
Grau de Certeza no SE
• No exemplo SE ( Fato 1 ) E
( Fato 2 )
ENTÃO ( Conclusão ) [FC 75%]

• A conclusão tem FC de 75% quando os fatos


1 e 2 (premissas) são 100% verdadeiros.
• Entretanto, quando as premissas não são
confirmadas como 100% verdadeiras,
devemos calcular o FC.
FC(conclusão) = FC(condições) * FC(regra)
Grau de Certeza no SE
FC(conclusão) = FC(condições) * FC(regra)
• Quando o número de condições é maior que um, o
cálculo se dá:
• Se as premissas da regra forem conectadas por um
operador 'E' o grau de confiança será dado pela
multiplicação dos respectivos graus de confiança.
= FC1 * FC2
• Se as premissas da regra forem conectadas por um
operador 'OU' o grau de confiança será dado pela
seguinte expressão:
= FC1 + FC2 - FC1 * FC2.
Grau de Certeza no SE
 Quando mais de uma regra suporta uma
dada conclusão, cada uma das regras
contribui para o CF resultante.

 a) CF(X, Y) = X + Y(100 – X)/100 (X e Y > 0)


 b) CF(X, Y) = X + Y/(1 – min(|X|, |Y|)) (X ou Y < 0)
 c) CF(X, Y) = -CF(-X, -Y) (X e Y < 0)

X=CF do fato existente


Y=CF da conclusão da regra
Grau de Certeza no SE
Exemplo:
 Fatos na memoria de trabalho:
1. trabalhou_muito CF=90
2. dor_de_cabeça CF=100

 Regras consideradas:
1. IF trabalhou_muito THEN
precisa_dormir CF= 50.
2. IF dor_de_cabeça THEN
precisa_dormir CF= 50.
Grau de Certeza no SE
Exemplo (.cont.):
 A primeira regra insere na memória de trabalho:
precisa_dormir CF= 45 (0,9 * 0,5)

 A segunda regra também conclui precisa_dormir,


mas com CF= 50, mas combinado com o valor que
já se encontra na memória de trabalho, ajusta o
valor para
precisa_dormir CF= 72,5

Isso porque, CF(45,50)=45+50(100–45)/100


Bibliografia
 Anita Maria Fernandes, Inteligência Artificial: noções
gerais, Visual Books, 2005.
 Mônica Xavier, Sistemas Especialistas: uma introdução,
UFRGS.
 Material em slides da CIn-UFPE.

 Links para visitar:


 http://hermes.ucs.br/carvi/cent/dpei/jltsilva/JLT_Aula-Incerteza.pdf
 http://www.artigonal.com/tecnologia-artigos/o-uso-do-sistema-
especialista-para-diagnosticar-doencas-em-hortalicas-1484899.html
 http://www.felipeferreira.com/attachments/077_Apostila_Parte2.pdf
 http://www.inf.unioeste.br/~claudia/05-flores.pdf
 http://www.con.ufrj.br/DScTeses/Kelling/Tese-Final.pdf
 http://www.scielo.br/pdf/gp/v1n1/a01v1n1.pdf

Você também pode gostar