В качестве альтернативы регулярный язык можно определить как язык, распознаваемый конечным автоматом . Эквивалентность регулярных выражений и конечных автоматов известна как теорема Клини [3] (в честь американского математика Стивена Коула Клини ). В иерархии Хомского регулярные языки — это языки, генерируемые грамматиками типа 3 .
Формальное определение
Совокупность регулярных языков над алфавитом Σ определяется рекурсивно следующим образом:
Пустой язык Ø — это обычный язык.
Для каждого a ∈ Σ ( a принадлежит Σ) одноэлементный язык { a } является регулярным языком.
Если A — регулярный язык, то A * ( звезда Клини ) — регулярный язык. В связи с этим пустой строковый язык {ε} также является регулярным.
Если A и B — регулярные языки, то A ∪ B (объединение) и A • B (конкатенация) — регулярные языки.
Никакие другие языки над Σ не являются регулярными.
Все конечные языки регулярны; в частности, язык пустых строк {ε} = Ø* является регулярным. Другие типичные примеры включают язык, состоящий из всех строк в алфавите { a , b }, которые содержат четное число a , или язык, состоящий из всех строк вида: несколько a , за которыми следует несколько b .
Простым примером языка, который не является регулярным, является набор строк { a n b n | n ≥ 0}. [4] Интуитивно, его нельзя распознать с помощью конечного автомата, поскольку конечный автомат имеет конечную память и не может запомнить точное количество букв a. Методы строгого доказательства этого факта приведены ниже.
Эквивалентные формализмы
Регулярный язык удовлетворяет следующим эквивалентным свойствам:
это язык регулярных выражений (согласно определению выше)
Свойства 10. и 11. являются чисто алгебраическими подходами к определению регулярных языков; аналогичный набор утверждений может быть сформулирован для моноида M ⊆ Σ * . В этом случае эквивалентность над M приводит к понятию распознаваемого языка.
Некоторые авторы используют одно из вышеперечисленных свойств, отличное от «1», в качестве альтернативного определения регулярных языков.
Некоторые из приведенных выше эквивалентностей, особенно те, что входят в первые четыре формализма, в учебниках называются теоремой Клини . Какой именно из них (или какое подмножество) называется таковым, варьируется между авторами. Один учебник называет эквивалентность регулярных выражений и НКА («1.» и «2.» выше) «теоремой Клини». [6] Другой учебник называет эквивалентность регулярных выражений и ДКА («1.» и «3.» выше) «теоремой Клини». [7] Два других учебника сначала доказывают выразительную эквивалентность НКА и ДКА («2.» и «3.»), а затем формулируют «теорему Клини» как эквивалентность регулярных выражений и конечных автоматов (последние, как говорят, описывают «распознаваемые языки»). [2] [8] Лингвистически ориентированный текст сначала приравнивает регулярные грамматики («4. выше) к DFA и NFA, называет языки, генерируемые (любым из) из них «регулярными», после чего вводит регулярные выражения, которые он называет «рациональными языками», и, наконец, формулирует «теорему Клини» как совпадение регулярных и рациональных языков. [9] Другие авторы просто определяют «рациональное выражение» и «регулярные выражения» как синонимы и делают то же самое с «рациональными языками» и «регулярными языками». [1] [2]
По-видимому, термин «регулярный» берет свое начало в техническом отчете 1951 года, в котором Клини ввел «регулярные события» и открыто приветствовал «любые предложения относительно более описательного термина» . [10] Ноам Хомский в своей основополагающей статье 1959 года сначала использовал термин «регулярный» в другом значении (имея в виду то, что сегодня называется « нормальной формой Хомского » ), [11] но заметил, что его «конечно-государственные языки» эквивалентны «регулярным событиям» Клини . [12]
Свойства закрытия
Регулярные языки замкнуты относительно различных операций, то есть, если языки K и L являются регулярными, то таковым является и результат следующих операций:
обратный (или зеркальный) L R . [16] Если задан недетерминированный конечный автомат для распознавания L , то автомат для L R может быть получен путем обращения всех переходов и замены начальных и конечных состояний. Это может привести к нескольким начальным состояниям; для их соединения можно использовать ε-переходы.
Свойства разрешимости
При наличии двух детерминированных конечных автоматов A и B можно решить, принимают ли они один и тот же язык. [17]
Как следствие, используя указанные выше свойства замыкания, следующие проблемы также разрешимы для произвольно заданных детерминированных конечных автоматов A и B с принятыми языками L A и L B соответственно:
Сдерживание: L A ⊆ L B ? [примечание 10]
Дизъюнктность: L A ∩ L B = {} ?
Пустота: L A = {} ?
Универсальность: L A = Σ * ?
Принадлежность: если a ∈ Σ * , то a ∈ L B ?
Для регулярных выражений проблема универсальности является NP-полной уже для одноэлементного алфавита. [18]
Для более крупных алфавитов эта проблема является PSPACE-полной . [19] Если регулярные выражения расширить, чтобы разрешить также оператор возведения в квадрат , с " A 2 ", обозначающим то же самое, что и " AA ", все еще можно будет описать только регулярные языки, но проблема универсальности имеет нижнюю границу экспоненциального пространства, [20] [21] [22] и фактически является полной для экспоненциального пространства относительно редукции за полиномиальное время. [23]
Для фиксированного конечного алфавита теория множества всех языков — вместе со строками, принадлежностью строки языку и для каждого символа функцией добавления символа к строке (и без других операций) — разрешима, и ее минимальная элементарная подструктура состоит именно из регулярных языков. Для двоичного алфавита теория называется S2S . [24]
Результаты сложности
В теории вычислительной сложности класс сложности всех регулярных языков иногда называют REGULAR или REG , и он равен DSPACE (O(1)), задачам принятия решений , которые могут быть решены в постоянном пространстве (используемое пространство не зависит от размера входных данных). REGULAR ≠ AC 0 , поскольку он (тривиально) содержит проблему четности определения того, является ли число единичных битов во входных данных четным или нечетным, и эта проблема отсутствует в AC 0 . [25] С другой стороны, REGULAR не содержит AC 0 , поскольку нерегулярный язык палиндромов или нерегулярный язык оба могут быть распознаны в AC 0 . [26]
Если язык не является регулярным, для его распознавания требуется машина с по крайней мере Ω (log log n ) пространства (где n — размер входных данных). [27] Другими словами, DSPACE( o (log log n )) соответствует классу регулярных языков. На практике большинство нерегулярных задач решаются машинами, занимающими по крайней мере логарифмическое пространство .
Расположение в иерархии Хомского
Чтобы найти регулярные языки в иерархии Хомского , можно заметить, что каждый регулярный язык является контекстно-свободным . Обратное неверно: например, язык, состоящий из всех строк, имеющих одинаковое количество символов a и b , является контекстно-свободным, но не регулярным. Чтобы доказать, что язык не является регулярным, часто используют теорему Майхилла–Нерода и лемму о накачке . Другие подходы включают использование свойств замыкания регулярных языков [28] или количественную оценку сложности Колмогорова . [29]
Важные подклассы регулярных языков включают в себя
Конечные языки, содержащие только конечное число слов. [30] Это регулярные языки, поскольку можно создать регулярное выражение , которое является объединением всех слов в языке.
Языки без звезд , те, которые можно описать регулярным выражением, составленным из пустого символа, букв, конкатенации и всех булевых операторов (см. алгебру множеств ), включая дополнение , но не звезду Клини : этот класс включает все конечные языки. [31]
Производящая функция языка L является рациональной функцией , если L является регулярным. [32] Следовательно, для каждого регулярного языка последовательность является константно-рекурсивной ; то есть существуют целая константа , комплексные константы и комплексные многочлены
такие, что для каждого количество слов длины в равно . [33] [34] [35] [36]
Таким образом, нерегулярность некоторых языков может быть доказана путем подсчета слов заданной длины в . Рассмотрим, например, язык Дика строк сбалансированных скобок. Количество слов длины
в языке Дика равно каталонскому числу , которое не имеет вида , что свидетельствует о нерегулярности языка Дика. Необходимо соблюдать осторожность, поскольку некоторые собственные значения могут иметь одинаковую величину. Например, количество слов длины в языке всех четных двоичных слов не имеет вида , но количество слов четной или нечетной длины имеют этот вид; соответствующие собственные значения равны . В общем случае для каждого регулярного языка существует константа такая, что для всех количество слов длины асимптотически равно . [37]
Дзета -функция языка L равна [32]
Дзета-функция регулярного языка в общем случае не является рациональной, но дзета-функция произвольного циклического языка является таковой. [38] [39]
Обобщения
Понятие регулярного языка было обобщено на бесконечные слова (см. ω-автоматы ) и на деревья (см. древовидный автомат ).
Рациональный набор обобщает понятие (регулярного/рационального языка) на моноиды, которые не обязательно свободны . Аналогично, понятие распознаваемого языка (конечным автоматом) имеет тезку как распознаваемое множество над моноидом, который не обязательно свободен. Говард Штраубинг замечает в связи с этими фактами, что «Термин «регулярный язык» немного неудачен. Статьи, на которые повлияла монография Эйленберга [ 40], часто используют либо термин «распознаваемый язык», который относится к поведению автоматов, либо «рациональный язык», который относится к важным аналогиям между регулярными выражениями и рациональными степенными рядами . (На самом деле, Эйленберг определяет рациональные и распознаваемые подмножества произвольных моноидов; эти два понятия, в общем, не совпадают.) Эта терминология, хотя и лучше мотивирована, так и не прижилась, и «регулярный язык» используется почти повсеместно». [41]
Рациональный ряд — это еще одно обобщение, на этот раз в контексте формального степенного ряда над полукольцом . Этот подход приводит к взвешенным рациональным выражениям и взвешенным автоматам . В этом алгебраическом контексте регулярные языки (соответствующие рациональным выражениям с булевым весом) обычно называются рациональными языками . [42] [43] Также в этом контексте теорема Клини находит обобщение, называемое теоремой Клини-Шютценбергера.
^ u ~ v определяется как: uw ∈ L тогда и только тогда, когда vw ∈ L для всех w ∈Σ *
^ 3. ⇔ 11. см. доказательство в статье Syntactic monoid , а также см. стр. 160 в Holcombe, WML (1982). Алгебраическая теория автоматов . Cambridge Studies in Advanced Mathematics. Vol. 1. Cambridge University Press . ISBN 0-521-60492-3. Збл 0489.68046.
^ Проверьте, выполняется ли условие L A ∩ L B = L A . Определение этого свойства в общем случае является NP-трудной задачей ; см. Файл:RegSubsetNP.pdf для иллюстрации идеи доказательства.
Альфред В. Ахо и Джон Э. Хопкрофт и Джеффри Д. Ульман (1974). Проектирование и анализ компьютерных алгоритмов . Эддисон-Уэсли. ISBN 9780201000290.
^ ab Руслан Митков (2003). Оксфордский справочник по компьютерной лингвистике. Oxford University Press. стр. 754. ISBN978-0-19-927634-9.
^ abc Марк В. Лоусон (2003). Конечные автоматы. CRC Press. С. 98–103. ISBN978-1-58488-255-8.
^ Шэн Ю (1997). «Регулярные языки». В Гжегоже Розенберге; Арто Саломаа (ред.). Справочник по формальным языкам: Том 1. Слово, язык, грамматика . Спрингер. п. 41. ИСБН978-3-540-60420-4.
^ Эйленберг (1974), стр. 16 (Пример II, 2.8) и стр. 25 (Пример II, 5.2).
^ M. Weyer: Глава 12 - Разрешимость S1S и S2S, стр. 219, Теорема 12.26. В: Erich Grädel, Wolfgang Thomas, Thomas Wilke (ред.): Автоматы, логика и бесконечные игры: руководство по современным исследованиям. Lecture Notes in Computer Science 2500, Springer 2002.
^ Кеннет Розен (2011). Дискретная математика и ее приложения, 7-е издание. McGraw-Hill Science. С. 873–880.
^ Хорст Бунке; Альберто Санфелиу (январь 1990). Синтаксическое и структурное распознавание образов: теория и приложения. World Scientific. стр. 248. ISBN978-9971-5-0566-0.
^ Стивен Коул Клини (декабрь 1951 г.). Представление событий в нервных сетях и конечных автоматах (PDF) (исследовательский меморандум). ВВС США / Корпорация RAND.Здесь: стр.46
^ Ноам Хомский (1959). «О некоторых формальных свойствах грамматик» (PDF) . Информация и управление . 2 (2): 137–167. doi : 10.1016/S0019-9958(59)90362-6 .Здесь: Определение 8, стр.149
^ Хомский 1959, сноска 10, стр. 150
^ Саломаа (1981) стр.28
^ Саломаа (1981) стр.27
^ Fellows, Michael R. ; Langston, Michael A. (1991). "Проблемы конструктивности в графовых алгоритмах". В Myers, J. Paul Jr.; O'Donnell, Michael J. (ред.). Конструктивность в компьютерных науках, Летний симпозиум, Сан-Антонио, Техас, США, 19-22 июня, Труды . Заметки лекций по компьютерным наукам. Том 613. Springer. стр. 150–158. doi :10.1007/BFB0021088. ISBN978-3-540-55631-2.
^ Хопкрофт, Ульман (1979), Глава 3, Упражнение 3.4g, стр. 72
^ Хопкрофт, Ульман (1979), Теорема 3.8, стр. 64; см. также Теорема 3.10, стр. 67
^ AR Meyer & LJ Stockmeyer (октябрь 1972 г.). Проблема эквивалентности для регулярных выражений с возведением в квадрат требует экспоненциального пространства (PDF) . 13-й ежегодный симпозиум IEEE по теории коммутации и автоматов. стр. 125–129.
^ LJ Stockmeyer; AR Meyer (1973). «Текстовые задачи, требующие экспоненциального времени». Труды 5-го ежегодного симпозиума по теории вычислений (STOC) (PDF) . ACM. стр. 1–9.
^ Хопкрофт, Ульман (1979), Следствие, стр. 353
^ Weyer, Mark (2002). «Разрешимость S1S и S2S». Автоматы, логика и бесконечные игры . Конспект лекций по информатике. Том 2500. Springer. С. 207–230. doi :10.1007/3-540-36387-4_12. ISBN978-3-540-00388-5.
^ Ферст, Меррик; Сакс, Джеймс Б .; Сипсер, Майкл (1984). «Четность, схемы и иерархия полиномиального времени». Математическая теория систем . 17 (1): 13–27. doi :10.1007/BF01744431. MR 0738749. S2CID 14677270.
^ Кук, Стивен; Нгуен, Фуонг (2010). Логические основы сложности доказательства (1-е изд.). Итака, Нью-Йорк: Ассоциация символической логики. стр. 75. ISBN978-0-521-51729-4.
^ J. Hartmanis, PL Lewis II и RE Stearns. Иерархии вычислений с ограниченной памятью. Труды 6-го ежегодного симпозиума IEEE по теории коммутационных схем и логическому проектированию , стр. 179–190. 1965.
^ «Как доказать, что язык не является регулярным?». cs.stackexchange.com . Получено 10 апреля 2018 г. .
^ Громкович, Юрай (2004). Теоретическая информатика: Введение в автоматы, вычислимость, сложность, алгоритмику, рандомизацию, связь и криптографию. Springer. С. 76–77. ISBN3-540-14015-8. OCLC 53007120.
^ Конечный язык не следует путать с (обычно бесконечным) языком, генерируемым конечным автоматом.
^ Volker Diekert; Paul Gastin (2008). "First-order definible languages" (PDF) . В Jörg Flum; Erich Grädel; Thomas Wilke (ред.). Logic and automata: history and perspectives . Amsterdam University Press. ISBN978-90-5356-576-6.
^ ab Honkala, Juha (1989). «Необходимое условие рациональности дзета-функции регулярного языка». Theor. Comput. Sci . 66 (3): 341–347. doi : 10.1016/0304-3975(89)90159-x . Zbl 0675.68034.
^ Флажоле и Седжвейк, раздел V.3.1, уравнение (13).
^ "Количество слов в регулярном языке $(00)^*$". cs.stackexchange.com . Получено 10 апреля 2018 г. .
^ «Доказательство теоремы для произвольных DFA».
^ "Количество слов заданной длины в регулярном языке". cs.stackexchange.com . Получено 10 апреля 2018 г. .
^ Сэмюэл Эйленберг. Автоматы, языки и машины . Academic Press.в двух томах «A» (1974, ISBN 9780080873749 ) и «B» (1976, ISBN 9780080873756 ), последний с двумя главами Брета Тилсона.
^ Сакарович, Жак (2009). Элементы теории автоматов . Перевод с французского Рубена Томаса. Кембридж: Cambridge University Press . стр. 86. ISBN978-0-521-84425-3. Збл 1188.68177.
Дальнейшее чтение
Kleene, SC : Представление событий в нервных сетях и конечных автоматах. В: Shannon, CE, McCarthy, J. (ред.) Automata Studies, стр. 3–41. Princeton University Press, Princeton (1956); это слегка измененная версия его отчета RAND Corporation 1951 года с тем же названием, RM704.
Сакарович, Дж. (1987). «Повторный взгляд на теорему Клини». Тенденции, методы и проблемы в теоретической информатике . Конспект лекций по информатике. Том 1987. С. 39–50. doi :10.1007/3540185356_29. ISBN 978-3-540-18535-2.