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

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

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

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

Определим Л/= (Д, Х, бн, о/о, Р) как эквивалентный ему НКА, где 4, определена следующим правилом. ° Если бо(!/, а/ = р, то 4о(а, а) = (р). Иидукцией по !1е! легко показать, что, если 6 о(</, и) = р, то б н(с/о, и') = (р). Доказательство предоставляется читателю. Как следствие, /Э допускает !с тогда и только тогда, когда Л/ допускает в, т.е. /(/Э) = /(/ч). П 2.3.6. Плохой случай для конструкции подмножеств В примере 2.!О мы обнаружили, что число состояний ДКА и число состояний НКА одинаково. Как мы уже говорили, ситуация, когда количества состояний НКА и построенного по нему ДКА примерно одинаковы, на практике встречается довольно часто. Однако прн переходе от НКА к ДКА возможен и экспоненциальный рост числа состояний, т.е.

все 2' состояний, которые могут быть построены по НКА, имеюшему и состояний, оказываются достижимыми. В следуюшем примере мы немного не дойдем до этого предела, но будет ясно, каким образом наименьший ДКА, построенный по НКА с и е 1 состояниями, может иметь 2" состояний. Пример 2.13. Рассмотрим НКА на рис. 2.15. /(Л/) есть множество всех цепочек из О и 1, у которых и-м символом с конца является 1. Интуиция подсказывает, что ДКА /1, допускаюший данный язык, должен помнить последние и прочитанных символов. Поскольку всего имеется 2" последовательностей, состоящих из последних и символов, то при числе состояний /) меньше 2" нашлось бы состояние !/, в которое Р попадает по прочтении двух разных последовательностей, скажем, а,а,...а„и Ь|Ьь ..Ь„.

О,! 1 Рис. 2./5. Этот НКА не имеет эквиволентногоДКА, число состояний которого меньше 2" Поскольку последовательности различны, они должны различаться символом в некоторой позиции, например, а; иЬ, Предположим (с точностью до симметрии), что а, = 1 и Ь, = О. Если / = 1, то состояние !/ должно быть одновременно и допускаюшим, и недо- 2.3. НЕДЕТЕРМИНИРОВАННЫЕ КОНЕЧНЫЕ АВТОМАТЫ 81 пускающим, поскольку последовательность а|аз...а„допустима (л-й символ с конца есть 1), а Ь|Ьз...܄— нет. Если же! > 1, то рассмотрим состояние р, в которое 22 попадает из состояния д по прочтении цепочки из ! — 1 нулей. Тогда р вновь должно одновременно и быть, и не быть допускающим, так как цепочка аа; н..а„00...0 допустима, а Ь,Ьнч Ь„ОО...Π— нет.

Теперь рассмотрим, как работает НКА Ф на рис. 2.15. Существует состояние д,, в котором этот НКА находится всегда, независимо от входных символов. Если следующий символ — 1, то Ж может "догадаться", что эта 1 есть л-й символ с конца. Поэтому одновременно с переходом в ц, НКА Ю переходит в состояние дн Из состояния д1 по любому символУ АГ пеРеходит в состоЯние 9з. СледУющий символ пеРеводит У в состоЯние дз и так далее, пока л — 1 последующий символ не переведет Аг в допускающее состояние <у„.

Формальные утверждения о работе состояний А! выглядят следующим образом, 1. А! находится в состоянии 9в по прочтении любой входной последовательности зг. 2. У находится в состоянии д,(! = 1, 2,...,л) по прочтении входной последовательности н тогда и только тогда, когда г-й символ с конца и есть 1, т.е. и имеет вид х!а,аз...аьн где а, — входные символы. "Принцип голубятни" В примере 2.13 мы использовали важный технический прием, применяемый в различных обоснованиях. Он называется принципом голубятни.~ Простыми словами, если у вас больше голубей, чем клеток для них, и каждый голубь залетает в одну из клеток, то хотя бы в одной клетке окажется больше одного голубя. В нашем примере "голубями" являются последовательности из л элементов, а "клетками*' — состояния.

Поскольку состояний меньше, чем последовательностей, две различные последова- тельности должны вести в одно и то же состояние. Принцип голубятни может показаться очевидным, но в действительности он зависит от конечности числа клеток. Поэтому он применим к автоматам с конечным числом состояний и неприменим к автоматам, число состояний которых бесконечно. Чтобы убедиться в том, что конечность числа клеток существенна, рассмотрим случай, когда есть бесконечное число клеток, соответствующих целым числам 1, 2, .... Проиумеруем голубей числами О, 1, 2, ..., т.е.

так, чтобы их было на одного больше, чем клеток. Тогда можно поместить голубя с номером ! в (1+ 1)-ю клетку для всех ! > О. Тогда каждый из бесконечного числа голубей попадет в клетку, и никакие два голубя не окажутся в одной клетке. Мы не доказываем эти утверждения формально. Скажем лишь, что доказательство представляет собой несложную индукцию по ~зг), как в примере 2.9. Завершая доказа- ' В русскоязычной литературе часто употребляется термин "принцип Днрнхле*'. — Прин. лед. ГЛАВА 2. КОНЕЧНЫЕ АВТОМАТЫ 82 тельство того, что данный автомат допускает именно те цепочки, у которых на и-й позиции с конца стоит 1, мы рассмотрим утверждение (2) при 1= и, В нем говорится, что Ф находится в состоянии д„тогда и только тогда, когда и-й символ с конца есть 1.

Но ~у„является единственным допускающим состоянием, поэтому это условие также точно характеризует множество цепочек, допускаемых автоматом Ю, С) 2.3.7. Упражнения к разделу 2.3 2.3.1. Преобразуйте следуюший НКА в эквивалентный НКА. 2.3.2. Преобразуйте следующий НКА в эквиваяентный ДКА 2.3.3. Преобразуйте следующий НКА в эквивалентный ДКА и опишите неформально язык, который он допускает. 2.3,4.

