Теория вычислительных процессов презентация

Содержание

Конечные автоматы Аппаратное обеспечение ЭВМ можно рассматривать на нескольких уровнях, и сети Петри могут моделировать каждый из них. На низком уровне вычислительные системы могут быть описаны автоматами. Автомат – это

Слайд 1Теория вычислительных процессов
Сети Петри для моделирования конечных автоматов и блок-схем


Преподаватель: Веретельникова
Евгения Леонидовна


Слайд 2Конечные автоматы
Аппаратное обеспечение ЭВМ можно рассматривать на нескольких уровнях, и сети

Петри могут моделировать каждый из них. На низком уровне вычислительные системы могут быть описаны автоматами. Автомат – это пятерка (Q, Σ, Δ, δ, Г), где
Q – конечное множество состояний {ql , q2,.., qk};
Σ – конечный входной алфавит;
Δ – конечный выходной алфавит;
δ : Q Σ → Q – функция следующего состояния, отображаю-щая текущее состояние и текущий вход в следующее состояние;
Г : Q Σ → Δ – функция выхода, отображающая текущее состояние и текущий вход в выходной символ.

Слайд 3Конечные автоматы
Автоматы часто представляют в виде графов переходов, как, например, на

рис. 1. В графе переходов состояния представляются кружками, являющимися вершинами. Дуга из состояния qi в qj , помеченная a/b, означает, что, находясь в состоянии qi автомат при входе а перейдет в состояние qj, выдавая при этом символ b. Формально следовало бы записать δ(qi, а) = qj и Г (qi, а) = b.
Входной алфавит определяет входы автомата из внешнего мира, а выходной алфавит – выходы автомата во внешний мир.
В качестве примера рассмотрим автомат, который преобразует двоичное число, представленное последовате-льностью бит, начиная с младшего, в дополнение до двух (рис. 1).

Слайд 4Конечные автоматы
В данном случае входной и выходной алфавит состоит из трех

символов: 0, 1 и R. Автомат начинает работать в состоянии q1. Символ сброса (R) означает конец (или начало) числа и возвращает автомат в исходное состояние. Выход автомата для символа сброса является просто его повторением.

Рис. 1.


Слайд 5Конечные автоматы
Этот автомат (рис.2) при тех же самых входах вычисляет четность

входного числа. Он начинает работу в состоянии q1. Выход копирует вход до тех пор, пока входным символом не окажется символ сброса. Выходом для символа сброса будет 0 в случае нечетного числа и 1 – в случае четного числа.

Рис. 2.


Слайд 6Конечные автоматы
При представлении конечного автомата сетью Петри следует обратить внимание на

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

Слайд 7Конечные автоматы
Общий подход к моделированию связи между СП и внешним миром.



Слайд 8В качестве альтернативного подхода к моделированию входов и выходов сети могут

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

Конечные автоматы


Слайд 9Конечные автоматы
Альтернативный подход представления связи между СП и внешним миром.


Слайд 10Конечные автоматы
Задав представление позиций, соответствующих символам входа и выхода, мы можем

завершить построение модели системы конечных состояний. Представим каждое состояние автомата позицией в сети Петри. Текущее состояние отмечается фишкой; все остальные позиции пусты. Теперь для определения переходов из состояния в состояние можно ввести переходы сети следующим образом. Для каждой пары (состояние и входной символ) мы определяем переход, входными позициями которого являются позиции, соответствующие состоянию и входному символу, а выходными позициями – позиции, соответствующие следующему состоянию и выходу.

Слайд 11Конечные автоматы
Для конечного автомата (Q, Σ, Δ, δ, Г) мы определили

сеть Петри (Р, Т, I, О) таким образом:
P = Q U Σ U Δ ,
Т = {tq, σ | q ∈ Q, и σ ∈ Σ },
I(tq, σ) = { q, σ },
О(tq, σ) = { δ(q, σ), Г(q, σ)}.
Эта сеть Петри является моделью конечного автомата.

На рис. 3 изображена сеть Петри, соответствующая автомату с рис. 1, на рис. 4 – сеть Петри, соответствующая автомату с рис. 2.

Слайд 12Конечные автоматы
Рис. 3. Сеть Петри, соответствующая автомату с рис. 1.


Слайд 13Конечные автоматы
Рис. 4. Сеть Петри, соответствующая автомату с рис. 2.


Слайд 14Конечные автоматы
Алгоритм:
для построения сети Петри по конечному автомату необходимо выполнить

следующие действия:
а) построить конечный автомат ;
б) расписать пятерку (Q, Σ, Δ, δ, Г), определяющую конечный автомат ;
в) по пятерке (Q, Σ, Δ, δ, Г) получить теоретико-формальное описание сети Петри в виде четверки (Р, Т, I, О);
г) нарисовать граф сети Петри.

Слайд 15Конечные автоматы
При сравнении сетей Петри с эквивалентными автома-тами возникают некоторые вопросы.

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

Слайд 16Конечные автоматы
Другое преимущество представления сети Петри связано с иными формами композиции.

Например, параллельная композиция позволяет

Слайд 17Программное обеспечение ЭВМ
В дополнение к аппаратному обеспечению ЭВМ сетями Петри можно

моделировать и программное обеспечение. Чаще всего сети Петри используются именно для этого и здесь они имеют наибольшие возможности для практичес-кого применения. В течение длительного времени разраба-тывались системы для описания и моделирования аппарат-ного обеспечения ЭВМ, и много позже такие попытки были предприняты для формального моделирования програм-много обеспечения ЭВМ.

