Existe-t-il un moyen simple de comprendre pourquoi NP est dans EXPTIME? Il me semble a priori concevable qu'il pourrait y avoir un problème qui nécessite un temps super-exponentiel à résoudre, mais dont la solution pourrait être vérifiée en temps polynomial.
11
Réponses:
Tout problème dans NP se trouve dans EXPTIME car vous pouvez utiliser le temps exponentiel pour essayer tous les certificats possibles ou pour énumérer tous les chemins de calcul possibles d'une machine non déterministe.
Plus formellement, il existe deux définitions principales de NP . L'une est qu'un langage est en NP ssi il y a une relation telle queL R
Donc, si nous avons un temps exponentiel et que nous voulons savoir si , nous pouvons simplement essayer toutes les valeurs possibles pour ~ et voir si pour l'un d'eux. Cela prend du temps , donc EXPTIME .x∈L |Σ|p(n) y (x,y)∈R 2O(p(n)) L∈
Alternativement, nous pouvons définir NP comme l'ensemble des langages décidés par les machines de Turing non déterministes à temps polynomial. Dans ce cas, supposons que soit décidé par la machine dans le temps pour un polynôme , pour des entrées de longueur . Ensuite fait au plus choix non déterministes tout en déterminant si . En examinant la fonction de transition de , nous pouvons trouver une constante telle que a au plus choix non déterministes à chaque étape du calcul (indépendamment de l'entrée), donc elle a au plusL M p(n) p n M p(|x|) x∈L M k M k kp(|x|)=2O(p(|x|)) différentes séquences de choix non déterministes lors de la lecture de l'entrée . Compte tenu du temps exponentiel, nous pouvons simuler chacune de ces possibilités l'une après l'autre et voir si l'une d'entre elles accepte.x
la source