Jak udowodnienie, że język bezkontekstowy jest dwuznaczny, nierozstrzygalny?

19

Czytałem gdzieś, że maszyna Turinga nie może tego obliczyć i dlatego jest nierozstrzygalna, ale dlaczego? Dlaczego komputer nie jest w stanie wygenerować parsowania drzewa i podjąć decyzji? Może się mylę i da się to zrobić?

Ulkmun
źródło
1
Tak, masz rację, maszyna Turinga nie może zdecydować, czy język bezkontekstowy jest dwuznaczny, czy nie, i można to zmniejszyć dzięki problemowi z korespondencją , który jest nierozstrzygalny. Zauważ, że parsowanie może być nieskończenie duże i nie możemy zdecydować, kiedy zatrzymamy obliczenia.
Hsien-Chih Chang 張顯 之
Hsien-Chih, czy odnosisz się do „drzew parsujących” dla słów nie w języku (tj. Nieudanych parsów), czy też próbujesz powiedzieć, że drzewa parsowania mogą stać się dowolnie duże?
Raphael

Odpowiedzi:

22

Zmniejszamy problem korespondencji z postem . Załóżmy, że może w istocie zdecydować język .{G|G a CFG and L(G) ambiguous}

Biorąc pod uwagę : Skonstruuj następujące CFG G = ( V , Σ , R , S ) : V = { S , S 1 , S 2 } , R = { S S 1 | S 2 , S 1α 1 S.α1,,αm,β1,,βmG=(V,Σ,R,S)V={S,S1,S2} (gdzie σ iR={SS1|S2,S1α1S1σ1||αmS1σm|α1σ1||αmσm,S2β1S2σ1||βmS2σm|β1σ1||βmσm}σito nowe znaki dodane do alfabetu, np. ).σi=i_

Jeśli język jest niejednoznaczny, wówczas istnieje pochodna jakiegoś łańcucha na dwa różne sposoby. Załóżmy, wlog, że oba wyprowadzenia zaczynają się od reguły S S 1 , czytanie nowych znaków wstecz aż do ich końca upewnia się, że może być tylko jedno wyprowadzenie, więc nie jest to możliwe. Dlatego widzimy, że jedyna dwuznaczność może wynikać z jednego „początku” S 1 i jednego S 2 . Ale potem, biorąc pod ciąg w do początku nowych znaków, mamy rozwiązanie dla PCP (ponieważ ciągi indeksów używane po tych punktach pasują).wSS1S1S2w

Podobnie, jeśli nie ma dwuznaczności, wówczas PCP nie można rozwiązać, ponieważ rozwiązanie oznaczałoby dwuznaczność, która następuje po i S S 2 β ˜ σ , gdzie α = β są ciągi pasujące do α i β (od momentu dopasowania ˜ σ ).SS1ασ~SS2βσ~α=βαβσ~

Dlatego zredukowaliśmy się do PCP, a ponieważ jest to nierozstrzygalne, skończymy.

(Daj mi znać, jeśli zrobiłem coś z głową!)

alpoge
źródło
1
Try \textrm, like this: {solsol CFG i L.(sol) dwuznaczny}
Hsien-Chih Chang 張顯 之