expert sinta - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · expert sinta - implementando o...

27
Expert SINTA Fatores de confiança No exemplo dado no slide 87, as variáveis recebiam apenas valores determinísticos (“sim” e “não”). Porém, é comum que não queiramos determinar com exatidão o valor que cada variável pode receber. O conhecimento humano não é determinístico. Não especialista que sempre se encontre em condições especialista que sempre se encontre em condições de afirmar determinada conclusão com certeza absoluta. Graus de confiança são freqüentemente atribuídos às suas respostas, principalmente quando existe mais de uma. Este torna-se um dos mais fortes pontos críticos na elaboração de uma representação computacional do saber humano.

Upload: hamien

Post on 03-Oct-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTAFatores de confiança

No exemplo dado no slide 87, as variáveis recebiamapenas valores determinísticos (“sim” e “não”). Porém,é comum que não queiramos determinar com exatidãoo valor que cada variável pode receber.O conhecimento humano não é determinístico. Não

há especialista que sempre se encontre em condiçõeshá especialista que sempre se encontre em condiçõesde afirmar determinada conclusão com certezaabsoluta.

Graus de confiança são freqüentemente atribuídosàs suas respostas, principalmente quando existe maisde uma. Este torna-se um dos mais fortes pontoscríticos na elaboração de uma representaçãocomputacional do saber humano.

Page 2: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTAFatores de confiança

Existem duas correntes de pensamento:- a que utiliza fórmulas estatísticas rigorosas, comteoria das probabilidades;-e aquela que utiliza uma abordagem da teoria daspossibilidades sobre os fatores de certeza sem umabase matemática forte.base matemática forte.

O Expert SINTA (na versão 1.1) utiliza umaabordagem possibilista, ou seja, mais simples.

Page 3: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTAO cálculo de probabilidades no Expert SINTA (fatores de confiança)

Caso 1: Quando queremos saber o valor finalatribuído às variáveis na conclusão de um regra.

- Seja c1 o grau de confiança atribuído ao resultadofinal da premissa de uma regra r. Na conclusão de r,final da premissa de uma regra r. Na conclusão de r,devemos ter expressões como var = value CNF c2,onde var é uma variável, value é um termo qualquerque pode ser atribuído a uma variável, c2 é um realpertencente ao intervalo [0; 100] que representa ograu de confiança da atribuição. Mas, c2 é apenasuma referência, pois o valor final é dependente doresultado da premissa. Assim sendo, realizar-se-á aoperação var = value CNF c1 * c2.

Page 4: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTAO cálculo de probabilidades no Expert SINTA (fatores de confiança)

Caso 1 - Exemplo de aplicação:

SE fumagina = simENTÃO suspeita de praga = mosca branca, grau deconfiança (CNF) 70%.confiança (CNF) 70%.

Assim sendo, supondo que o grau de confiança daigualdade fumagina = sim é 80%, teremos que àvariável suspeita de praga será atribuído o valormosca branca, com o respectivo grau de confiança0.80 * 0.70 = 0.56 = 56%.

Page 5: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTAO cálculo de probabilidades no Expert SINTA (fatores de confiança)

Caso 2: Cálculo do grau de confiança com ooperador E.

- Se possuímos duas igualdades var1 = value1 e var2= value2, com os respectivos graus de confiança c1 e= value2, com os respectivos graus de confiança c1 ec2, temos que a sentença var1 = value1 E var2 =value2 retornará como valor de confiança c1 x c2.

Page 6: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTAO cálculo de probabilidades no Expert SINTA (fatores de confiança)

Caso 2 - Exemplo de aplicação:

SE estados das folhas = esfarelam facilmenteE presença de manchas irregulares = sim...

Se o grau de confiança da igualdade estados dasfolhas = esfarelam facilmente é 80% e o grau deconfiança da igualdade presença de manchasirregulares = sim é 70%, temos que a conjunção dasduas sentenças retornará um valor CNF de 56%, poisesse é o produto dos dois valores.

Page 7: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTAO cálculo de probabilidades no Expert SINTA (fatores de confiança)

Caso 3: Cálculo do grau de confiança com ooperador OU.

- Se possuímos duas igualdades var1 = value1 e var2= value2, com os respectivos graus de confiança c1 e= value2, com os respectivos graus de confiança c1 ec2, temos que a sentença var1 = value1 OU var2 =value2 retornará como valor de confiança c1 + c2 - c1x c2.

