Лекция 1 - Абстрактный автомат.pptx
- Количество слайдов: 15
Тема 1. Абстрактный автомат Лекция 1 Основные понятия и определения
Введение – Теория автоматов наиболее тесно связана с теорией алгоритмов § автомат преобразует дискретную информацию по шагам в дискретные моменты времени § на входе и выходе автомата могут быть символы, слова или выражения какоголибо языка, представляющие собой элемент дискретной информации § Преобразование элементов входной информации в элементы выходной информации выполняется по заданному алгоритму – Реализуются преобразования с помощью технических и/или программных средств – Единый подход в описании технических и программных средств определил понятие "автомат", как математическую модель системы, обеспечивающей прием, хранение и обработку информации – Ограничение числа параметров математической модели определило новое понятие - "конечный автомат" – Раздел науки, посвященный изучению таких математических моделей, называют теорией автоматов 2
Основные задачи (1) Большинство задач теории конечных автоматов включает в себя задачи анализа и синтеза автомата – Анализ автомата § исследование способов описания математической модели § изучение поведения автомата при различных возмущающих воздействиях со стороны окружающей среды § минимизация числа состояний автомата для работы по заданному алгоритму – Синтез автомата § исследование способов построения сложных автоматов § создание сети элементарных автоматов, эквивалентной абстрактному автомату
Основные задачи (2) – Анализ автомата § Процесс анализа автомата называют макроподходом, а автомат – абстрактным § Для точной постановки задач анализа автомата и диагностирования его поведения используют алгебру автоматных языков – Синтез автомата § Процесс синтеза автомата называют микроподходом, а автомат – структурным § Для точной постановки задач синтеза структуры автомата широко используют алгебру логики Данный курс посвящен изучению теоретических основ абстрактного конечного автомата
Схема абстрактного автомата – Абстрактным автоматом называют математическую модель дискретного устройства, имеющего § входной канал, куда поступают последовательности символов какого-либо языка § выходной канал, с которого снимают последовательности символов какоголибо другого языка – и находящегося в каждый из моментов дискретного времени в каком-либо состоянии x X q Q y Y – Слова входного языка можно представить символами множества X={x 1, x 2, . . . , xn}, который называют входным алфавитом – слова выходного языка – символами множества Y={y 1, y 2, . . . , yp}, который называют выходным алфавитом – Множество состояний автомата Q={q 1, q 2, . . . qm} называют алфавитом состояний – С позиции формальных языков множество § Q есть множество нетерминальных символов § множества X и Y - множества терминальных символов
Модель абстрактного автомата: матмодель (1) Математическая модель конечного автомата есть алгебра, носителями которой являются три множества X, Y и Q, а операциями две функции ϕ и ψ: M = 〈 X, Y, Q, ψ, ϕ〉 , где (1. 1) X={ x 1, x 2, . . . xn} - множество символов входного алфавита Y={ y 1, y 2, . . . yp} - множество символов выходного алфавита Q={q 1, q 2, . . . qm} - множество символов состояний автомата ψ: (Q X) → Q - функция переходов автомата для отображения пары (q, x) текущего момента дискретного времени [τ] в состояние q следующего момента дискретного времени [τ+1] ϕ: (Q X) → Y - функция выходов автомата для отображения пары (q, x) текущего момента дискретного времени [τ] в символ y выходного канала этого же момента дискретного времени [τ]
Модель абстрактного автомата: матмодель (2) Так как области определения функций переходов и выходов совпадают, то обобщенный оператор поведения автомата можно представить так: (ψ, ϕ): (Q X) → (Q Y) (1. 2) Функционирование автомата в дискретные моменты времени τ может быть описано системой рекуррентных соотношений: Если на входе автомата имеем слово = (x 1 x 2 x 3. . . xs), то, считывая последовательно символы этого слова, на выходе автомата генерируется последовательность символов слова по следующей 1 -ый символ схеме: 2 -ой символ [1]=(ϕ(q[1], x 1[1])) [2]=(ϕ(q[1], x 1[1]) ϕ(q[2], x 2[2])) = (ϕ(q[1], x 1[1]) ϕ(q[1], (x 1[1]x 2[2]))) 1 -ый символ. . . . . S-ый символ [s] = (ϕ(q[1], x 1[1]) ϕ(q[2], x 2[2]). . . ϕ(q[s], xs[s])) = = (ϕ(q[1], x 1[1]) ϕ(q[1], (x 1[1]x 2[2])). . . ϕ(q[1], (x 1[1]x 2[2]. . . xs[s])))
Модель абстрактного автомата: матмодель (3) Так как на каждом i-ом такте к слову длины (i-1) приписывается справа очередной символ ϕ(q[1], x 1[1]x 2[2]. . . xi[i]), то последовательность символов выходного слова можно записать так: β = (ϕ(q, x 1)ϕ(q, (x 1 x 2)). . . ϕ(q, (x 1 x 2. . . xs)))=(ϕ(q, α)) (1. 5) Если считывание символов входного слова α выполняется последовательно слева направо, то всегда найдется такая последовательность (x 1 x 2. . . xs-1)= , для которой α = ((x 1 x 2. . . xs-1)xs) =( xs), (1. 6) где последовательность =(x 1 x 2. . . xs-1) называется "головой" α, а xs – "хвостом" α Поэтому если входное слово α=( xs), то выходное слово β можно записать так: β= ϕ(q, α) = ϕ( (q, ), xs) (1. 7) Это означает, что последний символ слова β есть результат работы автомата, начавшего работу в состоянии q и считавшего последний символ слова α, но значение этого символа зависит от всей входной последовательности Длина выходного слова всегда равна длине входного слова
Модель абстрактного автомата: матмодель (4) Изменение состояний автомата для последовательности символов слова = (x 1 x 2. . . xs) может быть описано следующей схемой: q[2] = (q[1], x 1[1]) q[3] = (q[2], x 2[2]) = ( (q[1], (x 1[1]), x 2[2])) (1. 8). . . . . . q[s+1] = (q[s], xs[s]) = (. . . ( (q[1], x 1[1]), x 2[2]), x 3[3]), . . . xs-1[s-1]), xs[s]), где q[1] - начальное состояние автомата Так как за один такт автомат считывает один символ входного слова, то в последовательности состояний автомата можно не указывать номер такта, то есть q[s+1] = (. . . ( (q, x 1), x 2), x 3). . . xs-1), xs) (1. 9) Если входное слово α=( xs), то изменение состояния автомата может быть описано так: q[s+1] = ( (q, ), xs) (1. 10) Это означает, что q[s+1] есть последнее состояние автомата, начавшего работу в состоянии q и считавшего последний символ слова α в момент дискретного времени s
Основная классификация автоматов – Если функции переходов и выходов однозначно определены для каждой пары (q, x) (Q X), то автомат называют детерминированным – В противном случае автомат называют недетерминированным или частично определенным – Если функция переходов и/или функция выходов являются случайными, то автомат называют вероятностным – Если у автомата задано начальное состояние q= q 0 Q, в котором он находится всегда до приема первого символа входного слова, то автомат называют инициальным. В этом случае модель автомата записывают так: М = <X, Y, Q, , ϕ, q 0> (1. 11) – Детерминированный автомат, находящийся в некотором состоянии si, под действием любого входного сигнала (слова) j не может перейти более, чем в одно состояние – Вероятностный автомат, в котором при заданном состоянии si и заданном входном сигнале j возможен переход с заданной вероятностью в различные состояния
Дополнение к основным понятиям – Последовательность символов в слове и последовательность состояний автомата q однозначно определяются начальным состоянием автомата q=q 0 и последовательностью символов во входном канале – Поэтому отображение входного слова на выходное чаще называют автоматным отображением, то есть =M(q 0, ), а М – автоматным оператором – Автоматное отображение обладает свойствами: § входное и выходное слова имеют одинаковую длину (свойство сохранения длины) § yi-ый символ выходного слова зависит от всей последовательности символов входного слова, до xi-го включительно § кроме того, если = 1 2, то = 1 2
Примеры конечных автоматов – Конечным автоматом, как моделью можно описать различные ситуации – Для описания различных ситуаций укажем: § Входной алфавит Х § Выходной алфавит Y § Подходящее множество состояний S – Название состояний будут выбираться таким образом, чтобы передать условия, определяющие эти состояния – Для каждого примера дадим его словесное описание, которое будет служить основой при выборе множества состояний
Пример 1 – Дано (описание ситуации) § Организм возбуждается двумя стимулами: • Положительным • Отрицательным § Организм не реагирует на отрицательный стимул и реагирует на чередование положительных стимулов – Тогда § Х={положительный стимул, отрицательный стимул} § Y={реакция есть, нет реакции} § S={реакция на последний положительный стимул, нет реакции на последний отрицательный стимул} – Пояснение функционирования § При состоянии в настоящий момент "реакция на последний положительный стимул" и входе "отрицательный стимул" появляется выход "нет реакции" и переход в состояние "нет реакции на последний отрицательный стимул" § При состоянии в настоящий момент "нет реакции на последний отрицательный стимул" и входе "положительный стимул" появляется выход "реакции есть" и переход в состояние "реакция на последний положительный стимул"
Пример 2 – Дано (описание ситуации) – Тогда – Пояснение функционирования § Английский текст, составленный из 26 букв алфавита и пропусков, просматривается с целью подсчета числа слов, начинающихся с un и кончающихся на d (understand, united, …). Для простоты пропуски обозначим буквой , а все буквы, кроме d, n и u, - буквой § Х={d, n, u, , } § Y={считать, не считать} § S={новое слово, ждать новое слово, появление u-n, появление u-n-d} § § § § При входе появляется состояние "новое слово", независимо от существующего состояния При состоянии в настоящий момент "появление -n-d" и входе появляется выход "считать" Во всех остальных случаях появляется выход "не считать" При настоящем состоянии "новое слово" и входе u наступает следующее состояние "появление u" При настоящем состоянии "появление u" и входе d, n или наступает следующее состояние "ждать нового слова" При настоящем состоянии "появление u" и входе n наступает следующее состояние " появление u-n", а при входе d, n или наступает следующее состояние "ждать нового слова" При настоящем состоянии "появление u-n" входе d, то наступает следующее состояние "появление u-n-d", а при входе n, и или наступает следующее состояние "появление u-n" Состояние «ждать нового слова" при входе отличном от , остается неизменным
Контрольные вопросы 1. Каковы особенности автоматов с бесконечной памятью? 2. Какие операции свойственны алгебре автоматов? 3. Что такое детерминированный автомат? 4. Что такое недетерминированный автомат? 5. Объясните содержание оператора поведения автомата 6. Что является "головой" и "хвостом" последовательности символов?
Лекция 1 - Абстрактный автомат.pptx