Gli attributi indecidibili di P rappresentano un ostacolo alla decisione di P rispetto a NP? (risposta: forse)


20

Vengono poste cinque domande collegate e si auspica un'unica risposta integrata:

  • D1: Esistono lingue riconosciute esclusivamente da quelle macchine di Turing in  cui esponenti di runtime sono indecidibili ?LP
  • D2: Gli esempi di queste macchine di Turing possono essere costruiti in modo fine?
  • Q3: queste macchine di Turing possono essere istanziate concretamente? ( ad esempio , con oracoli che li "indovinano" piuttosto che costruirli finitamente).
  • Q4: Quali altri attributi di P (oltre agli esponenti di runtime) sono attualmente noti per essere indecidibili? Per quali attributi di è aperta questa domanda?P
  • D5: Gli attributi indecidibili di rappresentano un ostacolo alla decidibilità di ?PPNP

Nota attentamente la parola "solo" in Q1 (che esclude la risposta suggerita da Lance Fortnow).


Conclusioni e conversione al Wiki della community

  • La domanda, "Gli attributi indecidibili di P rappresentano un ostacolo alla decisione di P rispetto a NP?", È aperta e ritenuta difficile, come lo sono numerose domande specifiche (come Q1-4 sopra) che sono naturalmente associate ad essa.

  • La monografia del 1978 di Juris Hartmanis Feasible Computations e Provable Complexity Properties fornisce un buon ingresso in letteratura e (apparentemente) non c'è stata nessuna recensione pubblicata da Hartmanis.

  • Questa classe di domande è sufficientemente inesplorata che la sfida di trovare prove rigorose è intimamente mescolata alla sfida di scegliere buone definizioni di partenza.

  • Le osservazioni ponderate e gli schizzi di prova penetranti forniti da Travis Service e Alex ten Brink sono riconosciuti e apprezzati.

Poiché la domanda è aperta e perché viene discussa su più thread matematici del weblog ( 1 , 2 , 3 , 4 , 5 , 6 ), questa domanda è stata contrassegnata per la conversione in Wiki della comunità.


Aggiornamento II e riepilogo

Sono venuto a conoscenza del fatto che la monografia di Juris Harmanis del 1978 Fattiible Computations e Provable Complexity Properties può essere letta come una risposta approfondita al Q1-5 . Inoltre, gli (eccellenti) schizzi di prova Q1 e Q4 forniti di seguito da Travis Service e da Alex ten Brink forniscono una moderna affermazione ed estensione delle conclusioni generali di Hartmanis che:

I risultati sulla complessità dei calcoli cambiano radicalmente se consideriamo solo le proprietà dei calcoli che possono essere provate formalmente (enfasi di Hartmanis) ...

Pertanto, dovremmo aspettarci che i risultati sull'ottimalità di tutti i programmi che calcolano la stessa funzione di un determinato programma differiscano dai risultati di ottimalità su tutti i programmi che possono essere formalmente dimostrati equivalenti al programma dato. ...

Dovremmo [considerare] la possibilità che questo famoso problema [ ] potrebbe non essere risolvibile in una teoria matematica formalizzata, come la teoria degli insiemi.P=?NP

Alla fine spero di pubblicare, come una "risposta" formale di TCS StackExchange , ulteriori citazioni dalla monografia di Hartmanis (straordinariamente lungimirante).

È evidente sia dalla monografia di Hartmanis sia dalle risposte fornite da Travis e Alex, che Q1–5 sono considerevolmente al di là dell'attuale teoria della complessità allo stato dell'arte. Inoltre, queste domande / risposte evidentemente sono sufficientemente sottili da richiedere accurati aggiustamenti definitivi e giustificare esposizioni monografiche ... che spero non scoraggino le persone dal pubblicare ulteriori risposte. :)

Per ulteriori discussioni tecniche, vedere la risposta di Joel David Hamkins su MathOverflow alla domanda Un problema può essere contemporaneamente tempo polinomiale e indecidibile? (raccomandato da Alex ten Brink).

