SISTEMAS ESPECIALISTAS



Documentos relacionados
Risco e Retorno dos Investimentos. Paulo Pereira Ferreira Miba 507

Computadores XXI: Busca e execução Final

Simulado OBM Nível 2

Manual SAGe Versão 1.2 (a partir da versão )

Exercícios Resolvidos sobre probabilidade total e Teorema de Bayes

Espaço Amostral ( ): conjunto de todos os

Construção de tabelas verdades

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

5 Equacionando os problemas

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto

HASHING. Katia Guimarães. 1

AV2 - MA (a) De quantos modos diferentes posso empilhá-los de modo que todos os CDs de rock fiquem juntos?

Disciplina: Unidade III: Prof.: Período:

Questão Essência do Excel

Capítulo 7 Medidas de dispersão

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Utilizando a ferramenta de criação de aulas

Passo 3: Posicionando a Câmera na Prova Didática Teórica ou na Prova de Defesa da Produção Intelectual

PLANEJAMENTO OPERACIONAL: RECURSOS HUMANOS E FINANÇAS MÓDULO 16

O que é a estatística?

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

Estruturas de Dados Pilhas, Filas e Deques

Arquitetura de Rede de Computadores

Manual de Cobrança. Código Nome De Até 1 Jose da Silva a Jz 2 Ana Maria k Pz 3 Marcelo q zz

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

MANUAL DE INSTALAÇÃO

Árvores Binárias de Busca

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES

TAXA INTERNA DE RETORNO (TIR) PERGUNTAS MAIS FREQÜENTES

Como incluir artigos:

Lógica de Programação

Algoritmos e Estruturas de Dados II. Trabalho Prático 2

Programação III / Estruturas de Dados. Enunciado do Trabalho Prático

Um estudo da correlação dos resultados patrimoniais e operacionais das seguradoras Francisco Galiza, Mestre em Economia (FGV)

VENDA MAIS USANDO AS REDES SOCIAIS

Cadastrar Categorias e Produtos

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura Exemplo

RESOLUÇÃO DAS QUESTÕES DE RACIOCÍNIO LÓGICO-MATEMÁTICO

Engenharia de Software III

Gerenciamento de Clientes

Árvores Binárias de Busca

ED 2180/ maio 2014 Original: espanhol. Pesquisa sobre os custos de transação dos produtores de café

Calculando probabilidades

Manual de Utilização

PEDIDOS DE AUTORIZAÇÃO PARA RETIRADA DE CRIANÇAS E ADOLESCENTES ACOLHIDAS DAS ENTIDADES ORIENTAÇÕES TÉCNICAS DO CAOPCAE/PR

RESOLUÇÃO DAS QUESTÕES DE MATEMÁTICA

MANUAL DE NAVEGAÇÃO UNICURITIBA VIRTUAL

Busca. Pesquisa sequencial

Só Matemática O seu portal matemático FUNÇÕES

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Roteiro de orientações para uso do Contas Online

Usando o Excel ESTATÍSTICA. Funções

Ao ligar o equipamento, você verá a mensagem abaixo, o objetivo dela é fazer a configuração mínima para LOGAR ao servidor da Internet.

Bases Matemáticas. Aula 2 Métodos de Demonstração. Rodrigo Hausen. v /15

Projeção ortográfica de modelos com elementos paralelos e oblíquos

Atividade extra. Exercício 1. Exercício 2. Exercício 3. Matemática e suas Tecnologias Matemática

Universidade Federal de Itajubá 02/09/2015 APRESENTAÇÃO APRESENTAÇÃO. Caminhonetes. Dados de entrada

QUESTÃO 1 ALTERNATIVA B

Sistemas Operacionais Processos e Threads

Procedimentos para Reinstalação do Sisloc

Entendendo como funciona o NAT

Técnicas de Caixa Preta de Teste de Software

Manual das planilhas de Obras

POLÍTICA DE INVESTIMENTOS

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

DAS5102 Fundamentos da Estrutura da Informação

