Tout problème résolu par un automate fini est en P


8

Après ma classe de théorie du calcul aujourd'hui, cette question m'est venue à l'esprit: si un problème peut être résolu par un automate fini, ce problème appartient à P.

Je pense que c'est vrai, puisque les automates reconnaissent des langages très simples, donc tous ces langages auraient des algorithmes polynomiaux pour les résoudre. Ainsi, est-il vrai que tout problème résolu par un automate fini est en P?

Réponses:


15

Oui c'est vrai. En termes de classes de complexité,

REGP,
REGest la classe des langages réguliers (c'est-à-dire les problèmes qui peuvent être résolus par un automate fini). Plus précisement,
(*)REGDTIME(n),
et DTIME(n) est un sous-ensemble strict de P par le théorème de la hiérarchie du temps.

La preuve de (*) est la suivante: pour tout problème dans REG, il existe un DFA qui le résout. Convertissez ce DFA en une machine Turing avec les mêmes états et la même fonction de transition, qui se déplace toujours vers la droite jusqu'à ce qu'elle voit un blanc, puis accepte ou rejette. Cette machine de Turing s'arrête toujours dans le temps exactementn.


Il convient également de mentionner que

REG=DSPACE(0)=DSPACE(k)
pour toute constante fixe k.

7

Oui c'est vrai. Pour chaque problème de ce type, il existe un DFA qui décide de la langue, et la vérification si un mot est accepté par un DFA peut facilement être effectuée en temps linéaire dans la longueur du mot.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.