Post on 17-Apr-2015
1
Sistemas Especialistas
2
Sumário
• Conceito
• Vantagens
• Aplicações
• Componentes
• Exemplos de Bases de Dados
3
Conceito
• Sistemas especialistas são programas destinados a solucionar problemas em campos específicos de conhecimento. Estes programas devem ter desempenho comparável ao dos especialistas humanos na execução dessas tarefas.
4
Vantagens
Os Sistemas especialistas apresentam, em relação aos especialistas humanos as seguintes vantagens :
• Disponibilidade a qualquer tempo;• Ausência de fadiga;• Ausência de incompatibilidades pessoais;• Tecnologia portável a outros ramos do
conhecimento.
5
Aplicações
1) Sistemas de diagnóstico
Exemplo : MYCIN para diagnóstico de doenças bacteriológicas, desenvolvido em Stanford nos anos 70.
2) Sistemas de planejamento
Exemplos :
• XCON para configuração de hardware, desenvolvido na Carnegie Mellon University e utilizado pela DEC.
• STRIPS para movimentação de robôs, desenvolvido em Stanford.
6
Aplicações (cont.)
3) Sistemas de previsão
Exemplo : PROSPECTOR para estudo de geologia
4) Sistemas de controle
Exemplos : • ACE para vigilância de sistemas
telefônicos.• PICON para alarmes em centrais nucleares.
7
Aplicações (cont.)
5) Sistemas de Instrução
6) Sistemas de Interpretação
8
Componentes
São componentes essenciais de um Sistema Especialista :
• Base de conhecimentos composta de fatos e regras;
• Mecanismo de inferência;
• Interface com o usuário.
9
Componentes (cont.)
As bases de conhecimentos compreendem coleções de :
• Objetos, que são as conclusões a que o Sistema deve chegar;
• Atributos, que são propriedades que servem para caracterizar os objetos.
10
Componentes (cont.)
Os mecanismos de inferência podem ser de dois tipos :
1. Encadeamento para diante. Neste tipo selecionam-se atributos até obter uma combinação deles que caracterize um objeto;
2. Encadeamento para traz. Neste tipo seleciona-se um objeto, como sendo a hipótese de estudo, e busca-se determinar a viabilidade da aceitação dessa hipótese pela ocorrência ou não dos atributos adequados. Caso a hipótese falhe seleciona-se outra hipótese e prossegue-se com as tentativas.
11
Exemplos de base de dados
• Serão apresentados dois exemplos de bases de dados que podem ser utilizadas em qualquer “shell” de Sistemas Especialistas
• O primeiro deles é encontrado no livro de Schildt (Inteligência Artificial usando a Linguagem C)
• O segundo deles foi desenvolvido na UFF há mais de dez anos
12
Primeiro exemplo de base de dados
• Os objetos do sistema especialista são doenças e os atributos desses objetos (doenças) são seus respectivos sintomas
• A resposta do sistema é o diagnóstico da doença a partir dos sintomas
13
Primeiro exemplo de base de dados (cont.)
As doenças são:• meningite• dengue• malária• pneumonia• tuberculose• esclerose múltipla• mal de Parkinson• butolismo
14
Primeiro exemplo de base de dados (cont.)
Os sintomas são:
• dor de cabeça forte
• vomito
• febre
• dor no corpo
• diarréia
• delírio
• dificuldade de respirar
• tosse intensa
• cor do corpo amarelada
• perda progressiva da motricidade
• tremedeira
• inflamação na parte interna da boca
• perda temporária da visão
15
Primeiro exemplo de base de dados (cont.)
• Considere-sediag( ) - diagnosticosint - sintomaS - é uma lista contendo os sintomas de determinada
doença tal que na clausula diag, enquadra-se o corpo que possui os predicados sint.
Os argumentos são comparados com os elementos da lista que se supõe sejam iguais aos do átomo de tal predicado.
16
Primeiro exemplo de base de dados (cont.)
• As regras para determinar os diagnósticos são:• diag(S,meningite) :- sint(S,dor_de_cabeça_forte), sint(S,vomito), sint(S,febre).• diag(S,dengue) :- sint(S,dor_de_cabeça_forte), sint(S,vomito), sint(S,febre),
sint(S,diarréia) , sint(S,dor_no_corpo).• diag(S,malaria) :- sint(S,dor_de_cabeça_forte), sint(S,delírio), sint(S,febre).• diag(S,pneumonia) :- sint(S,febre), sint(S,dificuldade_de_respirar) ,
sint(S,dor_no_corpo).• diag(S,tuberculose) :- sint(S,tosse_intensa).• diag(S,hepatite) :- sint(S,dor_de_cabeça_forte), sint(S,cor_do_corpo_amarelada),
sint(S,vomito).• diag(S,esclerose_múltipla) :- sint(S,progressiva_perda_da_motricidade),
sint(S,delírio) .• diag(S,mal_de_parkson) :- sint(S,tremedeira).• diag(S,botulismo) :- sint(S,tosse_intensa),
sint(S,inflamação_na_parte_interna_da_boca), sint(S,perda_temporária_da_visão).
17
Sistema ESIE
• O Sistema ESIE é um sistema especialista elementar desenvolvido por alunos da Disciplina Inteligência Artificial da UFF em linguagem Pascal.
18
ESIE - Introdução
INSTRUÇÕES PARA DESENVOLVIMENTO DA BASE DE
CONHECIMENTOS
19
ESIE - Introdução
• Para criar uma base de conhecimentos para o shell uff deve-se seguir os seguintes sete passos:
20
ESIE – Passos para a criação da base de conhecimentos
1. definir o texto introdutório através de: introtext is " texto " . este texto introdutório deve dizer a área de atuação do sistema, e dar instruções ao usuário.
2. definir a meta através de : goal is (nome de uma variável). esta variável será usada nas regras para receber o diagnóstico. exemplo: goal is diag
21
ESIE – Passos para a criação da base de conhecimentos
3. definir as respostas válidas através de: legalanswers are aqui se define quais são as respostas válidas (terminar com *).
exemplo: legalanswers are sim não *4. definir todas as perguntas através de:
question (nome) is exemplo: question p1 is "o paciente apresenta tosse?"
22
ESIE – Passos para a criação da base de conhecimentos
5. gerar regras combinando as respostas das perguntas. a sintaxe é: if ....and ....and ....then .... exemplo:if p1 is simand p2 is simthen diag is pneumonia
23
ESIE – Passos para a criação da base de conhecimentos
6. definir qual deve ser a resposta do sistema através de: answer is
exemplo: answer is "o paciente deve ter ", diag
7. definir um texto de terminação com : termtext is. aqui entra-se com recomendações para o usuário, telefones para contato e demais instruções que possam ser úteis.
24
ESIE - Exemplo
• A seguir apresenta-se uma base de conhecimentos que poderá ser executada. nome do arquivo : base1.esie
25
ESIE – Texto de abertura, definição de alvo e respostas admissíveis
introtext is "• este sistema tem por objetivo determinar a
etiologia da amenorréia.• responda sim ou não as questões que se seguem• para interromper o questionário, digite * " goal is epa legalanswers are sim não *
26
ESIE – Diálogo com o usuário
question wp is"ocorreu alguma resposta a indução
progestacional ?" question tsh is"a paciente apresenta tsh elevado ?" question pro is"a paciente apresenta nível de prolactina >100 ?"
27
ESIE – Diálogo com o usuário (cont.)
question est.pro is
"a suspensão de um ciclo estrogenio-progesterona causa sangramento ?"
question fsh.lh is
"os níveis de fsh e lh estão elevados ?"
28
ESIE – Regras
if wp is sim
and tsh is sim
then epa is hipotiroidismo
if wp is não
and tsh is sim
then epa is hipotiroidismo
29
ESIE – Regras (cont.)
if wp is nãoand tsh is nãoand pro is simthen epa is indefinida.pedir.tomografia if wp is simand tsh is nãoand pro is simthen epa is idefinida.pedir.tomografia
30
ESIE – Regras (cont.)
if wp is simand tsh is nãoand pro is nãothen epa is anovulacao if wp is nãoand tsh is nãoand pro is nãoand est.pro is nãothen epa is insuficiencia.ovariana
31
ESIE – Regras (cont.)
if wp is nãoand tsh is nãoand pro is nãoand est.pro is simand fsh.lh is simthen epa is insuficiencia.ovariana if wp is nãoand tsh is nãoand pro is nãoand est.pro is simand fsh.lh is nãothen epa is disfuncao.hipotalamo.hipofisiaria
32
ESIE – Diagnóstico e texto de encerramento
answer is "com base nas respostas acima, posso inferir que a etiologia da amenorréia é: epa
termtext is "
a conduta a ser adotada para correção da amenorréia dependerá' da etiologia levantada e de outras condições da paciente. confira estes resultados com sua experiência clinica.