Per qualsiasi lingua


9

Sto cercando di fornire una prova per quanto segue:

Per qualsiasi linguaggio A , esiste un linguaggio di B tale che A≤TB 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 A≤TB 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 B≰TA .

Ora combiniamo questo con il Turing si uniscono : dato lingue X,Y , il uniscono X⊕Y è 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 X⊕Y={2i:i∈X}∪{2i+1:i∈Y} - ma la caratteristica importante è quella X⊕Y≥TX,Y (e in effetti è il lorolimite superiore≤T -least).

Quindi possiamo applicare quanto sopra, per ottenere:

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


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.