Esistono lingue intrinsecamente ambigue e deterministiche senza contesto?


36

Chiamiamo un linguaggio deterministico senza contesto se e solo se può essere accettato da un automa deterministico di push-down, e non deterministico altrimenti.

Chiamiamo un linguaggio senza contesto intrinsecamente ambiguo se e solo se tutte le grammatiche senza contesto che generano il linguaggio sono ambigue e non ambigue in caso contrario.

Un esempio di linguaggio deterministico e non ambiguo è il linguaggio: Un esempio di linguaggio non deterministico e non ambiguo è il linguaggio: { w { a , b } | w = w R }

{un'nBn{un',B}*|n0}
{w{un',B}*|w=wR}

Da Wikipedia , un esempio di un linguaggio intrinsecamente ambiguo senza contesto è la seguente unione di linguaggi senza contesto, che deve anche essere privo di contesto:

L={un'nBmcmdn{un',B,c,d}*|n,m0}{un'nBncmdm{un',B,c,d}*|n,m0}

Ora per le domande:

  1. È noto se esiste un linguaggio deterministico, intrinsecamente ambiguo e privo di contesto? In tal caso, esiste un esempio (semplice)?
  2. È noto se esiste un linguaggio non deterministico, intrinsecamente ambiguo e privo di contesto? In tal caso, esiste un esempio (semplice)?

Chiaramente, poiché esiste un linguaggio intrinsecamente privo di contesto ( è un esempio), la risposta a una di queste domande è facile, se si sa se è deterministico o non deterministico. Suppongo anche che sia vero che se c'è un deterministico, ci sarà sicuramente anche un non deterministico ... ma sono stato sorpreso prima. I riferimenti sono apprezzati e si scusano in anticipo se si tratta di un risultato ben noto e celebrato (nel qual caso, ne sono completamente inconsapevole).LL

Risposte:


30

LL

Una lingua può essere descritta da una grammatica senza contesto se e solo se può essere riconosciuta da un automa non deterministico. Come caso speciale, grammatiche intrinsecamente libere dal contesto possono essere analizzate da alcuni automi non deterministici.

In ultima analisi, anche qualsiasi automa deterministico a spinta verso il basso è non deterministico (questo è il caso di quasi tutto ciò che può essere non deterministico, per una ragionevole definizione di non determinismo).


+1 per il riferimento per il fatto che tutti i CFL deterministici non sono intrinsecamente ambigui. In realtà, questo risponde anche all'altra domanda: poiché esiste un linguaggio intrinsecamente ambiguo e non è deterministico, deve essere non deterministico (si noti che la mia definizione di CFL non deterministica non è standard, poiché esclude i CFL deterministici; è colpa mia per uso improprio della terminologia). In ogni caso, hai fornito un esempio per la domanda (2) e hai dimostrato che la domanda (1) è impossibile. Aspetterò e vedrò se qualcuno elabora di più, ma altrimenti lo accetterò come corretto. Grazie!
Patrick87

0

leggendo wikipedia e la risposta e il tuo commento su di essa, ri (Q2) per affermare apertamente, tutti i CFL intrinsecamente ambigui devono essere non deterministici sotto lo std defn (incluso il tuo esempio!). ho incontrato questo ref

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.