Jump to content

Обычный язык

(Перенаправлено с конечного языка )

В теоретической информатике и теории формального языка регулярный язык (также называемый рациональным языком ) [1] [2] — это формальный язык , который может быть определен регулярным выражением в строгом смысле этого слова в теоретической информатике (в отличие от многих современных механизмов регулярных выражений, которые дополнены функциями , позволяющими распознавать нерегулярные языки).

Альтернативно, регулярный язык можно определить как язык, распознаваемый конечным автоматом . Эквивалентность регулярных выражений и конечных автоматов известна как теорема Клини. [3] (в честь американского математика Стивена Коула Клини ). В иерархии Хомского регулярные языки — это языки, порожденные грамматиками типа 3 .

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

Коллекция регулярных языков над алфавитом Σ определяется рекурсивно следующим образом:

  • Пустой язык Ø является регулярным языком.
  • Для каждого a ∈ Σ ( a принадлежит Σ) одноэлементный язык { a } является регулярным языком.
  • Если A — регулярный язык, A * ( звезда Клини ) — регулярный язык. Благодаря этому язык пустых строк {ε} также является регулярным.
  • Если A и B — регулярные языки, то A B (объединение) и A B (конкатенация) — регулярные языки.
  • Никакие другие языки над Σ не являются регулярными.

См. «Регулярное выражение», чтобы узнать о синтаксисе и семантике регулярных выражений.

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

Все конечные языки регулярны; в частности, язык пустых строк {ε} = Ø* является регулярным. Другие типичные примеры включают язык, состоящий из всех строк алфавита { a , b }, которые содержат четное число a , или язык, состоящий из всех строк формы: несколько a , за которыми следует несколько b .

Простым примером нерегулярного языка является набор строк { a н б н | п ≥ 0}. [4] Интуитивно его невозможно распознать с помощью конечного автомата, поскольку конечный автомат имеет конечную память и не может запомнить точное количество а. приведены методы строгого доказательства этого факта Ниже .

формализмы Эквивалентные

Регулярный язык удовлетворяет следующим эквивалентным свойствам:

  1. это язык регулярных выражений (по приведенному выше определению)
  2. это язык, принимаемый недетерминированным конечным автоматом (NFA). [примечание 1] [примечание 2]
  3. это язык, принимаемый детерминированным конечным автоматом (DFA). [примечание 3] [примечание 4]
  4. его можно сгенерировать с помощью обычной грамматики [примечание 5] [примечание 6]
  5. это язык, принимаемый попеременным конечным автоматом
  6. это язык, принимаемый двусторонним конечным автоматом
  7. он может быть сгенерирован с помощью префиксной грамматики
  8. его может принять машина Тьюринга только для чтения
  9. его можно определить в монадической логике второго порядка ( теорема Бючи–Эльгота–Трахтенброта ) [5]
  10. он распознается некоторым конечным синтаксическим моноидом M , то есть является прообразом { w ∈ Σ * | f ( w ) ∈ S } подмножества S конечного моноида M при моноидном гомоморфизме f : Σ * M из свободного моноида по его алфавиту [примечание 7]
  11. число классов эквивалентности его синтаксического соответствия конечно. [примечание 8] [примечание 9] (Это число равно числу состояний минимального детерминированного конечного автомата, допускающего L .)

Свойства 10 и 11 представляют собой чисто алгебраические подходы к определению регулярных языков; аналогичный набор утверждений можно сформулировать для моноида M ⊆ Σ * . В этом случае эквивалентность над M приводит к понятию распознаваемого языка.

Некоторые авторы используют одно из приведенных выше свойств, отличное от «1». как альтернативное определение регулярных языков.

