Как доказать, что контекстно-свободный язык является неоднозначным неразрешимым?


19

Я где-то читал, что машина Тьюринга не может вычислить это, и поэтому она неразрешима, но почему? Почему для компьютера невозможно вычислить дерево разбора и принять решение? Возможно я ошибаюсь и это можно сделать?


1
Да, вы правы, машина Тьюринга не может решить, является ли язык без контекста неоднозначным или нет, и это можно уменьшить из проблемы почтовой корреспонденции , которая неразрешима. Обратите внимание, что дерево разбора может быть бесконечно большим, и мы не можем решить, когда мы остановим вычисление.
Сянь-Чи Чанг 之 之

Сянь-Цзи, вы имеете в виду «деревья синтаксического анализа» для слов, не принадлежащих языку (т. Е. Неудачные синтаксические разборы), или вы пытаетесь сказать, что деревья синтаксического анализа могут стать сколь угодно большими?
Рафаэль

Ответы:


22

Мы уменьшаем из почтовой проблемы корреспонденции . Предположим , что мы можем, по сути, решают язык .{G|G a CFG and L(G) ambiguous}

Для данных : построить следующий 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} (где σ iR={SS1|S2,S1α1S1σ1||αmS1σm|α1σ1||αmσm,S2β1S2σ1||βmS2σm|β1σ1||βmσm}σiновые символы, добавленные к алфавиту, например, ).σi=i_

wSS1S1S2w

SS1ασ~SS2βσ~α=βαβσ~

Следовательно, мы сократили до PCP, и, поскольку это неразрешимо, мы закончили.

(Дайте мне знать, если я сделал что-нибудь с головой!)


1
{GG a CFG and L(G) ambiguous}
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.