stringtranslate.com

Теорема Майхилла–Нерода

В теории формальных языков теорема Майхилла–Нерода обеспечивает необходимое и достаточное условие регулярности языка . Теорема названа в честь Джона Майхилла и Анила Нерода , которые доказали ее в Чикагском университете в 1957 году (Nerode & Sauer 1957, p. ii).

Заявление

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

Теорема Майхилла–Нерода утверждает, что язык является регулярным тогда и только тогда, когда имеет конечное число классов эквивалентности, и, более того, это число равно числу состояний в минимальном детерминированном конечном автомате (DFA), принимающем . Более того, каждый минимальный DFA для языка изоморфен каноническому (Hopcroft & Ullman 1979).

Майхилл, Нерод (1957)  —  (1) является регулярным тогда и только тогда, когда имеет конечное число классов эквивалентности.

(2) Это число равно числу состояний в минимальном детерминированном конечном автомате (ДКА), принимающем .

(3) Любой минимальный акцептор DFA для языка изоморфен следующему:

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

В общем случае для любого языка построенный автомат является акцептором автомата состояний . Однако он не обязательно имеет конечное число состояний. Теорема Майхилла–Нерода показывает, что конечность необходима и достаточна для регулярности языка.

Некоторые авторы называют это отношение конгруэнтностью Нерода [ 1] [2] в честь Анила Нерода .

Доказательство

(1) Если является регулярным. построить минимальный DFA, чтобы принять его. Очевидно, если окажетесь в том же состоянии после прохождения DFA, то , таким образом, число классов эквивалентности не превышает числа состояний DFA, которое должно быть конечным.

Наоборот, если имеет конечное число классов эквивалентности, то построенный в теореме автомат состояний является акцептором DFA, поэтому язык является регулярным.

(2) По построению в (1).

(3) Для минимального акцептора DFA мы строим изоморфизм каноническому.

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

Так как является акцептором, то если то . Таким образом, каждый класс эквивалентности является объединением одного или нескольких классов эквивалентности . Далее, так как является минимальным, число состояний равно числу классов эквивалентности по части (2). Таким образом .

Теперь это дает нам биекцию между состояниями и состояниями канонического акцептора. Ясно, что эта биекция также сохраняет правила перехода, поэтому она является изоморфизмом DFA.

Использование и последствия

Теорема Майхилла –Нерода может быть использована для доказательства регулярности языка путем доказательства того, что число классов эквивалентности конечно. Это может быть сделано с помощью исчерпывающего анализа случаев , в котором, начиная с пустой строки , различающие расширения используются для поиска дополнительных классов эквивалентности до тех пор, пока больше не будет найдено. Например, язык, состоящий из двоичных представлений чисел, которые можно разделить на 3, является регулярным. При пустой строке (или ), и являются различающими расширениями, приводящими к трем классам (соответствующим числам, которые дают остатки 0, 1 и 2 при делении на 3), но после этого шага различающего расширения больше нет. Минимальный автомат, принимающий наш язык, будет иметь три состояния, соответствующие этим трем классам эквивалентности.

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

Обобщения

Теорему Майхилла–Нерода можно обобщить на древовидные автоматы . [3]

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

Ссылки

  1. ^ Бжозовский, Януш ; Шикула, Марек; Йе, Юлий (2018), «Синтаксическая сложность регулярных идеалов», Теория вычислительных систем , 62 (5): 1175–1202, doi : 10.1007/s00224-017-9803-8, hdl : 10012/12499 , S2CID  2238325
  2. ^ Crochemore, Maxime и др. (2009), «От конгруэнтности Нерода к суффиксным автоматам с несовпадениями», Теоретическая информатика , 410 (37): 3471–3480, doi : 10.1016/j.tcs.2009.03.011 , S2CID  14277204
  3. ^ Хьюберт Комон; Макс Доше; Реми Жилерон; Флоран Жакмар; Денис Лужьес; Кристоф Лёдинг; Софи Тайсон; Марк Томмаси (октябрь 2021 г.). Методы и приложения древовидных автоматов (TATA).Здесь: Раздел 1.5, стр.35-36.

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