Некоторые из приведенных выше эквивалентностей, особенно среди первых четырех формализмов, в учебниках называются теоремой Клини . Какой именно из них (или какое подмножество) называется таковым, варьируется у разных авторов. В одном учебнике эквивалентность регулярных выражений и NFA («1» и «2» выше) названа «теоремой Клини». [6] Другой учебник называет эквивалентность регулярных выражений и ДКА («1» и «3» выше) «теоремой Клини». [7] Два других учебника сначала доказывают выразительную эквивалентность NFA и DFA («2» и «3»), а затем утверждают «теорему Клини» как эквивалентность между регулярными выражениями и конечными автоматами (последние, как говорят, описывают «узнаваемые языки»). . [2] [8] Лингвистически ориентированный текст сначала приравнивает регулярные грамматики («4.» выше) к DFA и NFA, называет языки, порожденные (любым из) этих языков, «регулярными», после чего вводит регулярные выражения, которые он называет терминами для описания «рациональных языков». и, наконец, утверждает «теорему Клини» как совпадение регулярных и рациональных языков. [9] Другие авторы просто определяют «рациональное выражение» и «регулярные выражения» как синонимы и делают то же самое с «рациональными языками» и «регулярными языками». [1] [2]

Судя по всему, термин «регулярные» происходит из технического отчета 1951 года, где Клини представила термин «регулярные мероприятия» и открыто приветствовала «любые предложения относительно более описательного термина» . [10] Ноам Хомский использовал термин «регулярный» в своей основополагающей статье 1959 года сначала в другом значении (имея в виду то, что сегодня называется « нормальной формой Хомского » ), [11] но заметил, что его «конечные государственные языки» были эквивалентны «регулярным мероприятиям» Клини . [12]

Свойства замыкания [ править ]

Регулярные языки замкнуты относительно различных операций, т. е. если языки К и L регулярны, то регулярен и результат следующих операций:

Свойства разрешимости [ править ]

Учитывая два детерминированных конечных автомата 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 " обозначает то же самое, что и " АА ", но можно описать только обычные языки, но проблема универсальности имеет нижнюю границу экспоненциального пространства, [20] [21] [22] и фактически является полным для экспоненциального пространства относительно полиномиальной редукции по времени. [23]

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

Результаты по сложности [ править ]

В теории сложности вычислений всех класс сложности регулярных языков иногда называют REGULAR или REG и равен DSPACE (O(1)), проблемам решения , которые могут быть решены в постоянном пространстве (используемое пространство не зависит от размера входных данных). ). ОБЫЧНЫЙ переменный ток 0 , поскольку он (тривиально) содержит проблему четности определения того, является ли число 1 бит во входных данных четным или нечетным, и этой проблемы нет в AC 0 . [25] С другой стороны, REGULAR не содержит переменного тока. 0 , потому что неправильный язык палиндромов или неправильный язык оба могут быть распознаны в AC 0 . [26]

Если язык не требуется машина с объемом памяти не менее Ω (log log n является регулярным, для его распознавания ) (где n — размер ввода). [27] Другими словами, DSPACE( o (log log n )) соответствует классу регулярных языков. На практике большинство нерегулярных задач решаются машинами, занимающими как минимум логарифмическое пространство .

Местоположение в иерархии Хомского [ править ]

Регулярный язык в классах иерархии Хомского

Чтобы найти регулярные языки в иерархии Хомского , нужно заметить, что каждый регулярный язык является контекстно-свободным . Обратное неверно: например, язык, состоящий из всех строк, имеющих одинаковое количество символов a и b , является контекстно-свободным, но не регулярным. Чтобы доказать, что язык не является регулярным, часто используют теорему Майхилла–Нероде и лемму о накачке . Другие подходы включают использование свойств замыкания обычных языков. [28] или количественная оценка колмогоровской сложности . [29]

Важные подклассы обычных языков включают

Количество слов в обычном языке [ править ]

Позволять обозначают количество слов длины в . Обычная производящая функция для L представляет собой формальный степенной ряд

Производящая функция языка L является рациональной функцией, если L регулярен. [32] Следовательно, для каждого регулярного языка последовательность является постоянно-рекурсивным ; то есть существует целая константа , комплексные константы и комплексные полиномы такой, что для каждого число слов длиной в является . [33] [34] [35] [36]

Таким образом, нерегулярность некоторых языков можно доказать, посчитав слова заданной длины в . Рассмотрим, например, язык Дика строк со сбалансированными круглыми скобками. Количество слов длиной на языке Дейка равно каталонскому числу , который не имеет вида ,свидетельствуя о нерегулярности языка Дейка. Необходимо соблюдать осторожность, поскольку некоторые собственные значения может иметь такую ​​же величину. Например, количество слов длиной в языке все даже двоичные слова не имеют вида , но количество слов четной или нечетной длины имеет такой вид; соответствующие собственные значения равны . Вообще говоря, для каждого регулярного языка существует константа такой, что для всех , количество слов длиной асимптотически . [37]

