Classi di complessità semantica e sintattica


35

Nel suo libro "Computational Complexity", Papadimitriou scrive:

RP è in qualche modo un nuovo e insolito tipo di classe di complessità. Nessuna macchina di Turing non deterministica limitata polinomialmente può essere la base per definire un linguaggio in RP. Perché una macchina N definisca una lingua in RP , deve avere la straordinaria proprietà che su tutti gli input rifiuta all'unanimità o accetta a maggioranza . La maggior parte delle macchine non deterministiche si comportano in altri modi per almeno alcuni input ... Non esiste un modo semplice per stabilire se una macchina si ferma sempre con un output certificato. Chiamiamo informalmente tali classi classi semantiche , al contrario delle classi sintattiche come P e NP, dove possiamo capire immediatamente con un controllo superficiale se una macchina opportunamente standardizzata definisce effettivamente un linguaggio nella classe.

Diverse pagine dopo, sottolinea che:

il linguaggio L è nella classe PP se esiste una macchina di Turing N non deterministica limitata in modo polinomiale N tale che, per tutti gli input x, iff, oltre la metà dei calcoli di N sull'input x finisce per accettare. Diciamo che N decide L a maggioranza .xL

Domanda 1: Perché Papadimitriou conclude che la PP è una classe sintattica, mentre la sua definizione è solo leggermente diversa da quella di RP ?

Domanda 2: se essere "semantici" per una classe di complessità equivale a NON avere problemi completi o la mancanza di problemi completi è considerata una proprietà che possediamo per le classi semantiche GUESS?

Modifica: vedi argomento correlato Tutte le classi di complessità hanno una caratterizzazione del linguaggio foglia?


2
un recente discorso correlato di Anuj Davar all'INI: Classi di complessità sintattica e semantica
Kaveh,

@Kaveh: grazie mille! Lo darò un'occhiata.
MS Dousti,

Risposte:


31

RP implica una promessa che 0 percorsi accettano o più della metà accetta, qualunque sia l'input. Per PP, non esiste tale promessa. Se più della metà dei percorsi accettano, allora , in caso contrario, x L . (PP può essere definito in modo che i criteri di accettazione sono 1 / 2 e < 1 / 2 rispettivamente.)xLxL1/2<1/2

O in altre parole, se ti do una TM probabilistica sostenendo che è una macchina PP che decide una lingua, puoi essere sicuro che decide una lingua. Chiaramente, la lingua che decide è questa: prova a inserire . Verifica se più di 1/2 dei percorsi accetta (o più di 1/2 stringhe casuali ne fanno accettare). Se è così, x L . In caso contrario, x L . Quindi abbiamo definito una lingua usando questa TM.xxLxL

D'altra parte, se ti do una MT probabilistica sostenendo che è una macchina RP che decide una lingua, non puoi nemmeno essere sicuro che decida qualsiasi lingua. Il problema è che quando osservi solo alcuni percorsi che accettano, non sai se è in L o no. Quindi, se ti do una macchina RP, devi solo credermi sulla parola. In effetti, verificare se questa macchina definisce una lingua è incomprensibile.xL

Per quanto riguarda la tua seconda domanda, per le classi sintattiche di solito c'è un ovvio problema completo, che è come "Dato la macchina M, decidi se accetta in tempo T sull'input x". Se ti viene data una macchina non deterministica, questo problema è NP completo, se è una macchina PP, allora è PP completa, ecc. L'ovvio problema completo per le classi semantiche è indecidibile, come ho già detto. Quindi non otteniamo un problema completo gratuitamente per le classi semantiche. Ma una classe semantica può avere un problema completo. Ad esempio se P = BPP (come è ampiamente creduto), allora BPP ha una caratterizzazione sintattica.

EDIT : Dal momento che c'è qualche discussione su come definire le classi semantiche e sintattiche, vorrei sottolineare che Papadimitriou dà una definizione nel suo libro quando parla di linguaggi fogliari. (Vedi la mia domanda sulle lingue delle foglie per alcuni riferimenti.)

Dice che le classi sintattiche sono quelle per le quali esiste un linguaggio che definisce la classe usando la tecnica del linguaggio foglia. Le classi semantiche sono quelle per cui tutte queste caratterizzazioni richiedono problemi promettenti. Questa è una definizione rigorosa, ma funziona solo per quelle lingue che hanno caratterizzazioni del linguaggio foglia.


3
Bene, non avrei sprecato gli ultimi 20 minuti a scrivere la mia risposta, se avessi appena ricaricato la pagina ... :) Lascerò nel caso fosse utile.
Ryan Williams,

Sì, lo odio quando succede. Anche se a volte ricevo la notifica "Sono state postate nuove risposte" nel mezzo della composizione di una risposta.
Robin Kothari,

6
@Robin: non è stato necessario ricorrere all'asserzione non dimostrata ma ampiamente creduta "P = BPP" per un esempio di una classe semantica intenzionale che si rivela sintattica: IP = PSPACE. (E ora anche QIP.)
Joshua Grochow,

3
@Joshua: hai ragione, IP = PSPACE funziona.
Robin Kothari,

1
@Joshua: Grazie per aver menzionato il risultato IP = PSPACE. Non l'ho mai visto da questo punto di vista!
MS Dousti,

28

PPRP PP>1/2x

PNPPPRPRP>1/2RPPromiseRP

P=BPPP=BPP

Se davvero non ci fosse un elenco di macchine facilmente calcolabili (di qualsiasi tipo ragionevole) che accettano esattamente la tua classe, allora sì, non credo che la tua classe possa avere un linguaggio completo. Ma sembra molto difficile formalizzare correttamente, figuriamoci dimostrare.


Ciao Ryan Pensi che sia possibile definire la sintatticità assumendo qualcosa come la tesi di Church-Turing?
Kaveh,

1
Ho modificato la mia risposta ora per rispondere alla domanda su come definire la sintatticità.
Robin Kothari,
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.