Article principal : Théorie des automates.

En mathématiques et en informatique théorique, et notamment en théorie des automates, un automate probabiliste est une généralisation des automates finis non déterministes; chaque transition de l'automate est équipée d'une probabilité (un nombre réel entre 0 et 1). Les transitions sont représentées de manière compacte par des matrices qui sont des matrices stochastiques. Les langages reconnus par les automates probabilistes sont appelés langages stochastiques; ils comprennent, et étendent, la famille des langages rationnels. En particulier, le nombre de langages stochastiques est non dénombrable (alors que celui des langages rationnels est dénombrables).

Le concept d'automate probabiliste a été introduit par Michael O. Rabin en 1963[1],[2],[3]. Une extension conduit aux automates quantiques.

Définition

Un automate probabiliste est formé d'un automate fini non déterministe, où de plus chaque transition est équipée d'une probabilité, c'est-à-dire d'un nombre réel entre 0 et 1 vérifiant une certaine condition de cohérence.

Comme pour une automate fini (non déterministe) usuel, une automate probabiliste sur un alphabet est composé des données suivantes :

De plus, chaque transition de porte un nombre réel positif , appelé sa probabilité, avec la condition que, pour chaque état et chaque lettre , la somme des , pour dans , est égal à 1.

Cette condition s'exprime plus simplement en posant si n'est pas une transition. Alors elle revient à :

,

pour tout état et toute lettre .

On définit une -matrice pour chaque lettre , par

La condition sur la distribution des probabilités s'exprime alors par la condition que les matrices P(a) sont de matrices stochastiques.

On étend la fonction aux mots comme suit: Soit un mot, et soit un chemin de à d'étiquette . La probabilité de ce chemin est le produit des probabilités des transitions qui le composent. La probabilité est défini comme la somme des probabilités des chemins de à d'étiquette . Cette définition s'exprime matriciellement comme suit: on pose , et on définit la -matrice comme le produit des matrices  :

.

Alors on a

.

La probabilité d’acceptation d'un mot dans l'automate probabiliste est la somme des probabilités , où est l'état initial et où parcourt les états terminaux. On la note . Cette valeur aussi s'exprime matriciellement. C'est le nombre

,

est le -vecteur ligne dont toutes les coordonnées sont nulles sauf celle d'indice qui vaut 1, et où est le -vecteur colonne dont les coordonnées sont nulles sauf celles dont l'indice est dans , et qui valent 1.

Exemple

Un automate probabiliste. L'état 1 est initial, l'état 4 est final. Les probabilités sont indiquées à côté des étiquettes. L'absence signifie probabilité 1.

Pour l'exemple de droite d'un automate à quatre états, les matrices et et les vecteurs et sont:

On a par exemple : , et la probabilité d'acceptation de est donc .

Langage stochastique

Seuil d'acceptation

Soit un nombre avec . Le langage accepté par l'automate probabiliste avec seuil est l'ensemble des mots dont la probabilité d'acceptation est supérieure à . C'est l'ensemble défini par

Le nombre est aussi appelé point de coupure (cut point en anglais).

Langage stochastique

Un langage stochastique est un langage de la forme , pour un automate probabiliste et une valeur de seuil . Dans l'exemple ci-dessus, les mots du langage ont tous probabilité , les mots du langage ont tous probabilité . Le langage accepté avec seuil est la réunion de ces langages. Les langages rationnels sont tous des langages stochastiques.

Seuil isolé

Un seuil ou point de coupure est isolé s'il existe un nombre réel tel que

pour tout mot . Dans l'exemple ci-contre, il n'existe pas de mot accepté avec une probabilité comprise strictement plus grande que 1/2, donc tout nombre strictement plus grand est isolé. Un langage stochastique est isolé si son point de coupure est isolé.

Propriétés

Propriétés d'expressivité

Tous les langages rationnels sont stochastiques et certaines restrictions des langages stochastiques sont rationnelles :

Mais on n'a pas l'égalité comme le montre l'exemple suivant.

Exemple d'un langage stochastique qui n'est pas rationnel

Considérons l'automate à deux états sur l'alphabet binaire donné par les matrices :

Pour un mot binaire , le coefficient de la matrice est égal à

;

c'est le nombre rationnel dont est l'écriture binaire. Pour une valeur de seuil , le langage accepté par cet automate est donc l'ensemble des mots représentant l'écriture binaire retournée de nombre plus grand que . Il est clair que si , alors et que l'inclusion est stricte. Il en résulte qu'il existe un nombre non dénombrable de langages de la forme pour cet automate; comme le nombre de langages rationnels est dénombrable, cela implique l'existence de langages stochastiques non rationnels (même s'ils ne sont pas montrés constructivement par cet argument.

Questions décidables et indécidables

La plupart des questions sont indécidables[4]. Ces questions peuvent également se formuler au moyen de l'image d'un automate probabiliste, défini comme l'ensemble .

Généralisations

Notes et références

  1. (Rabin, 1963)
  2. (Paz, 1971) est un livre dédié.
  3. Le chapitre 2 de (Salomaa, 1969) considère les automates probabilistes.
  4. Pour ces résultats en dimension fixe, voir (Blondel & Canterini, 2008).

Bibliographie

Voir aussi