Vantaggi per le classi sintattiche e semantiche


9

Questo è un post separato da Conseguenze di UP uguale a NP , e anche una domanda di follow-up per le classi di complessità semantica e sintattica .


Nel post sopra abbiamo appreso sulle classi semantiche e sintattiche . Dichiarato brevemente, quando una classe può essere caratterizzata come una classe di linguaggio foglia , allora una classe è sintattica se , cioè accettare la lingua è il complemento di rifiutare la lingua ; altrimenti la chiamavamo una classe semantica. Si può vedere che , e sono classi sintattiche, mentre classi come e sono classi semantiche.L 1L 2 = Σ L 1 L 2 P N P P P B B P P I PL[L1|L2]L1L2=ΣL1L2PNPPPBPPIP

Risultati classici come e congetture possono essere entrambi visualizzati mentre le classi semantiche risultano avere caratterizzazioni sintattiche. Mi sembra che le classi sintattiche siano più facili da gestire, poiché hanno problemi naturali completi. Anche tecniche come la diagonalizzazione sono più facili da applicare su classi sintattiche, poiché hanno un conteggio naturale delle macchine. Ma ancora come classe semantica sembra avere proprietà molto più belle rispetto alla classe sintattica .P ? = B P P B P P P PPSPACE=IPP=?BPPBPPPP

Quali benefici abbiamo se abbiamo una rappresentazione sintattica di una classe semantica o viceversa? Ci sono risultati o tecniche di prova applicate solo a classi sintattiche / semantiche?


1
Non può mai far male avere una caratterizzazione sintattica di una classe semantica. Non vedo come si possano confrontare i vantaggi di avere una caratterizzazione sintattica o semantica di una classe. BPP non è noto per avere una caratterizzazione sintattica, ma si ritiene che ne abbia una (se P = BPP), quindi il fatto che BPP abbia "belle proprietà" non sembra avere nulla a che fare con il fatto che è una classe semantica .
Robin Kothari,

@Robin: grazie per il commento. Quindi dovremmo considerare una classe semantica che non si ritiene abbia una caratterizzazione sintattica, diciamo il non ambiguo poly-time . Ma non ha troppe "belle proprietà" però. Qualche altro esempio? UP
Hsien-Chih Chang 張顯 之

sulla "o viceversa": quale sarebbe una caratterizzazione semantica di una classe sintattica? Esistono esempi di una classe semantica senza una tale caratterizzazione semantica?
Artem Kaznatcheev

1
@Artem: immagino che la classe conta? È una bella classe sintattica, ma non esiste alcuna caratterizzazione semantica conosciuta. (A differenza della plausibile congettura , che riduce la classe sintattica in qualcosa accetta o rifiuta solo con schemi specifici; qui accetta solo se esiste un unico percorso di calcolo accettabile e rifiuta se non ce n'è.)N L = U L N LNPNL=ULNL
Hsien-Chih Chang 張顯 之

Risposte:


4

Ecco un paio di vantaggi.

  1. Le classi sintattiche ti danno gerarchie temporali. La prova di Zak della gerarchia temporale non deterministica funziona per qualsiasi classe sintattica. Per le classi semantiche (come UPTIME ( )? UTPIME ( )) queste sono domande aperte. = n 2n3=n2
  2. È più facile creare oracoli che separano le classi sintattiche poiché devi diagonalizzare all'infinito spesso e non ti interessa cosa succede sulle altre lunghezze di input. Al contrario, è più facile comprimere le classi semantiche poiché è possibile eliminare le macchine che non mantengono la promessa.

3

Penso che, a questo livello di generalità, tu abbia già messo in evidenza alcuni dei principali valori delle classi sintattiche nella domanda: hanno un elenco di macchine e, di conseguenza, hanno problemi naturali completi e si può più facilmente fare la diagonalizzazione. Naturalmente, specifiche classi semantiche (come UP) possono avere altri vantaggi, ma solo per "sintattiche vs semantiche" in generale, penso che l'enumerazione automatica e le sue conseequenze siano il vantaggio principale.


0

Credo che il vantaggio di creare una classe semantica sia di essere in grado di isolare le risposte che in realtà desideri. Ad esempio, in UP ci preoccupiamo se ci sono una soluzione o zero soluzioni e non ci importa se ci sono più di una soluzione. Credo che la classe semantica sia un modo di perfezionare le classi sintattiche.

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.