Главная » Просмотр файлов » Хопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений

Хопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений (1082271), страница 40

Файл №1082271 Хопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений (Хопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений) 40 страницаХопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений (1082271) страница 402018-01-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

1. Состояния р и д различимы, т.е, существует некоторая цепочка эе, для которой толь- ко одно из состояний 6 (р,чо) и Б (д,ж) является допускаюшим. 2. Алгоритм заполнения таблицы не может обнаружить, что состояния р и д различимы. Назовем такую пару состояний пчохой парой. Если существуют плохие пары, то среди них должны быть такие, которые различимы с помощью кратчайших из всех цепочек, различающих плохие пары. Пусть пара ГЛАВА 4.

СВОЙСТВА РЕГУЛЯРНЫХ ЯЗЫКОВ 174 (Р, ф — плохая, а и = а~ам..а„— кратчайшая из всех цепочек, различающих р и и. То- гда только одно из состояний д (р, и ) и 8 (и, ж) является допускающим. Заметим, что цепочка ж не может быть а, так как, если некоторая пара состояний различается с помощью а то ее можно обнаружить, выполнив базисную часть алгоритма заполнения таблицы. Следовательно, и > 1. Рассмотрим состояния г = с(р, а,) и з = Щ а~). Эти состояния можно различить с помощью цепочки д ад..а„, поскольку она переводит г и я в состояния 6 (р,м) и 8 (д,в). Однако цепочка, отличающая г от ж короче любой цепочки, различающей плохую пару.

Следовательно, («, з) не может быть плохой парой, и алгоритм заполнения таблицы должен был обнаружить, что эти состояния различимы. Но индуктивная часть алгоритма заполнения таблицы не остановится, пока не придет к выводу, что состояния р и и также различимы, поскольку уже обнаружено, что состояаие с(р, а,) = г отличается от фд, а~) = з. Получено противоречие с предположением о том, что существуют плохие пары состояний.

Но если плохих пар нет, то любую пару различимых состояний можно обнаружить с помощью алгоритма заполнения таблицы, и теорема доказана. СЗ 4.4.2. Проверка эквивалентности Регулярных языков Эквивалентность регулярных языков легко проверяется с помощью алгоритма заполнения таблицы. Предположим, что языки 1 и М представлены, например, один — регулярным выражением, а второй — некоторым НКА. Преобразуем каждое из этих представлений в ДКА. Теперь представим себе ДКА, состояния которого равны обьединению состояний автоматов для языков 1 и М. Технически этот ДКА содержит два начальных состояния, но фактически при проверке эквивалентности начальное состояние не играет никакой роли, поэтому любое из этих двух состояний можно принять за единственное начальное.

Далее проверяем эквивалентность начальных состояний двух заданных ДКА, используя алгоритм заполнения таблицы. Если они эквивалентны, то 1 = М, а если нет, то 1 и М. Пример 4.21. Рассмотрим два ДКА (рис. 4.! 0). Каждый ДКА допускает пустую цепочку и все цепочки, которые заканчиваются символом О, т.е.

язык регулярного выражения е '- (О + 1) О. Можно представить, что на рис. 4.10 изображен один ДКА, содержащий пять состояний от А до Е. Если применить алгоритм заполнения таблицы к этому автомату, то в результате получим таблицу, представленную на рис. 4.1!. Чтобы заполнить эту таблицу, начнем с размещения х в ячейках, соответствующих тем парам состояний, из которых только одно является допускающим. Оказывается, что больше делать ничего не нужно. Остальные четыре пары (А, С), (А, О), (С, Р) и (В, Е) являются парами эквивалентных состояний. Необходимо убедиться, что в индуктивной части алгоритма заполнения таблицы различимые состояния не обнаружены.

Например, с помощью такой таблицы (см. рис. 4.11) нельзя различить пару (А„В), так как по символу 0 эти состояния переходят сами в себя, а по ! — в пару состояний (В, Е), которая 4.4. ЭКВИВАЛЕНТНОСТЬ И МИНИМИЗАЦИЯ АВТОМАТОВ осталась неразличимой. Поскольку в результате проверки установлено, что состояния А и С эквиваленты и являются начальными у двух заданных автоматов, делаем вывод, что эти ДКА действительно допускают один и тот же язык. П Начал Нача Рис.

4.10. Два зквивалентнылДКА А В С О Рис. 411. Таблица различимости для автоматов, представленных на рнс. 410 Время заполнения таблицы, а значит и время проверки эквивалентности двух состояний, полиномиально относительно числа состояний. Если число состояний равно п, то количество пар состояний равно (г), или п(п — 1)12. За один цикл рассматриваются все пары состояний„ чтобы определить, является ли одна из пар состояний-преемников различимой. Значит, один цикл занимает время не больше 0(п ), Кроме того, если в некотором цикле не обнаружены новые пары различимых состояний, то алгоритм заканчивается. Следовательно, количество циклов не превышает 0(п ), а верхняя граница времени г заполнения таблицы равна 0(пл).

