Главная » Просмотр файлов » 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), страница 15

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

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

Если существует несколько входных символов, переводящих автомат из состояния q в состояние p, то диаграмма переходов можетсодержать одну дугу, отмеченную списком этих символов;в) диаграмма содержит стрелку в начальное состояние, отмеченную как Начало. Эта стрелка не выходит ни из какого состояния;г) вершины, соответствующие допускающим состояниям (состояниям из F),отмечаются двойным кружком. Состояния, не принадлежащие F, изображаются простым (одинарным) кружком.64Стр. 64ÃËÀÂÀ 2. ÊÎÍÅ×ÍÛÅ ÀÂÒÎÌÀÒÛПример 2.2. На рис. 2.4 изображена диаграмма переходов для ДКА, построенного впримере 2.1.

На диаграмме видны три вершины, соответствующие трем состояниям,стрелка Начало, ведущая в начальное состояние q0, и одно допускающее состояние q1,отмеченное двойным кружком. Из каждого состояния выходят две дуги: одна отмечена0, вторая — 1 (для состояния q1 дуги объединены в одну). Каждая дуга соответствует одному из фактов для δ, построенных в примере 2.1. †НачалоРис. 2.4. Диаграмма переходов для ДКА, допускающего все цепочки, которыесодержат подцепочку 01Òàáëèöû ïåðåõîäîâТаблица переходов представляет собой обычное табличное представление функции,подобной δ, которая двум аргументам ставит в соответствие одно значение. Строки таблицы соответствуют состояниям, а столбцы — входным символам.

На пересечении строки, соответствующей состоянию q, и столбца, соответствующего входному символу a,находится состояние δ (q, a).Пример 2.3. На рис. 2.5 представлена таблица переходов, соответствующая функции δиз примера 2.1. Кроме того, здесь показаны и другие особенности таблицы переходов. Начальное состояние отмечено стрелкой, а допускающее — звездочкой. Поскольку прописные символы строк и столбцов задают множества состояний и символов, у нас есть вся информация, необходимая для однозначного описания данного конечного автомата.

†01→q0q2q0*q1q1q1q2q2q1Рис. 2.5. Таблица переходов для ДКА из примера 2.12.2.4. Ðàñøèðåíèå ôóíêöèè ïåðåõîäîâ íà öåïî÷êèРанее было нестрого обосновано утверждение о том, что всякий ДКА определяетнекоторый язык, а именно: множество всех цепочек, приводящих автомат из начального состояния в одно из допускающих. В терминах диаграмм переходов язык ДКА —это множество меток вдоль всех путей, ведущих из начального состояния в любое допускающее.2.2. ÄÅÒÅÐÌÈÍÈÐÎÂÀÍÍÛÅ ÊÎÍÅ×ÍÛÅ ÀÂÒÎÌÀÒÛСтр. 6565Теперь дадим строгое определение языка ДКА. С этой целью определим расширенную функцию переходов, которая описывает ситуацию, при которой мы, начиная с произвольного состояния, отслеживаем произвольную последовательность входных символов.

Если δ — наша функция переходов, то расширенную функцию, построенную по δ,∧обозначим δ . Расширенная функция переходов ставит в соответствие состоянию q ицепочке w состояние p, в которое автомат попадает из состояния q, обработав входную∧последовательность w. Определим δ индукцией по длине входной цепочки следующим образом.∧Базис. δ (q, ε) = q, т.е., находясь в состоянии q и не читая вход, мы остаемся в состоянии q.Индукция. Пусть w — цепочка вида xa, т.е. a — последний символ в цепочке, а x —цепочка, состоящая из всех символов цепочки w, за исключением последнего.3 Например, w = 1101 разбивается на x = 110 и a = 1. Тогда∧∧δ (q, w) = δ ( δ (q, x), a)(2.1)Выражение (2.1) может показаться довольно громоздким, но его идея проста.

Для то∧∧го чтобы найти δ (q, w), мы вначале находим δ (q, x) — состояние, в которое автоматпопадает, обработав все символы цепочки w, кроме последнего. Предположим, что это∧∧состояние p, т.е. δ (q, x) = p. Тогда δ (q, w) — это состояние, в которое автомат перехо∧дит из p при чтении a — последнего символа w. Таким образом, δ (q, w) = δ (p, a).Пример 2.4. Построим ДКА, допустимым для которого является языкL = {w | w содержит четное число 0 и четное число 1}.Вполне естественно, что состояния данного ДКА используются для подсчета числанулей и единиц. При этом подсчет ведется по модулю 2, т.е.

состояния “запоминают”,четное или нечетное число 0 или 1 было прочитано на данный момент. Итак, существуютчетыре состояния, которые можно описать следующим образом.q0 : Прочитано четное число 0 и четное число 1.q1 : Прочитано четное число 0 и нечетное число 1.q2 : Прочитано четное число 1 и нечетное число 0.q3 : Прочитано нечетное число 0 и нечетное число 1.Состояние q0 одновременно является и начальным, и единственным допускающим.Начальным оно является потому, что до того, как будут прочитаны какие-либо входныеданные, количество прочитанных и 0, и 1 равно нулю, а нуль — число четное. Это же со3Напомним, что мы условились обозначать символы буквами из начальной части алфавита, ацепочки — буквами из конца алфавита.