Se nella monografia di Hartmanis si sostituisce al termine "calcolo delle funzioni" la frase "simulazione della dinamica", il risultato può essere letto come un trattato sui limiti teorici della complessità all'ingegneria dei sistemi ... questa è la ragione pratica per cui noi ingegneri ci preoccupiamo di questi problemi.

Un'opinione contrastante di Hartmanis è stata recentemente espressa da Oded Goldreich in una lettera all'editore del CACM intitolata "Sulla complessità computazionale" :

Sfortunatamente, al momento mancano buone risposte teoriche alle domande più naturali relative al calcolo efficiente. Questo non è perché non facciamo domande sbagliate, ma piuttosto perché queste domande sono molto difficili.

È (ovviamente) perfettamente concepibile che le opinioni di Hartmanis e Goldreich si dimostreranno corrette, ad esempio, una prova formale dell'indecidibilità della separabilità di PvsNP potrebbe ragionevolmente essere considerata come una convalida di entrambi i punti di vista.


Aggiornamento I.

I commenti ponderati (sotto) di Travis Service e Alex ten Brink suggeriscono (in effetti) che in Q1 la frase "indecidibile" non è sinonimo di "non verificabile in modo verificabile" e che le risposte a Q2-5 possono dipendere da questa distinzione. Non è affatto chiaro (per me) quale scelta di definizione porterebbe ai teoremi più forti, e inoltre, catturare al meglio la nostra intuizione della classe P. Risposte e commenti che rispondono a questa domanda sono i benvenuti.

Mi viene in mente un'osservazione di Felix Klein nella sua Elementary Mathematics from a Advanced Standpoint: Geometry (1939):

Un altro esempio di un concetto che si verifica con più o meno precisione nella percezione ingenua dello spazio, che dobbiamo aggiungere come supplemento al nostro sistema di geometria, è la nozione di una curva (arbitraria) . Ogni persona crede di sapere cos'è una curva fino a quando non ha imparato così tanta matematica che le innumerevoli possibili anomalie le confondono.

Come per le curve, così con le lingue accettate dalle macchine di Turing in  ... ciò che una volta mi sembrava (per me) come la più semplice e la più naturale di tutte le classi di complessità ora mi confonde con gli (innumerevoli?) Attributi non verificabili e / o indecidibili dei suoi membri . L'ampia motivazione nel chiedere Q1–5 era quella di trovare un percorso attraverso questo boschetto confuso, ma le risposte fornite finora (da Travis Service e Alex ten Brink) hanno fornito ulteriori motivi di confusione!P

La generazione di matematici di Klein ha lavorato duramente per trovare buone definizioni per curve e altri elementi fondamentali di teoria degli insiemi, geometria e analisi. Una panoramica a livello elementare può essere trovata nella discussione di Wikipedia sulla sfera cornuta di Alexander

      Immagine di Alexander's Horned Sphere
      Un incorporamento di una sfera in R3

Nel corso del XX secolo, l'analisi di "varietà selvagge" come la sfera di Alessandro ha aiutato a chiarire le distinzioni tra varietà topologiche, varietà continue a tratti e varietà differenziali. Allo stesso modo nel 21 ° secolo, forse i perfezionamenti delle definizioni associate a aiuteranno a domare le lingue selvagge e le macchine di Turing selvagge di ... sebbene non sia facile specificare i raffinamenti adeguati.PP


sfondo

Queste domande collegate sorgono dalle domande wiki della community di MathOverflow " Quali sono i problemi indecidibili di Turing più interessanti in matematica? " E " Quali nozioni vengono utilizzate ma non chiaramente definite nella matematica moderna? " In particolare, Colin Tan chiese che la domanda posta sopra fosse pubblicato come una domanda separata.

Per informazioni tecniche, consultare la domanda TCS StackExchange " Sono determinabili i limiti di runtime in P? ", In particolare la concisa prova di Emanuele Viola che la risposta è "no". Si noti inoltre che risultati simili sono stati dimostrati da Juris Hartmanis nella sua monografia Calcoli fattibili e proprietà dimostrabili della complessità (1978).

