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