Главная » Просмотр файлов » dzhon_khopkroft_radzhiv_motvani_dzheffri _ulman_vvedenie_v_teoriyu_avtomatov_yazy kov_i_vychisleniy_2008

dzhon_khopkroft_radzhiv_motvani_dzheffri _ulman_vvedenie_v_teoriyu_avtomatov_yazy kov_i_vychisleniy_2008 (852747), страница 26

Файл №852747 dzhon_khopkroft_radzhiv_motvani_dzheffri _ulman_vvedenie_v_teoriyu_avtomatov_yazy kov_i_vychisleniy_2008 (Введение в теорию автоматов) 26 страницаdzhon_khopkroft_radzhiv_motvani_dzheffri _ulman_vvedenie_v_teoriyu_avtomatov_yazy kov_i_vychisleniy_2008 (852747) страница 262021-10-05СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

3.8 показано, что получится, если исключить состояние s. Все дуги, проходящиечерез s, удалены. Чтобы это компенсировать, для каждого состояния qi, предшествующегоs, и для каждого pj, следующего за s, вводится регулярное выражение, представляющее всепути, которые начинаются в qi, идут к s, возможно, проходят петлю на s нуль или несколькораз, и наконец ведут в pj. Выражение для таких путей равно QiS*Pj.

Это выражение добавляется (с помощью оператора объединения) к выражению над дугой из qi в pj. Если дугаqi → pj отсутствует, то вначале ей соответствует регулярное выражение ∅.3.2. ÊÎÍÅ×ÍÛÅ ÀÂÒÎÌÀÒÛ È ÐÅÃÓËßÐÍÛÅ ÂÛÐÀÆÅÍÈßСтр. 115115Рис. 3.7. Состояние s, подлежащее исключениюРис. 3.8. Результат исключения состояния s из автомата, изображенного на рис. 3.7116Стр.

116ÃËÀÂÀ 3. ÐÅÃÓËßÐÍÛÅ ÂÛÐÀÆÅÍÈß È ßÇÛÊÈСтратегия построения регулярного выражения по конечному автомату такова.1.Для каждого допускающего состояния q применить описанный выше процесс сокращения, чтобы построить эквивалентный автомат с дугами, помеченными регулярнымивыражениями. Исключить все состояния, кроме q и начального состояния q0.2.Если q ≠ q0, то должен остаться автомат с двумя состояниями, подобный автомату нарис. 3.9.

Регулярное выражение для допустимых цепочек может быть записано поразному. Один из видов — (R + SU*T)*SU*. Поясним его. Можно переходить из начального состояния в него же любое количество раз, проходя путями, метки которыхпринадлежат либо L(R), либо L(SU*T). Выражение SU*T представляет пути, которыеведут в допускающее состояние по пути с меткой из языка L(S), затем, возможно,несколько раз проходят через допускающее состояние, используя пути с метками изL(U), и наконец возвращаются в начальное состояние, следуя по пути с меткой изL(T).

Отсюда нужно перейти в допускающее состояние, уже никогда не возвращаясьв начальное, вдоль пути с меткой из L(S). Находясь в допускающем состоянии, можно сколько угодно раз вернуться в него по пути с меткой из L(U).НачалоРис. 3.9. Обобщенный автомат с двумя состояниями3.Если же начальное состояние является допускающим, то необходимо точно так жеисключить состояния исходного автомата, удалив все состояния, кроме начального.В результате получим автомат с одним состоянием, подобный представленному нарис.

3.10. Регулярное выражение R* задает цепочки, допускаемые этим автоматом.НачалоРис. 3.10. Обобщенный автомат с одним состоянием4.Искомое выражение представляет собой сумму (объединение) всех выражений, полученных с помощью сокращенного автомата для каждого допускающего состояниясогласно правилам 2 и 3.Пример 3.6. Рассмотрим НКА, представленный на рис. 3.11, допускающий цепочки изнулей и единиц, у которых либо на второй, либо на третьей позиции с конца стоит 1.