Это соглашение необходимо для того, чтобы понятьсмысл выражения “цепочка вида xa”.66Стр. 66ÃËÀÂÀ 2. ÊÎÍÅ×ÍÛÅ ÀÂÒÎÌÀÒÛстояние — единственное допускающее, поскольку в точности описывает условие принадлежности последовательности из 0 и 1 языку L.Теперь мы знаем почти все, что нужно для определения ДКА, соответствующего языку L.

Это автоматA = ({q0, q1, q2, q3}, {0, 1}, δ, q0, {q0}),где функция переходов δ изображается диаграммой переходов на рис. 2.6. Заметим,что по каждому символу 0 совершается переход через горизонтальную пунктирнуюлинию. Таким образом, после чтения четного числа символов 0 мы находимся над горизонтальной линией, в состоянии q0 или q1, а после нечетного числа — под ней, в состоянии q2 или q3. Аналогично, символ 1 заставляет нас пересечь вертикальную пунктирную линию. Следовательно, после чтения четного числа единиц мы находимся слева от вертикальной линии, в состоянии q0 или q2, а после чтения нечетного — справа, всостоянии q1 или q3. Эти наблюдения представляют собой нестрогое доказательствотого, что данные четыре состояния интерпретируются правильно. Хотя можно и формально, как в примере 1.23, доказать корректность наших утверждений о состояниях,используя совместную индукцию.НачалоРис.

2.6. Диаграмма переходов для ДКА из примера 2.4Данный ДКА можно также представить таблицей переходов, изображенной нарис. 2.7. Но нам нужно не просто построить ДКА. Мы хотим с его помощью показать,∧как строится функция δ по функции переходов δ. Допустим, на вход подается цепочка110101. Она содержит четное число 0 и 1, поэтому принадлежит данному языку. Таким∧образом, мы ожидаем, что δ (q0, 110101) = q0, так как q0 — единственное допускающеесостояние. Проверим это утверждение.∧Для проверки требуется найти δ (q 0, w) для всех постепенно нарастающих, начиная с ε , префиксов w цепочки 110101. Результат этих вычислений выглядит следующим образом.2.2. ÄÅÒÅÐÌÈÍÈÐÎÂÀÍÍÛÅ ÊÎÍÅ×ÍÛÅ ÀÂÒÎÌÀÒÛСтр. 676701*→q0q2q1*q1q3q0q2q0q3q3q1q2Рис.

2.7. Таблица переходов для ДКА из примера 2.4∧•δ (q0, ε) = q0.•δ (q0, 1) = δ ( δ (q0, ε), 1) = δ (q0, 1) = q1.•δ (q0, 11) = δ ( δ (q0, 1), 1) = δ (q1, 1) = q0.•δ (q0, 110) = δ ( δ (q0, 11), 0) = δ (q0, 0) = q2.•δ (q0, 1101) = δ ( δ (q0, 110), 1) = δ (q2, 1) = q3.•δ (q0, 11010) = δ ( δ (q0, 1101), 0) = δ (q3, 0) = q1.•†∧∧∧∧∧∧∧∧∧∧∧∧δ (q0, 110101) = δ ( δ (q0, 11010), 1) = δ (q1, 1) = q0.Ñòàíäàðòíûå îáîçíà÷åíèÿ è ëîêàëüíûå ïåðåìåííûåПо прочтении этого раздела может сложиться впечатление, что нужно обязательнопользоваться введенными здесь обозначениями, т.е. функцию переходов обозначатьδ, ДКА — буквой A и т.д.

Действительно, во всех примерах мы стараемся использовать одинаковые переменные для обозначения однотипных объектов. Делается этодля того, чтобы легче было вспомнить, о каком типе переменных идет речь. Так, впрограммах i почти всегда обозначает переменную целого типа. Однако в выбореобозначений для компонентов автомата (или чего-либо другого) мы совершенно свободны. Например, при желании мы можем обозначить ДКА буквой M, а его функциюпереходов — буквой T.Более того, нет ничего странного в том, что одна и та же переменная обозначает, взависимости от контекста, разные объекты. Например, функции переходов в примерах 2.1 и 2.4 обозначены буквой δ. Но эти две функции являются локальными переменными и относятся только к своим примерам.

Они значительно отличаются друг отдруга и никак не связаны.2.2.5. ßçûê ÄÊÀТеперь можно определить язык ДКА вида A = (Q, Σ, δ, q0, F). Этот язык обозначаетсяL(A) и определяется как68Стр. 68ÃËÀÂÀ 2. ÊÎÍÅ×ÍÛÅ ÀÂÒÎÌÀÒÛ∧L(A) = { w | δ (q0, w) принадлежит F}.Таким образом, язык — множество цепочек, приводящих автомат из состояния q0 водно из допускающих состояний. Если язык L есть L(A) для некоторого ДКА A, то говорят, что L является регулярным языком.Пример 2.5. Ранее упоминалось, что если A — ДКА из примера 2.1, то L(A) — множество цепочек из 0 и 1, содержащих подцепочку 01. Если же A — ДКА из примера 2.4, тоL(A) — множество всех цепочек из 0 и 1, содержащих четное число 0 и четное число 1. †2.2.6. Óïðàæíåíèÿ ê ðàçäåëó 2.22.2.1.На рис.

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

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

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