(!)Найдите недетерминированные конечные автоматы, которые допускают следуюшие языки. Постарайтесь максимально использовать возможности не- детерминизма; а) (е) множество цепочек над алфавитом (О, 1, ..., 9), последняя цифра которых встречается еще где-то в них; 83 2.3. НЕДЕТЕРМИНИРОВАННЫЕ КОНЕЧНЫЕ АВТОМАТЫ Дьявольские состояния и ДКА с неопределенными переходами Формально определяя ДКА, мы требовали, чтобы по каждому входному символу он имел переход в одно и только одно состояние.

Однако иногда бывает более удобно устроить ДКА таким образом, чтобы он 'умирал" в ситуации, когда входная последовательность уже не может быть допустимой, что бы к ней ни добавлялось. Рассмотрим, например, автомат на рис. 1.2, единственной задачей которого является распознавание одиночного ключевого слова 1)зеп. Чисто технически, данный автомат не является ДКА, так как для каждого состояния в нем отсутствуют переходы по большинству входных символов. Но этот автомат является НКА. И если посредством конструкции подмножеств превратить его в ДКА, то вид автомата практически не изменится, хотя при этом в нем появится дьявольское состояние, которое не является допускающим и переходит само в себя по любому символу. Это состояние соответствует И вЂ” пустому множеству состояний автомата на рис. 1.2.

Вообще говоря, можно добавить дьявольское состояние в любой автомат, если он имеет ие более одного перехода для всякого состояния и входного символа. Тогда добавляется переход в дьявольское состояние из остальных состояний а по всем символам, для которых переход из а не определен. В результате получается ДКА в точном смысле слова. Поэтому иногда будем говорить об автомате как о ДКА, если он имеет не более одного перехода из любого состояния по любому входному символу, а не только в случае, когда он имеет только один переход. б) множество цепочек над алфавитом 10, 1, ..., 9), последняя цифра цепочки которых больше нигде в них не встречается; в) множество цепочек из О и 1, в которых содержится два О, разделенных позициями в количестве, кратном 4.

Отметим, что нуль позиций можно также считать кратным 4. (1) В замечании "Дьявольские состояния и ДКА с неопределенными переходами" утверждалось, что если НКА Ф по каждому входному символу содержит переход не более чем в одно состояние (т.е. ЙО, а) есть не более чем одноэлементное множество), то ДКА Р, построенный по Ф с помощью конструкции подмножеств, содержит точно те же состояния и переходы, что и А', плюс переходы в новое дьявольское состояние из тех состояний и по тем входным символам, для которых переходы Ю не определены.

Докажите это 2.3.6. утверждение. ГЛАВА 2. КОНЕЧНЫЕ АВТОМАТЫ 84 2.3.5. В части "необходимость" теоремы 2.!2 было пропущено индуктивное доказательство того, что если б о(су, и ) = р, то б н(~у, зг) = 1р), где индукция велась бы по 1зг~. Приведите это доказательство. 2.3.7. В примере 2.13 утверждалось, что НКА находится в состоянии о, 1! = 1, 2, ..., и) по прочтении входной последовательности и тогда и только тогда, когда 1-й символ с конца есть ! . Докажите это утверждение. 2.4. Приложение: поиск в тексте В предыдущем разделе была рассмотрена абстрактная "проблема", состоявшая в том, что нужно было выяснить, оканчивается ли данная последовательность двоичных чисел на О1. В этом разделе мы увидим, что подобного рода абстракции прекрасно подходят лля описания таких реальных задач, возникающих в приложениях, как поиск в сети 1пгегвез н извлечение информации из текста.

2.4.1. Поиск цепочек в тексте В век 1пзегпег и электронных библиотек с непрерывным доступом обычной является следующая проблема. Задано некоторое множество слов, и требуется найти все документы, в которых содержится одно (или все) из них. Популярным примером такого процесса служит работа поисковой машины, которая использует специальную технологию поиска, называемую обращенными индексами (~пиепед 1пдехез). Для каждого слова, встречающегося в !пзегпез (а их около 100,000,000), хранится список адресов всех мест, где оно встречается. Машины с очень большим объемом оперативной памяти обеспечивают постоянный доступ к наиболее востребованным из этих списков, позволяя многим людям одновременно осуществлять поиск документов. В методе обращенных индексов конечные автоматы не используются, но этот метод требует значительных затрат времени для копирования содержимого сети и переписывания индексов.

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

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

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