Après avoir lu une question connexe , sur les preuves d'existence d'algorithmes non constructives, je me demandais s'il existe des méthodes pour montrer l'existence de "petites" machines de calcul (disons, par état) sans les construire.
Officiellement:
supposons qu'on nous donne un langage et fixons un modèle de calcul (NFAs / machine de turing / etc.).
Existe-t-il des résultats d'existence non constructifs montrant qu'une machine à états pour existe, mais sans la capacité de la trouver (en temps )?L p o l y ( n , | Σ | )
Par exemple, existe-t-il un langage régulier pour lequel nous pouvons afficher mais nous ne savons pas comment construire un automate à états?n s c ( L ) ≤ n n
( est la complexité d'état non déterministe de , c'est-à-dire le nombre d'états dans le NFA minimal qui accepte ).L L
EDIT: après quelques discussions avec Marzio (merci!) Je pense que je peux mieux formuler la question comme suit:
Existe-t-il un langage et un modèle de calcul pour lesquels:
Nous savons comment construire une machine qui calcule qui a états.m
Nous avons une preuve qu'il existe une machine à états pour (où ), mais soit nous ne la trouvons pas du tout, soit cela prendrait un temps exponentiel pour le calculer.L n < < m
Réponses:
Seul un commentaire étendu avec un exemple trivial; vous pouvez choisir la langue à un élément:
c'est-à-dire que contient la première machine de Turing de castor occupée (dans l'ordre lexicographique) de taille k (la machine de Turing de taille k qui atteint le plus grand nombre de 1 sur sa bande après l'arrêt).Lk k k
Pour chaque le langage L k est régulier ... mais nous n'avons aucune idée de la façon de construire le petit DFA qui le reconnaît (bien qu'il n'ait que ≤ 2 ∗ k ( log k + 2 ) états) :-)k Lk ≤2∗k(logk+2)
la source
La langue (pour un nombre premier p ) peut être reconnu par un O ( log p ) -state quantiques finis automates borné d'erreur (soq) , mais la preuve est non constructif.MODp={aip∣i≥0} p O(logp)
REF: Section 4.2 de (Ambainis et Yakaryilmaz, 2015) .
la source
Une autre solution consiste à utiliser le lemme de Higman :
Prenez donc n'importe quel langage L, sa fermeture de sous-mot est régulière mais n'est pas du tout constructible puisque L est arbitraire.
la source