Système de transition d'états

En informatique théorique, un système de transition d'états est une forme de machine abstraite utilisée pour modéliser un ou des calcul(s).

Un système de transition d'états est constitué d'un ensemble d'états et d'un ensemble de transitions d'un état à un autre, qui peuvent être étiquetées ; une même étiquette peut apparaître sur plusieurs transitions. Si l'ensemble des étiquettes est un singleton, on peut omettre l'étiquetage.

Les systèmes d'états-transitions sont des graphes orientés.

Définitions formelles modifier

Système de transition d'états non étiqueté modifier

Un système de transition d'états non étiqueté est un couple  , où   est l'ensemble des états et   est la relation de transition. Si   et   sont deux états,   signifie qu'il existe une transition de   à  , et on l'écrit  .

On ne fait aucune hypothèse a priori sur   et  , et ils peuvent être infinis, voire indénombrables.

Système de transition d'états étiqueté modifier

Un système de transition d'états étiqueté est un triplet  , avec   l'ensemble des états,   un ensemble d'étiquettes et   la relation de transition. S'il existe une transition étiquetée par   entre deux états   et  , on écrit alors  .

Il est à noter que la définition de la relation de transition ne précise pas s'il s'agit d'une relation binaire :

  • de   dans   (cas non pertinent dans le cadre des systèmes de transition d'états) ;
  • de   dans   (cas des automates finis) ;
  • de   dans   avec   (cas des transducteurs finis).

Automate fini modifier

Dans le cas où   et   sont finis, on parle d'automate fini (ou machine à états finie). En général, on se donnera aussi une condition d'acceptation de mot d'entrée, qui sera souvent la donnée de deux parties de S qui seront les états initiaux et les états accepteurs.[pas clair]

Système déterministe modifier

Le système de transition est dit déterministe si par définition   est une fonction. L'expression système de transition non déterministe qualifie tous les systèmes de transition d'états quand on a besoin de préciser qu'on ne se retreint pas aux systèmes déterministes.

Applications et variantes modifier

Applications courantes modifier

Les systèmes de transitions jouent un rôle important[Lequel ?] dans la reconnaissance des langages formels, notamment dans leur classification.

En vérification de modèles (en anglais : model checking), les systèmes de transitions d'états possèdent en plus une fonction d'étiquetage pour les états (voir par exemple structure de Kripke[1]).

Comparaison avec les systèmes abstraits de réécriture modifier

Un système d'états-transitions non étiqueté est un système abstrait de réécriture (en)[2].

Notes et références modifier

  1. (en) Christel Baier et Joost-Pieter Katoen, Principles of Model Checking, The MIT Press, , 975 p. (ISBN 978-0-262-02649-9), p. 20.
  2. (en) Marc Bezem, J. W. Klop et Roel de Vrijer, Term Rewriting Systems, Cambridge, Cambridge University Press, , 884 p. (ISBN 0-521-39115-6), p. 7-8.

Voir aussi modifier