Page 8: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTAO cálculo de probabilidades no Expert SINTA (fatores de confiança)

Caso 3 - Exemplo de aplicação:

SE besouros vermelhos = simOU larvas marrons = sim ...

Se o grau de confiança da igualdade besourosvermelhos = sim é 80% e o grau de confiança daigualdade larvas marrons = sim é 70%, temos que adisjunção das duas sentenças retornará um valor CNFde 0.70 + 0.80 - 0.70 * 0.80 = 1.50 - 0.56 = 0.94 =94%.

Page 9: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTAO cálculo de probabilidades no Expert SINTA (fatores de confiança)

Caso 4: Quando uma variável recebe duas vezes omesmo valor em pontosdiferentes da consulta.

Em momentos diferentes de uma consulta, umaEm momentos diferentes de uma consulta, umamesma variável var pode receber o mesmo valor v,sendo que até à penúltima instanciação ela possuíagrau de confiança c1, e a última atribuiu um CNF c2.Sendo assim, temos que o valor final de confiançapara var = v será dado pela fórmula ca + cn - ca * cn,onde ca representa o grau de confiança antes daúltima mudança e cn o último grau de confiançaatribuído.

Page 10: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTAO cálculo de probabilidades no Expert SINTA (fatores de confiança)

Caso 4 - Exemplo de aplicação:

A variável doença possuía valor mofo preto com graude confiança 60%. Após a aplicação de outras regraschegou-se a uma outra atribuição doença = mofochegou-se a uma outra atribuição doença = mofopreto, desta vez com CNF 50%.

O cálculo se dá de maneira semelhante à aplicaçãoda regra OU: doença terá como um dos valores mofopreto, com respectivo grau de confiança 0.60 + 0.50 -0.60 * 0.50 = 1.10 - 0.30 = 0.80 = 80%.

Page 11: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTAO cálculo de probabilidades no Expert SINTA (fatores de confiança)

Obs1.: O sistema admite 50% como valor mínimo deconfiança para que uma igualdade seja consideradaverdadeira, mas esse valor pode ser modificado. Ointervalo de grau de confiança varia de 0 a 100.

Obs2.: Observe que as funções para conjunção edisjunção utilizadas seguem a Teoria dosPossibilidades, não envolvendo nenhum tratamentoestatístico mais aprofundado.

Obs3.: Caso haja necessidade o Expert SINTApossibilita a mudança das fórmulas utilizadas. Paratanto consulte o capítulo II do manual.

Page 12: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTALidando com o desconhecido

Além do uso de graus de confiança para tratamentode incertezas, e da “não-instanciação” de variáveis, oExpert SINTA permite o uso de um valor especial,passível de ser usado por todas as variáveis. É oDESCONHECIDO, que representa umaDESCONHECIDO, que representa umaindeterminação total sobre as instanciações de umavariável. Este valor pode ser tanto incluído nas regrascomo dado como resposta pelo usuário.

Page 13: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTA - Implementando o sistemaO Expert SINTA foi criado de modo a permitir ao próprio

analista de conhecimento implementar a base desejada.O usuário não necessita do menor conhecimento de

programação, apenas dever saber como interagir emambientes visuais.

Uma base de conhecimento no Expert SINTA envolve osseguintes conjuntos de atributos a serem indicados peloprojetista da base:projetista da base:

VariáveisRegrasPerguntasObjetivosInformações adicionais

Como padrão, O Expert SINTA grava as bases deconhecimento geradas em arquivos *.BCM.

Download: ftp://ftp.lia.ufc.br/sinta/sinta.zip

Page 14: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTA - Implementando o sistema

Tela Inicial

Page 15: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTA - Implementando o sistema

A janela “Knowledge-in-a-box” (KIB)

Page 16: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTA - Implementando o sistema

Passos para construção do SE utilizando oExpert SINTA:

Estabelecer variáveis

Estabelecer objetivos (variáveis de saída)Estabelecer objetivos (variáveis de saída)

Gerar as regras

Estabelecer interfaces (perguntas a seremfeitas)

Page 17: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTA - Implementando o sistemaDefinição de variáveis: Antes de podermos criar regras, énecessário que todas as variáveis utilizadas, bem comoseus respectivos valores, sejam criados.

