Jump to content

Детерминированный автомат с выталкиванием

В теории автоматов детерминированный автомат с выталкиванием ( DPDA или DPA ) является разновидностью автомата с выталкиванием . Класс детерминированных автоматов с выталкиванием вниз принимает детерминированные контекстно-свободные языки , собственное подмножество контекстно-свободных языков . [1]

Машинные переходы основаны на текущем состоянии и входном символе, а также на текущем верхнем символе стека. Символы ниже в стеке не видны и не имеют немедленного эффекта. Действия машины включают толкание, выталкивание или замену вершины стопки. Детерминированный автомат с понижающей передачей имеет не более одного допустимого перехода для одной и той же комбинации входного символа, состояния и символа верхнего стека. В этом его отличие от недетерминированного автомата с выталкиванием.

Формальное определение

[ редактировать ]

(не обязательно детерминированный) КПК можно определить как семикортеж:

где

  • это конечное множество состояний
  • представляет собой конечный набор входных символов
  • это конечный набор символов стека
  • это начальное состояние
  • это начальный символ стека
  • , где это набор принимающих или окончательных состояний
  • является функцией перехода, где
где это звезда Клини , что означает, что — это «набор всех конечных строк (включая пустую строку ) элементов ", обозначает пустую строку и это набор мощности набора .

M является детерминированным , если он удовлетворяет обоим следующим условиям:

  • Для любого , набор имеет не более одного элемента.
  • Для любого , если , затем для каждого

Существует два возможных критерия приемки: приемка по пустому стеку и приемка по конечному состоянию . Они не эквивалентны для детерминированного автомата с понижающей передачей (хотя они эквивалентны для недетерминированного автомата с понижающей передачей). Языки, принимаемые пустым стеком, — это те языки, которые принимаются конечным состоянием и не имеют префиксов: ни одно слово в языке не является префиксом другого слова в языке. [2] [3]

Обычным критерием приемлемости является конечное состояние , и именно этот критерий приемлемости используется для определения детерминированных контекстно-свободных языков .

Признанные языки

[ редактировать ]

Если это язык, принимаемый КПК , он также может быть принят DPDA тогда и только тогда, когда существует одно вычисление от исходной конфигурации до принятия одного для всех строк, принадлежащих . Если может быть принят КПК, это контекстно-свободный язык, а если он может быть принят DPDA, то это детерминированный контекстно-свободный язык (DCFL).

Не все контекстно-свободные языки являются детерминированными. Это делает DPDA строго более слабым устройством, чем КПК. Например, язык L p четной длины палиндромов в алфавите 0 и 1 имеет контекстно-свободную грамматику S → 0S0 | 1С1 | е. Если DPDA для этого языка существует и видит строку 0 н , он должен использовать свой стек для запоминания длины n , чтобы иметь возможность различать возможные продолжения 0 н 11 0 н Lp и 0 н 11 0 п +2 Л п . Следовательно, после прочтения 0 н 11 0 н , сравнение длины после «11» с длиной до «11» снова сделает стек пустым. По этой причине строки 0 н 11 0 н 0 н 11 0 н Lp и 0 н 11 0 н 0 п +2 11 0 п +2 L p невозможно различить. [4]

Ограничение DPDA одним состоянием уменьшает класс языков, принимаемых к языкам LL(1) , [5] который является подклассом DCFL. [6] В случае с КПК это ограничение не влияет на класс принимаемых языков.

Характеристики

[ редактировать ]

Закрытие

[ редактировать ]

Свойства замыкания детерминированных контекстно-свободных языков (принимаемых детерминированным КПК по конечному состоянию) радикально отличаются от контекстно-свободных языков. Например, они (фактически) закрыты при дополнении, но не закрыты при объединении. Доказать, что дополнение языка, принимаемое детерминированным КПК, также принимается детерминированным КПК, сложно, поскольку нужно избегать бесконечных вычислений и правильно обрабатывать переходы, которые манипулируют стеком без чтения входных символов. [7]

В результате дополнения можно решить, принимает ли детерминированный КПК все слова из своего входного алфавита, проверив его дополнение на пустоту. Это невозможно для контекстно-свободных грамматик (следовательно, не для обычных КПК).

Проблема эквивалентности

[ редактировать ]

Жеро Сенизерг (1997) доказал, что проблема эквивалентности для детерминированного КПК (т.е. для двух детерминированных КПК A и B является ли L(A)=L(B)?) разрешима, [8] [9] [10] доказательство, которое принесло ему премию Гёделя 2002 года . Для недетерминированного КПК эквивалентность неразрешима.

Примечания

[ редактировать ]
  1. ^ Майкл Сипсер (1997). Введение в теорию вычислений . Издательство ПВС. п. 102 . ISBN  0-534-94728-Х .
  2. ^ Солтыс-Кулинич, Михаил (2018). Введение в анализ алгоритмов (3-е изд.). Всемирная научная. стр. 193, 195. ISBN.  9789813235922 .
  3. ^ Хопкрофт, Джон Э.; Мотвани, Раджив; Уллман, Джеффри Д. (2006). Введение в теорию автоматов, языки и вычисления (3-е изд.). Аддисон-Уэсли. стр. 234, 254. ISBN.  0-321-45536-3 .
  4. ^ Хопкрофт, Джон ; Раджив Мотвани ; Джеффри Уллман (2001). Введение в теорию автоматов, языки и вычисления (2-е изд.). Аддисон-Уэсли. стр. 249–253 .
  5. ^ Курки-Суонио, Р. (1969). «Заметки о нисходящих языках». КУСОЧЕК . 9 (3): 225–238. дои : 10.1007/BF01946814 . S2CID   60912010 .
  6. ^ Розенкранц, диджей; Стернс, RE (1970). «Свойства детерминированных нисходящих грамматик» . Информация и контроль . 17 (3): 226–256. дои : 10.1016/s0019-9958(70)90446-8 . Здесь: стр.246–247.
  7. ^ Хопкрофт, Джон Э.; Уллман, Джеффри Д. (1969-01-01), «Детерминированные автоматы с выталкиванием» , Формальные языки и их отношение к автоматам , США: Addison-Wesley Longman Publishing Co., Inc. , получено 29 мая 2024 г.
  8. ^ Сенизерг, Жеро (1997). «Проблема эквивалентности для детерминированных автоматов с выталкиванием разрешима». Учеб. Межд. Колл. по автоматам, языкам и программированию (ICALP) . Конспекты лекций по информатике . Том. 1256. стр. 671–681. дои : 10.1007/3-540-63165-8_221 . ISBN  978-3-540-63165-1 . — Полная версия: Жеро Сенизерг (1997). Л ( А ) = Л ( Б )? (Технический отчет 1161-97). Университет Бордо, ЛаБРИ.
  9. ^ Жеро Сенизерг (2001). «Фундаментальное исследование: L ( A ) = L ( B )? Разрешимость следует из полных формальных систем». Теоретическая информатика . 251 (1–2): 1–166. дои : 10.1016/S0304-3975(00)00285-1 .
  10. ^ Жеро Сенизерг (2002). « L ( A ) = L ( B )? Упрощенное доказательство разрешимости» . Теоретическая информатика . 281 (1–2): 555–608. дои : 10.1016/S0304-3975(02)00027-0 .

Дальнейшее чтение

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5c4f50ea09719f0a04b7d58b55659f6b__1717028040
URL1:https://arc.ask3.ru/arc/aa/5c/6b/5c4f50ea09719f0a04b7d58b55659f6b.html
Заголовок, (Title) документа по адресу, URL1:
Deterministic pushdown automaton - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)