Baixe o app para aproveitar ainda mais
Prévia do material em texto
Agente Baseado em Conhecimento: Um olhar sobre Sistemas Especialistas Evandro de Barros Costa evandro@ic.ufal.br Maceió, Alagoas Agosto, 2022 11 mailto:evandro@ic.ufal.br Agente baseado em Conhecimento Parte 2: Engenho (Motor, Máquina) de Inferência O que é um Engenho de Inferência? Como construir um Engenho de Inferência? Agente baseado em conhecimento Am biente Sensores Efetuadores Base de Conhecimento Engenho de Inferência Raciocínio Automático Interface Agente baseado em conhecimento via Regra do tipo SE antecedente ENTÃO consequente Engenho de Inferência Engenho de Inferência • Contém métodos que selecionam e aplicam o conhecimento con0do na Base de Conhecimento. • Aplica o conhecimento na solução de problemas – Usa os conhecimentos abstrato (conjunto de regras) e concreto (fatos ou evidências) para obter novas conclusões ou fatos. – Controla a ordem na qual as regras de inferência são aplicadas para resolver o problema e resolve conflitos se mais do que uma regra se aplica no processo de raciocínio. Interação Motor de Inferência e BC Motor de Inferência • É essencialmente um interpretador da BC; • MI executa o ciclo de controle reconhece-atua; • Os procedimentos que implementam o ciclo de controle são separados das regras de produção propriamente ditas; • Separação entre a BC e o MI. Máquina de Inferência • Processo de raciocínio • Há diferentes estratégias de controle para o sistema. • Estrutura de controle (controle de inferência) – Guiado por objetivo (Encadeamento para trás) – Guiado por dados (Encadeamento para frente) – Híbrido (Misto) Encadeamento de Regras If A and B then F If C and D and E then K If F and K then G If J and G then Goal Temos: Encadeamento p/ frente das Premissas p/ Goals ou Encadeamento p/ trás Sai dos Goals e tenta prová-los. Encadeamento para Trás (regressivo): Backward Chaining • Da hipótese aos dados – Da Conclusão para as condições – Guiado por objetivos, raciocínio top down – Parte da hipótese que se quer verificar, procurando regras na BR cujo consequente satisfaz essa hipótese. – Usa as regras da BR para responder a perguntas – Busca achar fatos que sustente a hipótese – Só processa as regras relevantes para a pergunta Encadeamento para Trás: Algoritmo • O MI funciona a par0r dum obje0vo inicial a ser provado, seguindo um ciclo de 3 fases: – 1. Detecção das regras que tem o objeJvo em sua conclusão – 2. Seleção da regra – 3. Aplicar à regra selecionada (que consiste em considerar os elementos da premissa como novos sub-objeJvos a serem verificados) o seguinte: – Se já @verem na BF (ou MT), ok – Senão, serão empilhados na pilha de obje@vos. – Condição de parada: pilha vazia (sucesso) ou alguma regra trabalhada na verificação dum elemento ficou num impasse. Encadeamento para Trás R1: SE A = sim & B = sim ENTÃO C = sim R2: SE A = sim ENTÃO D = sim R3: SE C = sim & D = sim ENTÃO E = sim R4: SE B = sim & E = sim & F = sim ENTÃO G = sim R5: SE A = sim & E = sim ENTÃO H = sim R6: SE D = sim & E = sim & H = sim ENTÃO I = sim • Suponha uma MT inicial = {A=sim, B=sim, F=sim} • Pergunta: H = sim ?? • Adaptado do Livro de IA por Ben Coppin, 216 Encadeamento para Trás Motor de Inferência A B F Base de regras Base de Fatos Pilha de Objetivos A & B ® C A ® D C & D ® E B & E & F ® G A & E ® H D & E & H ® I H? H Encadeamento para Trás Motor de Inferência A B F Base de regras Base de Fatos Pilha de Objetivos A & B ® C A ® D C & D ® E B & E & F ® G A & E ® H D & E & H ® I H? H Regra 5 Encadeamento para Trás Motor de Inferência A B F Base de regras Base de Fatos Pilha de Objetivos A & B ® C A ® D C & D ® E B & E & F ® G A & E ® H D & E & H ® I H? H E Regra 3 Encadeamento para Trás Motor de Inferência A B F Base de regras Base de Fatos Pilha de Objetivos A & B ® C A ® D C & D ® E B & E & F ® G A & E ® H D & E & H ® I H? H E C D Regra 1 Encadeamento para Trás Motor de Inferência A B F Base de regras Base de Fatos Pilha de Objetivos A & B ® C A ® D C & D ® E B & E & F ® G A & E ® H D & E & H ® I H? H E C D Regra 2 Encadeamento para Trás Motor de Inferência A B F D Base de regras Base de Fatos Pilha de Objetivos A & B ® C A ® D C & D ® E B & E & F ® G A & E ® H D & E & H ® I H? H E C Regra 1 Encadeamento para Trás Motor de Inferência A B F D C Base de regras Base de Fatos Pilha de Objetivos A & B ® C A ® D C & D ® E B & E & F ® G A & E ® H D & E & H ® I H? H E Regra 2 Encadeamento para Trás Motor de Inferência A B F D C E Base de regras Base de Fatos Pilha de Objetivos A & B ® C A ® D C & D ® E B & E & F ® G A & E ® H D & E & H ® I H? H Encadeamento para Trás Motor de Inferência A B F D C E H Base de regras Base de Fatos Pilha de Objetivos A & B ® C A ® D C & D ® E B & E & F ® G A & E ® H D & E & H ® I H? Encadeamento para Trás R1: SE F = sim E B = sim ENTÃO Z = sim R2: SE C = sim E D = sim ENTÃO F= sim R3: SE A = sim ENTÃO D = sim • Suponha MT inicial = {A=sim, B=sim, C=sim} • Pergunta: Z = Sim ?? Encadeamento para Trás Motor de Inferência Base de regras Base de Fatos Pilha de Objetivos F & B ® Z C & D ® F A ® D A B C Z? Encadeamento para Trás Motor de Inferência Base de regras Base de Fatos Pilha de Objetivos F & B ® Z C & D ® F A ® D A B C Z Z? Regra 1 Encadeamento para Trás Motor de Inferência Base de regras Base de Fatos Pilha de Objetivos F & B ® Z C & D ® F A ® D A B C Z F? F Regra 2 Encadeamento para Trás Motor de Inferência Base de regras Base de Fatos Pilha de Objetivos F & B ® Z C & D ® F A ® D A B C Z F A? A! D Regra 3 Encadeamento para Trás Motor de Inferência Base de regras Base de Fatos Pilha de Objetivos F & B ® Z C & D ® F A ® D A B C Z F D! Encadeamento para Trás Motor de Inferência Base de regras Base de Fatos Pilha de Objetivos F & B ® Z C & D ® F A ® D A B D Z CF! Encadeamento para Trás Motor de Inferência Base de regras Base de Fatos Pilha de Objetivos F & B ® Z C & D ® F A ® D A B C Z Z? Z!D F Encadeamento para Trás Motor de Inferência Base de regras Base de Fatos Pilha de Objetivos F & B ® Z C & D ® F A ® D A B C D F Z S.E para Diagnós0co de falhas num Motor R1: Se motor está recebendo combusSvel E o motor tenta pegar ENTÃO o problema é vela R2: Se motor não tenta pegar E as luzes não acender ENTÃO o problema é bateria ou cabo R3: Se motor não tenta pegar E as luzes acender ENTÃO o problema é motor de parJda R4: Se houver combusSvel no tanque de combusSvel E houver combusSvel no carburador ENTÃO o motor está recebendo combusSvel • Adaptado do Livro do George Luger S.E para Diagnós0co de falhas num Motor R1: Se A = sim E B = sim ENTÃO Problema = vela R2: Se B = não E C = não ENTÃO Problema = bateria OU Problema = cabo R3: Se B = não E C = sim ENTÃO Problema = motor de partida R4: Se G = sim E H = sim ENTÃO A = sim Glossário A = motor está recebendo combusavel B = motor tenta pegar C = luzes acendem G = há combusavel no tanque de combusavel H = há combusavel no carburador Problema = {vela, bateria, cabo, motor de parcda} S.E para Diagnóstico R1: SE Dor de cabeça = Sim E Garganta inflamada = Sim E Tosse = Sim ENTÃO DiagnósJco = Gripe R2: SE Cansaço = Sim E Dor de cabeça = Sim ENTÃO DiagnósJco = Mononucleose infecciosa R3: SE Cansaço = Sim E Garganta inflamada = Sim ENTÃO DiagnósJco = Amigdalite R4: SE Cansaço = Sim ENTÃO DiagnósJco = Estresse R5: SE Fadiga = sim E Dores_de_cabeça= sim E Dores_no_corpo = sim E Ocasionais_dores_garganta = sim E Ocasionais_tosse = sim ENTÃO DiagnósJco = Covid19 MT = {Dor de cabeça = sim} DiagnósJco = X • Adaptado do Livro do Ben Coppin Encadeamento para trás: O caso da Expressão da Pergunta ser COMPLEXA (combinação de expressões), não necessariamentecorrespondendo diretamente com os consequentes das regras Encadeamento para Trás Regras R1: Se F = sim & D = sim ENTÃO A = sim R2: Se E = sim ENTÃO (B = sim & C = sim) R3: Se G = Sim ENTÃO D = sim • Suponha uma Memória de Trabalho = {(G=sim & F=sim)} • Pergunta: (A = sim ou (B=sim & C=sim)) • Adaptado do Livro do George Luger, 505 Encadeamento para Trás Dica para iniciar: A pergunta feita pode ser imediatamente decomposta em duas sub- perguntas combinadas pelo OU, isto é, Pergunta1: A = sim , Pergunta2 = (B=sim & C=sim)). Encadeamento para trás: O caso de + de 1 regra com a mesma conclusão Encadeamento para Trás R1: SE C = sim & D = sim ENTÃO G = sim R2: SE C = sim & B = sim ENTÃO F = sim R3: SE E = sim & G = sim ENTÃO H = sim R4: SE E = sim & F = sim ENTÃO I = sim R5: SE A = sim & F = sim ENTÃO H = sim • Suponha uma MT inicial = {A=sim, B=sim, C=sim} • Pergunta: H = sim ?? • Adaptado do Livro de IA por E. Costa e A. Simões Encadeamento para Trás R1: SE C = sim & D = sim ENTÃO G = sim R2: SE C = sim & B = sim ENTÃO F = sim R3: SE E = sim & G = sim ENTÃO H = sim R4: SE E = sim & F = sim ENTÃO I = sim R5: SE A = sim & F = sim ENTÃO H = sim • Suponha uma MT inicial = {A=sim, B=sim, C=sim} Encadeamento para Trás 1. Selecione regras com conclusões casando com o goal e crie uma árvore de busca, cada regra selecionada se tornará um nó na árvore de busca e terá uma pilha de objetivo associada com ela. 2. Selecione um desses nós como um sub-goal e repita passo 1. 3. Se um goal for provado acaba por disparar a string correta de regras. Encadeamento para Frente Encadeamento para Frente (progressivo): Forward Chaining • Dos dados para conclusão – Do antecedente para o consequente • Guiado por dados, raciocínio bottom-up • Antecedente é quem determina a busca • Trabalha para frente para achar quais soluções seguem dos fatos. Modos de Raciocínio Guiado por dados ou Encadeamento para frente •A parte esquerda da regra (premissa) é comparada com a descrição da situação atual (dados), con@da na memória de trabalho •A regra que sa@sfaz a descrição tem a sua parte direita (conclusão) executada (procedimentos e/ou inclusão de novos fatos na memória de trabalho) • ações possíveis: adicionar um dado, remover um dado ou modificar um dado • No próximo passo as conclusões tornam-se dados a serem casados com premissas de regras • processo con@nua até que nenhuma regra possa ser disparada Encadeamento para Frente: Algoritmo 1. Armazena as regras da BR na máquina de inferência (MI) e os fatos na memória de trabalho (MT); 2. Adiciona os dados iniciais à memória de trabalho; 3. Compara o antecedente das regras com os fatos na MT. As regras cujo antecedente “casa” (unifica) com esses fatos podem ser disparadas (conjunto de conflito); 4. Usa o procedimento de resolução de conflito para selecionar uma única regra desse conjunto; 5. Dispara a regra selecionada e verifica o seu conseqüente: a) se for um fato, atualiza a MT b) se for uma ação, chama o procedimento que ativa os efetuadores do agente e atualiza a MT 6. Repete os passos 3, 4 e 5 até que o conjunto de conflito se torne vazio. Exemplo de Encadeamento para Frente Um conjunto de regras pode ser encadeadas conjuntamente, como segue: Se A, então B (Regra 1) Se B, então C (Regra 2) A (Dado conhecido) ------------------------------- C (Conclusão) EncadeamentoparaFrente R1: Se F = sim E B = sim ENTÃO Z = sim R2: Se C = sim E D = sim ENTÃO F= sim R3: Se A = sim ENTÃO D = sim • Suponha MT inicial = {A=sim, B=sim, C=sim} Encadeamentopara Frente Motor de Inferência Base de regras Base de Fatos F ∧ B⇒ Z C ∧ D⇒ F A ⇒ D A B C Encadeamento para Frente Motor de Inferência Base de regras Base de Fatos F ∧ B⇒ Z C ∧ D⇒ F A ⇒ D A B D C Encadeamento para Frente Motor de Inferência Base de regras Base de Fatos F ∧ B⇒ Z C ∧ D⇒ F A ⇒ D A B C D F Encadeamento para Frente Motor de Inferência Z Base de regras Base de Fatos F ∧ B⇒ Z C ∧ D⇒ F A ⇒ D A B C D F Máquina de Inferência Base de Regras: R1: Se A = Sim & B = Sim Então C = Sim R2: Se A = Sim Então D = Sim R3: Se C = Sim & D = Sim Então E = Sim R4: Se B = Sim & E= Sim & F= Sim Então G = Sim R5: Se A = Sim & E = Sim Então H = Sim R6: Se D = Sim & E = Sim & H = Sim Então I = Sim Base de Fatos: A = Sim, B = Sim, F = Sim ObjeJvo: H = Sim Máquina de Inferência Base de Regras: R1: A ^ B ® C // Se A = Sim & B = Sim Então C = Sim R2: A ® D R3: C ^ D ® E R4: B ^ E ^ F ® G R5: A ^ E ® H R6: D ^E ^ H ® I Base de Fatos: A, B, F ObjeJvo: H Máquina de Inferência: Encadeamento para Frente Base de Fatos Regras Selecionadas AJvadas A,B,F R1, R2 R1 A, B, C, F R2 R2 A, B, C, D, F R3 R3 A, B, C, D, E, F R4, R5 R4 A, B, C, D, E, F, G R5 R5 A, B, C, D, E, F, G, H R6 PARAR Máquina de Inferência: Encadeamento para Frente Base de Regras: R1: C ® M R2: A, D ® E R3: L ® H R4: B, C ® G R5: A, B ® C R6: G, D ® H, I R7: C ® D R8: E, K ® H Base de Fatos: A, B ObjeJvo: H Máquina de Inferência: Encadeamento para Frente Regra Aplicada. Base de Fatos R5: A,B,C R1: A, B, C, M R4: A, B, C, M, G R7: A, B, C, M, G, D R2: A, B, C, M, G, D, E R6: A, B, C, M, G, D, E, H, I Encadeamento Misto • Encadeamento para trás é usado em conjunto com encadeamento para frente. • Sempre que um novo fato for adicionado à Memória de Trabalho (Base de Fatos), encadeamento para frente será aplicado para verificar se mais alguns fatos podem ser derivados. Encadeamento Misto • Encadeamento para trás será então usado para tentar provar cada hipótese possível. • Vamos pensar em um simples sistema especialista na área médica, desenvolvido para diagnosccar e tratar doenças de pacientes. As regras seriam como segue no próximo slide. Encadeamento Misto • Regra 1: Se for dor de cabeça, então receitar analgésico • Regra 2: Se for dor de cabeça, garganta inflamada e tosse, então diagnosccar gripe • Regra 3: Se for cansaço e dor de cabeça, então diagnosccar mononucleose infecciosa • Regra 4: Se for cansaço e garganta inflamada, então diagnosccar amigdalite • Regra 5: Se for cansaço, diagnosccar estresse S.E para Diagnós.co R1: SE Dor de cabeça = Sim ENTÃO Receitar analgésico R2: SE Dor de cabeça = Sim E Garganta inflamada = Sim E Tosse = Sim ENTÃO Diagnóstico = Gripe R3: SE Cansaço = Sim E Dor de cabeça = Sim ENTÃO Diagnóstico = Mononucleose infecciosa R4: SE Cansaço = Sim E Garganta inflamada = Sim ENTÃO Diagnóstico = Amigdalite R5: SE Cansaço = Sim ENTÃO Diagnóstico = Estresse • Adaptado do Livro do Ben Coppin S.E para Diagnóstico R1: SE Dor de cabeça = Sim ENTÃO Receitar analgésico R2: SE Dor de cabeça = Sim E Garganta inflamada = Sim E Tosse = Sim ENTÃO DiagnósJco = Gripe R3: SE Cansaço = Sim E Dor de cabeça = Sim ENTÃO DiagnósJco = Mononucleose infecciosa R4: SE Cansaço = Sim E Garganta inflamada = Sim ENTÃO DiagnósJco = Amigdalite R5: SE Cansaço = Sim ENTÃO DiagnósJco = Estresse • Adaptado do Livro do Ben Coppin Encadeamento Misto • Suponha uma consulta entre o usuário (paciente) e o sistema especialista, como se segue: • Paciente: Estou com dor de cabeça (o que inicia a MT e aciona o encadeamento para frente) • Sistema: Sugiro que você tome um analgésico. Você está com a garganta inflamada? • Paciente: Sim, estou. • Sistema: Você tem tossido?• Paciente: Não, por que você está perguntando? Encadeamento Misto • Sistema: Se você escvesse com dor de cabeça, garganta inflamada e escvesse tossindo, concluiria que você pode estar gripado. • Não me parece que você esteja gripado. Você tem se senKdo cansado ulKmamente? • Paciente: Sim, tenho. • Sistema: Parece-me que você pode estar com mononucleose infecciosa (ou tonsilite). Encadeamento Misto • Esse foi um exemplo bastante simplista, porém ilustra de que modo o sistema usa encadeamento para frente para derivar novos fatos e faz perguntas para prosseguir em sua análise usando encadeamento para trás.
Compartilhar