COMO CONSEGUIR O VISTO H-1B PARA RESIDIR NOS EUA. CHOI & MENEZES, LLP. ATTORNEYS AT LAW CHOI & MENEZES, LLP. ATTORNEYS AT LAW sm@miamilaw.us.

Árvores B + Prof Márcio Bueno. ed2tarde@marciobueno.com / ed2noite@marciobueno.com. Material da Prof a Ana Eliza Lopes Moura

Este documento visa facilitar e viabilizar a introdução ao módulo de Manufatura no Sistema

Nome: N.º Turma: Suficiente (50% 69%) Bom (70% 89%)

MAT 461 Tópicos de Matemática II Aula 3: Resumo de Probabilidade

Instalando o Internet Information Services no Windows XP

Redes de Computadores I - Projeto Final

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Cláudio Tadeu Cristino 1. Julho, 2014

Abra sua. Conta CAIXA Fácil. caixa.gov.br. CAIXA. O banco que acredita nas pessoas.

ARTIGO CIENTÍFICO. O artigo científico pode ser entendido como um trabalho completo em si mesmo, mas possui dimensão reduzida.

Respostas de MAIO. A sequência é formada elevando-se ao quadrado os números 2,3,4... e somandolhes 2 em cada caso.

Apresentação. Nossa sugestão é que você experimente e não tenha medo de clicar!!!

2ª Lista de Exercícios

MERCADO DE OPÇÕES - O QUE É E COMO FUNCIONA

O conceito de probabilidade

JOGO DA VIDA DICA AOS ADULTOS: LEIA AS INSTRUÇÕES A SEGUIR COM ATENÇÃO E AO MESMO TEMPO VÁ JOGANDO COM A CRIANÇA

Ferramenta de Testagem IECL Orientações para o Aluno (PT)

Como instalar uma impressora?

Universidade do Algarve

Sistema de Cancelamento Eletrônico Manual do Usuário

I.3 Indução de Árvores de Decisão

1.6. Tratamento de Exceções

SUMÁRIO Acesso ao sistema... 2

MANUAL DE UTILIZAÇÃO

Gerenciamento de Transações

Universidade Federal do Mato Grosso - STI-CAE. Índice

Probabilidade. Distribuição Binomial

PERGUNTAS MAIS FREQÜENTES SOBRE VALOR PRESENTE LÍQUIDO (VPL)

CURSO ON-LINE PROFESSOR GUILHERME NEVES

Algoritmos e Estrutura de Dados III. Árvores

Transcrição:

SISTEMAS ESPECIALISTAS Pasteur Ottoni de Miranda Junior DCC PUC Minas Postado em www.pasteurjr.blogspot.com Sistemas especialistas (SE) representam o comportamento de um especialista humano em determinada área do conhecimento. São empregados nas mais diversas áreas, mas na engenharia, na medicina e no mercado financeiro, encontram-se a maior parte das aplicações. Uma sessão de utilização de um SE consiste em uma interação do mesmo com o meio externo (um ser humano ou sensores), que fornece respostas a questionamentos. Após analisar um conjunto de regras, o SE fornece uma resposta acompanhada de uma justificativa. Um SE típico é constituído de uma interface com o usuário, por onde são feitos questionamentos e são fornecidas respostas aos mesmos, uma base de conhecimento, que contém regras que representam o conhecimento acerca de determinado domínio, e uma máquina de inferências, capaz de analisar as regras frentes às respostas aos questionamentos e fornecer uma resposta. Mecanismos de Inferência A base de conhecimento de sistemas especialistas é constituída de REGRAS. REGRAS são estruturas do tipo CAUSA-EFEITO, ou seja SE ALGO OCORRE ENTÃO GERA ALGUMA CONSEQUÊNCIA A parte SE da regra é constituída de CLÁUSULAS. Estas cláusulas são condições que, compostas formarão uma decisão a ser tomada, sendo conectadas via conectores lógicos do tipo E OU.Por exemplo: SE A= 1 E B = 2 possui duas cláusulas: A=1 e B=2. A parte ENTÃO das regras constitui a conclusão a que se chega se a combinação das cláusulas for verdadeira. A árvore de decisão como ferramenta para projeto da Base de Conhecimento. A melhor maneira de se projetar uma Base de Conhecimento é a partir da árvore de decisões que compõe os caminhos possíveis desde as condições até as conclusões finais às quais o Sistema Especialista chega. Por exemplo, seja a seguinte árvore de decisões para se decidir o cargo a ser oferecido a um candidato a emprego:

