Контекстно-зависимый язык - Википедия - Context-sensitive language
В формальная теория языка, а контекстно-зависимый язык это язык, который может быть определен контекстно-зависимая грамматика (и эквивалентно несогласованная грамматика ). Контекстно-зависимый - это один из четырех типов грамматик в Иерархия Хомского.
Вычислительные свойства
В вычислительном отношении контекстно-зависимый язык эквивалентен линейному ограниченному недетерминированная машина Тьюринга, также называемый линейно ограниченный автомат. Это недетерминированная машина Тьюринга с лентой только клетки, где это размер ввода и - константа, связанная с машиной. Это означает, что каждый формальный язык, который может быть определен такой машиной, является контекстно-зависимым языком, и любой контекстно-зависимый язык может быть определен такой машиной.
Этот набор языков также известен как NLINSPACE или же NSPACE(О(п)), потому что они могут быть приняты с использованием линейного пространства на недетерминированной машине Тьюринга.[1] Класс LINSPACE (или же DSPACE(О(п))) определяется так же, за исключением использования детерминированный Машина Тьюринга. Четко LINSPACE это подмножество NLINSPACE, но неизвестно, LINSPACE=NLINSPACE.[2]
Примеры
Один из самых простых контекстно-зависимых, но не контекстно-зависимых языков - это : язык всех строк, состоящих из п появления символа "а", то п "b", тогда п "c" (abc, aabbcc, aaabbbccc и т. д.). Надмножество этого языка, называемое языком Баха,[3] определяется как набор всех строк, где «a», «b» и «c» (или любой другой набор из трех символов) встречается одинаково часто (aabccb, baabcaccb и т. д.), а также зависит от контекста.[4][5]
L можно показать, что он является контекстно-зависимым языком, построив линейный ограниченный автомат, который принимает L. Легко показать, что язык ни обычный ни контекст свободный применяя соответствующие прокачка лемм для каждого языкового класса L.
По аналогии:
еще один контекстно-зависимый язык; соответствующая контекстно-зависимая грамматика может быть легко спроецирована, начиная с двух контекстно-свободных грамматик, генерирующих предложения в форматахиа затем дополняя их производством перестановки, например , новый начальный символ и стандартный синтаксический сахар.
- еще один контекстно-зависимый язык (цифра «3» в названии этого языка означает троичный алфавит); то есть операция «product» определяет контекстно-зависимый язык (но «сумма» определяет только контекстно-свободный язык как грамматический и показывает). Из-за коммутативности продукта наиболее интуитивно понятная грамматика для неоднозначно. Этой проблемы можно избежать, если использовать более ограничительное определение языка, например . Это может быть специализировано на и, отсюда, к , , так далее.
является контекстно-зависимым языком. Соответствующая контекстно-зависимая грамматика может быть получена как обобщение контекстно-зависимых грамматик для , , так далее.
является контекстно-зависимым языком.[6]
является контекстно-зависимым языком (цифра «2» в названии этого языка означает двоичный алфавит). Это было доказано Хартманисом с помощью лемм о накачке для регулярных и контекстно-свободных языков над двоичным алфавитом и, после этого, набросал линейный ограниченный многолентый автомат, .[7]
является контекстно-зависимым языком («1» в названии этого языка означает унарный алфавит). Это было приписано А. Саломаа Матти Сойттоле с помощью линейного ограниченного автомата над унарным алфавитом.[8] (страницы 213–214, упражнение 6.8), а также Марти Пенттонен с помощью контекстно-зависимой грамматики также над унарным алфавитом (см. «Формальные языки» А. Саломаа, стр. 14, пример 2.5).
Пример рекурсивный язык который не зависит от контекста, - это любой рекурсивный язык, решение которого является EXPSPACE -сложная задача, скажем, набор пар эквивалентных обычные выражения с возведением в степень.
Свойства контекстно-зависимых языков
- Объединение, пересечение, конкатенация двух контекстно-зависимых языков зависит от контекста, а также Клини плюс контекстно-зависимого языка зависит от контекста.[9]
- Дополнение к контекстно-зависимому языку само по себе зависит от контекста.[10] результат, известный как Теорема Иммермана – Селепсеньи.
- Принадлежность строки к языку, определенному произвольной контекстно-зависимой грамматикой или произвольной детерминированной контекстно-зависимой грамматикой, является PSPACE-полный проблема.
Смотрите также
- Линейный ограниченный автомат
- Список генераторов парсеров для контекстно-зависимых языков
- Иерархия Хомского
- Проиндексированные языки - строгое подмножество контекстно-зависимых языков
- Иерархия водослива
Рекомендации
- ^ Роте, Йорг (2005), Теория сложности и криптология, Тексты по теоретической информатике. Серия EATCS, Берлин: Springer-Verlag, стр. 77, ISBN 978-3-540-22147-0, МИСТЕР 2164257.
- ^ Одифредди, П. Г. (1999), Классическая теория рекурсии. Vol. II, Исследования по логике и основам математики, 143, Амстердам: North-Holland Publishing Co., стр. 236, г. ISBN 978-0-444-50205-6, МИСТЕР 1718169.
- ^ Пуллум, Джеффри К. (1983). Контекстная свобода и компьютерная обработка человеческих языков. Proc. 21-е ежегодное собрание ACL.
- ^ Бах, Э. (1981). «Прерывистые составляющие в обобщенных категориальных грамматиках» В архиве 2014-01-21 в Wayback Machine. NELS, т. 11. С. 1–12.
- ^ Джоши, А .; Виджай-Шанкер, К .; и Вейр Д. (1991). «Конвергенция умеренно контекстно-зависимых грамматических формализмов». В: Sells, P., Shieber, S.M. and Wasow, T. (редакторы). Основные проблемы обработки естественного языка. Кембридж, Массачусетс: Брэдфорд.
- ^ Пример 9.5 (стр. 224) Hopcroft, John E .; Ульман, Джеффри Д. (1979). Введение в теорию автоматов, языки и вычисления. Эддисон-Уэсли
- ^ Дж. Хартманис и Х. Шэнк (июль 1968 г.). «О распознавании простых чисел автоматами» (PDF). Журнал ACM. 15 (3): 382–389. Дои:10.1145/321466.321470.
- ^ Саломаа, Арто (1969), Теория автоматов, ISBN 978-0-08-013376-8, Пергамон, 276 с. Дои:10.1016 / C2013-0-02221-9
- ^ Джон Э. Хопкрофт; Джеффри Д. Ульман (1979). Введение в теорию автоматов, языки и вычисления. Эддисон-Уэсли.; Упражнение 9.10, стр. 230. В издании 2000 года была опущена глава о контекстно-зависимых языках.
- ^ Иммерман, Нил (1988). «Недетерминированное пространство закрыто при дополнении» (PDF). SIAM J. Comput. 17 (5): 935–938. CiteSeerX 10.1.1.54.5941. Дои:10.1137/0217058.
- Сипсер, М. (1996), Введение в теорию вычислений, PWS Publishing Co.