Existe-t-il un théorème de la hiérarchie temporelle pour PH?

18

Est-il vrai qu'il y a des problèmes dans la hiérarchie polynomiale qui peuvent être résolus dans le temps (par une machine de Turing alternée à un certain niveau de la hiérarchie polynomiale) qui ne sont pas résolus dans O ( n k - 1 ) à aucun niveau de la hiérarchie polynomiale? En d'autres termes - existe-t-il un théorème de hiérarchie temporelle pour la hiérarchie polynomiale comme il en existe pour P et NP? Si tel est le cas, une référence serait formidable.O(nk)O(nk1)

La difficulté que j'ai rencontrée est que la machine de simulation, lorsqu'elle simule des machines à tous les niveaux de la hiérarchie, n'est pas à un niveau distinct de la hiérarchie. Ce qui conduit à une question connexe - à quelle classe appartient une telle machine de simulation? Y a-t-il un sens à définir une classe avec des alternances (ou O ( log n ) / O ( log log n ) )?O(n)O(logn)O(loglogn)

Joseph
la source
L'utilisation d'un nombre linéaire d'alternances vous donne PSPACE, car la formule booléenne quantifiée est complète avec PSPACE.
Derrick Stolee

Réponses:

17

Oui. Par exemple, les preuves habituelles du théorème de la hiérarchie temporelle (en simulant directement des machines arbitraires) peuvent être utilisées pour montrer que pour tout , Σ c T I M E [ n k ] n'est pas un sous-ensemble de Π c T I M E [ n k - 1 ] . La raison du passage de Σ à Πc1ΣcTIME[nk]ΠcTIME[nk1]ΣΠ est que, dans cet argument de diagonalisation, nous devons faire "l'opposé" de la machine que nous simulons, donc nous devons exécuter en mode universel lorsque la machine de simulation est en mode existentiel, et vice-versa.

Vous pouvez également obtenir un résultat comme celui-ci sans passer de à Π : pour chaque c 1 , Σ c T I M E [ n k ] n'est pas un sous-ensemble de Σ c T I M E [ n k - 1 ] . Cela peut être fait en utilisant la preuve de la hiérarchie du temps due à Zak (référence: " A Turing machine time hierarchy ", Theoretical Computer Science 26 (3): 327--333, 1983). Pour une référence explicite à cette version du théorème de la hiérarchie temporelle, voir Dieter van MelkebeekΣΠc1ΣcTIME[nk]ΣcTIME[nk1]« A Survey of Lower Bounds for Satisfiability and Related Problems » (disponible sur sa page d'accueil).

Ryan Williams
la source
Cette réponse démontre très clairement l'existence d'un théorème de hiérarchie temporelle pour chaque niveau distinct de la hiérarchie. Cela n'indique pas immédiatement la présence d'un tel théorème pour PH dans son ensemble.
Joseph
4
Votre question plus forte sera difficile à résoudre par l'affirmative; cela impliquerait . Supposons qu'il y ait un c et un langage L dans Σ c T I M E [ n k ] qui ne soit pas dans Σ d T I M E [ n k - 1 ] pour chaque d . Alors L O G S P A NLOGSPACENPcLΣcTIME[nk]ΣdTIME[nk1]d . En effet, chaque langue L LLOGSPACENP est en Σ d T I M E [ n 2 ] pour certains d en fonction de L (par un argument de type théorème de Savitch). Donc, si L O G S P A C E = N P, alors en fait, chaque langue dans Σ c T I M E [ n kLLOGSPACEΣdTIME[n2]dLLOGSPACE=NP est dans Σ dΣcTIME[nk] pourcertains d , contradictoire avec ce que vous voulez montrer. ΣdTIME[n2] d
Ryan Williams
3

La réponse à la question révisée (révision 4 de la question) est non. Si un problème de décision L est résoluble en temps O ( n k ) par une machine ∑ i P, alors L peut être résolu en temps linéaire par une machine de Turing avec l'oracle pour L , qui est une machine ∑ i +1 P. Par conséquent, ∑ i TIME [O ( n k )] ⊆ Σ i +1 TIME [O ( n )].

Tsuyoshi Ito
la source
1
ΣjTIME[t(n)]ΣjTIME[O(nk)]Σj+1TIME[O(n)]j,kNPcoNPNP=coNPΣjTIME[O(nk)]Σj+1TIME[O(n)] for every j,k, let O(nc) be the running time of some nondeterministic algorithm for Tautology. Then we have NTIME[O(nc2)]Σ2TIME[O(n)]NTIME[O(nc)], where the first inclusion is by assumption and the second inclusion follows from a standard simulation argument. This is a contradiction.
Ryan Williams
@Ryan: The definition I used is: L∈ΣiTIME[t(n)] iff there exist a language O∈Σ(i−1)P and a nondeterministic t(n)-time Turing machine with the oracle for O that recognizes L. I thought that this is the standard definition, but I do not have any reference to back up my claim. What is the definition you are using?
Tsuyoshi Ito
1
The definition is: LΣiTIME[t(n)] iff there is a linear time predicate R(x,y1,,yi) such that xL(y1:|y1|t(|x|))(yi:|yi|t(|x|))R(x,y1,,yi) is true.
Ryan Williams
@Ryan: Ok, I did not know that definition. If that is what the asker wanted to ask, my answer does not apply.
Tsuyoshi Ito