Главная » Просмотр файлов » Свойства регулярных языков

Свойства регулярных языков (1134638), страница 6

Файл №1134638 Свойства регулярных языков (Свойства регулярных языков) 6 страницаСвойства регулярных языков (1134638) страница 62019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 6)

Эти производные применяются к регулярнымжение a\L записывается какdaвыражениям аналогично тому, как обычные производные применяются к арифметическим выражениям. Таким образом, если R — регулярное выражение, тоdRdLобозначает то же, что и, если L = L(R):dadad ( R + S ) dR dS=+;а) докажите, чтоdada daб) (∗!) напишите правило для “производной” от RS. Указание. Нужно рассмотреть два случая: язык L(R) включает или не включает цепочку ε. Это правило4.2. ÑÂÎÉÑÒÂÀ ÇÀÌÊÍÓÒÎÑÒÈ ÐÅÃÓËßÐÍÛÕ ßÇÛÊÎÂ1634.2.6.не совпадает с “правилом произведения” для обычных производных, но похоже на него;d ( R*);в) (!) найдите “производную” от итерации, т.е.daг) используя формулы (а)–(в), найдите производную регулярного выражения(0 + 1)*011;dL=∅;д) (∗) опишите такие языки L, для которыхd0dLе) (∗!) опишите такие языки L, для которых= L.d0(!) Докажите замкнутость регулярных языков относительно следующих операций:а) min(L) = {w | w принадлежит L, но ни один собственный префикс цепочки wне принадлежит L};б) max(L) = {w | w принадлежит L, но для любого x ≠ ε цепочка wx не принадлежит L};в) init(L) = {w | для некоторого x цепочка wx принадлежит L}.Указание.

Как и в упражнении 4.2.2, проще всего начать с ДКА для L и преобразовать его для получения нужного языка.4.2.7.(!) Если w = a1a2…an и x = b1b2…bn — цепочки одинаковой длины, то определимalt(w, x) как цепочку, в которой символы цепочек w и x чередуются, начиная с w,т.е. a1b1a2b2…anbn. Если L и M — языки, определим alt(L, M) как множество цепочек вида alt(w, x), где w — произвольная цепочка из L, а x — любая цепочкаиз M такой же длины. Докажите, что из регулярности языков L и M следует регулярность языка alt(L, M).4.2.8.(∗!!) Пусть L — язык. Определим half(L) как множество первых половин цепочекязыка L, т.е. множество {w | существует x, для которой wx принадлежит L, причем|x| = |w|}.

Например, если L = {ε, 0010, 011, 010110}, то half(L) = {ε, 00, 010}. Заметим, что цепочки с нечетной длиной не влияют на half(L). Докажите, что еслиязык L регулярен, то half(L) также регулярен.4.2.9.(!!) Упражнение 4.2.8 можно распространить на многие функции, определяющиедлину части цепочки. Если f — функция, определенная на множестве целых чисел, то обозначим через f(L) множество цепочек {w | существует цепочка x, длякоторой |x| = f(|w|) и wx принадлежит L}.

Например, операция half соответствуеттождественной функции f(n) = n, так как для цепочек из языка half(L) выполняется |x| = |w|. Покажите, что если язык L регулярен, то язык f(L) также регулярен,где f — одна из следующих функций:а) f(n) = 2n (т.е. используются первые трети цепочек);164ÃËÀÂÀ 4. ÑÂÎÉÑÒÂÀ ÐÅÃÓËßÐÍÛÕ ßÇÛÊÎÂб) f(n) = n2 (длина выбираемой части цепочки равна квадратному корню длиныоставшейся части цепочки);в) f(n) = 2n (длина выбираемой части цепочки равна логарифму длины ее остатка).4.2.10. (!!) Пусть L — язык, не обязательно регулярный, в алфавите {0}, т.е. цепочкиязыка L состоят из одних нулей.

Докажите, что язык L* регулярен. Указание. Напервый взгляд эта теорема кажется абсурдной. Чтобы проиллюстрировать истинность утверждения теоремы, приведем один небольшой пример. Рассмотримязык L = {0i | i — простое число}, который, как известно, нерегулярен (см. пример 4.3). Нетрудно доказать, что если j ≥ 2, то 0j принадлежит L*. Посколькучисла 2 и 3 — простые, цепочки 00 и 000 принадлежат L. Если j — четное число,то 0j можно получить, повторив j/2 раз цепочку 00, а если j — нечетное, можновзять одну цепочку 000 и (j – 3)/2 цепочек 00. Следовательно, L* = ε + 000*.4.2.11. (!!) Докажите замкнутость регулярных языков относительно следующей операции: cycle(L) = {w | цепочку w можно представить в виде w = xy, где yx принадлежит L}.

Например, если L = {01, 011}, то cycle(L) = {01, 10, 011, 110, 101}.Указание. Начните с ДКА для языка L и постройте ε-НКА для cycle(L).4.2.12. (!!) Пусть w1 = a0a0a1, а wi = wi-1wi-1ai для всех i > 0. Например, w3 =a0a0a1a0a0a1a2a0a0a1a0a0a1a2a3. Кратчайшим регулярным выражением для языкаLn = {wn}, т.е. языка, состоящего из цепочки wn, будет сама wn, причем длинаэтого выражения равна 2n+1 – 1. Однако, если применить операцию пересечения,то для языка Ln можно записать выражение длиной O(n2).