Il blog di Lance Fortnow / Bill GASARCH della complessità computazionale di questa settimana ospita il loro sondaggio decadale " Fa o no?P=NP " - la quinta e ultima domanda posta invita a commentare la domanda Fortnow / GASARCH.


1
come sottolinea @Alex ten Brink, le macchine di Turing di cui parli in Q1 non sono ben definite. Penso che è necessario pensare al 's e ' s nella sua domanda invece di una prova di Viola.
Sasho Nikolov,

@Shasho, grazie ... alla domanda posta è stato aggiunto un riconoscimento e un riepilogo dei punti di Alex (e anche dei punti di Travis Service).
John Sidles,

1
Si noti che la prova di Emanuele Viola si applica ad una molto ampia gamma di problemi: una versione generalizzata si rivela per le funzioni di tempo-costruibile con f ( n ) = ω ( n log n ) e g ( n ) = ω ( f ( n ) ) che è impossibile per una TM per la quale è promesso che si ferma in t ( n ) tempo e anche che t ( n ) = O (f,gf(n)=ω(nlogn)g(n)=ω(f(n))t(n) , per decidere se t ( n ) = ω ( f ( n ) ) e t ( n ) = O ( g ( n ) ) . Non vedo davvero il link a P vs N P qui. t(n)=O(f(n))t(n)=ω(f(n))t(n)=O(g(n))PNP
Alex ten Brink,

2
Per me, il collegamento a P vs NP deriva dall'analogia con la geometria. Le definizioni che formalizzano la nozione di un continuum sono ampiamente stratificate dalle varietà di Kahler alle varietà di Riemann a varietà morbide a varietà topologiche a serie di punti (con molte altre distinzioni), e la formalizzazione di queste distinzioni era essenziale per il progresso in matematica. Allo stesso modo, l'insieme di macchine di Turing in P , e l'insieme di linguaggi che queste macchine accettano, apparentemente include algoritmi "selvaggi" il cui ruolo nella teoria della complessità è (forse?) Ampiamente analogo a insiemi di punti "esotici" in geometria e topologia.
John Sidles,

1
@Giovanni, ho visto suggerimenti di questi pensieri nei tuoi (vari precedenti .. forse molto prima) commenti sul blog e sono abbastanza contento di vedere fino a che punto hai progredito. Freddo!
Daniel Apon,

Risposte:


15

Per la domanda 1 la risposta è no. Sia un linguaggio in P e M sia qualsiasi tempo polinomiale Macchina di Turing che riconosce L (il cui tempo di esecuzione è ritenuto non definibile). Per ogni k N sia M k la macchina di Turing che sull'ingresso x di lunghezza n primi cicli per n k passi quindi esegue M su x per n k + k passi e accetta se M accetta x (all'interno di quei n k + kLPMLkNMkxnnkMxnk+kMxnk+kpassaggi) e rifiuta diversamente. Il tempo di esecuzione di è Θ ( n k ) per ogni k .MkΘ(nk)k

Poiché corre nel tempo polinomiale, vi è un certo k N tale che M scorre in O ( n k ) (anche se non sappiamo cosa sia k ) e quindi per tutti k abbastanza grande M k riconosce L e ha un runtime decidibile.MkNMO(nk)kkMkL

MODIFICARE

Penso che la seguente risposta sia più nello spirito di ciò che il poster originale aveva inteso con la domanda 1.

Teorema: esiste un linguaggio tale che se N è una macchina di Turing che decide L allora è vero almeno uno dei seguenti:LPNL

1) Non esiste una prova che accetta L oNL

2) Non esiste una prova che ferma a passi di f ( n ) (per qualsiasi funzione f ( n ) ).Nf(n)f(n)

Schizzo di prova: lascia che sia una macchina di Turing che non si ferma sul nastro bianco e per il quale non esiste una prova che M non si ferma sul nastro bianco (i risultati di indipendenza in Informatica di Hartmanis e Hopcroft mostrano che un tale M può essere trovato efficacemente).MMM

