- •18. Автоматы Мили с конечной памятью. Теорема Гилла.
- •19. Автоматы Мура. Теорема о сокращении. Теорема о неопределенности. Следствия.
- •20. Построение равносильного автомату Мили автомата Мура.
- •21.Построение равносильного автомату Мура автомата Мили.
- •22. Гомоморфизм и изоморфизм автоматов Мура.
- •23. Автоматы с магазинной памятью (мпа). Формальное представление. Принципы функционирования.
- •24. Язык мпа.
- •25 Машина Тьюринга (мт). Формальное представление. Принципы функционирования. Языки мт. Понятие останова мт.
- •26 Модификации мт. Память в состоянии. Многодорожечная мт. Подпрограммы.
- •27. Расширения мт. Многодорожечные мт. Недетерминированные мт.
- •28 Мт с ограничениями. Мт с полубесконечной лентой. Мультистековые мт. Счетчиковые мт.
- •29. Вычислительная мощность мт.
- •31. Регулярные выражения (рв) и языки. Операторы рв. Приоритеты операторов. Связь рв, дка, ε-нка, нка.
- •32. Преобразование дка в рв.
- •33. Преобразование дка в рв. Метод сокращения состояний.
- •34. Преобразование рв в конечный автомат.
- •35. Применение регулярных выражений.
- •37.Свойства регулярных языков (ря). Лемма о накачке для ря.
- •38. Свойства замкнутости ря
- •Временная сложность взаимных преобразований представлений регулярных языков. Вопросы разрешимости ря.
- •41.Деревья разбора. Определения. Свойства. Примеры.
- •42.Связь ксг с конечными автоматами. Нормальная форма Хомского.
- •43. Принцип микропрограммного управления. Теорема Глушкова. Понятия операционного и управляющих автоматов.
- •50.Кодирование внутренних состояний ца.
32. Преобразование дка в рв.
Если язык L=L(A) язык некоторого ДКА, то существует регулярное выражения, которые это язык описывают:
Способ: вводится регулярное выражение следующего вида: - регулярное выражение, язык которого состоит из множества путей ведущих из состояния i в состояние j для автомата А и не имеющих промежуточных состояний больше чем К. Данная процедура итерационная:
33. Преобразование дка в рв. Метод сокращения состояний.
Если исключить все пути S, ведущие из состояния q в p,то потребуется на дуге ведущей из q в p написать все метки. В результате получаем что, метка записывается в виде цепочки (РВ)
Стратегия построение РВ по конечному автомату такова.
Для каждого допускающего состояния q применить описанный выше процесс сокращения. Исключить все состояния кроме q и q0.
Если q≠q0, то должен остаться автомат с двумя состояниями. Причем РВ записывается в виде
Если q≠q0 то регулярное выражение R* задает цепочки допускаемые этим автоматом
34. Преобразование рв в конечный автомат.
Любой язык, определяемый регулярным выражением, можно задать некоторым конечным автоматом.
Док-во: Предположим, что L= L(R) для РВ R. Покажем, что L= L(Е) для некоторого ε-НКА Е, обладающего следующими свойствами.
Он имеет 1 допускающее состояние
У него нет дуг, ведущих в начальное состояние.
У него нет дуг выходящих из допускающего состояния
Доказательство проводится структурной индукцией по выражению R
а) R+S
б) RS
в) R*
35. Применение регулярных выражений.
Одним из наиболее ранних применений регулярных выражений было использование их для спецификации компонента компилятора, называемого «Лексическим анализатором». Этот компонент анализирует исходную программу и распознает лексемы (идентификаторы, ключевые слова), т.е. подцепочки последовательных символов, логически со9ставляющее единое целое.
Регулярные выражения также очень полезны для описания процедур поиска желаемых образцов в больших хранилищах текстов (например, Web). Хотя инструментальные средства для этого развиты не так хорошо, как для лексических анализаторов. Общая проблема для которой технология регулярных выражений оказалась весьма полезно, заключается в описании нечетко определенного класса образцов в тексте
36. Алгоритмические законы для РВ.
Коммутативность – это свойство операции, заключающееся в том, что при перестановке ее операндов результат не меняется. Ассоциативность – это свойство операции группировать операнды, если оператор применяется дважды.
Для РВ выполняются три закона такого типа:
L+M = M+L, т. е. коммутативный закон для объединения утверждает, что 2 языка можно объединять в любом порядке.
(L+M)+N= L+(M+N). Ассоциативный закон объединения
(LM)N= L(MN). Ассоциативный закон конкатенации
Этот закон гласит, что является единицей объединения
Этот закон гласит, что является единицей конкатенации
Этот закон гласит, что является нулевым элементом конкатенации
L(M+N)= LM+LN. Левосторонний дистрибутивный закон конкатенации относительно объединения
(M+N)L= ML+NL. Правосторонний дистрибутивный закон конкатенации относительно объединения
L+L=L Закон идемпотентности операции объединения
(L*)*= L* Закон утверждает, что при повторной итерации язык уже итерированного выражения не меняется.
*= ; *= ; L+=LL*= L*L; L*= L++