Дзета -функция языка L равна [32]

Дзета-функция регулярного языка, вообще говоря, не рациональна, а функция произвольного циклического языка — рациональна. [38] [39]

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

Понятие регулярного языка было обобщено на бесконечные слова (см. ω-автоматы ) и на деревья (см. древесный автомат ).

Рациональное множество обобщает понятие (регулярного/рационального языка) на моноиды, которые не обязательно свободны . Аналогично, понятие распознаваемого языка (конечным автоматом) имеет тезку как распознаваемое множество над моноидом, который не обязательно свободен. Говард Штраубинг отмечает по поводу этих фактов: «Термин «обычный язык» несколько неудачен. Статьи под влиянием Эйленберга монографии [40] часто используют либо термин «узнаваемый язык», который относится к поведению автоматов, либо «рациональный язык», который относится к важным аналогиям между регулярными выражениями и рациональными степенными рядами . (На самом деле Эйленберг определяет рациональные и узнаваемые подмножества произвольных моноидов; эти два понятия, в общем, не совпадают.) Эта терминология, хотя и более обоснованная, так и не прижилась, и «регулярный язык» используется почти повсеместно». [41]

Рациональный ряд — это еще одно обобщение, на этот раз в контексте формального степенного ряда по полукольцу . Этот подход приводит к взвешенным рациональным выражениям и взвешенным автоматам . В этом алгебраическом контексте регулярные языки (соответствующие логическим взвешенным рациональным выражениям) обычно называются рациональными языками . [42] [43] Также в этом контексте теорема Клини находит обобщение, называемое теоремой Клини-Шютценбергера .

Обучение на примерах [ править ]