Sia .L={n:nn s.t. M halts in n steps when run blank tape}

Dal momento che non si ferma, L è in realtà la lingua vuota, ma non ci sono prove di ciò (poiché ciò proverebbe che M non si ferma).MLM

Sia qualsiasi macchina di Turing. Se esiste sia una prova che N decide L che una prova che N viene eseguito in passi f ( n ), l'esecuzione di N quando eseguita sull'ingresso 1 fornisce una prova che M si ferma (cioè, se N accetta) o che M lo fa non fermarsi (cioè se N rifiuta). Pertanto, se N decide dimostrabilmente L allora N runtime s' non è decidibile e viceversa.NNLNf(n)N1MNMNNLN


5
Travis risponde alla domanda riformulata, ma questa è una strana situazione in cui esiste un esponente dimostrabile, ma solo per le macchine che non si possono dimostrare risolve il problema.
Lance Fortnow,

Questa è una bella risposta a Q1 ... e sono completamente d'accordo con Lance sul fatto che questo algoritmo sia un membro molto strano della classe P. Parte della motivazione della domanda era catturare l'intuizione (tramite definizioni che sono buone per la dimostrazione del teorema ) che gli algoritmi in P di cui "ci preoccupiamo" (in un certo senso) sono gli algoritmi le cui prestazioni possiamo "verificare" (in un certo senso) ... questo esempio sconfigge completamente quello scopo! Bella risposta! :)
John Sidles,

Questo bel commento (a cui sto ancora pensando) ha ricordato l'osservazione di Felix Klein "Un concetto che si presenta con più o meno precisione nella percezione ingenua dello spazio, che dobbiamo aggiungere come supplemento al nostro sistema di geometria, è la nozione di una curva (arbitraria) . Ogni persona crede di sapere cos'è una curva fino a quando non ha imparato così tanta matematica che le innumerevoli possibili anomalie le confondono ". Il punto è che per fare progressi su P contro NP, forse un passo chiave è quello di affinare la definizione di P per escludere "innumerevoli possibili anomalie".
John Sidles,

2
La tua risposta è molto interessante Tuttavia, il predicato 1 potrebbe essere descritto in modo più accurato come "Non esiste una prova che accetti L a partire dalla definizione seguente", poiché posso facilmente costruire un TM che decide L (che è la lingua vuota), e dimostrarlo sempre ferma e decide la lingua vuota. Ho imparato di nuovo qualcosa di carino, e vado a controllare quel riferimento che hai menzionato: DNLL
Alex ten Brink,

La modifica di Travis della sua già buona risposta fornisce ancora di più su cui riflettere. Poiché questo processo richiederà un po 'di tempo (per me), vorrei esprimere il mio apprezzamento e i miei ringraziamenti ora (e le osservazioni tecniche in seguito) sia a Travis (Service) che ad Alex (ten Brink). Sebbene siano studenti, i loro commenti (IMHO) sono stati maturi e interessanti. È noto che Alan Turing ha concepito il suo "On Computable Numbers, con un'applicazione al problema di Entscheidungs " tra i suoi 21 e 23 anni; quindi gli studenti hanno affrontato problemi simili con successo ... possiamo sperare lo stesso per Alex e Travis.
John Sidles,

13

Sì, puoi costruire una macchina che impiega tempo DTIME ( ) -DTIME ( n i ) in cui i è il numero di passaggi eseguiti da una macchina Turing specifica per arrestarsi su nastro vuoto. Le costruzioni facili da costruire e simili valgono per qualsiasi aspetto non banale di P. Ci dice poco sul fatto che P v NP sia indecidibile: nessun problema a dimostrare P EXP nonostante gli stessi problemi.ni+1nii


