Inteligência Artificial (introdução - Sistema Especialista) Prof. Edson Emílio Scalabrin Curso de Ciência da Computação CCET/PUCPR [email protected] 1 Introdução Em 1956, um pequeno grupo de cientistas da computação realizaram um seminário patrocinado pela IBM na Faculdade Dartmouth. As discussões enfocaram-se nos esforços de pesquisa sobre a prova automática de teoremas e as novas linguagens de programação. Eles discutiram também formas com que este trabalho poderia ser encaminhado para desenvolver um computador que poderia simular o raciocínio humano. Esta conferência marcou o nascimento da Inteligência Artificial. 2 Introdução . . . Definição 1.1: Inteligência Artificial • Um campo de estudo em ciência da computação que tem como meta a construção de um computador que raciocina de forma semelhante aos seres humanos. Objetivos da Inteligência Artificial (de um ponto de vista prático) tornar os computadores mais úteis para os seres humanos. • Isto pode ser alcançado produzindo programas de computador que ajudem os humanos em suas tomadas de decisões, fazendo, por exemplo, uma recuperação inteligente de informação, ou simplesmente, fazendo computadores mais fáceis de usar com interface em linguagem natural. entender melhor a inteligência humana. • A construção de um sistema de computação inteligente exige que entendamos como nós, seres humanos, capturamos, organizamos e usamos o conhecimento na resolução de problemas. 3 Introdução . . . Como o ser humano resolve seus problemas ? Qual é a origem dos conhecimentos utilizados para resolver um problema ? • da nossa experiência e • de um processo formal de aprendizagem 4 Introdução . . . Qual é a importância dos conhecimentos provenientes da experiência ? • eles dão origem as heurísticas OBS.: • Estes também são chamados de conhecimentos de superfície e correspondem à resolução de “caso já visto” Exemplo de modelagem • regras de produção 5 Introdução . . . Exemplos de regras: Se < chove > então pegar um guarda-chuva Se < não encontrar um guarda-chuva > então procurar uma impermeável Se < está quente > então retirar a blusa Funcionamento: • as regras são confrontadas à situações correntes fatos, e uma ação correspondente é efetuada. • esse comportamento é facilmente reproduzido em computadores nos sistemas especialistas ou ainda sistemas a base conhecimentos. 6 Introdução . . . Qual é a importância dos conhecimentos provenientes de um processo formal ? • Eles são representam o resultado do aprendizagem de teorias gerais que devem ser colocadas em práticas nos raciocínios. OBS.: • Estes também são chamados de conhecimentos de profundos 7 Sistema Especialista Definição 1.2: Sistema Especialista • É um programa de computador projetado para modelar a habilidade de resolução de problemas de um especialista humano. 8 Sistema Especialista Diagrama em blocos a Base de Conhecimentos contém conhecimentos altamente especializados fornecidos pelo especialista na área do problema. a Motor de Inferência é o processador de conhecimento modelado a partir do raciocínio do especialista. • Ele trabalha com as informações disponíveis sobre um determinado problema e os conhecimentos armazenados na base de conhecimentos para inferir conclusões ou recomendações. Base de Fatos Motor de inferência Base de conhecimentos 9 Sistema Especialista Por que construir um ? Fator disponibilidade/tempo geográfico segurança perecível desempenho velocidade custo Esp. Humano Esp. Sistema dia / trabalho sempre local qualquer lugar Insubstituível substituível sim não variável constante variável constante (normalmente mais rápido) alto razoável 10 Sistema Especialista Por que construir . . . Substituir um especialista, algumas razões: tornar as perícias sempre disponíveis (tempo e lugar) ; automatizar tarefas rotineiras que requerem um especialista; reter os conhecimentos especializados, em particular, em casos de aposentadoria, mudança de setor, etc.; baratear serviços especializados--especialista é caro; atuar em um ambiente hostil, quando uma perícia se faz necessária. 11 Sistema Especialista Por que construir . . . Assistir um especialista, algumas razões: auxiliar o especialista em alguma tarefa rotineira para melhorar a produtividade; auxiliar o especialista em alguma tarefa difícil para melhor administrar a complexidade; tornar disponível ao especialista informações que são de difícil recordação ou memorização. 12 Sistema Especialista Estrutura de um Sistema Especialista Especialista Humano Memória de longo termo Conhecimento de domínio Raciocínio Memória de curto termo Caso/Fatos inferidos Conclusões Recomendação Caso, Fatos conclusões 13 Sistema Especialista Estrutura de um Sistema Especialista Sistema Especialista Memória de longo termo Conhecimento de domínio Memória de curto termo Caso/Fatos inferidos Conclusões Motor de Inferência Usuário Caso, Fatos conclusões 14 Sistema Especialista Base de conhecimentos Definição 2.1: Base de conhecimentos • parte de um sistema especialista que contém o conhecimento do domínio. Tarefa do engenheiro do conhecimento • obter o conhecimento do especialista e codificá-lo em uma base de conhecimentos usando uma dada técnica de representação (e.g. regras). 15 Sistema Especialista Base de conhecimentos . . . Exemplo de regras: Regra 01: • Se o carro não ligar Então o problema pode estar no sistema elétrico Regra 02: • Se o problema pode estar no sistema elétrico E a voltagem da bateria está abaixo de 10 volts Então a falha é uma bateria ruim 16 Sistema Especialista Memória de trabalho Definição 2.2: Memória de trabalho • parte de um sistema especialista que contém os fatos do problema que são descobertos durante a sessão de consulta. Comentário: • A memória de trabalho contém todas as informações sobre o problema que são fornecidas pelo usuário ou inferidas pelo sistema. • Toda informação obtida durante uma consulta é freqüentemente chamada de contexto da sessão. 17 Sistema Especialista Motor de Inferência Definição 2.3: Motor de Inferência • É o processador em um sistema especialista que confronta os fatos contidos na memória de trabalho com os conhecimentos de domínio contidos na base de conhecimento para tirar conclusões sobre o problema. Comentário: • O M.I. trabalha com os fatos contidos na memória de trabalho e o conhecimento de domínio contido na base de conhecimento para derivar uma nova informação. Ele procura as regras para um casamento entre as suas premissas e as informações contidas na memória de trabalho. Quando o M.I. encontra um casamento, adiciona a conclusão da regra na memória de trabalha e continua ... 18 Sistema Especialista Mecanismo e estratégia de inferência Considerando uma regra: • • • • Se as premissas estão contidas na memória de trabalho, Então aplica-se a regra, adicionando as conclusões MT Senão passa para a próxima regra Quando detecta-se que um objetivo foi atingido ou que mais nenhuma regra se aplica, o processo de raciocínio é encerrado Comentário: • as variações nesse mecanismo estão relacionadas a escolha da primeira regra, a escolha próxima regra, . . . 19 Sistema Especialista Exemplo de inferência Regra Regra Regra Regra 01: 02: 03: 04: Se Se Se Se A B C D = = = > SIM SIM SIM 2 Então Então Então Então B D E G = = = = SIM & C = SIM 5 10 1024 A A 1 4 B 2 3 D G C E 5 B C D E G 20 Sistema Especialista Exemplo de base de regras Regra 01: Se distância > 5 km, pegaremos o carro Regra 02: Se distância > 1 km e tempo < pegaremos o carro Regra 03: Se distância > 1 km e tempo > iremos a pé Regra 04: Se iremos de carro e o cinema cidade, pegaremos um taxi Regra 05: Se iremos de carro e o cinema centro da cidade, pegaremos nosso próprio carro Regra 06: Se iremos a pé e o tempo está pegaremos uma impermeável Regra 07: Se iremos a pé e o tempo está iremos em ritmo de passeio 15 minutos, 15 minutos, é no centro da não é no ruim, bom, 21 Sistema Especialista Shell SINTA Cálculo de probabilidades Caso 1: • Quando deseja-se saber o valor final atribuído às variáveis na conclusão de um regra. • Seja c1 o grau de confiança atribuído ao resultado final da premissa de uma regra r. var = value CNF c1. c2. • c2 é apenas uma referência, pois o valor final é dependente do resultado da premissa. 22 Sistema Especialista Shell SINTA Caso 1: exemplo continuação • SE fumagina = sim ENTÃO suspeita de praga = mosca branca, grau de confiança (CNF) 70%. Cálculo: • Supondo que o grau de confiança da igualdade fumagina = sim é 80%, teremos que à variável suspeita de praga será atribuído o valor mosca branca, com o respectivo grau de confiança 0.80 * 0.70 = 0.56 = 56%. 23 Sistema Especialista Shell SINTA Caso 2: • Quando deseja-se calcular o grau de confiança envolvendo o o operador E. Cálculo : • Se possuímos duas igualdades var1 = value1 e var2 = value2, com os respectivos graus de confiança c1 e c2, temos que a sentença var1 = value1 E var2 = value2 retornará como valor de confiança c1 x c2. 24 Sistema Especialista Shell SINTA Caso 2: exemplo continuação • SE estados das folhas = esfarelam facilmente E presença de manchas irregulares = sim... Cálculo: • Se o grau de confiança da igualdade estados das folhas = esfarelam facilmente é 80% e o grau de confiança da igualdade presença de manchas irregulares = sim é 70%, temos que a conjunção das duas sentenças retornará um valor CNF de 56%. 25 Sistema Especialista Shell SINTA Caso 3: • Quando deseja-se calcular o grau de confiança com o operador OU. Cálculo : • Se possuímos duas igualdades var1 = value1 e var2 = value2, com os respectivos graus de confiança c1 e c2, temos que a sentença var1 = value1 OU var2 = value2 retornará como valor de confiança c1 + c2 - c1 x c2. 26 Sistema Especialista Shell SINTA Caso 3: exemplo continuação • SE besouros vermelhos = sim OU larvas marrons = sim ... Cálculo : • Se o grau de confiança da igualdade besouros vermelhos = sim é 80% e o grau de confiança da igualdade larvas marrons = sim é 70%, temos que a disjunção das duas sentenças retornará um valor CNF de 0.70 + 0.80 - 0.70 * 0.80 = 1.50 - 0.56 = 0.94 = 94%. 27 Sistema Especialista Shell SINTA Caso 4: • Quando deseja-se atualizar o grau de confiança de uma variável que se encontra na memória de trabalho. Situação • A variável doença possuía valor mofo preto com grau de confiança 60%. Após a aplicação de outras regras chegouse a uma outra atribuição doença = mofo preto, desta vez com CNF 50%. Cálculo • O cálculo se dá da mesma forma que a regra do OU: 0.60 + 0.50 - 0.60 * 0.50 = 1.10 - 0.30 = 0.80 = 80%. 28 Sistema Especialista Shell SINTA Caso 5: • Quando uma variável recebe duas vezes o mesmo valor em pontos diferentes da consulta. Cálculo: • Em momentos diferentes de uma consulta, uma mesma variável var pode receber o mesmo valor v, sendo que até à penúltima instanciação ela possuía grau de confiança c1, e a última atribuiu um CNF c2. Sendo assim, temos que o valor final de confiança para 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ça atribuído. 29 Sistema Especialista Shell SINTA Notas • O sistema admite 50% como valor mínimo de confiança para que uma igualdade seja considerada verdadeira. • Observe que as funções para conjunção e disjunção utilizadas seguem a Teoria das Possibilidades, não envolvendo nenhum tratamento estatístico mais aprofundado. • É possível mudar as fórmulas utilizadas. 30 Sistema Especialista Exercício Representar através de um grafo as regras da base SECAJU • encadeamento para frente • encadeamento para traz Exercitar a Shell SINTA usando as regras da base SECAJU Entrar com as regras para escolher o meio de transporte para ir ao cinema na Shell SINTA 31