Вначале преобразуем этот автомат в автомат с регулярными выражениями в качестве меток.3.2. ÊÎÍÅ×ÍÛÅ ÀÂÒÎÌÀÒÛ È ÐÅÃÓËßÐÍÛÅ ÂÛÐÀÆÅÍÈßСтр. 117117Пока исключение состояний не производилось, то все, что нам нужно сделать, это заменитьметки “0, 1” эквивалентным регулярным выражением 0 + 1. Результат показан на рис. 3.12.НачалоРис.

3.11. НКА, допускающий цепочки, у которых 1 находится либо на второй, либона третьей позиции с конца цепочкиНачалоРис. 3.12. Автомат, изображенный на рис. 3.11, с регулярными выражениями в качестве метокИсключим сначала состояние B. Поскольку это состояние не является ни начальным,ни допускающим, то его не будет ни в одном из сокращенных автоматов. Мы избавимсяот лишней работы, если исключим это состояние до того, как начнем строить два сокращенных автомата, соответствующих двум его допускающим состояниям.Существует одно состояние А, предшествующее B, и одно последующее состояние C.Используя обозначения регулярных выражений диаграммы, представленной на рис. 3.7,получим: Q1 = 1, P1 = 0 + 1, R11 = ∅ (потому что из A в C дуги нет) и S = ∅ (посколькунет петли в состоянии B).

В результате, выражение над новой дугой из A в C равно ∅ +1∅*(0 + 1).Для сокращения полученного выражения сначала исключаем первый элемент ∅, который можно игнорировать при объединении. Выражение приобретает вид 1∅*(0 + 1). Напомним, что регулярное выражение ∅* эквивалентно регулярному выражению ε, посколькуL(∅*) = {ε} U L(∅) U L(∅)L(∅) U …Все члены этого объединения, кроме первого, пусты, поэтому L(∅*) = {ε}, что совпадает с L(ε). Следовательно, 1∅*(0 + 1) эквивалентно выражению 1(0 + 1), которое использовано для дуги A → C на рис. 3.13.НачалоРис.

3.13. Исключение состояния BДалее нужно по отдельности исключить состояния C и D. Процедура исключения состояния C аналогична описанному выше исключению состояния B, в результате чего получится автомат, представленный на рис. 3.14.118Стр. 118ÃËÀÂÀ 3. ÐÅÃÓËßÐÍÛÅ ÂÛÐÀÆÅÍÈß È ßÇÛÊÈНачалоРис. 3.14.

Автомат с двумя состояниями A и DВ обозначениях обобщенного автомата с двумя состояниями, изображенного нарис. 3.9, соответствующие регулярные выражения для рис. 3.14 равны: R = 0 + 1,S = 1(0 + 1)(0 + 1), T = ∅ и U = ∅. Выражение U* можно заменить на ε, т.е. исключитьего из конкатенации, поскольку, как показано выше, ∅* = ε. Кроме того, выражение SU*Tэквивалентно ∅, потому что T — один из операндов конкатенации — равен ∅. Такимобразом, общее выражение (R + SU*T)*SU* в данном случае упрощается до R*S, или(0 + 1)*1(0 + 1)(0 + 1).

Говоря неформально, язык этого выражения состоит из цепочек,заканчивающихся единицей с двумя последующими символами, каждый из которых может быть либо нулем, либо единицей. Этот язык представляет одну часть цепочек, которые допускаются автоматом, изображенным на рис. 3.11: у них на третьей позиции сконца стоит 1.Теперь снова нужно вернуться к рис. 3.13 и исключить состояние D. Поскольку вэтом автомате нет состояний, следующих за D, то согласно рис. 3.7 необходимо лишьудалить дугу, ведущую из C в D, вместе с состоянием D. В результате получится автомат,показанный на рис.

3.15.НачалоРис. 3.15. Автомат с двумя состояниями, полученный в результате исключения состояния DÏîðÿäîê èñêëþ÷åíèÿ ñîñòîÿíèéКак было отмечено в примере 3.6, если состояние не является ни начальным, ни допускающим, то оно исключается во всех сокращенных автоматах. Таким образом,одно из преимуществ процесса исключения состояний по сравнению с механическойгенерацией регулярных выражений, описанной в разделе 3.2.1, состоит в том, чтосначала мы раз и навсегда исключаем все состояния, которые не являются ни начальными, ни допускающими.