Sì ... quel trucco è l'essenza delle prove di Emanuele Viola e Juris Harmanis sull'indecidibilità di runtime di P (per esempio). D'altra parte, è banalmente il caso che le macchine di Turing costruite con questo trucco riconoscano tutte le lingue L che sono anche riconosciute dalle macchine di Turing in P i cui tempi di autonomia sono decidibili. Questo è il motivo per cui Q1 è formulato (con attenzione!) Come una domanda sulle lingue piuttosto che sulle macchine di Turing ... proprio per escludere la costruzione di Hartmanis / Viola ... senza ostruire (secondo il tuo commento) le prove esistenti che P \ ne EXP.
John Sidles,

... e solo per citare, quel linguaggio L che è riconosciuto solo dalle macchine di Turing i cui esponenti di runtime erano indecidibili, sono linguaggi interessanti dal punto di vista teorico della complessità (e crittografico) ... apparentemente esistono in un Godel -esque "regione grigia" tra algoritmicamente comprimibile (ma per definizione non verificabile) e incomprimibile (e tuttavia per definizione non in quella classe).
John Sidles,

8

Dopo aver riflettuto maggiormente sull'argomento, penso di aver trovato una (possibile) risposta per il tuo Q4 .

  • Q4: Quali altri attributi di (oltre agli esponenti di runtime) sono attualmente noti per essere indecidibili? Per quali attributi di P è aperta questa domanda?PP

Ho dimostrato una variazione sul teorema di Rice che risponde alla tua domanda per la maggior parte delle proprietà. Cercherò di spiegarmi più chiaramente questa volta (la risposta di Travis Service è stata molto più chiara e generale rispetto alla mia precedente risposta).