Geração das regras a partir da árvore de decisões 1)Gerar uma lista com as variáveis a serem utilizadas nas regras: : O candidato fez alguma descoberta importante? : O candidato tem diploma? EXPERIÊNCIA: Quantos anos de experiência o candidato tem? MÉDIA: Qual a média geral do candidato na escola? : Que posição deve ser oferecida ao candidato? : O candidato é qualificado ao cargo. 2)Para cada conclusão da árvore de decisões fazer o seguinte: Para cada caminho da conclusão até a raiz da árvore faça: -Cada ponto de decisão da árvore será uma cláusula da regra. A parte ENTÃO possuirá a conclusão. As regras para este exemplo ficam assim: REGRA 10: SE = NÃO ENTÃO =NÃO REGRA 20: SE = ENTÃO = REGRA 30: SE = E = ENTÃO =PESQUISA REGRA 40 SE = E MÉDIA<3.5 E EXPERIÊNCIA >=2

ENTÃO =ENG. DE SERVIÇO REGRA 50 SE = E MÉDIA < 3.5 E EXPERIÊNCIA < 2 ENTÃO = NÃO REGRA 60 SE = E MÉDIA >= 3.5 ENTÃO =ENG. DE PRODUTO. Vamos analisar agora os mecanismos de inferência. Encadeamento para frente Para exemplificar uma técnica de encadeamento para frente consideremos o seguinte conjunto de regras (banco de conhecimentos) para (o embrião de) um sistema de especialista em mercado de ações. REGRA10: REGRA20: REGRA30: REGRA40: REGRA50: SE = BAIXA ENTÃO BOLSA = ALTA SE = ALTA ENTÃO BOLSA = BAIXA SE DOLAR = BAIXA ENTÃO = ALTA SE DOLAR = ALTA ENTÃO = BAIXA SE BC=BAIXA E BCMOEDA=INJETA ENTÃO =BAIXA -Criar uma tabela com nomes de variáveis presentes nas regras e seu significado: DÓLAR BC BCMOEDA BOLSA Significado Tendência da taxa de juros Cotação do dólar Objetivos do Banco Central em relação às taxas de juros Objetivos do Banco Central em relação à circulação de moeda (isto é, injetar ou retirar reservas do sistema bancário) Tendência da Bolsa de Valores Estruturas de dados para execução deste mecanismo de inferência: -Uma lista de variáveis das regras com os respectivos valores atuais DÓLAR BC BCMOEDA

-Uma fila com as variáveis de análise de certa regra. Qualquer variável que já houver sido analisada sai da fila. -Um ponteiro que vai nos dizer qual regra e qual cláusula desta regra estão sendo analisadas no momento Para descrever este mecanismo vamos ver um exemplo. O nosso sistema especialista deverá nos dar resposta à seguinte questão: O que acontecerá se o Banco Central injetar reservas no sistema bancário? Ou seja, vamos analisar a condição BCMOEDA=INJETA. -Inicialmente a fila de variáveis de análise conterá a variável BCMOEDA em sua cabeça, pois é única que conhecemos o valor. -Varre-se então o banco de conhecimento à procura da primeira ocorrência de BCMOEDA. Encontrâ-mo-la na regra 50. A lista de variáveis das regras está assim: DÓLAR BC BCMOEDA INJETA -O ponteiro de regras/cláusulas vai estar apontando para a regra 50, cláusula 2. -Inspecionando a regra 50, verificamos que ainda existe a variável BC para ser analisada antes de se concluir algo acerca desta regra. -Como a variável BC não possui nenhum valor instanciado(alocado), o sistema terá que questionar ao usuário da seguinte forma: O Banco Central quer as taxas de juros em alta ou baixa? -Supondo que a resposta seja BAIXA, nossa lista de variáveis fica assim: DÓLAR BC BCMOEDA BAIXA INJETA -O ponteiro de regras/cláusulas agora é atualizado para indicar que estamos analisando a regra 50, cláusula 1. -Como já analisamos ambas as cláusulas da regra 50, podemos concluir da regra 50 que = BAIXA. -Agora temos que analisar os efeitos da situação em que =BAIXA. Colocamos na fila de variáveis de análise a variável. Nossa fila está no momento assim: BCMOEDA -A lista de variáveis é atualizada para o seguinte: DÓLAR BC BAIXA BAIXA