Однако с помощью более аккуратно построенного алгоритма можно заполнить таблицу за время 0(пг). С этой целью для каждой пары состояний (г, л) необходимо составить список пар состояний (р, о), "зависящих" от (г, л), т,е., если пара (г, л) различима, то (Р, с)) также различима. Вначале такие списки создаются путем рассмотрения каждой ГЛАВА 4. СВОИСТВА РЕГУЛЯРНЫХ ЯЗЫКОВ 176 пары состояний 1р, 9), и для каждого входного символа а (а их число фиксировано) лара 1р, 9) вносится в список дпя пары состояний-преемников 1о1р, а), о19, а)) . Если обнаруживается, что пара (г, з) различима, то в списке этой пары каждая пока неразличимая пара отмечается как различимая и помещается в очередь пар, списки которых нужно проверить аналогичным образом.

Общее время работы этого алгоритма пропорционально сумме длин списков, так как каждый раз либо что-то добавляется в списки (инициализация), либо в первый н последний раз проверяется наличие некоторой пары в списке (когда проходим по списку пары, прюпанной различимой). Так как размер входного алфавита считается постоянным, то каждая пара состояний попадает в О(!) списков. Поскольку всего пар 0(п~), суммарное время также 0(п~).

4.4.3. Минимизация ДКА Еще одним важным следствием проверки эквивалентности состояний является возможность "минимизации" ДКА. Это значит, что для каждого ДКА можно найти эквивалентный ему ДКА с наименьшим числом состояний. Более того, для данного языка существует единственный минимальный ДКА (с точностью до выбираемого нами обозначеппя состояний), Основная идея минимизации ДКА состоит в том, что понятие эквивалентности состояний позволяет объединять состояния в блоки следующим образом. 1.

Все состояния в блоке эквиваленты. 2. Любые два состояния, выбранные из разных блоков, пеэквивалентны. Пример 4.22. Рассмотрим рис. 4.9, на котором представлены эквивалентность и разлпчпмость для состояний, изображенных на рис. 4.8. Эти состояния разбиваются на эквивалентные блоки следующим образом: (1А, Е), 1В, Н), 1С), (О, Е), 10)). Заметим, что каждая пара эквивалентных состояний помещена в отдельный блок, а состояния, отличпмые от всех остальных, образуют отдельные блоки.

Для автомата, представленного на рис. 4.10, разбиение на блоки имеет вид (1А, С, О), 1В, Е)). Этот пример показывает, что в блоке может быть более двух состояний. Может показаться случайностью, что состояния А, С и 0 помещены в один блок потому, что каждые два из них эквивалентны и ни одно из этих состояний не эквивалентно еше какочу-нибудь состоянию, кроме этих. Однако следующая теорема утверждает, что такая ситуация следует из определения эквивалентности состояний. П Теорема 4.23.

Эквивалентность состояний транзитивна, т.е., если для некоторого ДКА А = Я, Х, б, дщ г) состояние р эквивалентно д, а д — г, то состояния р и г также эквивалентны. Доказательство. Естественно ожидать, что любое отношение, называемое "эквивалентностью", обладает свойством транзитивности. Однако, просто назвав какое-то от- 177 4.4.

ЭКВИВАЛЕНТНОСТЬ И МИНИМИЗАЦИЯ АВТОМАТОВ ношение "эквивалентностью", нельзя гарантировать, что оно транзитивно — это нуж- но доказать. Предположим, что (р, су) и (~7, г) — пары эквивалентных состояний, а пара (р, г)— различима. Тогда должна существовать такая цепочка н, для которой только одно из состояний а (р, ч ) и б (г, м) является допускающим.

Используя симметрию, предположим, что а (р, и) — допускающее, Теперь посмотрим, будет ли состояние Б (д, ч) допускающим. Если оно допускающее, то пара (д, г) различима, так как состояние а (д, ж) — допускающее, а а (», ж)— нет. Если б (д, м) не допускающее, то по аналогичным причинам пара (р, ф различима.

Полученное противоречие доказывает неразличимость пары (р, г), т.е. состояния р и г эквивалентны. П Теорему 4.23 можно использовать для обоснования очевидного алгоритма разбиения состояний. Для каждого состояния д строится блок, состоящий из д и всех эквивалентных ему состояний. Необходимо доказать, что результирующие блоки образуют разбиение множества состояний, т.е. ни одно состояние не принадлежит двум разным блокам, Сначала заметим, что состояния внутри каждого блока взаимно эквивалентны, т.е., если р и г принадлежат блоку состояний, эквивалентных д, то согласно теореме 4.23 они эквивалентны.

Предположим, что существуют два пересекающихся, но не совпадающих блока, т.е. существует блок В, содержащий состояния р и д, и блок С, который содержит р, но не ~у. Поскольку состояния р и су принадлежат одному блоку, то они эквивалентны. Рассмотрим возможные варианты построения блока С. Если этот блок образован состоянием р, то д было бы в блоке С, так как этн состояния эквивалентны. Следовательно, существует некоторое третье состояние е, порождающее блок С, т.е. С вЂ” это множество состояний, эквивалентныхж Состояния р и з эквивалентны, так как оба принадлежат С. Также р эквивалентно ~7, потому что оба эти состояния принадлежат В.

Согласно свойству транзитивности, доказанному в теореме 4.23, состояние 7 эквивалентно д Но тогда д принадлежит блоку С, что противоречит предположению о существовании пересекающихся, но не совпадающих блоков. Итак, эквивалентность состояний задает их разбиение, т.е. любые два со- стояния имеют или совпадающие, илн не пересекающиеся множества эквивалентных им состояний. Следующая теорема подытоживает результаты проведенного анализа. Теорема 4.24.

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

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

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