Aller au contenu

Lemme d'itération de Bader et Moura

Un article de Wikipédia, l'encyclopédie libre.

En informatique théorique, et notamment en théorie des langages, le lemme d'itération de Bader et Moura est un lemme d'itération pour les langages algébriques qui généralise le lemme d'itération d'Ogden. L'extension consiste à introduire, en plus de la notion de position distinguée, la notion de position exclue. La contrainte sur la présence de positions distinguées dans un mot s'enrichit d'une contrainte sur l'absence de positions exclues dans les facteurs itérés. Le lemme a été établi en 1982 par Christopher Bader et Arnaldo Moura[1]. Le lemme n'a pas eu autant de retentissement que le lemme d'Ogden par exemple[2].

Formulation

[modifier | modifier le code]

Comme pour le lemme d'Ogden, on utilise la notion de position. Étant donné un mot , où les sont des lettres, on appelle position dans tout entier de l'ensemble . Un choix de positions distinguées ou positions marquées dans (ceci est la terminologie traditionnelle) est simplement un sous-ensemble de positions contenant éléments. De même, un choix de positions exclues est un autre sous-ensemble de . Avec ces définitions, le lemme s'énonce comme suit[3] :

Lemme de Bader et Moura — Soit un langage algébrique. Il existe un entier tel que pour tout mot de , et pour tout choix de positions distinguées et de e position exclues dans avec , il existe une factorisation telle que :

  1. ( et et ) ou ( et et ) contiennent au moins une position distinguée ;
  2. le mot ne contient pas de position exclue :
  3. si contient position distingues et positions exclues, alors  ;
  4. pour tout .

Pour mémoire et comparaison, voici l'énoncé du lemme d'Ogden :

Lemme d'Ogden — Soit un langage algébrique. Il existe un entier tel que pour tout mot de de longueur , et pour tout choix de positions distinguées dans , il existe une factorisation telle que :

  1. ( et et ) ou ( et et ) contiennent au moins une position distinguée ;
  2. contient au plus positions distinguées ;
  3. pour tout .

Exemple d'application

[modifier | modifier le code]

Voici un exemple de langage où le lemme peut servir. Sur l’alphabet , soit

, où est l'ensemble des nombres premiers.

Pour le lemme de Bader et Moura, on exclut la première position d’un mot de et on distingue les autres. Le facteur est alors formé uniquement de lettres .

Le langage des mots primitifs

[modifier | modifier le code]

Dans leur tentative de démontrer que le langage des mots primitifs n'est pas algébriques, Dömösi et Ito[4] constatent que ce langage vérifie les hypothèses du lemme de Bader et Moura pour la constante N=5, et donc qu'il n'aide pas dans leur tentative.

Notes et références

[modifier | modifier le code]
  1. Bader et Moura 1982.
  2. Berstel et Boasson 1990.
  3. Cet énoncé, tel que donné dans Berstel et Boasson 1990, est légèrement plus précis que l'énoncé original. Il est qualifié de « version forte » dans le livre de Dömösi et Ito 2014.
  4. Pál Dömösi et Masami Ito, Context-free languages and primitive words, World Scientific Publishing, , 520 p. (ISBN 978-981-4271-66-0, OCLC 897020798, présentation en ligne)

Bibliographie

[modifier | modifier le code]
  • Jean Berstel et Luc Boasson, « Context-Free Languages », dans G. Rozenberg, A. Salomaa (éditeurs), Handbook of Theoretical Computer Science, vol. B : Formal Models and Sematics, Elsevier et MIT Press, (ISBN 0-444-88074-7), p. 59-102
  • (en) Christopher Bader et Arnaldo Moura, « A Generalization of Ogden's Lemma », Journal of the ACM, vol. 29, no 2,‎ , p. 404–407 (DOI 10.1145/322307.322315)

Articles connexes

[modifier | modifier le code]