Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТВП Конечные и двоичные автоматы.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
143.62 Кб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Магнитогорский государственный технический университет им. Г.И. Носова»

Кафедра вычислительной техники и прикладной математики

Курсовая работа

по дисциплине: «Теория вычислительных процессов»

на тему: «Конечные автоматы. Двоичные автоматы.»

Выполнил:

студент группы АВ-10

Истомин А.А.

Проверила:

к.т.н., доцент

Кочержинская Ю.В.

Магнитогорск 2012

Оглавление

1 Теоретический вопрос «Конечные автоматы. Двоичные автоматы.» 3

1.1 Введение 3

1.2 Способы задания автоматов Мили 5

1.2.1 Табличный способ 5

1.2.2 Графический способ 6

1.3 Элементарные автоматы 6

1.4 Вывод 13

2 Решение задачи «О спящем парикмахере» 14

2.1 Постановка задачи 14

2.2Реализация задачи с помощью сетей Петри 14

2.3 Листинг программы 15

2.3.1 Фрагмент программы «Barber» 15

2.3.2 Фрагмент программы «Hall» 18

2.3.3 Фрагмент программы «Main» 21

3 Список использованных источников 25

1 Теоретический вопрос «Конечные автоматы. Двоичные автоматы.»

  1. Введение

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

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

Например: в алфавите X = (x1, x2), состоящем из двух букв, словами будут: x1, x2, x1x1, x1x2, x2x1,x2x2, x1x1x1 и т.д.

Наряду со словами, состоящими не менее чем из одной буквы, введем слово, не содержащее ни одной буквы, которое будем обозначать символом е и называть пустым словом или пустой буквой.

Математической моделью реального конечного автомата является абстрактный автомат, который имеет один входной канал и один выходной канал.

X(x1,…,xm)

--->

A(a0,...,an)

--->

Y(y1,…,yk)

Автомат функционирует в дискретные моменты времени, интервал, между которыми Т называется тактом. При этом в каждый дискретный момент времени на вход автомата поступает одна буква входного алфавита, автомат переходит из одного состояния в другое и выдается одна буква выходного алфавита. В зависимости от того, как задается длительность такта Т, различают автоматы синхронного действия (T=const) и асинхронного действия (T const). Мы будем рассматривать, в основном, синхронные автоматы, функционирующие в дискретные моменты времени, которые можно обозначить целыми неотрицательными натуральными числами, t=0,1,2,3,…., имеющими смысл номера такта.

Для задания конечного автомата S необходимо задавать совокупность из пяти объектов: S(A, X, Y, d, l), где A = {a0,a1,a2,...,an}– множество внутренних состояний автомата, X = {x1, x2,…, xm} – множество входных сигналов (входной алфавит), xi – буква входного алфавита, Y = {y1, y2,…, yk} – множество выходных сигналов (выходной алфавит),

d - функция переходов, определяющая состояние автомата a(t+1), в котором автомат будет находится в момент времени (t+1), в зависимости от состояния автомата a(t) и входного сигнала x(t) в момент времени t, то есть a(t+1) = d [a(t), x(t)],

l - функция выходов, определяющая значение выходного сигнала y(t) в зависимости от состояния автомата a(t) и входного сигнала x(t) в момент времени t, т.е. y(t) = l[a(t), x(t)].

Автомат работает следующим образом: в каждый момент времени t он находится в определенном состоянии a(t) из множества А возможных состояний. Причем в начальный момент времени t = 0 он всегда находится в состоянии a(t = 0) = a0. В момент времени t автомат воспринимает входной сигнал x(t), выдает выходной сигналу y(t) = l[a(t), x(t)] и переходит в следующее состояние a(t+1)=d[a(t), x(t)]. Другими словами абстрактный автомат каждой паре символов a(t) и x(t) ставит в однозначное соответствие пару символов a(t+1) и y(t). Такие автоматы называют детерминированными. На преобразование информации в детерминированных автоматах наложены условия.

Условия преобразования информации в детерминированных автоматах:

1. Любое входное слово, длинною l букв, преобразуется в выходное слово той же длины.

2. Если каждый раз перед подачей входных сигналов автомат находится в одном и том же состоянии, то при совпадении в двух входных словах первых l1 букв, в выходных словах первые l1 букв также совпадут.

Кроме детерминированных автоматов существуют вероятностные или стохастические автоматы, в которых переход из одного состояния в другое под воздействием случайных или детерминированных входных сигналов происходит случайно. Работа таких автоматов описывается уже матрицей переходов d, элементами которой являются вероятности переходов из одного состояния в другое. Нами будут рассмотрены, в основном, детерминированные автоматы.

Применяемые на практике автоматы принято разделять на два класса - это автоматы Мили и автоматы Мура, названные так по имени американских ученых, которые впервые начали их изучать. Функционирование автоматов строго подчиняется определённым законам (законы функционирования автоматов).

Законы функционирования автоматов описываются системами уравнений:

Автомат Мили:

 

a(t + 1) = d[a(t),x(t)]

 

y(t) = l[a(t),x(t)]

 

t = 1,2,3… 

Автомат Мура:

 

a(t + 1) = d[a(t),x(t)]

 

y(t) = l[a(t)]

 

t = 1,2,3…

Отличительной особенностью автоматов Мили является то, что их выходные сигналы зависят как от состояния автомата, так и от значения входного сигнала. В автоматах Мура выходные сигналы y(t) в каждый дискретный момент времени t однозначно определяются состоянием автомата в тот же момент времени и не зависят от значения входного сигнала.