¿Cómo se demuestra que un lenguaje libre de contexto es ambiguo e indecidible?


19

He leído en alguna parte que una máquina de Turing no puede calcular esto y, por lo tanto, es indecidible, pero ¿por qué? ¿Por qué es computacionalmente imposible para una máquina generar el árbol de análisis y tomar una decisión? ¿Quizás estoy equivocado y se puede hacer?


1
Sí, tiene razón, una máquina de Turing no puede decidir si un lenguaje sin contexto es ambiguo o no, y esto puede reducirse del problema de la correspondencia posterior , que es indecidible. Tenga en cuenta que un árbol de análisis puede ser infinitamente grande, y no podemos decidir cuándo detenemos el cálculo.
Hsien-Chih Chang 張顯 之

Hsien-Chih, ¿te refieres a "árboles de análisis" para palabras que no están en el idioma (es decir, análisis fallidos), o estás tratando de decir que los árboles de análisis pueden volverse arbitrariamente grandes?
Raphael

Respuestas:


22

Reducimos del problema de correspondencia de Post . Supongamos que podemos, de hecho, decidir el idioma .{solEl |sol un CFG y L(sol) ambiguo}

Dado : Construya el siguiente CFG G = ( V , Σ , R , S ) : V = { S , S 1 , S 2 } , R = { S S 1 | S 2 , S 1α 1 Sα1,...,αmetro,β1,...,βmetrosol=(V,Σ,R,S)V={S,S1,S2} (donde σ iR={SS1El |S2,S1α1S1σ1El |El |αmetroS1σmetroEl |α1σ1El |El |αmetroσmetro,S2β1S2σ1El |El |βmetroS2σmetroEl |β1σ1El |El |βmetroσmetro}σyoson nuevos caracteres agregados al alfabeto, por ejemplo, ).σyo=yo_ _

Si el lenguaje es ambiguo, entonces hay una derivación de alguna cadena de dos maneras diferentes. Supongamos, wlog, que ambas derivaciones comienzan con la regla S S 1 , leer los nuevos caracteres hacia atrás hasta que terminan asegura que solo pueda haber una derivación, por lo que no es posible. Por lo tanto, vemos que la única ambigüedad puede provenir de uno de S 1 y uno S 2 'Inicio'. Pero luego, llevando la subcadena de w hasta el comienzo de los nuevos caracteres, tenemos una solución para el PCP (ya que las cadenas de índices utilizadas después de esos puntos coinciden).wSS1S1S2w

Del mismo modo, si no hay ambigüedad, entonces el PCP no se puede resolver, ya que una solución implicaría una ambigüedad que solo sigue a y S S 2 β ˜ σ , donde α = β son cadenas de coincidencias de α 'y β ' s (desde la coincidencia de ˜ σ ).SS1ασ~SS2βσ~α=βαβσ~

Por lo tanto, hemos reducido a PCP, y como eso es indecidible, hemos terminado.

(¡Avísame si he hecho algo descabellado!)


1
Trate \ textrm, así: {solsol un CFG y L(sol) ambiguo}
Hsien-Chang Chih張顯之
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.