3 - Sistemas Especialistas
Inteligência Artificial
Prof. Laurence Rodrigues do
Amaral
Introdução
• Os Sistemas Especialistas (SEs) podem ser
caracterizados como sistemas que reproduzem o conhecimento de um especialista adquirido ao longo dos anos de trabalho
• Os especialistas tem a capacidade de resolver problemas difíceis, explicar os resultados
obtidos, reestruturar o conhecimento e
determinar as suas características relevantes, porém muitas vezes os especialistas tem
dificuldade em explicar o seu modo de raciocínio de uma maneira analítica
Introdução
• Os SEs constituem uma das mais
importantes áreas da IA e, diferentemente
de algumas outras áreas da IA, que ainda
continuam sendo apenas promessas para
o futuro, os SEs tem sido usados
Essência dos SEs
• O sistema tem separado o conhecimento
específico do especialista e a metodologia de solução dos problemas;
• A transferência interativa de conhecimentos pode minimizar o tempo necessário para
transferir o conhecimento do especialista para uma base de conhecimento;
• A estratégia de controle pode ser simples e
transparente ao usuário, isto é, o usuário capaz de compreender e prever os efeitos de adição, alteração e deleção de itens na base de
Características dos SEs
• Características que os SEs devem ter
para serem úteis na tomada de decisão:
– Manter o alto nível de conhecimento para ajudar na solução de problemas
• As respostas devem ser bastante parecidas com aquelas que seriam dadas por especialistas
Características dos SEs
• Contemplar todas as atividades relacionadas ao conhecimento, desde a aquisição até a sua
representação
– O SE deve auxiliar tanto a tarefa em que a base de conhecimento é alimentada por especialistas da área, quanto a tarefa de processamento, quando um
usuário interage com ele
• Fornecer explicações referentes às conclusões alcançadas ou as linhas de raciocínio utilizadas para alcançar uma possível solução
– O SE não deve se comportar com uma “caixa-preta”, isto é, ele deve ser capaz de explicar, passo a passo, como obteve determinada resposta
Características dos SEs
• É desejável que o SE seja:
– Flexível, de modo a facilitar a atualização, visualização e compreensão do conhecimento;
– Possa funcionar com informações incompletas ou incertas (utilizando técnicas estatísticas (tais como as Redes
Bayesianas, Lógica Fuzzy, etc))
– Desempenho comparável ao especialista humano em termos de velocidade, confiabilidade e precisão
• O uso de regras heurísticas* melhora o desempenho do SE, evitando que se tenha que processar toda a base de conhecimento;
– * - Capacidade de um sistema fazer inovações e desenvolver técnicas de forma imediata e positivas para um determinado fim
• Os usuários possam interagir com o SE usando linguagem natural (desejável)
Benefícios dos SEs
• Velocidade na determinação de problemas;
• A decisão está fundamentada em uma base de conhecimento;
• Segurança;
• Exige pequeno número de pessoas para interagir com o sistema;
• Estabilidade;
• Dependência decrescente de pessoal específico; • Flexibilidade;
• Integração de ferramentas;
SEs vs. Sistemas Tradicionais
• Em um programa tradicional, o método de
busca é baseado no conhecimento
anteriormente codificado no sistema
• Quando surge um novo conhecimento, é
necessário reescrever o código
• Já os SE podem recuperar novos fatos e
regras e usá-los sem modificar a
Histórico dos SEs
• Bastante difundido nos seguintes países:
– Cingapura: setor bancário, área financeira e manufatura;
– Japão: diagnóstico, planejamento,
escalonamento e nas indústrias pesadas; – Alemanha: indústrias pesadas
– EUA: em vários setores
– Brasil: análise de crédito bancário, análise de hepatopatias crônicas, análise química
Fundamentação dos SEs
• Os SEs também podem ser chamados de sistemas baseados em conhecimento
• Engenharia de Conhecimento – processo de construção de um SE
– Envolve uma forma especial de interação entre o construtor do sistema (chamado engenheiro do conhecimento - EC), e um ou mais especialistas – O EC extrai do especialista humano seus
procedimentos, estratégias e regras para a solução do problema, e constrói seu conhecimento dentro do SE
Fundamentação dos SEs
• As decisões do especialista são baseadas em: Fatos que encontra e hipóteses que formula • Buscando em sua memória um conhecimento
prévio armazenado durante anos, no período de sua formação e no decorrer de sua vida
profissional sobre estes fatos e hipóteses
• E o faz de acordo com sua experiência, isto é, com seu conhecimento acumulado sobre o
assunto e, com esses fatos e hipóteses, emite a decisão
Fundamentação dos SEs
• Durante o processo de raciocínio, o especialista vai verificando qual a importância dos fatos que encontra, comparando-os com as informações já contidas em seu conhecimento acumulado sobre fatos e hipóteses
– Ele vai formular novas hipóteses e verificar novos fatos; e esses novos fatos vão influenciar no
processo de raciocínio
– Este raciocínio é sempre baseado no conhecimento prévio acumulado
Fundamentação dos SEs
• Um especialista com esse processo de
raciocínio pode não chegar a uma decisão se os fatos de que dispõe para aplicar o seu
conhecimento não forem suficientes
• Pode, por este motivo, chegar a uma decisão errada
• Um SE deve, além de inferir conclusões, ter
capacidade de aprender novos conhecimentos e, desse modo, melhorar o seu desempenho de raciocínio e a qualidade de suas decisões
Classificação dos SEs
• Características de seu funcionamento:
– Interpretação
• Inferem descrições de situações a partir da observação de fatos, fazendo uma análise de
dados e procurando determinar as relações e seus significados
– Diagnóstico
• Detectam falhas oriundas da interpretação de dados. A análise destas falhas pode conduzir a uma conclusão diferente da simples interpretação de dados.
Classificação dos SEs
• Monitoramento
– Interpreta as observações de sinais sobre o comportamento monitorado
– É verificado continuamente um determinado comportamento em limites preestabelecidos,
sinalizando quando forem requeridas intervenções para o sucesso da execução
• Predição
– A partir de uma modelagem de dados do passado e do presente, este sistema permite uma determinada previsão do futuro.
Classificação dos SEs
• Planejamento
– O sistema prepara um programa de iniciativas a serem tomadas para se atingir um determinado
objetivo, operando em grandes problemas de solução complexa. Abordagem: subdivisão do problema
• Projeto
– Possui características semelhantes ao planejamento, devendo confeccionar especificações para que sejam atendidos os objetivos dos requisitos particulares.
Classificação dos SEs
• Depuração
– Trata-se de sistemas que possuem mecanismos para fornecerem soluções para o mau funcionamento
provocado por distorções de dados.
• Reparo
– Este sistema desenvolve e executa planos para administrar os reparos verificados na etapa de diagnóstico.
– São poucos os sistemas desenvolvidos, porque o ato de executar um conserto em qualquer coisa do
Classificação dos SEs
• Instrução
– Tem mecanismos para verificar e corrigir o
comportamento do aprendizado dos estudantes. – Incorpora subsistemas de diagnóstico e reparo.
– Seu funcionamento consiste em ir interagindo com o treinando (ex: apresentando uma pequena explicação e, a partir daí, ir sugerindo situações para serem
analisadas por ele).
– Dependendo do comportamento deste, a
Classificação dos SEs
• Controle
– É um sistema que governa o comportamento geral de outros sistemas (não apenas de computação).
– É o mais completo, pois deve interpretar os fatos de uma situação atual, verificando os dados passados e fazendo uma predição do futuro.
– Apresenta os diagnósticos de possíveis problemas, formulando um plano ótimo para sua correção.
– Este plano de correção é executado e monitorado para que o objetivo seja alcançado
Estruturação dos SEs
• Completa separação entre os métodos de solução do problema e o conhecimento codificado
• Na prática, tem-se um programa executável que vai buscar em um arquivo, a parte, o
conhecimento sobre o seu domínio
• Isso significa que a sua base de conhecimento pode ser completamente alterada, e mesmo assim, o programa irá funcionar normalmente, adotando o conhecimento da nova base
Base de Conhecimento
• Componente responsável pelo
armazenamento do conhecimento, e deve
usar algum dos modelos de representação
do conhecimento
– Ex: representação por: Lógica Matemática, Redes Semânticas, Frames (quadros),
Árvores, etc
– Podem ser usados individualmente ou em grupos
Base de Conhecimento
• As informações podem ser obtidas através de:
– Livros
– Estudos de caso – Relatórios
– Dados Empíricos
– Processos de Aprendizagem de Máquina – Experiência dos especialistas
• Tendência atual é incorporar módulos para realizarem a aquisição automática de
conhecimento, por meio da implementação de métodos de aprendizado de máquina
Interface de Aquisição
• Componente do SE que permite ao
especialista definir e manipular as regras
• Deve apoiar a construção inicial da base
de conhecimento e também permitir que:
– Sejam feitas atualizações
• Correções de regras já existentes ou • Adição de novas regras
– Para o tratamento de novos conhecimentos sobre o mesmo domínio
Interface de Usuário
• É responsável pela interação do usuário com o sistema e, por meio dela,
• O usuário utiliza o conhecimento armazenado na base de conhecimento para obter as
respostas às suas perguntas e também
explicações referentes às linhas de raciocínio que o sistema usa para alcançar uma conclusão • A interface de comunicação é sempre
responsável pelo grau de satisfação do usuário com o sistema
Máquina de Inferência
• Responsável pelo:
– Processamento das perguntas do usuário
– Processamento dos fatos armazenados na base de conhecimento
– Obtenção das conclusões e explicações que serão fornecidos ao usuário
• Os processos de inferência procuram gerar novos conhecimentos a partir de fatos,
suposições e conhecimento já estabelecidos na BC.
Máquina de Inferência
• MI transforma uma situação dada (estado
inicial) em uma situação desejada (estado
final), usando um conjunto de operadores
• O processo para a resolução de
problemas resume-se em encontrar a
sequência de operadores que levam do
estado inicial ao estado final
MI - Encadeamento Direto
(Prova Direta)
• A memória de trabalho recebe dados sobre o problema e o processo de inferência deduz outros dados a partir das regras, comparando os dados da memória de trabalho com as
premissas das regras relevantes
• Em seguida, adiciona à memória de trabalho os dados inferidos (conclusão de regras válidas), além de gerar perguntas ao usuário para
confirmar as premissas adicionais de regras com boa possibilidade de aplicação
MI – Encadeamento Direto
• O processo termina quando ocorre a
confirmação de todas as premissas de
uma regra cuja conclusão possa ser
aceita como uma resposta final
• Neste caso, a MI vai percorrer as regras
sequencialmente e, usando os fatos
presentes na BC, vai tentar provar tudo o
que for possível até obter a conclusão que
deseja provar
MI – Encadeamento Reverso
(Prova Indireta)
• Procura usar somente as regras que são
relevantes a um problema em questão
(não utiliza todas as regras da BC)
• Com isso, a MI vai partir da conclusão a
ser provada, tentando provar a validade
de suas premissas
• Este é o modo de processamento usado
pelo Prolog
MI – Encadeamento Reverso
• O processo termina com a conclusão
verdadeira quando todas as premissas
são provadas
• Caso contrário, a conclusão não é
verdadeira
MI – Redes Semânticas
• A forma de processamento usada na MI
depende do modelo de representação do
conhecimento adotado na BC
• As redes semânticas são estruturas
extremamente poderosas, capazes de
representar, de diferentes maneiras, o
conhecimento embutido nas sentenças
lógicas.
MI – Outros aspectos...
• A MI pode ser implementada de forma a trabalhar de duas formas
– Deterministicamente
• Deverá fornecer uma resposta única e bem definida a um problema, pois suas regras trabalham de forma exata
• Ex: SE um átomo tem dois elétrons ENTÃO é um átomo de Hélio
– Probabilisticamente
• A MI deverá ser capaz de fornecer respostas que tenham uma certa possibilidade de ocorrer
• Deve-se considerar o peso das variáveis envolvidas