C'è un modo semplice per capire perché NP è in EXPTIME? Mi sembra a priori concepibile che potrebbe esserci un problema che richiede tempo superesponenziale per essere risolto, ma la cui soluzione potrebbe essere verificata in tempo polinomiale.
C'è un modo semplice per capire perché NP è in EXPTIME? Mi sembra a priori concepibile che potrebbe esserci un problema che richiede tempo superesponenziale per essere risolto, ma la cui soluzione potrebbe essere verificata in tempo polinomiale.
Risposte:
Qualsiasi problema in NP è in EXPTIME perché è possibile utilizzare il tempo esponenziale per provare tutti i possibili certificati o enumerare tutti i possibili percorsi di calcolo di una macchina non deterministica.
Più formalmente, ci sono due definizioni principali di NP . Uno è che una lingua è in NP se esiste una relazione tale che
Quindi, se abbiamo tempo esponenziale e vogliamo sapere se , possiamo semplicemente provare tutti i possibili valori di per ~ e vedere se per uno di quelli. Ci vuole tempo , quindi EXPTIME .
In alternativa, possiamo definire NP come l'insieme delle lingue decise dalle macchine di Turing non deterministiche a tempo polinomiale. In questo caso, supponiamo che sia deciso dalla macchina nel tempo per alcuni polinomi , per input di lunghezza . Poi rende al massimo scelte non deterministiche, mentre la determinazione se . Esaminando la funzione di transizione di , possiamo trovare una costante tale che abbia al massimo scelte non deterministiche ad ogni passo del calcolo (indipendentemente dall'input), quindi ha al massimo diverse sequenze di scelte non deterministiche durante la lettura dell'input . Dato il tempo esponenziale, possiamo simulare ognuna di queste possibilità una dopo l'altra e vedere se una di esse accetta.