Arrestare il problema senza autoreferenzialità


10

Nel problema di arresto, siamo interessati se esiste una macchina di Turing grado di dire se una data macchina di Turing ferma o meno su un determinato ingresso . Di solito, la prova inizia supponendo che esista una taleQuindi, consideriamo un caso in cui limitiamo a stesso, e quindi ricaviamo una contraddizione usando un'istanza di un argomento diagonale. Sono interessato come andrebbero le prove se ci viene data la promessa che ? Che dire promessa , dove è funzionalmente equivalente a ?M i T i M i M i M M MTMiTiMiMiMMM


2
Suggerimento: anche se non è tenuto a rispondere a domande sulla corretta per sé o anche su 's equivalente ad esso, possiamo ancora nutrire un equivalente e vedere cosa fa. Poiché non è calcolabile se sia equivalente a , non sarà in grado di dire che ha ottenuto qualcosa di equivalente a se stesso. M M M M MMMMMMM
Andrej Bauer,

@AndrejBauer È stato solo un suggerimento che mi hai dato e dovrei risolvere il mio vero problema usando questo suggerimento? Sono un po 'confuso, dal momento che rilassi il problema dicendo "non richiede", dove nella mia impostazione ho la promessa che non sarà alimentato con un equivalente . Fondamentalmente, vorrei vedere che qualsiasi cosa di "autoreferenzialità" è ciò che rende i problemi indecidibili. Pensavo che fosse così quando si parla di logica e incompletezza. M MM
Bellpeace,

Puoi rompere la promessa e dare da mangiare a qualunque cosa tu voglia. Non posso dirti che hai rotto la promessa, comunque. Se pensi che sia un imbroglio, allora darò da mangiare a cose che non sono equivalenti a perché sono come ma con tutti gli input spostati di o alcuni di questi. M M M 1MMMM1
Andrej Bauer,

In realtà, le tue domande non sono ben formulate. Dovresti delineare la prova reale che hai in mente e quindi specificare cosa vuoi evitare con precisione. Non penso che intendi , ma qualcos'altro. iM
Andrej Bauer,

Risposte:


7

Supponiamo che HALTS sia una TM che legge il suo input come una coppia e , dove è una codifica TM e è qualsiasi input per quella TM.x M xMxMx

La sua domanda è se cosa succederebbe se abbiamo ipotizzato HALTS risolto il problema della terminazione per tutti gli ingressi tale che non è una codifica di una MT che è funzionalmente equivalente a .x MM,xxM

Sostengo che ciò implichi una contraddizione. Mi è venuto in mente questo sul posto, quindi accolgo con favore tutte le critiche alla mia prova. L'idea della prova è che invece di diagonalizzare qualcosa su se stesso, realizziamo due TM reciprocamente ricorsive che si comportano in modo diverso su alcuni input (quindi non sono funzionalmente equivalenti), ma che altrimenti causano contraddizioni.

Sia e due TM reciprocamente ricorsive (vale a dire possiamo simulare, stampare, ecc. La descrizione di all'interno del programma di e viceversa). Si noti che possiamo creare TM ricorsivamente reciprocamente dal teorema di ricorsione.D 2 D 2 D 1D1D2D2D1

Definire e come segue: sull'input , se (10 scelti arbitrariamente), quindi accetta e loop. (Pertanto, non sono funzionalmente equivalenti).D 2 x | x | < 10 D 1 D 2D1D2x|x|<10D1D2

Dato input con , definiscono a HALTS simulare con e arresto se soste o ciclo se loop.| x | 10 D 1x|x|10D1D 2 D 2D2,xD2D2

Dato input con , definisci per simulare HALTS su e loop se interrompe o si interrompe se loop.| x | 10 D 2x|x|10D2D 1 D 1D1,xD1D1

Quindi nota che per ogni con , (x) si ferma o si avvolge. Se ferma su input x, allora sappiamo HALTS ( , x) determinarono che ferma su di ingresso x. Tuttavia, arrestare sull'ingresso x implica che blocca ( , x) loop.| x | 10 D 1 D 1 D 2x|x|10D1D1D2D 2 D 1D2D2D1

Se su input loop, la contraddizione segue allo stesso modo. xD1x

Questa è una contraddizione a meno che sia una codifica per una macchina da funzionalmente equivalente a o , nel qual caso HALTS ha un comportamento indefinito. Tuttavia, stato scelto arbitrariamente tra tutte le stringhe di dimensioni maggiori di . Pertanto, resta da dimostrare che esiste una macchina di turing con una codifica di dimensioni superiori a 10 che si comporta diversamente da e . Possiamo costruire una macchina del genere in modo banale. QED.D 1 D 2 x 10 D 1 D 2xD1D2x10D1D2

Pensieri?


Perché è necessario assicurarsi che e D 2 non siano funzionalmente equivalenti? D1D2
Bellpeace,

Penso che tu abbia ragione che questo non è necessario. Il mio intento originale era quello diagonalizzare sulle soste ( )D1,D2
Kurt Mueller

Senza questo, la prova è più elegante, ma mi sembra comunque buona ed è esattamente ciò di cui avevo bisogno.
Bellpeace,

2

Non sei ancora fuori dal bosco. Ti imbatti nello stesso problema, solo ora gli dai una TM, diversa come input, dove hai scelto M per essere funzionalmente equivalente a M (supponi di aggiungere una nuova regola a M in modo che le mosse di apertura di M sono un passo a destra, un passo a sinistra e altrimenti non si apportano modifiche). Incontrerai comunque una contraddizione. Potresti provare a eliminare tutte le TM equivalenti a M , ma questo è un set indecidibile.MMMMMM


Aggiornamento . Correggi uno schema di codifica in cui Indica la descrizione sotto quello schema di una TM M e supponiamo che tu abbia una TM, H doveMMH

  • non è definito quando x è la codifica di una TM che calcola la stessa funzione parziale di H (ovvero, x e H sono funzionalmente equivalenti).H(M,x)xHxH
  • Per tutti gli altri ingressi, restituisce vero se e solo se M ( x ) si ferma.H(M,x)M(x)

Ora la solita costruzione di diagonalizzazione risulta ancora in contraddizione. Definire una TM daQ

Q(x)=
  if H(<Q>, x) = false
    return true
  else
    loop forever

Chiaramente e H sono funzionalmente non equivalenti, quindi possiamo lasciare x = QH E scopri che Q ( x=Q Arresta se e solo se non fermare, quindi non può essere tale TM H .Q(Q)H


E pensare che ho una promessa che non è un TM funzionalmente equivalente a M ? Forse posso estendere la mia domanda nel PO? iM
Bellpeace,

1
Supponiamo che ti venga data una tale promessa; So che non è calcolabile. Ho aggiornato l'OP.
Bellpeace,

@bellpeace: Come lo definisci?

Ingresso: una coppia di interi tale che i non rappresenta una TM funzionalmente equivalente a TM rappresentato da M . Uscita: 1 se M si ferma su i , 0 altrimenti. Questo problema è risolvibile? (M,i)iM1Mi0
Bellpeace,

1
@RickyDemer Sì, due TM sono considerate funzionalmente equivalenti se calcolano la stessa funzione parziale. Si noti che, come Andrey sottolineato che, sebbene stabilire se e M ' sono equivalenti è indecidibile, possiamo ancora considerare il problema in cui ci viene dato un promessa che due TMS ingresso non sono equivalenti, come ho esemplificato sopra. MM
Bellpeace,
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.