Teorema: per qualsiasi proprietà trattenuta su un insieme non vuoto di lingue infinite decidibili (ma su nessuna lingua finita), è indecidibile se una data Macchina Turing decida una lingua con quella proprietà, quando viene promesso che E si ferma sempre in O ( f ( n ) ) tempo, dove f ( n ) = Ω ( n log n ) e f ( n ) = Ω ( g ( n ) ) , dove g ( nEEO(f(n))f(n)=Ω(nlogn)f(n)=Ω(g(n)) è il tempo di esecuzione di alcuni Turing Machine che decidono un po 'di lingua con quella proprietà.g(n)

Ricordiamo che una Turing Machine (TM da ora in poi) decide una lingua se accetta tutte le stringhe nella lingua e rifiuta tutte le stringhe al di fuori della lingua. Si noti che possiamo prendere di essere qualcosa di diverso da un polinomio, in modo che il teorema è più generale di un semplice P .f(n)P

Formalizziamo la nozione di "proprietà" come un insieme liberamente selezionabile di lingue "con quella proprietà". Decidere se una lingua ha la proprietà è quindi equivalente a decidere se la lingua è membro di S . Proprio come nel teorema di Rice, indaghiamo se siamo in grado di decidere se la lingua deciso dal TM ingresso ha la proprietà specificata, e così è in S . Si noti che richiediamo S R , ovvero che S contenga solo lingue decidibili.SSSSRS

Si noti che stiamo parlando di proprietà delle lingue , non delle TM. La tua domanda sugli esponenti di runtime non è un caso speciale di questo teorema. Le proprietà di, diciamo, , studiabili prendendo S P , potrebbero interessarti più delle proprietà delle TM che corrono nel tempo polinomiale. Puoi fare ogni sorta di cose crudeli con una TM, pur conservandone la correttezza e il tempo di esecuzione, ma non puoi fare lo stesso con le lingue.PSP

Il requisito secondo cui tutte le lingue in devono essere infinite è un tecnicismo necessario per la dimostrazione, ma poiché tutte le lingue finite sono decidibili in un tempo costante e quindi di solito poco interessanti, non penso che sia una delle principali. Mi aspetto che la versione generalizzata che permetta anche le lingue finite sia vera.S

Prova del teorema . Supponiamo che ci vengano dati alcuni TM con un TM E come parametro, in modo che P si fermi e accetti sempre se E decide un linguaggio in S , e dove E si promette di fermarsi sempre con i tempi di funzionamento come sopra. Sia ( A , i ) un'istanza del problema di arresto, ovvero A è una TM e i è un input per A , e ora vogliamo decidere se A si ferma su i .P(E)EPESE(A,i)AiAAi

Dal momento che abbiamo assunto era vuota, abbiamo qualche s S . Poiché S contiene solo lingue decidibili, esistono alcune TM C che decidono s . In particolare, scegliamo la C con tempo di esecuzione g ( n ) come ipotizzato nel teorema. Consideriamo ora le seguenti TM:SsSSCsCg(n)

function H(x)
h := simulate A on i for |X| steps and return whether it halted
if h == 'halted' then
    reject
else
    if C(x) accepts then
        accept
    else
        reject
    fi
fi

Si vede facilmente che il tempo di esecuzione di questa TM soddisfa i requisiti del teorema, poiché le TM possono essere simulate in tempo .O(nlogn)

Sosteniamo che non restituisce iff A si ferma su i . Supponiamo che A si fermi su i dopo t passi. H pertanto rifiuta qualsiasi X con | X | t . Decidiamo quindi al massimo un linguaggio finito, e quindi H decide che nessun linguaggio in S e P ( H ) restituirà quindi no .P(H)AiAitHX|X|tHSP(H)

Ora supponiamo che non si fermi su i . Quindi la variabile halt non otterrà mai il valore 'halted', quindi decidiamo la stessa lingua di C , che è esattamente s S , quindi P ( H ) restituirà vero. Ciò dimostra che P ( H ) può risolvere il problema di interruzione, che a sua volta dimostra il teorema.AiCsSP(H)P(H)


Questo è un argomento molto potente e flessibile, e ci vorrà un po 'per afferrarlo ... c'è un detto tra gli agricoltori negli Stati Uniti centrali "Sento che a un maiale viene mostrato un orologio da polso!" Sembra (secondo il tuo argomento) che P sia riccamente dotato di attributi indecidibili; quello che ho difficoltà a capire è se le lingue L riconosciute da P allo stesso modo sono riccamente dotate di attributi indecidibili ... L'esercizio di costruzione di lingue di esempio concrete con attributi naturali indecidibili è particolarmente frustrante (per me). Grazie per un'ottima risposta stimolante.
John Sidles,

1
Penso che tu pensi che sia l'insieme di TM in esecuzione in un tempo polinomiale. Questa non è la definizione: P è l'insieme di lingue decidibili da alcune TM in esecuzione in un tempo polinomiale. PP
Alex ten Brink,

Alex, confesso di essere confuso ... ma non per quello! Quello che mi piacerebbe costruire, o (meno desiderabile) dimostrare l'esistenza / non esistenza di, sarebbe (per esempio) un linguaggio L in P avente la proprietà che ogni macchina di Turing che accetta L o è non è verificabile in P o fa non verificabile accetta L. Queste lingue L appartengono a P "oracolosamente" ... la possibilità che P includa lingue puramente oracolari mi confonde ... soprattutto perché non è affatto ovvio (per me) come mai tali lingue puramente oracolari possano mai essere concretamente campionato ed esposto.
John Sidles,

Oh sì ... e di porre la domanda inversa (anche confusa) ... per una data lingua L in NP che forse è accettata solo dalle macchine oracolari di Turing ... con quale metodo di prova potremmo eventualmente stabilire che L non è riconosciuta da una qualsiasi delle macchine di Turing oracolari di P ... e quindi separare P da NP? O supponiamo che abbiamo dimostrato l'esistenza di una lingua L in NP non riconosciuta da nessuna macchina di Turing in P ... con la limitazione che L era puramente oracolare ... e non potevamo esibire quella lingua ... dovremmo essere soddisfatti che P! = NP? Queste domande sono confuse!
John Sidles,

4

Posso rispondere al tuo Q1 in negativo, quindi anche rispondere al Q2 e Q3 in negativo. Non sono sicuro di Q4 o Q5 però.

Sembra che tu abbia frainteso esattamente ciò che Emanuele Viola ha dimostrato nella sua brillante prova che hai collegato. Ha dimostrato che non esiste una singola Turing Machine grado di calcolare l'esponente di runtime per qualsiasi Turing Machine T presentata a M , anche con la promessa che T funziona nel tempo polinomiale.MTMT

Tuttavia, per ogni dato Turing Machine esecuzione in un tempo polinomiale, esiste qualche k tale che T ha un tempo di esecuzione di O ( n k ) , e quindi la Turing Machine M che restituisce k (e nient'altro) è in grado di "dire" l'esponente del tempo di esecuzione di T , anche senza dover guardare T ! Quindi, M decide (in tempo costante pari) ciò k è per questa proposta Turing Machine T . Potremmo non sapere quale Turing Machine lo decide, ma sappiamo che ne esiste uno.TkTO(nk)MkTTk T

Tornando alla tua domanda, se ci viene data una lingua in P , allora c'è una Turing Machine T in esecuzione in O ( n k ) per qualche k che decide L , e quindi c'è la Turing Machine M che restituisce k che decide il esponente di runtime per T . Questo risponde alla tua domanda in negativo.LPTO(nk)kLMkT

Potresti invece chiederti un problema diverso per un dato linguaggio in P : dato che Turing Machine T ha promesso di funzionare in tempo polinomiale e ha promesso di decidere L , è decidibile trovare l'esponente di runtime di T ?LPTLT

Sfortunatamente, anche questo è indecidibile. Supponiamo di avere un linguaggio in P e TM (Turing Machine) M in grado di decidere per un dato TM T promesso per l'esecuzione in tempo polinomiale e ha promesso di decidere L , ciò che l'esponente di runtime di T è. Siamo in grado di dimostrare che questo è indecidibile in un modo molto simile a quello che ha fatto Emanuele Viola: usiamo il TM esatto ha definito, e cambiare leggermente: ora vogliamo questo TM per decidere L .LPMTLTL

Poiché è in P , c'è qualche TM che decide L in O ( n k ) tempo. La nostra nuova TM M inizia esattamente come nella prova di Emanuele Viola, eseguendo la (Halting Problem) TM per n passaggi. Quindi esegue un ciclo per n k + 1 passi o n k + 2 passi in modo simile alla TM di Emanuele Viola. Infine, risolve L sull'input dato e restituisce la risposta.LPLO(nk)Mnnk+1nk+2L

è in P , decide L , e se conosciamo l'esponente di runtime, possiamo decidere il problema Halting, quindi anche il problema sopra è indecidibile (per qualsiasi lingua L ). Nota che non abbiamo bisogno di conoscere k , in realtà non dobbiamo costruire M , tutto ciò che dobbiamo fare è sapere che esiste!MPLLkM

Questo tipo di pensiero sull'indecidibilità apparentemente è abbastanza comune, ricordo un post (blog?) Su un problema molto simile: la domanda era "è decidibile se Pi ha un 'ultimo zero'", quindi se Pi smette di avere zero nella sua rappresentazione decimale se si scende abbastanza lontano quella rappresentazione. Al momento non sappiamo se sia così. Potremmo non essere nemmeno in grado di dimostrarlo, mai, o potrebbe anche essere indipendente dai nostri sistemi di assiomi (e quindi non dimostrabile). Tuttavia, poiché la risposta è vera o falsa, una TM che restituisce true e una TM che restituisce false decidono il problema in entrambi i casi e quindi il problema è decidibile.

Vedrò se riesco a trovare quel post su Internet da qualche parte.

Modificare:

L'ho trovato su Mathoverflow .


il tuo commento e l'account di Travis Service sono entrambi eccellenti. Sembra che in Q1 la frase "indecidibile" non sia sinonimo di "non verificabile in modo determinabile" ... e non è affatto chiara (per me) quale definizione (a) porta ai migliori teoremi e (b) cattura meglio il nostro intuizione della classe P. Osservazioni su questa domanda sono benvenute.
John Sidles,

Grazie Alex per il link (alla domanda MOF "Un problema può essere contemporaneamente tempo polinomiale e indecidibile?") ... Ho modificato il post principale per includere quel link.
John Sidles,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.