Встроенный автомат выталкивания - Embedded pushdown automaton
An встроенный автомат выталкивания или же EPDA это вычислительная модель для анализа языков, созданных грамматики, примыкающие к дереву (ТЕГИ). Это похоже на контекстно-свободная грамматика -разбор выталкивающий автомат, но вместо использования простого куча для хранения символов у него есть стек повторяющихся стеков, в которых хранятся символы, что дает тегам возможность генерации между контекстно-независимой и контекстно-зависимые грамматики, или подмножество слегка контекстно-зависимые грамматики.Встроенные автоматические выталкивающие устройства не следует путать с вложенные стековые автоматы которые обладают большей вычислительной мощностью.[нужна цитата ]
История и приложения
EPDA были впервые описаны К. Виджай-Шанкером в его докторской диссертации 1988 г.[1] С тех пор они были применены к более полным описаниям классов умеренно зависимых от контекста грамматик и сыграли важную роль в уточнении Иерархия Хомского. Различные подграмматики, такие как линейная индексированная грамматика, таким образом можно определить.[2] EPDA также начинают играть важную роль в обработке естественного языка.
Хотя естественные языки традиционно анализировались с использованием контекстно-свободных грамматик (см. трансформационно-порождающая грамматика и компьютерная лингвистика ), эта модель не работает для языков с перекрестными зависимостями, таких как голландский, ситуаций, для которых хорошо подходит EPDA. Подробный лингвистический анализ доступен у Joshi, Schabes (1997).[3]
Теория
EPDA - это конечный автомат с набором стеков, к которым можно получить доступ через встроенный стек. Каждый стек содержит элементы сложить алфавит , поэтому мы определяем элемент стека как , где звезда Клини закрытие алфавита.
Затем каждый стек можно определить в терминах его элементов, поэтому мы обозначаем th стек в автомате с использованием символа двойного кинжала: ,[требуется разъяснение ] куда будет следующим доступным символом в стеке. В встроенный стек из стеки, таким образом, можно обозначить .[требуется разъяснение ]
Мы определяем EPDA семеркой (семеркой)
- куда
- конечный набор состояния;
- конечный набор вводить алфавит;
- конечный сложить алфавит;
- это начальное состояние;
- это набор конечные состояния;
- это начальный символ стека
- это функция перехода, куда конечные подмножества .
Таким образом, функция перехода принимает состояние, следующий символ входной строки и верхний символ текущего стека и генерирует следующее состояние, стеки, которые должны быть помещены и помещены в встроенный стек, нажатие и выталкивание текущего стека, а также стеки, которые будут считаться текущими стеками при следующем переходе. Более концептуально встроенный стек выталкивается и выталкивается, текущий стек необязательно помещается обратно в встроенный стек, и любые другие стеки, которые вы хотите, помещаются поверх этого, причем последний стек будет считываться из следующей итерации. Следовательно, стеки можно помещать как выше, так и ниже текущего стека.
Данная конфигурация определяется
куда текущее состояние, s - стеки в встроенный стек, с текущий стек, а для входной строки , часть строки, уже обработанная машиной, и - это часть, которая должна быть обработана, с заголовком текущего считываемого символа. Обратите внимание, что пустая строка неявно определяется как символ завершения, где, если машина находится в конечном состоянии при чтении пустой строки, вся входная строка принято, а если нет, то отклоненный. Такой принято строки - это элементы языка
куда и определяет функцию перехода, применяемую столько раз, сколько необходимо для анализа строки.
Неофициальное описание EPDA также можно найти в Joshi, Schabes (1997),[3] Раздел 7, стр. 23-25.
k-заказ EPDA и иерархия Weir
Этот раздел может требовать уборка встретиться с Википедией стандарты качества. Конкретная проблема: необходимо переписать на основе Kallmeyer p. 199Август 2014 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Более точно определенная иерархия языков, которые соответствуют умеренно контекстно-зависимому классу, была определена Дэвидом Дж. Вейром.[4]На основе работы Набиля А. Хаббаза,[5][6]Иерархия языка управления Weir является сдерживающим фактором иерархия счетного множества языковых классов[уточнить ] где 1-й уровень определяется как контекстно-свободный, и Уровень 2 - это класс смежных с деревом и трех других грамматик.
Ниже приведены некоторые свойства Level-k языки в иерархии:
- Уровень-k языки правильно содержатся в Уровне- (k + 1) языковой класс
- Уровень-k языки могут быть проанализированы в время
- Уровень-k содержит язык , но нет
- Уровень-k содержит язык , но нет
Эти свойства хорошо соответствуют (по крайней мере, для небольших k > 1) к условиям умеренно контекстно-зависимых языков, наложенных Джоши, и как k становится больше, языковой класс в некотором смысле становится менее зависимым от контекста.
Смотрите также
Рекомендации
- ^ Виджай-Шанкер, К. (январь 1988 г.). "Исследование грамматик, прилегающих к дереву". Кандидат наук. Тезис. Пенсильванский университет.
- ^ Вейр, Дэвид Дж. (1994). «Линейные повторяющиеся выталкивания вниз» (PDF). Вычислительный интеллект. 10 (4): 431–439. Дои:10.1111 / j.1467-8640.1994.tb00007.x. Получено 2012-10-20.
- ^ а б Джоши, Аравинд К .; Ив Шабес (1997). "Грамматики, примыкающие к дереву" (PDF). Справочник формальных языков. Springer. 3: 69–124. Дои:10.1007/978-3-642-59126-6_2. ISBN 978-3-642-63859-6. Получено 2014-02-07.
- ^ Вейр, Д. Дж. (1992), «Геометрическая иерархия за пределами контекстно-свободных языков», Теоретическая информатика, 104 (2): 235–261, Дои:10.1016 / 0304-3975 (92) 90124-Х.
- ^ Набиль Антон Хаббаз (1972). Обобщенные контекстно-свободные языки (Кандидат наук.). Университет Айовы.
- ^ Набиль Антон Хаббаз (1974). «Геометрическая иерархия языков». J. Comput. Syst. Наука. 8 (2): 142–157. Дои:10.1016 / s0022-0000 (74) 80052-8.
дальнейшее чтение
- Лаура Каллмейер (2010). Анализ вне контекстно-свободных грамматик. Springer Science & Business Media. ISBN 978-3-642-14846-0.