Structure de Kripke

Une structure de Kripke est un modèle de calcul, proche d'un automate fini non déterministe, inventé par Saul Kripke[1]. Elle est utilisée par exemple dans le model checking pour représenter le comportement d'un système. C'est un graphe orienté dont les nœuds représentent les états accessibles du système et dont les arcs représentent les transitions entre les états. Une fonction d'étiquetage fait correspondre à chaque état un ensemble de propositions logiques vraies dans cet état. Les logiques temporelles sont généralement interprétées dans des structures de Kripke. L'existence de certains chemins dans le graphe est alors considérée comme une éventualité de réalisation de formules.

Définition formelle modifier

Soit   un ensemble de propositions atomiques, c'est-à-dire des expressions booléennes portant sur des variables, des constantes et des prédicats. On note   l'ensemble des parties de  .

Une structure de Kripke[2],[3] est un 4-uplet   où :

  •   est un ensemble fini d'états ;
  •   est un ensemble d'états initiaux ;
  •   est une relation de transition qui vérifie : pour tout  , il existe   tel que   ;
  •   est une fonction d'étiquetage ou d'interprétation.

La condition associée à la relation de transition   spécifie que chaque état doit avoir un successeur dans  , ce qui implique que l'on peut toujours construire un chemin infini dans la structure de Kripke. Cette propriété est importante lorsque l'on traite des systèmes réactifs[4]. Pour modéliser un interblocage dans une structure de Kripke, il suffit de faire boucler l'état d'interblocage sur lui-même.

La fonction d'étiquetage   définit pour chaque état   l'ensemble   de toutes les propositions atomiques qui sont valides dans cet état.

Un chemin dans la structure   est une suite   d'états tels que   pour tout  . L'étiquette du chemin est la suite d'ensembles   qui peut être vu comme un mot infini sur l'alphabet  .

Avec cette définition, une structure de Kripke peut être vue comme un automate de Moore avec un alphabet réduit à un singleton, et dont la fonction de sortie est la fonction d'étiquetage[3].

Exemple modifier

 
Une structure de Kripke à trois états, avec deux propositions.

Dans l'exemple ci-contre, l'ensemble de propositions atomiques est  . Ici   et   sont des propriétés booléennes quelconques. L'état 1 contient les deux propositions, les états 2 et 3 respectivement   et  . L'automate admet le chemin  , et le mot   est la suite des étiquettes associées. Les suites d'étiquettes acceptées sont décrites par l'expression rationnelle :

 

Lien avec d'autres notions modifier

Une structure de Kripke peut être vue comme un système de transition d'états où les arcs ne sont pas étiquetés, et où en revanche les états le sont. Chez certains auteurs, les transitions des structures de Kripke sont étiquetées par des actions prises dans un ensemble fini usuellement noté Act. Lorsque cette définition est retenue, la structure sous-jacente, obtenue en omettant les actions, est appelée state graph[5].

Au contraire, Clarke et al. redéfinissent une structure de Kripke comme un ensemble de relations de transitions (et non plus une seule), chacune correspondant à une des étiquettes de transitions, ceci dans le cadre de la définition de la sémantique du μ-calcul modal [6].

Notes et références modifier

Notes modifier

  1. Kripke, Saul, 1963, « Semantical Considerations on Modal Logic », Acta Philosophica Fennica, 16 : 83-94.
  2. Clarke, Grumberg et Peled 1999, p. 14.
  3. a et b Schneider 2004, p. 45.
  4. Klaus Schneider, dans Schneider 2004, p. 12, distingue trois types de systèmes : les systèmes de transformations, les systèmes interactifs et les systèmes réactifs. Ces derniers ont l'interaction la plus souple avec l'utilisateur.
  5. Baier et Katoen 2008, p. 20–21 et 94–95.
  6. Clarke, Grumberg et Peled 1999, p. 98.
(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Kripke structure (model checking) » (voir la liste des auteurs).

Bibliographie modifier

  • Saul A. Kripke, « Semantical analysis of modal logic. I. Normal modal propositional calculi », Zeitschrift für Mathematische Logik und Grundlagen der Mathematik, vol. 9,‎ , p. 67–96
  • Saul A. Kripke, « Semantical considerations on modal logic », Acta Philosophica Fennica Fasc., vol. 16,‎ , p. 83–94

Articles connexes modifier

Notes de cours modifier

Il existe de nombreuses notes de cours, en français, sur les structures de Kripke dans le cadre de la logique ou de la vérification de programmes.