Toutes les classes de complexité ont-elles une caractérisation du langage feuille?

20

Les langages foliaires sont une belle façon de définir uniformément de nombreuses classes de complexité. La plupart des classes de complexité sont généralement spécifiées par un modèle de calcul (par exemple, TM déterministe / randomisé) et une ressource liée (temps logarithmique, espace poly, etc.). Cependant, dans la formulation du langage feuille, il n'y a qu'un seul modèle de calcul, et la classe est spécifiée en donnant son langage feuille.

Les détails sont trop longs à expliquer, je vais donc diriger les lecteurs intéressés vers l'une de ces deux enquêtes:

  1. Caractérisations uniformes des classes de complexité par H Vollmer
  2. Cours de langue des feuilles par KW Wagner

Les deux enquêtes expliquent très bien la formulation dans les premières pages.

Dans l'enquête de Wagner, il dit «qu'il s'avère que pratiquement toutes les classes de complexité considérées jusqu'à présent peuvent être décrites par des langages foliaires».

Ma question concerne cette déclaration. Je sais qu'il y a des classes pour lesquelles nous ne connaissons pas de caractérisation du langage feuille, donc cela signifie que les classes n'ont pas nécessairement une telle caractérisation, ou nous ne l'avons pas trouvée.

Nous attendons-nous à ce que chaque classe de complexité (disons entre P et PSPACE) ait une caractérisation du langage feuille? (Limitons-nous aux classes de complexité "naturelles".) Y a-t-il un résultat de ce genre dans la littérature?

(Une question connexe à laquelle je serais heureux de connaître la réponse: existe-t-il une méthode (heuristique) pour proposer un langage feuille pour une classe donnée?)


EDIT: Suresh souligne qu'il existe une courte définition des langues foliaires dans l'article Wikipedia. Je le copie ci-dessous.

Plusieurs classes de complexité sont généralement définies en termes de machine de Turing non déterministe en temps polynomial, où chaque branche peut accepter ou rejeter, et la machine entière accepte ou rejette en fonction des conditions des branches. Par exemple, une machine de Turing non déterministe accepte si au moins une branche accepte et rejette uniquement si toutes les branches rejettent. Une machine de Turing non déterministe, d'autre part, n'accepte que si toutes les branches acceptent et rejette si une branche rejette. De nombreuses classes peuvent être définies de cette manière.

Robin Kothari
la source
1
wikipedia a une définition assez succincte d'un langage foliaire: peut-être pouvez-vous l'adapter à la question?
Suresh Venkat
Merci. Je ne savais pas que Wikipédia avait un article dessus. J'ai copié leur définition à la fin de ma question.
Robin Kothari

Réponses:

21

Jettes un coup d'oeil à

Bernd Borchert, Riccardo Silvestri: une caractérisation des classes de langue foliaire. Inf. Processus. Lett. 63 (3): 153-158 (1997) ( lien doi ici )

Les auteurs caractérisent les classes de langue foliaire comme celles qui sont (a) "dénombrables", (b) sont réductibles plusieurs fois un polytime fermé "vers le bas", et (c) "poly-jointure" (c'est-à-dire, union disjointe) par rapport à la polytime réductibilité multiple.

LC,LEmPCEL

P/polySPUNECE[n]SPUNECE[n]PSPUNECE[n]pas fermé en vertu de ces réductions.)

Ryan Williams
la source
3
Génial. Voilà ce dont j'avais besoin. (Une idée de comment trouver une telle caractérisation après avoir su qu'elle existe? Peut-être même une heuristique, et pas quelque chose qui fonctionne toujours?)
Robin Kothari
2
Dans ce cas, mon impression est que les auteurs se sont appuyés sur des résultats connus de la forme "toutes les langues foliaires ont la propriété X" et "aucune langue foliaire a la propriété Y", et ont trouvé un moyen direct de lier tout cela en ajoutant juste la bonne conditions.
Ryan Williams