Système de Post

En informatique théorique et en logique mathématique, un système de Post, ou système canonique de Post, appelé ainsi d’après son créateur Emil Post, est un système de manipulation de chaînes de caractères qui commence avec un nombre fini de mots et les transforme par application d’un ensemble fini de règles d’une forme particulière, et par là engendre un langage formel. Ces système ont surtout un intérêt historique car tout système de Post peut être réduit à un système de réécriture de mots (un système de semi-Thue) qui est une formulation plus simple. Les deux formalismes -- système de Post et réécriture -- sont Turing-complets.

Un exemple : les expressions bien parenthésées

Un système de Post est la donnée d'un alphabet, un ensemble de mots initiaux et de règles de production. Par exemple :

  • Un alphabet constitué des deux caractères [ {\displaystyle [} et ] {\displaystyle ]} ;
  • L'ensemble qui contient le mot []comme seul mot initial ;
  • Les trois règles de production suivantes :
  1. X [ X ] {\displaystyle X\to [X]}
  2. X X X {\displaystyle X\to XX}
  3. X 1 X 2 X 1 [   ] X 2 {\displaystyle X_{1}X_{2}\to X_{1}[\ ]X_{2}}

Voici quelques mots dérivés :

[] mot initial
[][] obtenu par la règle 2.
[[][]] obtenu par la règle 1.
[[][]][[][]] obtenu par la règle 2.
[[][]][][[][]] obtenu par la règle 3.

Définition formelle

Un système canonique de Post est un triplet ( A , I , R ) {\displaystyle (A,I,R)} , où

  • A {\displaystyle A} est un alphabet fini ;
  • I {\displaystyle I} est un ensemble fini de mots initiaux sur l'alphabet A {\displaystyle A}  ;
  • R {\displaystyle R} est un ensemble fini de règles de transformation de mots, appelées règles de production.

Chaque règle est de la forme :

g 1 , , g k h {\displaystyle g_{1},\ldots ,g_{k}\to h}

g 1 , , g k {\displaystyle g_{1},\ldots ,g_{k}} et h {\displaystyle h} sont des mots fixes contenant des variables, notées X i , j {\displaystyle X_{i,j}} et Y k {\displaystyle Y_{k}} respectivement, de la forme

g i = g i 0 X i 1 g i 1 X i 2 g i 2 X i m i g i m i {\displaystyle g_{i}=g_{i0}X_{i1}g_{i1}X_{i2}g_{i2}\cdots X_{im_{i}}g_{im_{i}}}

et

h = h 0 Y 1 h 1 Y 2 h 2 Y n h n {\displaystyle h=h_{0}Y_{1}h_{1}Y_{2}h_{2}\cdots Y_{n}h_{n}} .

Les mots g i {\displaystyle g_{i}} sont appelés les antécédents, le mot h {\displaystyle h} le conséquent de la règle. La condition requise est que chaque Y k {\displaystyle Y_{k}} dans le conséquent figure parmi les variables X i , j {\displaystyle X_{i,j}} des antécédents, et que chaque conséquent et antécédent contient au moins une variable.

En général, une règle de production ne contient qu'un seul antécédent[1], auquel cas elle s'écrit plus simplement

g 0 X 1 g 1 X 2 g 2 X m g m h 0 Y 1 h 1 Y 2 h 2 Y n h n {\displaystyle g_{0}X_{1}g_{1}X_{2}g_{2}\cdots X_{m}g_{m}\to h_{0}Y_{1}h_{1}Y_{2}h_{2}\cdots Y_{n}h_{n}} .

On peut appliquer une règle à un mot w {\displaystyle w} s'il se factorise selon l'antécédent de la règle, en associant à chaque variable un facteur du mot. Le mot obtenue est alors celui où les variables du conséquent sont remplacées par les valeurs associées aux variables dans l'antécédent. Dans le cas de plusieurs antécédents, le mot w {\displaystyle w} doit se factoriser selon chacun des antécédents pour dériver le conséquent. Post lui-même a prouvé, preuve reprise dans le livre de Minsky[2] a prouvé que l’on peut se contenter de règles avec un seul antécédent.

Le langage engendré par le système de Post est l’ensemble des mots composés des mots initiaux et des mots que l’on obtient par une application répétée de règles de production. Ces ensembles sont des langages récursivement énumérables et, réciproquement, tout langage récursivement énumérable est la restriction d’un tel ensemble à un sous-alphabet de A {\displaystyle A} .

Théorème de forme normale

Un système de Post est en forme normale (normal form) si toutes ses règles sont de la forme

g X     X h {\displaystyle gX\ \rightarrow \ Xh}

Les règles en forme normale consistent donc à enlever le préfixe g {\displaystyle g} au début d' un mot et d'ajouter le mot h {\displaystyle h} à la fin. Post a démontré en 1943[3] le théorème de forme normale suivant :

Théorème de forme normale de Post — Pour tout système de Post, il existe un système de Post en forme normale équivalent ; ce système peut être construit effectivement.

Les systèmes de tague qui eux aussi sont un modèle de calcul universel, sont des exemples particuliers de systèmes de Post en forme normale ; ils sont de plus « monogènes » : Un système est dit monogène si, pour toute chaîne, il existe au plus un nouveau mot peut être produit, en d’autres termes, si le système est déterministe.

Systèmes de réécriture et grammaires de type 0

Un système de réécriture est un cas particulier d’un système de Post où les productions sont de la forme :

X 1 g X 2     X 1 h X 2 {\displaystyle X_{1}gX_{2}\ \rightarrow \ X_{1}hX_{2}}

Les productions sont des règles de substitution, aussi écrites sous la forme g h {\displaystyle g\to h} . On peut démontrer que tout système de Post peut être ramené à un tel système, qui est une grammaire formelle de type 0 dans la hiérarchie de Chomsky.

Notes et références

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Post canonical system » (voir la liste des auteurs).
  1. C’est la définition de Dexter Kozen (Kozen 1997, p. 256-257).
  2. Minsky 1967.
  3. Post 1943.

Bibliographie

  • Emil Post, « Formal Reductions of the General Combinatorial Decision Problem », American Journal of Mathematics, vol. 65, no 2,‎ , p. 197-215.
  • Marvin Minsky, Computation : Finite and Infinite Machines, Prentice-Hall, , 317 p. (ISBN 978-0-13-165563-8).
  • Dexter C. Kozen, Automata and Computability, Springer, coll. « Undergraduate Texts in Computer Science », , 400 p. (ISBN 978-0-387-94907-9, lire en ligne).

Articles connexes

v · m
Théorie des automates, des langages formels et des grammaires formelles
Hiérarchie de ChomskyGrammaireLangageAutomate

Type-0

Machine de Turing
Machine de Turing qui s'arrête toujours

Type-1

Type-2

Type-3

Grammaire régulière ou grammaire rationnelle

Chaque classe de langages est strictement contenue dans la classe immédiatement au-dessus d'elle.
Chaque automate et chaque grammaire d'une classe ont un équivalent dans la classe immédiatement au-dessus
.
  • icône décorative Portail de l'informatique théorique
  • icône décorative Portail de la logique