BCMOEDA INJETA -Tomamos a fila de variáveis de análise e verificamos se a variável que está em sua cabeça é utilizada em outra regra. No caso de BCMOEDA ela não existe em outra regra. Então é retirada da fila de variáveis de análise e passa a ocupar a cabeça da mesma. -Pesquisamos as regras para encontrar cláusulas que contenham juros. A regra 10 contém. Agora, o ponteiro regras/cláusula indica regra 10 cláusula 1. -Como a regra 10 possui apenas uma cláusula, concluímos que BOLSA = ALTA.Colocamos BOLSA na fila de variáveis de análise, que fica assim: BOLSA -Continuamos varrendo as regras à procura de referências a e encontramos a regra 20. Esta regra não é concluída porque nela = ALTA. -Continuamos à procura de regras com referência a nas claúsulas. Como não mais existem, retiramos esta variável da fila de variáveis de análise, que passa a conter BOLSA em sua cabeça. -Repetimos o processo para BOLSA (que está na cabeça da fila de variáveis de análise), procurando referências a ela nas claúsulas das regras. Como não existem cláusulas com BOLSA, esta é retirada da fila de variáveis de análise e a sessão termina. A resposta à pergunta será então: As taxas de juros baixarão O mercado de ações subirá. Resumindo a lógica descrita no exemplo, temos: 1)A condição a avaliar seus efeitos é identificada. 2)A variável da condição é colocada na fila de variáveis da conclusão e seu valor atual é colocado na lista de variáveis. 3)As cláusulas das regras são examinadas à procura da variável cujo nome é o memo daquela que estiver na cabeça da fila. Se encontrada, o número da regra e o número 1 são colocados no ponteiro de variáveis das claúsulas. Se ela não for encontrada vá ao passo 6. 4)Cada variável na parte SE da regra identificada cujo valor é desconhecido, deve ter seu valor obtido a partir de questionamento ao usuário. Os valores obtidos são colocados na lista de variáveis. Se todas as cláusulas forem verdadeira, a parte ENTÃO é invocada. 5)A variável da parte então com valor conhecido é colocada na cauda da fila de variáveis de análise. 6)Quando não mais existirem sentenças SE contendo a variável que está na cabeça da fila de variáveis de análise, aquela variável será removida. 7)Se não houver mais variáveis na fila de variáveis de análise, encerre a sessão. Se ainda houver variáveis, volte ao passo 3. Encadeamento para trás O exemplo a ser utilizado é o da colocação de um candidato a emprego Estruturas de dados para execução deste mecanismo de inferência: REGRA 10: SE = NÃO

