Эта статья в значительной степени или полностью основана на одном источнике . ( апрель 2015 г. ) |
В теории формальных языков в области информатики , математики и лингвистики , слово Дейк является сбалансированным строка квадратных скобок [и]. Набор слов Дайка образует язык Дейка .
Слова и язык Дейка названы в честь математика Вальтера фон Дейка . У них есть приложения для синтаксического анализа выражений, которые должны иметь правильно вложенную последовательность скобок, например арифметические или алгебраические выражения.
Формальное определение [ править ]
Позвольте быть алфавитом, состоящим из символов [и]. Обозначим через его замыкание Клини . Язык Дайка определяется как:
Бесконтекстная грамматика [ править ]
В некоторых ситуациях может быть полезно определить язык Дейка с помощью контекстно-свободной грамматики . Язык Дайка генерируется контекстно-свободной грамматикой с одним нетерминальным S и производством:
- S → ε | "[" S "]" S
То есть S - это либо пустая строка ( ε ), либо «[», элемент языка Дейка, соответствующий «]» и элемент языка Дейка.
Альтернативная контекстно-свободная грамматика для языка Дайка дается производством:
- S → ("[" S "]") *
Таким образом, S - это ноль или несколько вхождений комбинации «[», элемента языка Дейка и соответствующего «]», где несколько элементов языка Дейка в правой части продукции могут отличаться от друг с другом.
Альтернативное определение [ править ]
В других контекстах вместо этого может быть полезно определить язык Дайка, разделив его на классы эквивалентности, как показано ниже. Для любого элемента длины , определим частичные функции и по
- это с « » вставляется в ю позицию
- это с « » удален из й позиции
с пониманием, что не определено для и не определено, если . Определим отношение эквивалентности на следующим образом : для элементов мы имеем тогда и только тогда , когда существует последовательность из нуля или более применений и функций , начиная с и заканчивая . То , что последовательность нулевых операций допускаются счета за рефлексивность в . Симметрия следует из наблюдения, что любая конечная последовательность приложений к строке может быть отменена конечной последовательностью приложений . Транзитивность понятна из определения.
Отношение эквивалентности разбивает язык на классы эквивалентности. Если в качестве обозначения взять пустую строку, то язык, соответствующий классу эквивалентности, называется языком Дейка .
Свойства [ править ]
- Язык Дейка закрыт операцией конкатенации .
- Рассматривая как алгебраический моноид при конкатенации, мы видим, что структура моноида переносится на фактор , что приводит к синтаксическому моноиду языка Дика . Будет обозначен класс .
- Синтаксический моноид языка Дейка не коммутативен : если и то .
- В обозначениях выше, но ни один, ни обратим в .
- Синтаксический моноид языка Дика изоморфен бициклической полугруппе в силу свойств и описанных выше.
- По теореме о представлении Хомского – Шютценбергера любой контекстно-свободный язык является гомоморфным образом пересечения некоторого регулярного языка с языком Дейка на одном или нескольких типах пар скобок. [1]
- Язык Дейка с двумя различными типами скобок можно распознать в классе сложности . [2] T C 0 {\displaystyle TC^{0}}
- Количество различных слов Дика с ровно n парами скобок и k самыми внутренними парами (то есть подстрокой ) является числом Нараяны .
- Количество различных слов Дика с ровно n парами скобок является n -м каталонским числом . Обратите внимание, что язык Дика слов с n парами скобок равен объединению по всем возможным k языкам Дика слов из n пар скобок с k самыми внутренними парами , как определено в предыдущем пункте. Поскольку k может принимать значения от 0 до n , мы получаем следующее равенство, которое действительно выполняется:
Примеры [ править ]
Мы можем определить отношение эквивалентности на языке Дика . Ибо у нас есть тогда и только тогда , т. Е. И имеют одинаковую длину. Это соотношение разделяет язык Дейка: . У нас есть где . Обратите внимание, что для нечетных пусто .
Введя слова Дайка длины , мы можем ввести для них отношение. Для каждого мы определяем отношение на ; потому что у нас есть тогда и только тогда, когда мы можем достичь через серию правильных свопов . Правильный обмен в слове заменяет вхождение '] [' на '[]'. Для каждого соотношение составляет в частично упорядоченном множество . Отношение является рефлексивным , так как пустая последовательность собственных свопов принимает к . Транзитивность следует, потому что мы можем расширить последовательность правильных свопов, которая приводит кпутем конкатенации его с последовательностью собственных свопов , который принимает к формированию последовательности , которая принимает во . Для того, чтобы видеть , что также антисимметричен введем вспомогательную функцию , определенную как сумма по всем префиксов из :
Следующая таблица показывает, что это строго монотонно в отношении правильных свопов.
частичные суммы | ||||
---|---|---|---|---|
] | [ | |||
[ | ] | |||
частичные суммы | ||||
Разница частичных сумм | 0 | 2 | 0 | 0 |
Следовательно , так , когда есть правильный обмен , который принимает в . Теперь, если мы предположим, что оба и , тогда существуют непустые последовательности правильных свопов, в которые они входят, и наоборот. Но тогда это бессмысленно. Следовательно, когда оба и находятся внутри , мы имеем , следовательно , антисимметричны.
Частично упорядоченный набор показан на иллюстрации, сопровождающей введение, если мы интерпретируем [как восходящий и] как нисходящий.
Обобщения [ править ]
Существуют варианты языка Дейка с несколькими разделителями, например, в алфавите "(", ")", "[" и "]". Слова такого языка - это те, которые хорошо заключены в круглые скобки для всех разделителей, т.е. можно читать слово слева направо, вставлять каждый открывающий разделитель в стек, и всякий раз, когда мы достигаем закрывающего разделителя, мы должны иметь чтобы извлечь соответствующий открывающий разделитель из верхней части стека.
См. Также [ править ]
- Дайк конгруэнтность
- Решетчатое слово
Заметки [ править ]
- ^ Kambites, Связь в алгебре Том 37 Выпуск 1 (2009) 193-208
- ^ Баррингтон и Корбетт, Письма об обработке информации 32 (1989) 251-256
Ссылки [ править ]
- Язык Дайка в PlanetMath .
- Доказательство теоремы Хомского-Шютценбергера
- Запись в блоге AMS о словах Дайка