Примечания [ править ]

  1. ^ 1. ⇒ 2. по алгоритму построения Томпсона.
  2. ^ 2. ⇒ 1. по алгоритму Клини или по лемме Ардена.
  3. ^ 2. ⇒ 3. по конструкции степенного набора
  4. ^ 3. ⇒ 2. поскольку первое определение сильнее второго.
  5. ^ 2. ⇒ 4. см. Хопкрофт, Ульман (1979), теорема 9.2, стр. 219.
  6. ^ 4. ⇒ 2. см. Хопкрофт, Ульман (1979), теорема 9.1, стр. 218.
  7. ^ 3. ⇔ 10. по теореме Майхилла – Нерода.
  8. ^ u ~ v определяется как: uw L тогда и только тогда, когда vw L для всех w €Σ *
  9. ^ 3. ⇔ 11. см. доказательство в статье Синтаксический моноид и см. стр. 160 в Холкомб, WML (1982). Алгебраическая теория автоматов . Кембриджские исследования по высшей математике. Том. 1. Издательство Кембриджского университета . ISBN  0-521-60492-3 . Збл   0489.68046 .
  10. ^ Проверьте, есть ли L A L B знак равно L A . Решение об этом свойстве является NP-сложным вообще ; см. файл:RegSubsetNP.pdf для иллюстрации идеи доказательства.

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

  1. ^ Jump up to: а б Руслан Митьков (2003). Оксфордский справочник по компьютерной лингвистике . Издательство Оксфордского университета. п. 754. ИСБН  978-0-19-927634-9 .
  2. ^ Jump up to: а б с Марк В. Лоусон (2003). Конечные автоматы . ЦРК Пресс. стр. 98–103. ISBN  978-1-58488-255-8 .
  3. ^ Шэн Юй (1997). «Регулярные языки» . В Гжегоже Розенберге; Арто Саломаа (ред.). Справочник по формальным языкам: Том 1. Слово, язык, грамматика . Спрингер. п. 41. ИСБН  978-3-540-60420-4 .
  4. ^ Эйленберг (1974), с. 16 (Пример II, 2.8) и с. 25 (пример II, 5.2).
  5. ^ М. Вейер: Глава 12 - Разрешимость S1S и S2S, с. 219, теорема 12.26. В: Эрих Гредель, Вольфганг Томас, Томас Вильке (ред.): Автоматы, логика и бесконечные игры: Путеводитель по текущим исследованиям. Конспекты лекций по информатике 2500, Springer 2002.
  6. ^ Роберт Седжвик; Кевин Дэниел Уэйн (2011). Алгоритмы . Аддисон-Уэсли Профессионал. п. 794. ИСБН  978-0-321-57351-3 .
  7. ^ Жан-Поль Аллуш; Джеффри Шалит (2003). Автоматические последовательности: теория, приложения, обобщения . Издательство Кембриджского университета. п. 129. ИСБН  978-0-521-82332-6 .
  8. ^ Кеннет Розен (2011). Дискретная математика и ее приложения. 7-е издание . МакГроу-Хилл Наука. стр. 873–880.
  9. ^ Хорст Бунке; Альберто Санфелиу (январь 1990 г.). Распознавание синтаксических и структурных образов: теория и приложения . Всемирная научная. п. 248. ИСБН  978-9971-5-0566-0 .
  10. ^ Стивен Коул Клини (декабрь 1951 г.). Представление событий в нервных сетях и конечном автомате (PDF) (Меморандум об исследовании). ВВС США/Корпорация РЭНД. Здесь: стр.46
  11. ^ Ноам Хомский (1959). «О некоторых формальных свойствах грамматик» (PDF) . Информация и контроль . 2 (2): 137–167. дои : 10.1016/S0019-9958(59)90362-6 . Здесь: Определение 8, стр.149.
  12. ^ Хомский 1959, сноска 10, стр. 150.
  13. ^ Саломаа (1981) стр.28
  14. ^ Саломаа (1981) стр.27
  15. ^ Товарищи, Майкл Р .; Лэнгстон, Майкл А. (1991). «Проблемы конструктивности в графовых алгоритмах». В Майерсе, Дж. Поле младшем; О'Доннелл, Майкл Дж. (ред.). Конструктивность в информатике, Летний симпозиум, Сан-Антонио, Техас, США, 19-22 июня, Материалы . Конспекты лекций по информатике. Том. 613. Спрингер. стр. 150–158. дои : 10.1007/BFB0021088 .
  16. ^ Хопкрофт, Ульман (1979), Глава 3, Упражнение 3.4g, с. 72
  17. ^ Хопкрофт, Ульман (1979), теорема 3.8, стр.64; см. также теорему 3.10, с.67
  18. ^ Ахо, Хопкрофт, Ульман (1974), Упражнение 10.14, стр.401
  19. ^ Ахо, Хопкрофт, Ульман (1974), теорема 10.14, стр. 399
  20. ^ Хопкрофт, Ульман (1979), Теорема 13.15, стр.351
  21. ^ А. Р. Мейер и Л. Дж. Стокмейер (октябрь 1972 г.). Проблема эквивалентности регулярных выражений с возведением в квадрат требует экспоненциального пространства (PDF) . 13-й ежегодный симпозиум IEEE. по теории коммутации и автоматов. стр. 125–129.
  22. ^ Л. Дж. Стокмейер; А. Р. Мейер (1973). «Словесные задачи, требующие экспоненциального времени». Учеб. 5-летие. симп. по теории вычислений (STOC) (PDF) . АКМ. стр. 1–9.
  23. ^ Хопкрофт, Ульман (1979), Следствие, стр.353
  24. ^ Вейер, Марк (2002). «Разрешимость S1S и S2S» . Автоматы, логика и бесконечные игры . Конспекты лекций по информатике. Том. 2500. Спрингер. стр. 207–230. дои : 10.1007/3-540-36387-4_12 . ISBN  978-3-540-00388-5 .
  25. ^ Ферст, Меррик; Сакс, Джеймс Б .; Сипсер, Майкл (1984). «Четность, схемы и иерархия полиномиального времени». Теория математических систем . 17 (1): 13–27. дои : 10.1007/BF01744431 . МР   0738749 . S2CID   14677270 .
  26. ^ Кук, Стивен; Нгуен, Фуонг (2010). Логические основы сложности доказательства (1-е изд.). Итака, Нью-Йорк: Ассоциация символической логики. п. 75. ИСБН  978-0-521-51729-4 .
  27. ^ Дж. Хартманис, П.Л. Льюис II и Р.Э. Стернс. Иерархии вычислений с ограниченной памятью. Труды 6-го ежегодного симпозиума IEEE по теории переключающих схем и проектированию логики , стр. 179–190. 1965.
  28. ^ «Как доказать, что язык неправильный?» . cs.stackexchange.com . Проверено 10 апреля 2018 г.
  29. ^ Хромкович, Юрай (2004). Теоретическая информатика: введение в автоматы, вычислимость, сложность, алгоритмика, рандомизация, коммуникация и криптография . Спрингер. стр. 76–77. ISBN  3-540-14015-8 . OCLC   53007120 .
  30. ^ Конечный язык не следует путать с (обычно бесконечным) языком, порожденным конечным автоматом.
  31. ^ Фолькер Дикерт; Пол Гастин (2008). «Определимые языки первого порядка» (PDF) . В Йорге Флуме; Эрих Гредель; Томас Уилк (ред.). Логика и автоматы: история и перспективы . Издательство Амстердамского университета. ISBN  978-90-5356-576-6 .
  32. ^ Jump up to: а б Хонкала, Джуха (1989). «Необходимое условие рациональности дзета-функции регулярного языка» . Теор. Вычислить. Наука . 66 (3): 341–347. дои : 10.1016/0304-3975(89)90159-х . Збл   0675.68034 .
  33. ^ Flajolet & Sedgweick, раздел V.3.1, уравнение (13).
  34. ^ «Количество слов в обычном языке $(00)^*$» . cs.stackexchange.com . Проверено 10 апреля 2018 г.
  35. ^ «Доказательство теоремы для произвольных ДКА» .
  36. ^ «Количество слов заданной длины в обычном языке» . cs.stackexchange.com . Проверено 10 апреля 2018 г.
  37. ^ Флажоле и Седжвик (2002) Теорема V.3
  38. ^ Берстель, Жан; Ройтенауэр, Кристоф (1990). «Дзета-функции формальных языков». Транс. Матем . 321 (2): 533–546. CiteSeerX   10.1.1.309.3005 . дои : 10.1090/s0002-9947-1990-0998123-x . Збл   0797.68092 .
  39. ^ Берстель и Ройтенауэр (2011) стр.222
  40. ^ Сэмюэл Эйленберг. Автоматы, языки и машины . Академическая пресса. в двух томах «А» (1974, ISBN   9780080873749 ) и «Б» (1976, ISBN   9780080873756 ), последний с двумя главами Брета Тилсона.
  41. ^ Штраубинг, Ховард (1994). Конечные автоматы, формальная логика и сложность схемы . Прогресс в теоретической информатике. Базель: Биркхойзер. п. 8 . ISBN  3-7643-3719-2 . Збл   0816.68086 .
  42. ^ Берстель и Ройтенауэр (2011) стр.47
  43. ^ Сакарович, Жак (2009). Элементы теории автоматов . Перевод с французского Рубена Томаса. Кембридж: Издательство Кембриджского университета . п. 86. ИСБН  978-0-521-84425-3 . Збл   1188.68177 .

Дальнейшее чтение [ править ]

  • Клини, С.К .: Представление событий в нервных сетях и конечных автоматах. В: Шеннон, К.Э., Маккарти, Дж. (ред.) Исследования автоматов, стр. 3–41. Издательство Принстонского университета, Принстон (1956); это слегка измененная версия его RAND Corporation одноименного отчета 1951 года, RM704 .
  • Сакарович, Дж (1987). «Возвращение к теореме Клини». Тенденции, методы и проблемы теоретической информатики . Конспекты лекций по информатике. Том. 1987. стр. 39–50. дои : 10.1007/3540185356_29 . ISBN  978-3-540-18535-2 .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 37af077b608f3bb21d37301ec7f1c691__1712584980
URL1:https://arc.ask3.ru/arc/aa/37/91/37af077b608f3bb21d37301ec7f1c691.html
Заголовок, (Title) документа по адресу, URL1:
Regular language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)