Найдите такое выражение. Указание. Найдите n языков с регулярными выражениями длины O(n),пересечение которых равно Ln.4.2.13. Свойства замкнутости можно использовать для доказательства нерегулярностинекоторых языков. Докажите, что языкL0n1n = {0n1n | n ≥ 0}нерегулярен. Докажите нерегулярность следующих языков, преобразовав их спомощью операций, сохраняющих регулярность, в язык L0n1n:а) (∗) {0i0j | i ≠ j};б) {0n1m2n-m | n ≥ m ≥ 0}.4.2.14. В теореме 4.8 представлена “конструкция произведения”, в которой по двум данным ДКА построен ДКА, допускающий пересечение языков данных автоматов:а) покажите, как построить конструкцию произведения для НКА (без ε-переходов);б) (!) продемонстрируйте, как построить конструкцию произведения для ε-НКА;в) (∗) покажите, как изменить конструкцию для произведения так, чтобы результирующий ДКА допускал разность языков двух данных ДКА;4.2.

ÑÂÎÉÑÒÂÀ ÇÀÌÊÍÓÒÎÑÒÈ ÐÅÃÓËßÐÍÛÕ ßÇÛÊÎÂ165г) измените конструкцию для произведения так, чтобы результирующий ДКАдопускал объединение языков двух данных ДКА.4.2.15. В доказательстве теоремы 4.8 утверждалось, что с помощью индукции по длинецепочки w можно доказать следующее равенство:δˆ ((qL, qM), w) = ( δˆ L(qL, w), δˆ M(qM, w)).Приведите это доказательство.4.2.16. Завершите доказательство теоремы 4.14, рассмотрев случаи, когда выражение E является конкатенацией двух подвыражений или итерацией некоторого выражения.4.2.17. В теореме 4.16 пропущено доказательство индукцией по длине цепочки w того,)∧что γ (q0, w) = δ (q0, h(w)). Восполните этот пробел.4.3.

Ñâîéñòâà ðàçðåøèìîñòè ðåãóëÿðíûõ ÿçûêîâВ этом разделе мы сформируем важные вопросы, связанные с регулярными языками.Сначала нужно разобраться, что значит задать вопрос о некотором языке. Типичныйязык бесконечен, поэтому бессмысленно предъявлять кому-нибудь цепочки этого языкаи задавать вопрос, требующий проверки бесконечного множества цепочек.

Гораздо разумнее использовать одно из конечных представлений языка, а именно: ДКА, НКА, εНКА или регулярное выражение.Очевидно, что представленные таким образом языки будут регулярными. В действительности не существует способа представления абсолютно произвольных языков. Вследующих главах предлагаются конечные методы описания более широких классов,чем класс регулярных языков, и можно будет рассматривать вопросы о языках из них.Однако алгоритмы разрешения многих вопросов о языках существуют только для классарегулярных языков.

Эти же вопросы становятся “неразрешимыми” (не существует алгоритмов ответов на эти вопросы), если они поставлены с помощью более “выразительных” обозначений (используемых для выражения более широкого множества языков),чем представления, разработанные для регулярных языков.Начнем изучение алгоритмов для вопросов о регулярных языках, рассмотрев способы, которыми одно представление языка преобразуется в другое.

В частности, рассмотрим временную сложность алгоритмов, выполняющих преобразования. Затем рассмотрим три основных вопроса о языках.1.Является ли описываемый язык пустым множеством?2.Принадлежит ли некоторая цепочка w представленному языку?3.Действительно ли два разных описания представляют один и тот же язык? (Этот вопрос часто называют “эквивалентностью” языков.)166ÃËÀÂÀ 4. ÑÂÎÉÑÒÂÀ ÐÅÃÓËßÐÍÛÕ ßÇÛÊÎÂ4.3.1.

Ïðåîáðàçîâàíèÿ ðàçëè÷íûõ ïðåäñòàâëåíèé ÿçûêîâИз главы 3 известно, что каждое из четырех представлений регулярных языков можно преобразовать в любое из остальных трех. На рис. 3.1 представлены переходы от одного представления к другому. Хотя существуют алгоритмы для любого из этих преобразований, иногда нас интересует не только осуществимость некоторого преобразования,но и время, необходимое для его выполнения. В частности, важно отличать алгоритмы,которые занимают экспоненциальное время (время как функция от размера входныхданных) и, следовательно, могут быть выполнены только для входных данных сравнительно небольших размеров, от тех алгоритмов, время выполнения которых является линейной, квадратичной или полиномиальной с малой степенью функцией от размеравходных данных. Последние алгоритмы “реалистичны”, так как их можно выполнить длягораздо более широкого класса экземпляров задачи.

Рассмотрим временную сложностькаждого из обсуждавшихся преобразований.Преобразование НКА в ДКАВремя выполнения преобразования НКА или ε-НКА в ДКА может быть экспоненциальной функцией от количества состояний НКА. Начнем с того, что вычисление εзамыкания n состояний занимает время O(n3). Необходимо найти все дуги с меткой ε, ведущие от каждого из n состояний. Если есть n состояний, то может быть не более n2 дуг.Разумное использование системных ресурсов и хорошо спроектированные структурыданных гарантируют, что время исследования каждого состояния не превысит O(n2). Вдействительности для однократного вычисления всего ε-замыкания можно использоватьтакой алгоритм транзитивного замыкания, как алгоритм Уоршалла (Warshall)5.После вычисления ε-замыкания можно перейти к синтезу ДКА с помощью конструкции подмножеств.

Характеристики

Тип файла
PDF-файл
Размер
599,72 Kb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6363
Авторов
на СтудИзбе
310
Средний доход
с одного платного файла
Обучение Подробнее