Якщо без контексту і є регулярним, то є без контексту?


9

Я застряг у вирішенні наступної вправи:

Аргументуйте, що якщо без контексту і є регулярним, то (тобто правильний коефіцієнт ) без контексту.LRL/R={wxRs.twxL}

Я знаю , що повинен існувати КПК , який приймає і DFA , який приймає . Зараз я намагаюся поєднати ці автомати з КПК, який приймає потрібний коефіцієнт. Якщо я можу побудувати, я довів, що є без контексту. Але я застряг у створенні цього КПК.LRL/R

Ось як далеко я встиг:

У комбінованому КПК штати є декартовим продуктом станів окремих автоматів. А краї - це краї DFA, але лише ті, для яких у майбутньому можна досягти остаточного стану початкового PDA L. Але не знаю, як записати це формально.


Ласкаво просимо! Де саме ви застрягли, який ваш підхід?
Рафаель

1
Підказка: подумайте, як найкраще використовувати недетермінізм.
Артем Казнатчеєв

У комбінованому КПК штати є декартовим продуктом станів окремих автоматів. А краї - це краї DFA, але лише ті, для яких у майбутньому можна досягти остаточного стану початкового PDA L. Але не знаю, як це формально виправити.
Доммікентль

3
Я скопіював ваш коментар у запитання. Це краще місце для цього.
Дейв Кларк

Відповіді:


8

Ось підказка.

Потрібно, щоб ваша машина спочатку прийняла частину слова від , споживаючи стрічку, як йде. Тоді, нічого не вживаючи, потрібно знайти слово яке підштовхне машину до остаточного стану. Вибране слово з грає роль вхідного слова для другої половини обчислення.LRR

Зрозуміло, недетермінізм матиме свою роль, як і продукт між двома машинами. Хитрість у формалізації цього полягає в налаштуванні продукту на вирішення того факту, що вхід надходить від не від введення.R


6

Я не впевнений, що ви досягаєте з декартовим продуктом; це імітує обидва автомати паралельно, що дасть вам перехрестя. Але ви хочете, щоб він ідентифікував усі слова в які мають суфікс від ! На інтуїтивному рівні, тобто.LR

Припустимо, наше введення є . Очевидно, ми не можемо перевірити всі можливі продовження (для членства в ), а лише обмежену їх кількість. Тут найкраще допомагає коментар Артема ; ми здогадуємось, яким буде суфікс , і запускаємо на ньому обидва автомати.wΣRx

Нехай і - КПК для і NFA для відповідно. Побудуйте автомат наступним чином. На вході , . Після споживається, перехід до модифікованого перетину з і , зберігаючи стан від . Тепер вирішіть для кожного переходу недетерміновано, який символ буде наступним у віртуальному вході. Прийміть якщо і тільки тоді, коли обидва компоненти досягають остаточного стану одночасно, тобто якщоALARLRAwΣALwAL,RALARALwAL,Rwмає продовження , так що і .xwxLxR

Також можна використовувати формальні граматики. Ви бачите, як можна паралельно вивести дві граматики? Загалом, незрозуміло, як адаптувати щоб ви отримали ручку на суфікси; використання нормальної форми Хомського допомагає.GL

Припустимо, що і і задані у звичайному вигляді Хомського. Змініть таким чином, щоб найбільш правий нетермінал відрізнявся, і зробіть його початковий символ новим початковим символом. Введіть для відмінних версій нетерміналів нові правила, які ведуть до граматики, яка паралельно походить у та (нетермінали - це пари нетерміналів); якщо обидві граматики погоджуються на символ терміналу, видаліть складений нетермінал. Таким чином, суфікс в , видаляється , якщо і тільки якщо воно може бути отримано в , і в , залишається .GLGRGLGLGRGLGLGRwL/R


Зауважте, що навіть те, що знаходиться у спойлерних областях, не є ні суворим, ні формальним. Будь ласка, дайте мені знати, якщо вам потрібна більш детальна інформація (після того, як ви самі спробували її).
Рафаель

6

Я рекомендую використовувати відповідь Рафаеля, що набагато простіше зрозуміти, але ось альтернативний варіант, використовуючи властивості закриття замість автомати:

Нехай є мовою. Ми хочемо прочитати слово , але запитаємо чи є у мові. Отже, ми хочемо створити нову мову з яка "стерла". Ми можемо це зробити за допомогою гомоморфізму, але це може видалити літери . Рішення: розділіть алфавіт на дві частини та використовуйте різні літери для та .LAwLwxLxwwx

Більш офіційно:

1) Створіть слів із , з кожною буквою з позначкою 0 або 1. 2) Перетинайте її звичайною мовою . Це сила , які все-прийти до всіх 1 - х, а друга частина надходить від . Точне значення залишається читачеві. 3) Замініть і . Використовувані властивості закриття: Гомоморфне зображення, зображення, перетин з регулярними мовами. Перевага: Цей доказ працює для інших сімей (наприклад, замініть без контексту на звичайний).L(A×{0,1})L
(A×0)(R×1)R×
(a,0)a(a,1)ε



1
Для чого це варто, побудова автоматизованих масштабів також для інших класів: ні в якому разі ми фактично не використовуємо, що є КПК. AL
Рафаель

Гарна думка.
sdcvvc

1
Технічно такий клас (де працює цей доказ) називається конусом або повним тріо .
Гендрик Ян
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.