Sistemas de Manutenção da Verdade-4. "Truth Maintenance System" Objectivos de um TMS: 1. Identificar a responsabilidade pelas conclusões



Documentos relacionados
Facturação Guia do Utilizador

Processo de Bolonha. Regime de transição na FCTUC

Índice. Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação?

Conectar diferentes pesquisas na internet por um menu

Resolução da lista de exercícios de casos de uso

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

TÉCNICAS DE PROGRAMAÇÃO

Jornal Oficial da União Europeia L 141/5

O que esperar do SVE KIT INFORMATIVO PARTE 1 O QUE ESPERAR DO SVE. Programa Juventude em Acção

Modelo de Trabalho de Culminação de Estudos na Modalidade de Projecto de Pesquisa

Breezair Smart Hub B Portuguese 0706 Page 1 of 6

Manual do Módulo de Correspondência

Trabalho 3: Agenda de Tarefas

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

Observações. Referência Título / Campo de Aplicação Emissor Data de adoção

FAQ: Parametrização para Contabilização

Realização. Conselho Brasileiro de Manejo Florestal FSC Brasil.

Guia rápido de criação e gestão de um espaço no SAPO Campus

UNIDADE 6 - PROGRAMAÇÃO MODULAR

MEDIÇÃO EM QUÍMICA ERROS E ALGARISMOS SIGNIFICATIVOS

Observações. Referência Título / Campo de Aplicação Emissor Data de adoção

Introdução ª Parte - Acesso à Aplicação Avaliação Online... 4 I Aceder à Aplicação Inscrição Acesso à Aplicação...

Princípios do teste de software

Eventos independentes

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII

Exercícios Teóricos Resolvidos

Engenharia do Conhecimento

Pontes. Aula 14. VLANs. Pontes (bridges) Virtual LANs (VLANs)

SISTEMA DE CLIMATIZAÇÃO

Manual das planilhas de Obras v2.5

Aula anterior... Definição do algoritmo (continuação)

O que é coleta de dados?