Мы вынуждены повторять процедуру сокращения, толькокогда необходимо исключить несколько допускающих состояний.Но даже и в этом случае можно совместить некоторые действия процедуры сокращения. Например, если автомат содержит три допускающих состояния p, q и r, то можновначале исключить p, а затем отдельно исключить либо q, либо r, получив автоматыдля допускающих состояний r и q, соответственно. Затем можно снова начать с трехдопускающих состояний и, исключив состояния q и r, получить автомат для p.3.2. ÊÎÍÅ×ÍÛÅ ÀÂÒÎÌÀÒÛ È ÐÅÃÓËßÐÍÛÅ ÂÛÐÀÆÅÍÈßСтр. 119119Этот автомат очень похож на автомат, изображенный на рис. 3.14; различаются только метки над дугами, ведущими из начального состояния в допускающее. Следовательно,можно применить правило для автомата с двумя состояниями и упростить данное выражение, получив в результате (0 + 1)*1(0 + 1).

Это выражение представляет другой типцепочек, допустимых этим автоматом, — цепочки, у которых 1 стоит на второй позиции с конца.Осталось объединить оба построенные выражения, чтобы получить следующее выражение для всего автомата (см. рис. 3.11).(0 + 1)*1(0 + 1) + (0 + 1)*1(0 + 1)(0 + 1)†3.2.3. Ïðåîáðàçîâàíèå ðåãóëÿðíîãî âûðàæåíèÿ â àâòîìàòТеперь завершим план, представленный на рис. 3.1, показав, что любой язык L, являющийся языком L(R) для некоторого регулярного выражения R, будет также языкомL(E) для некоторого ε-НКА E.

Это доказательство проведем методом структурной индукции по выражению R. Сначала покажем, как строить автоматы для базовых выражений: отдельных символов, ε и ∅. Затем опишем, каким образом объединять эти автоматыв большие автоматы, которые допускают объединение, конкатенацию или итерациюязыков, допускаемых меньшими автоматами.Все конструируемые автоматы представляют собой ε-НКА с одним допускающим состоянием.Теорема 3.7.

Любой язык, определяемый регулярным выражением, можно задать некоторым конечным автоматом.Доказательство. Предположим, что L = L(R) для регулярного выражения R. Покажем, что L = L(E) для некоторого ε-НКА E, обладающего следующими свойствами.1.Он имеет ровно одно допускающее состояние.2.У него нет дуг, ведущих в начальное состояние.3.У него нет дуг, выходящих из допускающего состояния.Доказательство проводится структурной индукцией по выражению R, следуя рекурсивному определению регулярных выражений из раздела 3.1.2.Базис.

Базис состоит из трех частей, представленных на рис. 3.16. В части (а) рассматривается выражение ε. Языком такого автомата является {ε}, поскольку единственный путь из начального в допускающее состояние помечен выражением ε. В части (б)показана конструкция для ∅.

Понятно, что, поскольку отсутствуют пути из начальногосостояния в допускающее, языком этого автомата будет ∅. Наконец, в части (в) представлен автомат для регулярного выражения а. Очевидно, что язык этого автомата состоит из одной цепочки a и равен L(a). Кроме того, все эти автоматы удовлетворяют условиям (1), (2) и (3) индуктивной гипотезы.120Стр.

120ÃËÀÂÀ 3. ÐÅÃÓËßÐÍÛÅ ÂÛÐÀÆÅÍÈß È ßÇÛÊÈεа)б)ав)Рис. 3.16. Базис построения автомата по регулярному выражениюИндукция. Три части индукции представлены на рис. 3.17. Предположим, что утверждение теоремы истинно для непосредственных подвыражений данного регулярноговыражения, т.е. языки этих подвыражений являются также языками ε-НКА с единственным допускающим состоянием. Возможны четыре случая.1.2.3.Данное выражение имеет вид R + S для некоторых подвыражений R и S. Тогда емусоответствует автомат, представленный на рис. 3.17, а. В этом автомате из новогоначального состояния можно перейти в начальное состояние автомата для выражения либо R, либо S. Затем мы попадаем в допускающее состояние одного из этих автоматов, следуя по пути, помеченному некоторой цепочкой из языка L(R) или L(S),соответственно.

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

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

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