Page 18: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTA - Implementando o sistemaDefinição de objetivos: O objetivo de uma consulta a umespecialista é encontrar a resposta para um determinadoproblema. Assim também o é um sistema especialista.

Page 19: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTA

Simulando encadeamento para frente

O Expert SINTA trabalha naturalmente comencadeamento para trás, mas é possível manipular amáquina de inferência de modo a simularencadeamento para frente. Para tal, as variáveis quese deseja encontrar inicialmente devem ser colocadasse deseja encontrar inicialmente devem ser colocadasna lista de objetivos. Obviamente, como não édesejado que uma janela de resultados apareça acada variável encontrada, é possível desabilitar essaexibição simplesmente desmarcando a caixa “Mostrarresultados” relativo à variável desejada na janela deedição de objetivos.

Page 20: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTA - Implementando o sistemaGeração de Regras: .

Page 21: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTA - Implementando o sistemaEstabelecer interfaces: Um sistema especialistaimplementado com o Expert SINTA comunica-se com ousuário final através de menus de múltipla escolha (ouescolha simples, se a variável em questão for univalorada).Estes menus são construídos automaticamente pela shell,mas alguns detalhes devem ser fornecidos pelo criador dabase.

A pergunta realizada pelamáquina de inferênciadeve ser personalizadapara que seja inteligível.Quando o Expert SINTAnecessita perguntar ovalor de determinadavariável, ele cria umasentença genérica do tipo“Qual o valor de x?”, ondex é o nome da variável.

Page 22: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTA - Implementando o sistemaExecutando...

Page 23: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTA - Implementando o sistemaResultado.

Page 24: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTAExemplo:

Como exemplo construiremos um SE capaz dediagnosticar possíveis problemas em um carro.

Iniciaremos pela definição das variáveis:-carburador tem gasolina (univalorada)-diagnostico (multivalorada)-diagnostico (multivalorada)

- Valores- bateria ou cabos- ignicao- carro sem combustivel- mangueira bloqueada- vela de ignicao

-farois ligam (univalorada)-motor liga (univalorada)-tanque vazio (univalorada)

Page 25: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTAObjetivos:

- Diagnostico

Regras:REGRA 1SEtanque vazio = sim

ENTAOdiagnostico = Carro sem combustivel CNF 100%

REGRA 2REGRA 2SEtanque vazio = Nao

E carburador tem gasolina = NaoENTAOdiagnostico = magueira bloqueada CNF 100%

REGRA 3SEtanque vazio = Nao

E motor_liga = NaoE farois ligam = naoENTAOdiagnostico = Bateria ou cabos CNF 100%

Page 26: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Expert SINTARegras:

REGRA 4SEtanque vazio = Nao

E motor_liga = NaoE farois ligam = SimENTAOdiagnostico = Ignicao CNF 100%

REGRA 5SESEtanque vazio = Nao

E motor_liga = simE farois ligam = naoENTAOdiagnostico = vela de ignição CNF 100%

Interface (VARIAVEIS COM PERGUNTAS)

carburador tem gasolina = O carburador tem gasolina ?Farois ligam = Os faróis ligam ?motor liga = O motor liga ?tanque vazio = O tanque esta vazio?

Page 27: Expert SINTA - univasf.edu.brmarcelo.linder/arquivos_ia/aula3.pdf · Expert SINTA - Implementando o sistema O Expert SINTA foi criado de modo a permitir ao próprio analista de conhecimento

Exercício: “Devo ou não ir à praia amanhã?”

REGRA 1SE amanhã pode chover = NãoE tenho dinheiro suficiente = SimE tenho tempo suficiente = SimENTÃO devo ir à praia = Sim

REGRA 2SE amanhã pode chover = SimOU tenho dinheiro suficiente = NãoOU tenho tempo suficiente = Não

REGRA 5SE minha namorada ligar = SimENTÃO não vou sair hoje = Não

REGRA 6SE meu orientador passar trabalho extra = SimENTÃO tenho tempo suficiente = Não

OU tenho tempo suficiente = NãoENTÃO devo ir à praia = Não

REGRA 3SE o serviço de meteorologia disse que vai chover amanhã = SimENTÃO amanhã pode chover = Não

REGRA 4SE não vou sair hoje = SimE nenhuma emergência ocorrer = SimENTÃO tenho dinheiro suficiente = Sim