Um SMV (tradução de Truth Maintenance System-TMS) é um mecanismo ao qual cabe proteger e preservar a integridade lógica da base de conhecimentos de sistemas não-monotônicos. De forma geral, ele rastreia e preserva os passos das inferências e justificativas de conclusões alcançadas. Assim, ele pode fazer recálculos e revisões quando fatos ou crenças mudarem ou se mostrarem incorretas. Na bibliografia são encontradas duas abordagens principais nas quais se baseia a sua construção: SMVJ-Sistema de Manutenção da Verdade Baseado em Justificação (tradução de Justification-based Truth Maintenance System-JTMS) e SMVH-Sistema de Manutenção da Verdade Baseado em Hipóteses (tradução de Assumption-based Truth Maintenance System-ATMS) (LUGER, 2004)(RUSSELL; NORVIG, 2004)( LADEIRA, 1997).
Na abordagem do SMVJ, para cada declaração da base de conhecimentos, estão associadas as justificativas sobre as quais ela se sustenta. Assim, o sistema trabalha com dois conjuntos, um de nós e outro de justificativas. Os nós referem-se às crenças ou verdades, enquanto as justificativas constituem a referida sustentação. As justificativas, por sua vez, formam uma rede de derivações que representam dependências lógicas, e cada uma delas é constituída de duas partes chamadas ENTRA e SAI. ENTRA é uma lista de asserções
nas quais deve-se acreditar para que a declaração seja válida, ou seja, favoráveis à declaração que sustenta. SAI, por outro lado, é uma lista onde estão aquelas asserções em que não se deve acreditar para que a proposição seja válida.
São três as operações realizadas por um SMVJ: inspecionar a rede de justificação, manter a rede de justificação e atualizar a rede de justificação. A primeira delas é provocada pelas consultas do raciocinador, e consiste em apresentar respostas a questionamentos relacionados à crença em uma suposição qualquer. A segunda, manter a rede de justificação, refere-se às modificações na rede de dependências decorrentes de informações disponibilizadas pelo raciocinador. Entre estas estão o acréscimo de novas proposições, a inclusão e remoção de premissas, o acréscimo de contradições e a justificação de crença em uma proposição. A terceira operação é a atualização da rede, sendo realizada sempre que uma mudança é introduzida na rede de dependências e visa manter a consistência do conjunto de todas as proposições.
Uma justificativa é não-monotônica quando sua lista SAI não está vazia, ou se dentro da sua lista ENTRA existir uma declaração que possui uma justificativa não-monotônica. Estas circunstâncias caracterizam, na verdade, uma suposição, que pode tornar-se nula se forem definidos novos fatos ou crenças e que impliquem em levar todos os elementos da lista SAI para a lista ENTRA. Justificativas monotônicas, por outro lado, não podem se tornar nulas sem que seja retirado da base de conhecimentos as declarações que as sustentam. Russell e Norvig (2004) registram, entretanto, que as sentenças que não são mais consideradas, não devem ser eliminadas, pois provavelmente virão novamente a serem consideradas. Afirmam eles:
[...] em vez de eliminar inteiramente uma sentença da base de conhecimentos quando ela perder todas as justificativas, simplesmente marcamos a sentença para indicar que ela está fora da base de conhecimento. Se uma asserção subsequente restaurar uma das justificativas, então marcaremos a sentença indicando que ela está dentro outra vez. Desse modo, o SMVJ preserva todas as cadeias de inferência que utiliza e não precisa derivar novamente as sentenças quando uma justificativa torna-se válida de novo (RUSSELL; NORVIG, 2004, p.350).
Já a abordagem do SMVH-Sistema de Manutenção da Verdade Baseado em Hipóteses foi concebida para facilitar a troca de contexto entre mundos hipotéticos, fazendo para cada sentença um controle das hipóteses que a tornam verdadeira. Nele há um conjunto de premissas ou suposições que fundamentam a derivação de cada nó da rede. Formalmente, uma explicação de uma sentença P é um conjunto de sentenças E, tal que E tem P como consequência lógica. Se já se sabe que as sentenças contidas em E são verdadeiras, então E é simplesmente uma base suficiente para provar que P deve ocorrer. Entretanto, entre as explicações podem também estar hipóteses que não se sabe se são verdadeiras. Adicionalmente, pode-se fazer uma distinção entre as premissas que valem universalmente e aquelas feitas pelo raciocinador e que podem ser revistas posteriormente (LUGER, 2004, p.299).
Existem importantes diferenças entre as abordagens SMVJ e SMVH. Na primeira a movimentação da base de conhecimentos de um estado para outro é feita pela retirada e inclusões de asserções, havendo entretanto sempre apenas um único estado ativo representado, o qual será considerado pelo raciocinador. Enquanto isso, na SMVH é possível associar a cada sentença um conjunto de conjuntos de hipóteses que podem estar ativas simultaneamente. Luger faz os seguintes comentários relacionados à comparação entre as duas abordagens:
Uma vantagem do SMVH sobre o SMVJ vem da flexibilidade adicional que o SMVH fornece ao tratar com múltiplos estados possíveis de crença. Rotulando-se crenças com conjuntos de premissas sob as quais elas valem, não há mais um único estado de crença, mas sim uma série de estados possíveis, o conjunto de todos os subconjuntos das premissas de suporte. A criação de diferentes conjuntos de crença, ou mundos possíveis, permite tanto uma comparação dos resultados de escolhas diferentes de premissas como, também, a existência de diferentes soluções do problema e a detecção de contradições e a sua solução. As desvantagens do SMVH incluem a inabilidade de representar conjuntos de premissas que são elas mesmas não-monotônicas e o controle sobre o solucionador de problemas (LUGER, 2004, p.301).
Assim, pode-se observar que a utilização do SMVJ é mais indicada quando busca-se uma única solução, enquanto que o SMVH é preferível quando pretende-se obter todas as soluções possíveis. Não deve ser ignorado, entretanto, o custo computacional envolvido neste aspecto, pois como o SMVH leva em consideração paralelamente todas as possíveis combinações de suposições, a inclusão de qualquer nova suposição na base de conhecimentos implica em grande impacto no processo de raciocínio.