Як довести мову, що не відповідає контексту, бути неоднозначною?


19

Я десь читав, що машина Тьюрінга не може це обчислити, і тому не можна визначити, але чому? Чому комп'ютерно неможливо створити дерево розбору та прийняти рішення? Можливо, я помиляюся, і це можна зробити?


1
Так, ви маєте рацію, машина Тьюрінга не може вирішити, чи є без контексту мова неоднозначною чи ні, і це можна зменшити з проблеми кореспонденції , що не можна визначити. Зверніть увагу, що дерево розбору може бути нескінченно великим, і ми не можемо визначитися, коли зупинимо обчислення.
Hsien-Chih Chang 17 之

Сісен-Чи, ви маєте на увазі "дерева розбору" для слів, які не є мовою (тобто невдалий аналіз), або ви намагаєтесь сказати, що дерева розбору можуть стати довільно великими?
Рафаель

Відповіді:


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_

Якщо мова неоднозначна, то є виведення деякої строки двома різними способами. Припустимо, wlog, що похідні обидва починаються з правила S S 1 , читання нових символів назад, поки вони не закінчуються, гарантує, що може бути лише одна деривація, тому це неможливо. Отже, ми бачимо, що лише одна неоднозначність може виникати з одного S 1 та одного S 2 "початку". Але потім, взявши підрядок w до початку нових символів, ми маємо рішення для PCP (оскільки рядки індексів, використані після цих точок, збігаються).wSS1S1S2w

Аналогічно, якщо немає неоднозначності, то лікуючий лікар не може бути вирішене, оскільки рішення буде означати двозначність , що просто слід і S S 2 * β ~ σ , де α = β є рядки відповідності α 's та β ' s (з моменту відповідності ˜ σ ).SS1ασ~SS2βσ~α=βαβσ~

Отже, ми скоротили до PCP, і оскільки це неможливо, ми закінчили.

(Дайте мені знати, чи я щось зробив з головою!)


1
Спробуйте \ textrm, як це: {GG a CFG and L(G) ambiguous}
Сянь-Чжи Чан張顯之
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.