Il est connu que de nombreux problèmes de logique (par exemple les problèmes de satisfiabilité de plusieurs logiques modales) ne sont pas décidables. Il existe également de nombreux problèmes indécidables dans la théorie des algorithmes, par exemple dans l'optimisation combinatoire. Mais dans la pratique, les heuristcs et les algorithmes approximatifs fonctionnent bien pour les algorithmes pratiques.
On peut donc s'attendre à ce que des algorithmes approximatifs pour les problèmes de logique puissent également convenir. Cependant, la seule tendance de recherche dans ce sens que j'ai réussi à trouver est le problème max-SAT et son développement a été actif dans les années 90.
Y a-t-il d'autres tendances de recherche actives, des ateliers, des mots-clés, de bonnes références pour l'utilisation et le développement de méthodes approximatives pour la logique modale, la programmation logique, etc.?
Si l'on s'attend à ce que le raisonnement automatisé gagne en importance dans les futures applications de l'informatique, il faudra être capable d'aller au-delà des contraintes d'indécidabilité de la logique et des méthodes approximatives ou heuristiques peuvent être un chemin naturel à suivre, n'est-ce pas?
Réponses:
La motivation que vous exprimez pour faire face à l'indécidabilité s'applique également aux problèmes décidables mais difficiles. Si vous avez un problème qui est NP-difficile ou PSPACE-dur, nous devrons généralement utiliser une certaine forme d'approximation (au sens large du terme) pour trouver une solution.
Il est utile de distinguer entre différentes notions d'approximation.
Voici un exemple d'une notion différente d'approximation. Supposons que vous effectuiez un calcul comme la multiplication de deux grands nombres et que vous vouliez vérifier si la multiplication était correcte. Il existe de nombreuses techniques heuristiques qui sont utilisées dans la pratique pour vérifier l'exactitude sans répéter le calcul. Vous pouvez vérifier que les signes ont été multipliés pour obtenir le bon signe. Vous pouvez vérifier si les nombres ont la bonne parité (propriétés de nombre pair / impair). Vous pouvez utiliser un chèque plus sophistiqué comme Casting out nines. Toutes ces techniques ont une propriété commune qu'elles peuvent vous dire si vous avez fait une erreur, mais elles ne peuvent garantir si vous avez obtenu la bonne réponse. Cette propriété peut être considérée comme une approximation logique, car vous pourrez peut-être prouver que le calcul d'origine est incorrect, mais vous ne pourrez peut-être pas prouver qu'il est correct.
Toutes les vérifications que j'ai mentionnées ci-dessus sont des exemples d'une technique appelée interprétation abstraite. L'interprétation abstraite rend complètement rigoureuse une notion d'approximation logique distincte des approximations numériques et probabilistes. Le problème que j'ai décrit avec l'analyse d'un seul calcul s'étend au cas plus complexe de l'analyse d'un programme. La littérature sur l'interprétation abstraite a développé des techniques et des cadres pour un raisonnement logique approximatif sur les programmes, et plus récemment sur les logiques. Les références suivantes peuvent être utiles.
Tout cela a généralement été appliqué à la raison des programmes informatiques. Il y a eu des travaux assez récents sur l'application des idées de l'interprétation abstraite à l'étude des procédures de décision pour les logiques. L'accent n'a pas été mis sur la logique modale mais sur la satisfiabilité dans la logique propositionnelle et les théories du premier ordre sans quantificateur. (Depuis que j'ai travaillé dans cet espace, un papier ci-dessous est le mien)
Maintenant, aucun des articles ci-dessus ne répond à votre question spécifique sur l'attaque des problèmes de satisfiabilité qui sont indécidables. Ce que ces articles font, c'est adopter une vision orientée vers l'approximation des problèmes logiques qui n'est pas numérique ou probabiliste. Ce point de vue a été largement appliqué pour raisonner sur les programmes et je pense qu'il répond exactement à ce que vous demandez.
Pour l'appliquer à la logique modale, je suggère qu'un point de départ est d'utiliser la sémantique algébrique de Jonsson et Tarski ou la sémantique ultérieure de Lemmon et Scott. En effet, l'interprétation abstraite est formulée en termes de réseaux et de fonctions monotones, donc les algèbres booléennes avec opérateurs sont une sémantique pratique à utiliser. Si vous voulez commencer avec les images de Kripke, vous pouvez appliquer le théorème de dualité de Jonsson et Tarski (que certains peuvent appeler la dualité de Stone) et dériver la représentation algébrique. Par la suite, vous pouvez appliquer les théorèmes de l'interprétation abstraite pour l'approximation logique.
la source