Теорема Майхилла – Нероде
В теории формальных языков теорема Майхилла -Нерода обеспечивает необходимое и достаточное условие языка регулярности . Теорема названа в честь Джона Майхилла и Анила Нерода , которые доказали ее в Чикагском университете в 1957 году ( Nerode & Sauer 1957 , стр. ii).
Заявление
[ редактировать ]Учитывая язык и пара строк и , определите отличительное расширение как строку такой, чторовно одна из двух строк и принадлежит .Определить отношение на струнах как если нет отличительного расширения для и . Легко показать, что является отношением эквивалентности строк и, таким образом, делит множество всех строк на классы эквивалентности .
Теорема Майхилла – Нероде утверждает, что язык регулярно тогда и только тогда, когда имеет конечное число классов эквивалентности, причем это число равно числу состояний минимального детерминированного конечного автомата (МКА), допускающего . Более того, каждый минимальный ДКА языка изоморфен каноническому ( Хопкрофт и Ульман, 1979 ).
Майхилл, Нерод (1957) - (1) регулярно тогда и только тогда, когда имеет конечное число классов эквивалентности.
(2) Это число равно числу состояний минимального детерминированного конечного автомата (МДКА), допускающего .
(3) Любой минимальный акцептор ДКА языка изоморфен следующему:
- Пусть каждый класс эквивалентности соответствуют состоянию, и пусть переходы между состояниями будут для каждого . Пусть начальное состояние будет , а принимающие состояния будут где .
В общем случае для любого языка построенный автомат является акцептором автомата состояний . Однако он не обязательно имеет конечное число состояний. Теорема Майхилла-Нерода показывает, что конечность необходима и достаточна для регулярности языка.
Некоторые авторы обращаются к отношение как соответствие Нерода , [1] [2] в честь Анила Нероде .
(1) Если является регулярным. создайте минимальный DFA, чтобы принять его. Ясно, что если оказаться в том же состоянии после прохождения DFA, а затем , таким образом, количество классов эквивалентности не более числа состояний DFA, которое должно быть конечным.
И наоборот, если имеет конечное число классов эквивалентности, то автомат, построенный в теореме, является акцептором ДКА, следовательно, язык регулярен.
(2) По построению (1).
(3) Учитывая минимальный акцептор DFA , построим изоморфизм каноническому.
Построим следующее отношение эквивалентности: тогда и только тогда, когда оказаться в том же состоянии при прохождении .
С является акцептором, если затем . Таким образом, каждый Класс эквивалентности – это объединение одного или нескольких классов эквивалентности. . Далее, поскольку минимально, число состояний равно числу классов эквивалентности по части (2). Таким образом .
Теперь это дает нам биекцию между состояниями и состояния канонического акцептора. Ясно, что эта биекция также сохраняет правила перехода и, следовательно, является изоморфизмом ДКА.
Использование и последствия
[ редактировать ]Теорему Майхилла – Нероде можно использовать, чтобы показать, что язык является регулярным , доказав, что количество классов эквивалентности конечно. Это можно сделать путем исчерпывающего анализа случая , в котором, начиная с пустой строки , различающие расширения используются для поиска дополнительных классов эквивалентности до тех пор, пока больше не будет найдено. Например, регулярным является язык, состоящий из двоичных представлений чисел, которые делятся на 3. Учитывая пустую строку, (или ), , и являются различающими расширениями, в результате чего образуются три класса (соответствующие числам, которые дают остатки 0, 1 и 2 при делении на 3), но после этого шага различающего расширения больше нет. Минимальный автомат, принимающий наш язык, будет иметь три состояния, соответствующие этим трем классам эквивалентности.
Другое непосредственное следствие теоремы состоит в том, что если для языка отношение имеет бесконечное число классов эквивалентности, то оно не является регулярным. Именно это следствие часто используется для доказательства того, что язык не является регулярным.
Обобщения
[ редактировать ]Теорему Майхилла-Нерода можно обобщить на древесные автоматы . [3]
См. также
[ редактировать ]- Лемма о накачке для регулярных языков — альтернативный метод доказательства того, что язык не является регулярным. Лемма о накачке не всегда может доказать, что язык не является регулярным.
- Синтаксический моноид
Ссылки
[ редактировать ]- ^ Бжозовский, Януш ; Шикула, Марек; Йе, Юлий (2018), «Синтаксическая сложность регулярных идеалов», Теория вычислительных систем , 62 (5): 1175–1202, doi : 10.1007/s00224-017-9803-8 , hdl : 10012/12499 , S2CID 2238325
- ^ Крошмор, Максим; и др. (2009), «От конгруэнтности Нероде к суффиксным автоматам с несовпадениями», Theoretical Computer Science , 410 (37): 3471–3480, doi : 10.1016/j.tcs.2009.03.011 , S2CID 14277204
- ^ Юбер Комон; Макс Доше; Реми Жилерон; Флоран Жакмар; Денис Лужьес; Кристоф Лёдинг; Софи Тайсон; Марк Томмаси (октябрь 2021 г.). Методы и приложения древовидных автоматов (TATA) . Здесь: Разд. 1.5, с.35-36.
- Хопкрофт, Джон Э .; Уллман, Джеффри Д. (1979), «Глава 3.4», Введение в теорию автоматов, языки и вычисления , Ридинг, Массачусетс: Addison-Wesley Publishing, ISBN 0-201-02988-Х .
- Нерод, Анил (1958), «Линейные автоматные преобразования», Труды Американского математического общества , 9 (4): 541–544, doi : 10.1090/S0002-9939-1958-0135681-9 , JSTOR 2033204 .
- Нерод, Анил; Зауэр, Бертон П. (ноябрь 1957 г.), Фундаментальные концепции теории систем (Технический отчет WADC), Центр развития авиации Райта . Документ ASTIA № AD 155741.
- Риган, Кеннет (2007), Заметки по теореме Майхилла-Нерода (PDF) , получено 22 марта 2016 г.
Дальнейшее чтение
[ редактировать ]- Бахадыр Хусаинов; Анил Нероде (6 декабря 2012 г.). Теория автоматов и ее приложения . Springer Science & Business Media. ISBN 978-1-4612-0171-7 .