[ \ x Recordemos o caso mais simples de um VLVWHPD de duas HTXDo}HVOLQHDUHV nas duas LQFyJQLWDV [ e \.

6. Pronunciamento Técnico CPC 23 Políticas Contábeis, Mudança de Estimativa e Retificação de Erro

Actualizaç ões e novas funcionalidades. Inoxnet. Versã o (c) EBASE Lda.

Orientações sobre o tratamento de dados dos documentos de identificação dos titulares de cartão de pagamento por parte das firmas comerciais

COMITÊ DE ÉTICA EM PESQUISA DA ESCOLA DE SAÚDE PÚBLICA DO CEARÁ

Como criar um blog. Será aberta uma janela onde você deverá especificar o título do blog, o endereço do blog, e o modelo.

Amostras e guias de iniciação Versão 8 Edição 0. Guia de iniciação do Hiring Sample para o IBM Process Designer

TRANSIÇÃO DAS CERTIFICAÇÕES DOS SISTEMAS DE GESTÃO DA QUALIDADE E SISTEMAS DE GESTÃO AMBIENTAL, PARA AS VERSÕES 2015 DAS NORMAS.

BREVE INTRODUÇÃO AO SISTEMA DA GESTÃO DE DOCUMENTOS DA CÂMARA MUNICIPAL DE MACAU PROVISÓRIA

Administração da Produção I

Manual do Usuário - ProJuris Web - Biblioteca Jurídica Página 1 de 20

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Tabelas vista de estrutura

Base Nacional Comum Curricular Lemann Center at Stanford University

Submissão Autenticada de Ficheiros ao SIGEX

Lógica Proposicional

Capítulo 6 Movimentos

Ter o controle das pastas (Prontuários) armazenadas no "SAME", utilizando-se do recurso do "Volume".

Programação por Objectos. Java

Manual SIGEESCOLA Matrícula

3 Metodologia 3.1. Tipo de pesquisa

PAINEL DE ADMINISTRADOR

Manual de Utilizador Plataforma de Estágios TIC.

por séries de potências

Trabalho de Desenvolvimento de Sistemas de Software GereComSaber 2ª Fase

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto

1. Criar uma nova apresentação

Programação em papel quadriculado

Jogos vs. Problemas de Procura

Serviço de Clientes. Gestix Enterprise. Gestix.com

Observação das aulas Algumas indicações para observar as aulas

Este artigo abaixo foi produzido originalmente para a Network Core Wiki. Reproduzo-a aqui na íntegra. Publicado originalmente em 07/12/2007.

4.4. UML Diagramas de interacção

Contrato de Assistência Técnica ao Programa pleon

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

O que é o Contrato de Seguro?

Orientações relativas à avaliação interna do risco e da solvência

Tarefa 18: Criar Tabelas Dinâmicas a partir de Listas de Excel

Mantis. Solicitando suporte. Manual do Cliente

UnionWeb Condominium

Algoritmos e Programação II. Sobrecarga

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

INSTRUÇÕES DE REGATA

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO

MANUAL DE PROCEDIMENTOS PLATAFORMA DE INSCRIÇÕES ONLINE

Representação do Conhecimento

ISO/IEC Avaliação da conformidade Declaração de conformidade do fornecedor Parte 1: Requisitos gerais

1 Introdução. 2 Exemplo de aplicação

REGULAMENTO SOBRE INSCRIÇÕES, AVALIAÇÃO E PASSAGEM DE ANO (RIAPA)

MD Sequências e Indução Matemática 1

Work Flow no EGS F&B Control

Usando o do-file editor Automatizando o Stata

Análise e Projeto Orientados a Objeto

6. Programação Inteira

Potenciação no Conjunto dos Números Inteiros - Z

Novo Formato de Logins Manual de Consulta

ASSUNTO: Processo de Auto-avaliação da Adequação do Capital Interno (ICAAP)

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Aula 4 Estatística Conceitos básicos

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura Exemplo de um grafo linear.

Especificação Operacional.

1. Requisitos quanto a detecção e sensores

PROBABILIDADE Prof. Adriano Mendonça Souza, Dr.

formativa e das atividades de ensino e de aprendizagem nela desenvolvidas;

Transcrição:

Sistemas de Manutenção da Verdade-1 Sistemas de Manutenção da Verdade-2 Sistemas de Manutenção da Verdade TMS "Truth Maintenance System" Um sistema de manutenção da verdade ou TMS é um mecanismo que auxilia os motores de inferência a gerir convenientemente as dependências entre hipóteses e as conclusões delas derivadas. Objectivos de um TMS: 1. Identificar a responsabilidade pelas conclusões Fornecer informação para explicar o raciocínio, indicando as premissas que permitem derivar cada conclusão. 2. Recuperar de inconsistências Detectar as hipóteses/assunções que levaram a uma inconsistência, permitindo determinar quais retirar para remover a inconsistência. 3. Manter uma "cache" de inferências Memorizar informação sobre as conclusões já derivadas de forma a evitar repetir o processo de derivação, caso voltem a ser necessárias. Sistemas de Manutenção da Verdade-3 Sistemas de Manutenção da Verdade-4 4. Guiar o retrocesso Quando ocorre uma falha na prova de uma conclusão, permitir guiar o retrocesso não para o ponto de escolha imediatamente anterior (retrocesso cronológico clássico), mas sim para um ponto de escolha de que a falha depende (retrocesso guiado pelas dependências). 5. Raciocínio por omissão Registar que uma conclusão depende da ausência ou omissão de uma certa informação (por exemplo quando se conclui algo a partir de not(p) em Prolog ou em Jess), de modo a facilmente retirar essa conclusão se a informação em causa for adicionada ou passar a ser derivável. Sistema de raciocínio Motor de Inferência Sistema de raciocínio ou Resolvedor de problemas Justificações Crenças Explicações TMS = Motor de inferência + TMS

Sistemas de Manutenção da Verdade-5 Comunicação do Motor de inferência com o TMS: Nós e Justificações - Cada dado importante do sistema de raciocínio (facto, regra, conclusão,...) deve ser representado por um nó do TMS N1: advogado(joão) N2: advogado(joão) rico(joão) N3: rico(joão) - As deduções do motor de inferência são comunicadas ao TMS como justificações. As justificações podem assumir várias formas, consoante o tipo de TMS e o tipo de dedução, mas conceptualmente podemos imaginá-las da forma (nó_consequente [tipo_inferência] lista_nós_antecedentes) N1 ( N3 Modus_ponens (N1, N2) ) N3 ou apenas N2 (N3 (N1 N2)) Alguns Tipos de TMS's Sistemas de Manutenção da Verdade-6 JTMS ("Justification Based Truth Maintenance Systems"): Tipo mais simples de TMS sobre o qual os outros se baseiam. Tipicamente só pode representar cláusulas definidas (de Horn) fornecidas pelo motor de inferência. Permite responder a perguntas sobre se um nó é acreditado no estado corrente (contexto corrente). Alguns tipos de JTMS permitem usar justificações não monótonas (dependentes da ausência de uma crença). LTMS ("Logic Based Truth Maintenance Systems"): Semelhante ao JTMS mas permitindo representar explicitamente negações, podendo representar qualquer fórmula do cálculo proposicional. ATMS ("Assumption Based Truth Maintenance Systems"): Só pode representar cláusulas de Horn fornecidas pelo motor de inferência, tal como um JTMS. Permite, no entanto, responder a perguntas sobre todos os contextos em que um nó pode ser acreditado, sem necessidade de mudar de estado corrente. Sistemas de Manutenção da Verdade-7 Sistemas de Manutenção da Verdade-8 Evolução Histórica TMS (Doyle,1979) JTMS RUP (McAllester,1982) LTMS MBR (Martins e Shapiro,1983) ATMS (de Kleer,1984 e 1986) Aplicações ATMS síntese análise actualização de BD s (Finger, 1987) (Fagin et al, 1983) Diagnóstico Diagnóstico Abdução Convencional a partir dos (Poole et al,1985) 1ºs Princípios (Reiter,1987) JTMS Deduções no Motor de Inferência Justificações: John Doyle, 1979 Nós + Justificações No TMS - "Razões" que permitem derivar a crença num nó - Dependências entre um nó e os nós correspondentes aos antecedentes imediatos na derivação - Um nó pode ter várias justificações - JTMS de Doyle: variante que aceita justificações não monótonas (raciocínio por omissão)

Sistemas de Manutenção da Verdade-9 Sistemas de Manutenção da Verdade-10 Etiquetas IN e OUT versus Verdade e Falsidade - Os nós têm uma etiqueta associada que pode ter dois valores (estatutos) distintos: IN um nó está IN se tem associada uma justificação que é válida no estado corrente do TMS OUT um nó está OUT se: não tem nenhuma justificação nenhuma das suas justificações é válida - O JTMS só trabalha com cláusulas definidas logo não representa directamente a negação explícita. Quando é necessário raciocinar sobre a negação de um facto, por exemplo P, usam-se dois nós: um para representar P e outro para representar P. - Devido ao JTMS usar dois nós distintos para representar P e P podemos considerar que trabalha com 4 valores lógicos distintos e não apenas dois: verdade, falsidade, contradição e desconhecido. P IN OUT IN contradição P falso OUT P verdadeiro desconhecido P Sistemas de Manutenção da Verdade-11 Sistemas de Manutenção da Verdade-12 2 tipos de justificações: - "support list" SL - "conditional proof" CP Justificações SL: (SL <lista de hipóteses IN> <lista de hipóteses OUT>) Exemplo: Motor de inferência: Se P(X) e not T(X) então V(X) P(a) V(a) Uma justificação SL é válida se: - todos os nós da <lista de hipóteses IN> estão IN - todos os nós da <lista de hipóteses OUT> estão OUT Nós JTMS: Justificações Etiqueta N1 P(a) ( SL ( ) ( ) ) IN N2 T(a) OUT (sem justificação) N3 V(a) ( SL (N1) (N2) ) IN

Sistemas de Manutenção da Verdade-13 Sistemas de Manutenção da Verdade-14 Classificação de nós de acordo com a justificação válida de suporte a eles associada: - premissas: uma justificação (sempre válida) da forma ( SL ( ) ( ) ) - deduções (monótonas): justificação válida da forma ( SL ( N1... Nk ) ( ) ) com k 1 - assunções (deduções não monótonas): justificação válida da forma ( SL ( N1... Nk ) ( P1... Pm ) ) com k 0 e m 1 Acções básicas no JTMS: - criar um nó - adicionar ou retirar uma justificação para um nó - marcar um nó como contradição (por indicação do motor de inferência) Procedimentos do JTMS: Procedimento de revisão de crenças: Dada uma nova justificação para um nó (ou a eliminação de uma justificação para um nó), determinação do estatuto IN ou OUT de todos os nós eventualmente afectados Procedimento de retrocesso guiado pelas dependências: "Dependency directed backtracking" Dado um nó marcado como contradição, Determinar as assunções que estão na sua origem Registar a inconsistência da conjunção dessas assunções Alterar o estatuto de uma dessas assunções para resolver a contradição Manutenção da Verdade em Jess Sistemas de Manutenção da Verdade-15 - O motor de inferência do Jess inclui um mecanismo de manutenção da verdade, do tipo JTMS. - O TMS toma conhecimento de uma nova justificação para um certo facto, quando este é derivado por aplicação de uma regra que usa o elemento condicional logical no lado esquerdo (defrule exemplo (logical (alunonapauta $?x)) (logical (resultado $?x?y &:(>=?y 10))) => (assert (aprovado $?x)) ) Se esta regra for aplicada para o aluno Jorge Silva, a partir dos factos (alunonapauta Jorge Silva) e (resultado Jorge Silva 12), o novo facto inserido (aprovado Jorge Silva) ficará com uma justificação associada constituída por esses dois factos antecedentes na lista IN. Jess> (defrule exemplo TRUE => (logical (alunonapauta $?x)) (logical (resultado $?x?y &:(>=?y 10)) (assert (aprovado $?x)) ) Jess> (assert (alunonapauta Ana Barata)) <Fact-0> Jess> (assert (resultado Ana Barata 14)) <Fact-1> Jess> (run) 1 Jess> (facts) f-0 (MAIN:: alunonapauta Ana Barata) f-1 (MAIN:: resultado Ana Barata 14) f-2 (MAIN:: aprovado Ana Barata) For a total of 3 facts. Jess> (watch facts) TRUE Jess> (retract 0) <== f-0 (MAIN:: alunonapauta Ana Barata) <== f-2 (MAIN:: aprovado Ana Barata) TRUE Sistemas de Manutenção da Verdade-16

Sistemas de Manutenção da Verdade-17 - Quando um facto f 1 é retirado, se f 1 está a suportar logicamente outro facto f 2, isto é se f 2 tem uma única justificação de suporte associada que inclui f 1, então f 2 é automaticamente retirado. - Um facto pode ter várias justificações de suporte associadas, isto é, pode ter sido inserido múltiplas vezes, com diferentes suportes lógicos. Um tal facto só é automaticamente retirado quando cada um desses suportes lógicos tiver sido invalidado (pelo menos um dos seus factos foi retirado). - Uma justificação para um facto pode depender da ausência de uma crença, isto é, logical pode ser aplicado sobre um not - Um facto inserido sem indicar explicitamente um suporte lógico é incondicionalmente suportado (é uma premissa) e nunca é automaticamente removido, mesmo que também tenha sido inserido por outra via com factos de suporte. Sistemas de Manutenção da Verdade-18 A função (dependencies <fact-id>) retorna a lista de justificações de suporte associadas ao facto indicado como argumento. Cada justificação é um objecto Java da classe jess.token, que por sua vez representa uma lista de factos. Jess> (facts) f-0 (MAIN:: alunonapauta Ana Barata) f-1 (MAIN:: resultado Ana Barata 14) f-2 (MAIN:: aprovado Ana Barata) For a total of 3 facts. Jess> (bind?justifs (dependencies 2)) (<Java-Object:jess.Token>) A variável?justifs ficou instanciada com uma lista com um só objecto da classe jess.token que representa a única justificação de suporte ao facto 2 A classe jess.token tem vários métodos públicos: size() retorna o número de factos na justificação fact(int i) retorna o i-ésimo facto dessa justificação tostring() retorna uma string descrevendo o Token Jess> ( foreach?j?justifs (printout t (call?j tostring) crlf) ) [Token: size=2; sortcode=1; negcnt=0; facts=(main:: alunonapauta Ana Barata);(MAIN:: resultado Ana Barata 14);] Sistemas de Manutenção da Verdade-19 Esboço do algoritmo de revisão de crenças num JTMS (no caso de adição de justif.): Dada uma nova justificação para um nó N: 1. Adiciona a nova justificação a N Se N estava IN ou a justificação é inválida termina 2. Se não há nenhum nó consequência de N, muda o estatuto de N para IN e termina, caso contrário, constroi a lista L com N e as suas repercussões (consequências directas ou indirectas), memoriza o estatuto dos nós em L e atribui-lhes o estatuto temporário NULO 3. Para cada nó N i em L ainda com estatuto NULO, analisa as justificações associadas e, caso haja uma válida ou todas sejam inválidas muda o estatuto de N i respectivamente para IN ou OUT e repete este passo sobre as consequências de N i ainda com estatuto NULO Sistemas de Manutenção da Verdade-20 4. Resolução de circularidades (ver adiante): Tenta atribuir coerentemente um estatuto aos nós de L ainda NULOS, assumindo que os nós mencionados nas justificações associadas aos quais não foi possível atribuir estatuto no passo 3 estão OUT 5. Se um nó de L marcado como contradição está IN, invoca o procedimento de retrocesso guiado pelas dependências 6. Compara os novos estatutos dos nós em L com os anteriormente memorizados e envia informação sobre as alterações

Sistemas de Manutenção da Verdade-21 Podem surgir argumentos circulares o que dificulta, ou mesmo impossibilita, a atribuição/revisão do estatuto dos nós Sendo as repercussões de N o conjunto de nós cujas justificações dependem directa ou indirectamente de N, um argumento circular pode surgir se N repercussões(n) Exemplo: Afirmação Nó Justificação professor(a) N1 (SL () (N2)) estudante(a) N2 (SL () (N1)) Sistemas de Manutenção da Verdade-22 3 tipos de circularidades: A) Impossível atribuir consistentemente um estatuto Ex: Nó Justificação N (SL () (N) ) B) Possível, sendo necessário que pelo menos um dos nós fique IN Ex: Nó Justificação N1 (SL () (N2) ) N2 (SL () (N1) ) Atribuições de estatutos consistentes com as justificações: [ N1 IN, N2 OUT ] ou [ N1 OUT, N2 IN ] C) Possível, podendo considerar-se todos os nós OUT Ex: Nó Justificação N1 (SL (N2) () ) N2 (SL (N1) () ) Atribuições de estatutos consistentes com as justificações: [ N1 OUT, N2 OUT ] ou [ N1 IN, N2 IN ] Sistemas de Manutenção da Verdade-23 CUIDADOS A TER COM OS TMS s Os algoritmos utilizados para construir TMS s são complicados. A complexidade computacional é pelo menos tão grande como a da inferência proposicional, isto é NP. O uso de um TMS não é uma panaceia (excepto para problemas pequenos). Quando utilizado cuidadosamente (com uma escolha adequada sobre o que deve ser registado como suportando os factos derivados) é uma parte importante do sistema lógico de raciocínio.