Слайд 18Представление блок-схемы сетями Петри
Вырожденным случаем параллельной системы обработки является система с

одним процессом. Сначала рассмотрим, как сетью Петри может быть представлен отдельный процесс, а затем путем комбинации сетей Петри, представляющих нес-колько процессов, получим систему параллельных процессов.
Отдельный процесс описывается программой. Эта программа может быть написана на многих языках, но для удобства примем общецелевой язык, такой, как Си, Паскаль, Бейсик, Фортран или даже язык ассемблера. Программа представляет два различных аспекта процесса: вычисление и управление. Вычисление связано с текущими арифметиче-скими и логическими операциями, вводом и выводом, обыч-ными манипуляциями над участками памяти и их содержи-мым. Управление же связано не со значениями или выполня-емыми вычислениями, а только с порядком их выполнения.

Слайд 19Представление блок-схемы сетями Петри
Сети Петри удачно представляют структуру управления программ. Они

предназначены для моделирования упорядочения инструкций и потока информации, но не для действительного вычисления самих значений. Модель системы по своей природе является абстракцией моделируемой системы. Поэтому она игнорирует все возможные специфические детали. Если бы моделиро-вались все детали, тогда модель была бы дубликатом моделируемой системы, а не абстракцией.

Слайд 20Представление блок-схемы сетями Петри
Стандартный способ представления структуры управления программ – это

блок-схемы. Блок-схема представляет поток управления в программе. Например, программа на слайде 21 (рис. 1) представляется блок-схемой на рис. 2. Заметим, что блок-схема не указывает конкретные вычисления, которые надо произвести, а только определяет структуру программы. Такая блок-схема является абстрактной. Рисунок на слайде 22 показывает, как можно проинтерпретировать блок-схему (слайд 21) программы, представленной рядом. Каждая последова-тельная программа может быть представлена в виде блок-схемы. Таким образом, показывая, как блок-схема может быть представлена сетью Петри, мы дадим представление сетью Петри программы.

Слайд 21Представление блок-схемы сетями Петри
{
cin>>y1; cin>>y2;
y3 = 1;
while (y1 > 0

)
{ if (y1 % 2 = =0)
{
y3 = y3 * y2 ;
y1 = y1 – 1;
}
y2 = y2 * y2;
y1 = y1 – 2;
}
cout<< y3;
}
Рис. 1. Простая программа Рис. 2. Блок-схема программы

Слайд 22Представление блок-схемы сетями Петри
Действие Интерпретация
a cin>>y1; cin>>y2 ; y3 = 1;
b y1 > 0

?
c y1 % 2 = =0 ?
d y3 = y3 * y2 ; y1 = y1 – 1;
e y2 = y2 * y2 ; y1 = y1 – 2;
f cout<< y3 ;

Интерпретация действий блок-схемы на слайде 21

Слайд 23Представление блок-схемы сетями Петри
Оказывается блок-схема во многом подобна сети Петри: блок-схема

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

Слайд 24Представление блок-схемы сетями Петри
Однако заметим, что в сети Петри действия моделируют-ся

переходами, тогда как в блок-схеме действия моделиру-ются узлами. Kроме того, если движение нашей фишки текущей инструкции в блок-схеме нужно приостановить, это делается между узлами, на дугах, а не внутри блока. Таким образом, правильный перевод блок-схемы в сеть Петри заменяет узлы блок-схемы на переходы сети Петри, а дуги блок-схемы – на позиции сети Петри. Каждая дуга блок-схемы соответствует точно одной позиции в сети Петри. Узлы блок-схемы представляются по-разному в зависимости от типа узла: вычисления или принятия решения. На следующем слайде иллюстрируются оба способа перевода. На рис. 3 показан перевод блок-схемы в эквивалентную сеть Петри.

Слайд 25Представление блок-схемы сетями Петри
Перевод узлов блок-схемы в переходы сети Петри


Слайд 26Представление блок-схемы сетями Петри
Блок-схема программы

Сеть Петри

Слайд 27Представление блок-схемы сетями Петри
Необходимо сделать замечания относительно того, что обозначают компоненты

сети Петри на предыдущем слайде. Для ответа на вопрос «что означают позиции» рассмотрим интерпретацию фишек блок-схемы счетчиком команд. Фишка, находящаяся в позиции, означает, что счетчик команд установлен на готовность выполнения следующей инструкции. Каждая позиция имеет единствен-ный выходной переход, за исключением позиции, которая предшествует принятию решения; такие позиции имеют по два выходных перехода, соответствующих истинному и ложному значению предиката.

Слайд 28Представление блок-схемы сетями Петри
Переходы, очевидно, связываются с действиями программы: вычислениями и

принятиями решений. Для интерпретации сети Петри необходимо интерпретировать каждый переход. Следует также отметить, что переходы для вычислений имеют один вход и один выход; переход, представляющий вычисления, не может находиться в конфликте, поскольку его входная позиция не является входной для какого-либо другого перехода. Действие же, связанное с принятием решения, вводит в сеть конфликт. Выбор способа разрешения конфликта либо недетермини-рован, либо им можно управлять извне (предсказателем, вычисляющим истинность или ложность предиката и вынуждающим запуск нужного перехода). Различие между этими двумя способами разрешения конфликта – методо-логический вопрос.

Слайд 29Представление блок-схемы сетями Петри

Алгоритм: для построения сети Петри по блок-схеме необходимо выполнить следующие действия:
а) по условию задачи написать программу ;
б) по (а) построить абстрактную блок-схему;
в) по (а) и (б) написать интерпретацию каждого блока;
г) по (б) нарисовать граф сети Петри

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика