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

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

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

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

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

Поэтому на операции, совершаемые системой в целом, автомат клиента не влияет. Безусловно, клиент остается участником, так как именно он инициируе~ действия пилата и отмена, Но, как мы уже говорили, для поведения автоматов неважно, кто именно инициирует те или иные действия. 2. Действия, которые не следует допускать во избежание смерти автолгата. Как упоминалось ранее, чтобы не убить автомат магазина, нельзя позволять покупателю повторно выполнять оплату. С этой целью добавлены петли с меткой оплата ко ГЛАВА 2. КОНЕЧНЫЕ АВТОМАТЫ 58 стояниям автоматов на рис.

2,1 нужно добавить петли с метками, обозначающими действия, которые следует проигнорировать в этих состояниях. Дополненные таким образом автоматы изображены на рис. 2.2, Для экономии места дуги с разными метками, имеющие начало и конец в одном и том же состоянии, объединяются в одну дугу с несколькими метками. Игнорироваться должны следующие два типа действий. всем его состояниям, за исключением состояния а (в котором действие оплата уместно и ожидаемо). Кроме того, добавлены петли с меткой онсмена к состояниям 3 и 4 банка для того, чтобы не допустить смерти автомата банка, если покупатель попытается отменить деньги, которые уже были выкуплены.

Банк с полным правом игнорирует такое требование. Точно так же состояния 3 и 4 имеют петли с меткой выкуп. Магазин не должен пытаться дважды выкупить одни и те же деньги. Но если он все же делает это, то банк совершенно справедливо игнорирует второе требование.

2.1.4. Система в целом как автомат Обычный способ изучения взаимодействия подобных автоматов состоит в построении так называемого автомата-произведеник. Состояниями этого автомата являются пары состояний, первое из которых есть состояние магазина, а второе — состояние банка. Например, состояние автомата-произведения (3, д) представляет ситуацию, когда банк находится в состоянии 3, а магазин — в состоянии а'. Поскольку магазин имеет четыре состояния, а банк — семь, то число состояний автомата-произведения равно 4х7 = 28, Данный автомат-произведение изображен на рис.

2.3. Для ясности все 28 состояний расположены в виде массива, строки которого соответствуют состояниям банка, а столбцы — состояниям магазина. Кроме того, в целях экономии места дуги помечены буквами, каждая из которых соответствует определенному действию: Р— оплата (рау), 5— доставка (заир), С вЂ” от мена (саисеГ), Š— выкуп (гейеет), Т вЂ” перевод (гкап~ее) . Чтобы правильно построить дуги в автомате-произведении, нужно проследить "параллельную" работу автоматов банка и магазина. Каждый из двух компонентов автомата-произведения совершает, в зависимости от входных действий, различные переходы. Важно отметить, что если, получив на вход некоторое действие, один из этих двух автоматов не может совершить переход ни в какое состояние, то автомат-произведение 'Умирает", поскольку также не может перейти ии в какое состояние.

Придадим строгость правилу переходов из одного состояния в другое. Рассмотрим автомат-произведение в состоянии (б х). Это состояние соответствует ситуации, когда банк находится в состоянии 1, а магазин — в состоянии х. Пусть У означает одно из входных действий. Мы смотрим, имеет ли автомат банка переход из состояния ~' с меткой 2. Предположим, что такой переход есть, и ведет он в состояние7' (которое может совпадать с б если банк, получив на вход 2, остается в том же состоянии). Затем, глядя на автомат магазина, мы выясняем, есть ли у него дуга с меткой 2, ведущая в некоторое состояние у. Если/ и у существуют, то автомат-произведение содержит дугу из состояния (б х) в состояние 0', у) с меткой 2.

Если же либо состояния7', либо состояния у нет(по той причине, что банк или магазин для входного действия 2 не имеет, соответственно, перехода из состояния ~' или х), то не существует и дуги с меткой 2, выходящей из состояния (б х). 2.Ь НЕФОРМАЛЬНОЕ ЗНАКОМСТВО С КОНЕЧНЫМИ АВТОМАТАМИ Начала С Р,С Р, С Р, С Р, С Р, С Р, С Рис. 23. Аетомат-произведение для магазина и банка Теперь ясно, каким образом выбраны дуги на рис. 2.3. Например, получая на вход действие оплата, магазин совершает переход из состояния а в состояние Ь, а из любого другого состояния — в него же. Банк же, получая на вход действие оплата, в любом случае сохраняет свое состояние, поскольку это действие его не затрагивает.

Эти наблюдения объясняют, как были построены четыре дуги с меткой Р в четырех столбцах рис. 2.3 и петли сметкой Р для других состояний. Еше один пример выбора дуг мы получим, рассмотрев действие выкуп. Если банк получит запрос на выкуп, находясь в состоянии 1, то он перейдет в состояние 3, а если в состоянии 3 или 4 — останется в том же состоянии. Если же он получит зто действие на вход, находясь в состоянии 2, то "умрет", т.е.

не сможет никуда перейти. С другой стороны, магазин, получив на вход выкуп, может из состояния Ь перейти в е1 или из с в е. На рис. 2.3 мы видим шесть дуг с меткой выкуп, соответствующих шести комбинациям из трех состояний банка и двух состояний магазина, имеющих выходящие дуги с меткой )1. Например, из состояния 11, Ь) дуга с меткой Я переводит автомат в состояние (3, е)), так как выкуп переводит банк из состояния 1 в 3, а магазин — из Ь в Ы. Еще один пример: существует дуга с меткой )1, ведущая из состояния (4, с) в (4, е), поскольку выкуп переводит банк из состояния 4 снова в состояние 4, а магазин — из с в е. ГЛАВА 2. КОНЕЧНЬЖ АВТОМАТЫ 60 2.1.5.

Проверка протокола с помощью автомата-произведения Из рис. 2.3 можно узнать кое-что интересное. Так, из начального состояния (1, а)— комбинации начальных состояний банка и магазина — можно попасть только в десять из всех 28 состояний. Заметим, что такие состояния, как (2, е) и (4, а), не являются досгиижииыми, т.е. пути, ведущего к ним нз начального состояния, не существует.

Нет надоб- ности включать в автомат недостижимые состояния, н в нашем случае это сделано ис- ключительно для последовательности изложения. Однако реальной целью анализа протоколов, подобных данному, с помощью автоматов является ответ на вопрос: "возможна ли ошибка данного типа?". Простейший при- мер: нас может интересовать, возможно ли, что магазин доставит товар, а оплаты за него так и не получит, т.е. может ли автомат-произведение попасть в состояние, в котором магазин уже завершил доставку (и находится в одном из состояний в столбцах с, е или 8), и при этом перехода, соответствующего входу Т, никогда ранее не было и не будет. К примеру, в состоянии (3, е) товар уже доставлен, но переход в состояние (4, д), соответствующий входу Т, в конце концов произойдет.

В терминах действий банка это означает, что если банк попал в состояние 3, то он уже получил запрос на выкуп и обработал его. Значит, он находился в состоянии 1 перед получением этого запроса, не получал требования об отмене и будет игнорировать его в будущем. Таким образом, в конце концов банк переведет деньги магазину. Однако в случае состояния (2, в) мы сталкиваемся с проблемой. Состояние достижимо, но единственная выходящая дуга ведет в него же. Это состояние соответствует ситуации, когда банк получил сообщение об отмене раньше, чем запрос на выкуп.

Но магазин получил сообщение об оплатив, т.е. наш пройдоха-клиент одни и те же деньги и потратил, и отменил. Магазин же, по глупости, доставил товар прежде, чем попытался выкупить деньги. Теперь, если магазин выполнит запрос на выкуп, то банк даже не подтвердит получение соответствующего сообщения, так как после отмены, находясь в состоянии 2, банк не будет обрабатывать запрос на выкуп. 2.2.

Детерминированные конечные автоматы Теперь пора ввести формальное понятие конечного автомата и уточнить рассуждения и описания из разделов 1.1.! и 2.1. Начнем с рассмотрения формализма детерминированного конечного автомата, который, прочи~ав любую последовательность входных данных, может находиться только в одном состоянии. Термин "детерминированный'* говорит о том, что для всякой последовательности входных символов существует лишь одно состояние, в которое автомат может перейти нз текущего.

В противоположность детерминированному, "недетерминированный" конечный автомат, который рассматривается в разделе 2,3, может находиться сразу в нескольких состояниях. Под термином "конечный автомат" далее подразумевается автомат детерминированного типа. Но 2.2. ДЕТЕРМИНИРОВАННЫЕ КОНЕЧНЫЕ АВТОМАТЫ обычно для того, чтобы напомнить читателю, автомат какого типа рассматривается, употребляется слово "летерминированный" или сокращение ДКА (РЕА — Г)езегш1п1яг(с Е|пие Ацгоша1оп). 2.2.1.

Определение детерминированного конечного автомата Детермшшрованный конечный автомат состоит из следующих компонентов. 1, Конечное множество состояний, обозначаемое обычно как Д. 2. Конечное множество входных символов, обозначаемое обычно как Х. 3. Функция переходов, аргументами которой являются текущее состояние и входной символ, а значением — новое состояние. Функция переходов обычно обозначается как Б Представляя нестрого автомат в виде графа, мы изображали д отмеченными дугами, соединяющими состояния. Если д — состояние и а — входной символ, то 4д, а) — это состояние р, для которого существует дуга, отмеченная символом а и ведущая из с) в р. 4.

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

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

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