ENTÃO =NÃO REGRA 20: SE = ENTÃO = REGRA 30: SE = E = ENTÃO =PESQUISA REGRA 40 SE = E MÉDIA<3.5 E EXPERIÊNCIA >=2 ENTÃO =ENG. DE SERVIÇO REGRA 50 SE = E MÉDIA < 3.5 E EXPERIÊNCIA < 2 ENTÃO = NÃO REGRA 60 SE = E MÉDIA >= 3.5 ENTÃO =ENG. DE PRODUTO Lista de Conclusões Contém a sequência de conclusões no conjunto de regras: REGRA-CONCLUSÃO 10-20- 30-40- 50-60- Lista de variáveis Idêntica à descrita no encadeamento para frente. EXPERIÊNCIA MÉDIA Pilha de Conclusões Estrutura de dados do tipo pilha que armazena o número da regra e a cláusula dentro desta regra que está sendo verificada (1 para a primeira, 2 para a segunda...) Para descrever este mecanismo vamos ver um exemplo. O nosso sistema especialista deverá nos dar resposta à seguinte questão: Devemos oferecer que posição ao candidato? -Como estamos fazendo encadeamento para trás partimos da variável de conclusão.

-O topo da pilha de conclusões conterá regra 10, cláusula 1, pois esta é a primeira regra que contém como conclusão. -Analisando as regras, vemos que a variável da regra 10 é. Como não temos o seu valor (não foi instanciada) temos que perguntar seu valor: O candidato tem diploma? -Se a resposta for sim a lista de variáveis fica assim: EXPERIÊNCIA MÉDIA -Com esta resposta a regra 10 fica falsa. -Tiramos esta falsa conclusão da pilha de conclusões (REGRA 10, cláusula 1). -Verificamos o próximo uso de como variável de conclusão. Isto ocorre na regra 30.Colocamos a regra 30, cláusula 1 na pilha de conclusões. -Temos agora que instanciar todas as variáveis de condição da regra 30. Temos ainda que avaliar.incrementamos a cláusula da REGRA 30 que está na pilha de conclusões: REGRA 30, claúsula 2. A pilha está assim, portanto: REGRA 30 CLÁUSULA 2 -Como não foi instanciada perguntamos: Candidato fez descoberta importante? -Se a resposta for não, a lista de variáveis fica assim: EXPERIÊNCIA MÉDIA NÃO -Como todas as variáveis da regra 30 foram instanciadas,executar agora o ENTÃO. Como a segunda cláusula é falsa tiramos a referência à regra 30 da pilha de conclusões. -Varrendo a lista de variáveis de conclusão verificamos que PESQUISA é conclusão da regra 40. Assim esta regra é colocada na pilha de conclusões. -A primeira cláusula da regra 40 é, que não foi instanciada na lista de variáveis. -Varrendo a lista de variáveis de conclusão encontramos como variável de conclusão da regra 20. A pilha de conclusões fica assim: Pilha de colclusões: REGRA 20, cláusula 1 REGRA 40, cláusula 1

Assim, é instanciada em (pois = ) e nossas estruturas de dados ficam assim: EXPERIÊNCIA NÃO MÉDIA -Tirar REGRA 20, cláusula 1 do topo da pilha de conclusões(já foi verificada). -Continuamos a verificar as cláusulas da regra 40(pois é o topo da pilha). Passamos à cláusula 2 desta regra que possui a variável MEDIA não instanciada.no topo da pilha de conclusões colocamos REGRA 40, cláusula 2. Para instanciar a variável média o sistema pergunta ao usuário: Qual sua média geral? O candidato responde 3. EXPERIÊNCIA NÃO MÉDIA 3 -Como ainda temos uma cláusula para analisar, colocamos no topo da pilha REGRA 40, cláusula 3. O sistema pergunta então: Quantos anos de experiência você tem? -Se a resposta for 2 temos: NÃO EXPERIÊNCIA 2 MÉDIA 3 -Como não há mais cláusulas na REGRA 40, ela pode ser concluída.como as 3 clásulas são verdadeiras, o sistema conclui = ENG. DE SERVIÇOS. Resumindo a lógica descrita no exemplo, temos: 1)Identifique a conclusão 2)Procure na lista de conclusões a primeira ocorrência do nome da conclusão. Se encontrado, coloque a regra na pilha de conclusões usando o número da regra e (1) para representar o número da cláusula. Se não encontrado, avise que não há resposta. 3)Instancie cada variável de cláusula da regra. 4)Se uma das variáveis da da cláusula SE não tiver sido estanciada, conforme indicar a lista de variáveis e se ela também não for uma variável de conclusão(não estiver na lista de variáveis de conclusão), peça ao usuário para inserir um valor.

