stringtranslate.com

Проблема высоты звезды

Проблема высоты звезды в формальной теории языка — это вопрос о том, могут ли все регулярные языки быть выражены с помощью регулярных выражений ограниченной высоты звезды , т. е. с ограниченной глубиной вложенности звезд Клини . В частности, всегда ли достаточно глубины вложенности в единицу? Если нет, то существует ли алгоритм для определения требуемого количества? Впервые эта проблема была представлена ​​Эгганом в 1963 году. [1]

Семейства регулярных языков с неограниченной высотой звезды

На первый вопрос был дан отрицательный ответ, когда в 1963 году Эгган привел примеры регулярных языков с высотой звезды n для каждого n . Здесь высота звезды h ( L ) регулярного языка L определяется как минимальная высота звезды среди всех регулярных выражений, представляющих L . Первые несколько языков, найденных Эгганом, описаны ниже с помощью указания регулярного выражения для каждого языка:

Принцип построения этих выражений заключается в том, что выражение получается путем конкатенации двух копий , соответствующего переименования букв второй копии с использованием новых символов алфавита, конкатенации результата с другим новым символом алфавита, а затем окружения полученного выражения звездой Клини. Оставшаяся, более сложная часть, заключается в доказательстве того, что для не существует эквивалентного регулярного выражения с высотой звезды меньше n ; доказательство приведено в работе Eggan (1963).

Однако примеры Эггана используют большой алфавит , размером 2 n -1 для языка со звездной высотой n . Таким образом, он спросил, можем ли мы также найти примеры для двоичных алфавитов. Это было доказано вскоре после этого Дежаном и Шютценбергером в 1966 году. [2] Их примеры можно описать индуктивно определенным семейством регулярных выражений для двоичного алфавита следующим образом – см. Salomaa (1981):

Опять же, необходимо строгое доказательство для факта, что не допускает эквивалентного регулярного выражения меньшей высоты звезды. Доказательства даны Дежаном и Шютценбергером (1966) и Саломаа (1981).

Вычисление высоты звезды регулярных языков

Напротив, второй вопрос оказался намного сложнее, и этот вопрос стал известной открытой проблемой в формальной теории языков на протяжении более двух десятилетий. [3] В течение многих лет прогресс был незначительным. Чисто-групповые языки были первым интересным семейством регулярных языков, для которых было доказано, что проблема высоты звезды разрешима . [4] Но общая проблема оставалась открытой более 25 лет, пока ее не решил Хашигучи , который в 1988 году опубликовал алгоритм для определения высоты звезды любого регулярного языка. [5] Алгоритм был совершенно непрактичным, поскольку имел неэлементарную сложность . Чтобы проиллюстрировать огромные ресурсные затраты этого алгоритма, Ломбарди и Сакарович (2002) приводят некоторые фактические цифры:

[Процедура, описанная Хашигучи] приводит к вычислениям, которые на сегодняшний день невозможны, даже для очень маленьких примеров. Например, если L принимается автоматом с 4 состояниями и сложностью цикла 3 (и с небольшим моноидом переходов из 10 элементов), то очень низкая миноранта числа языков, которые нужно проверить с помощью L на равенство, равна:

—  С. Ломбарди и Дж. Сакарович, Звездная высота обратимых языков и универсальных автоматов , LATIN 2002

Обратите внимание, что само по себе это число имеет 10 миллиардов нулей, если его записать в десятичной системе счисления , и это уже намного больше, чем число атомов в наблюдаемой Вселенной .

Гораздо более эффективный алгоритм, чем процедура Хашигучи, был разработан Кирстен в 2005 году. [6] Этот алгоритм работает для заданного недетерминированного конечного автомата в качестве входных данных в пределах дважды экспоненциального пространства . Тем не менее, требования к ресурсам этого алгоритма все еще значительно превышают пределы того, что считается практически осуществимым.

Этот алгоритм был оптимизирован и обобщен на деревья Колкомбетом и Лёдингом в 2008 году [7] как часть теории регулярных функций стоимости. Он был реализован в 2017 году в наборе инструментов Stamina. [8]

Смотрите также

Примечания

  1. ^ Эгган 1963.
  2. ^ Дежан и Шютценбергер 1966.
  3. ^ Бжозовский 1980.
  4. ^ Макнотон 1967.
  5. ^ Хашигучи 1988.
  6. ^ Кирстен 2005.
  7. ^ Колкомбет и Лёдинг 2008.
  8. ^ Фиялков и др. 2017.

Ссылки

Дальнейшее чтение