Per qualsiasi lingua


9

Sto cercando di fornire una prova per quanto segue:

Per qualsiasi linguaggio A , esiste un linguaggio di B tale che ATB ma B TA .

Stavo pensando di lasciare che B fosse ATM , ma mi rendo conto che non tutte le lingue sono Turing riducibili ad ATM , quindi ATB non reggerebbe. Quale altra scelta di B ho che mi permetterebbe di scrivere una TM che usa un oracolo per B per decidere A ?

Grazie!


Che ne dici di ? B=NPA
Eugene,

3
Si pensi al problema della terminazione su Turing macchine con Oracle . A
Willard Zhan,

2
@ user1354784 Le macchine di Turing con l'oracolo possono essere elencate. Quindi prova ad usare la diagonalizzazione standard, dove l'unica modifica è che per ogni , rappresenta un oracolo TM con oracolo anziché un normale TM. AαΣMαA
Willard Zhan,

1
@DavidRicherby Sì, ma B non è fisso, è costruito sapendo cos'è A. Se ci viene data una A, costruiamo una B che accetta ogni oracolo TM con un oracolo per questa specifica A che accetta stringhe in A. Se ci viene data una A diversa, l'elenco delle TM in B sarà diverso.
user1354784

1
@ user1354784 Esatto. Intendevo quel commento come un'altra spiegazione del perché non possiamo prendere come avevi suggerito (e già respinto, per un motivo diverso) nella tua domanda. Ho dimenticato di spiegare che quello era il punto che stavo sollevando: scusate la confusione lì. B=ATM
David Richerby,

Risposte:



1

Prima di immergerci nella buona risposta, vale a dire che possiamo relativizzare il problema dell'arresto per assegnare a ogni lingua X una lingua X tale che (tra le altre cose) X<TX - vale la pena vedere la risposta sciocca :

  • Cantor ha dimostrato che ci sono innumerevoli lingue.

  • Ma ogni lingua specifica A può calcolare solo molte lingue: una singola macchina di Turing può produrre una riduzione solo da una determinata lingua A , e ci sono solo molte macchine di Turing.

Quindi in effetti sappiamo, senza fare alcun lavoro serio, che:

Per ogni lingua A , la maggior parte (= tutti, ma numerabile di) lingue B soddisfano BTA .

Ora combiniamo questo con il Turing si uniscono : dato lingue X,Y , il uniscono XY è costituito da "interleaving" X e Y . Esistono vari modi per definirlo - ad esempio pensando a X e Y come insiemi di naturali, di solito lasciamo XY={2i:iX}{2i+1:iY} - ma la caratteristica importante è quella XYTX,Y (e in effetti è il lorolimite superioreT -least).

Quindi possiamo applicare quanto sopra, per ottenere:

Per ogni lingua UN , la maggior parte (= tutti, ma numerabile di) lingue B soddisfare UN<TUNB .


Ciò solleva quindi la questione di fornire una prova non stupida , vale a dire un modo naturale per produrre una lingua rigorosamente più complicata di una data, ed è a questo che serve il salto di Turing; ma vale la pena comprendere questo argomento non costruttivo da solo.

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.