Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Решетка из 14 слов Дика длины 8 - [ и ], интерпретируемых как вверх и вниз

В теории формальных языков в области информатики , математики и лингвистики , слово Дейк является сбалансированным строка квадратных скобок [и]. Набор слов Дайка образует язык Дейка .

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

Формальное определение [ править ]

Позвольте быть алфавитом, состоящим из символов [и]. Обозначим через его замыкание Клини . Язык Дайка определяется как:

Бесконтекстная грамматика [ править ]

В некоторых ситуациях может быть полезно определить язык Дейка с помощью контекстно-свободной грамматики . Язык Дайка генерируется контекстно-свободной грамматикой с одним нетерминальным 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 , мы получаем следующее равенство, которое действительно выполняется:

Примеры [ править ]

Мы можем определить отношение эквивалентности на языке Дика . Ибо у нас есть тогда и только тогда , т. Е. И имеют одинаковую длину. Это соотношение разделяет язык Дейка: . У нас есть где . Обратите внимание, что для нечетных пусто .

Введя слова Дайка длины , мы можем ввести для них отношение. Для каждого мы определяем отношение на ; потому что у нас есть тогда и только тогда, когда мы можем достичь через серию правильных свопов . Правильный обмен в слове заменяет вхождение '] [' на '[]'. Для каждого соотношение составляет в частично упорядоченном множество . Отношение является рефлексивным , так как пустая последовательность собственных свопов принимает к . Транзитивность следует, потому что мы можем расширить последовательность правильных свопов, которая приводит кпутем конкатенации его с последовательностью собственных свопов , который принимает к формированию последовательности , которая принимает во . Для того, чтобы видеть , что также антисимметричен введем вспомогательную функцию , определенную как сумма по всем префиксов из :

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

Следовательно , так , когда есть правильный обмен , который принимает в . Теперь, если мы предположим, что оба и , тогда существуют непустые последовательности правильных свопов, в которые они входят, и наоборот. Но тогда это бессмысленно. Следовательно, когда оба и находятся внутри , мы имеем , следовательно , антисимметричны.

Частично упорядоченный набор показан на иллюстрации, сопровождающей введение, если мы интерпретируем [как восходящий и] как нисходящий.

Обобщения [ править ]

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

См. Также [ править ]

  • Дайк конгруэнтность
  • Решетчатое слово

Заметки [ править ]

  1. ^ Kambites, Связь в алгебре Том 37 Выпуск 1 (2009) 193-208
  2. ^ Баррингтон и Корбетт, Письма об обработке информации 32 (1989) 251-256

Ссылки [ править ]

  • Язык Дайка в PlanetMath .
  • Доказательство теоремы Хомского-Шютценбергера
  • Запись в блоге AMS о словах Дайка