5)Se uma das cláusulas for uma variável de conclusão, coloque o número da regra no topo da pilha e volte ao passo 3. 6)Se a unidade no topo da pilha não levar a conclusão alguma da regra, remova-a do topo da pilha e procure na lista de conclusões uma outra ocorrência do nome daquela variável de conclusão. 7)Se tal regra foi encontrada volte ao passo 3. 8)Se não houver mais nenhuma conclusão com aquele nome na pilha de conclusões, a regra da conclusào anterior será falsa. Se não houver conclusào anterior entào avise ao usuário que a resposta não pode ser encontrada. Se houver uma conclusào anterior volte ao passo 6. 9)Se a regra no topo da pilha puder ser instanciada, remova-a da pilha. Se uma outra variável de conclusão estiver abaixo dela, incremente o número da cláusula e para as claúsulas restantes volte ao passo 3. Se não houver nenhuma variável de conclusão abaixo teremos respondido à pergunta. Uso de probabilidade Introduz um grau de certeza de que determinada conclusão vai ocorrer. Teorema de Bayes: P(E and S)=P(S/E)*P(E) Traduzindo: A probabilidade de E e S ocorrerem, onde E ocorre primeiro é igual à probabilidade de S ocoorrer se já soubermos E (P(S/E) )vezes a probabilidade de E ocorrer. Utilizaremos ainda outra relação P(S) = P(S/E)*P(E) + P(S/NOT E)*P(NOT E) (1) Traduzindo: A probabilidade de S ocorrer é igual à probabilidade de S ocorrer se já soubermos E, vezes a probabilidade de E ocorrer, mais a probabilidade de S ocorrer se assumirmos que E não ocorre vezes a probabilidade de E não ocorrer. No exemplo do mercado de ações, qual a probabilidade do mercado entrar em alta? REGRA10: REGRA20: REGRA30: REGRA40: SE = BAIXA ENTÃO BOLSA = ALTA SE = ALTA ENTÃO BOLSA = BAIXA SE DOLAR = BAIXA ENTÃO = ALTA SE DOLAR = ALTA ENTÃO = BAIXA Quermos P(BOLSA = ALTA) Da regra 10 temos que para BOLSA = ALTA devemos ter = BAIXA. Aplicando (1) temos:

P(BOLSA = ALTA) = P(BOLSA = ALTA/ = BAIXA)* P(=BAIXA)+ P(BOLSA=ALTA/ = NAO BAIXA)*P(= NAO BAIXA) (2) Percorremos a base de conhecimento para verificar =BAIXA e encontramos a regra 40. Temos então: P(=BAIXA)=P(=BAIXA/DOLAR=ALTA)*P(DOLAR=ALTA) + P(=BAIXA/DOLAR=NAO ALTA)*P(DOLAR=NAO ALTA) (3) Verificamos que DOLAR=ALTA não está na parte ENTÃOde nenhuma regra. Logo um especialista da área deve fornecê-lo. Suponhamos que P(DOLAR = ALTA)=0,6 Logo P(DOLAR = NAO ALTA)=0,4 Devemos ainda conseguir de um especialista o seguinte: P(=BAIXA/DOLAR=ALTA)=0,8 e P(=BAIXA/DOLAR=NAO ALTA)=0,1 De (3) P(=BAIXA)=0,8*0,6 +0,1*0,4 =0,52 P( = NAO BAIXA) = 1-0,52=O,48 Devemos ainda conseguir de um especialista o seguinte: P(ACOES =ALTA/=BAIXA)=0,85 P(ACOES =ALTA/=NAO BAIXA)=0,1 De (2): P(ACOES = ALTA) = 0,85*0,52 +0,1*0,48 = 0,49 (49%) REFERÊNCIA LEVINE, R.I. et al. Inteligência Artificial e Sistemas Especialistas.1ª edição McGraw-Hill, 1988.