Adloun

Probleme – L'explosion exponentielle est inévitable

Exercice · niveau 3 (difficile) · informatique (MP2I/MPI), chapitre 29 — Langages réguliers et automates finis

Énoncé

Le chapitre affirme que la déterminisation peut coûter états, et que « cette explosion est parfois inévitable ». On le démontre. Pour , soit

Corrigé

1. L'automate non déterministe. États ; initial ; acceptant .

Il « devine » l'endroit où commencent les dernières lettres, exige que ce soit un a, puis compte lettres de plus. C'est le non-déterminisme employé comme il doit l'être : deviner, puis vérifier. Un mot est reconnu s'il existe un chemin acceptant, donc si la devinette peut être juste.

2. Les mesures. On applique la construction par sous-ensembles, puis on minimise.

états de l'AFNaprès déterminisationaprès minimisation

Chaque automate a été comparé au prédicat « la -ième lettre avant la fin est un a » sur tous les mots courts : accord complet. La minimisation ne gagne rien : la colonne « après minimisation » est identique à la précédente. Ce n'est pas un défaut de l'algorithme.

3. La borne inférieure. Soit un automate déterministe reconnaissant . Considérons les mots de longueur exactement . Montrons qu'ils mènent à états deux à deux distincts.

Soient deux tels mots. Ils diffèrent en une position (comptée depuis la gauche, ) ; disons et . Posons n'importe quel mot de longueur , par exemple . Alors dans , de longueur , la -ième lettre avant la fin est : donc . Dans , la même position porte : donc .

Le mot distingue donc de . Si et menaient au même état , l'automate donnerait la même réponse sur et — contradiction. Les mots mènent à états distincts, et en a au moins autant.

Ce que la démonstration dit vraiment. Un automate déterministe qui lit doit, à tout instant, être capable de répondre pour toutes les suites possibles. Il lui faut donc retenir les dernières lettres — soit configurations. L'automate non déterministe, lui, ne retient rien : il devine. Le non-déterminisme n'est pas une mémoire, c'est un pari, et déterminiser, c'est payer comptant tous les paris à la fois.

C'est aussi la réponse à une question naturelle : puisque la déterminisation coûte cher, n'y aurait-il pas un algorithme plus fin ? Non. La borne est atteinte, et par une famille d'exemples très simples.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.