F-схема моделирования (автоматная схема) презентация

Содержание

Слайд 2

F-схема моделирования

Области применения:
Моделирование динамических объектов с выделенными состояниями.
Моделирование систем управления динамическими объектами
Характерные

особенности F-схемы:
Четкое выделение состояний системы и условий перехода из одного состояния в другое.
Схема детерминированная.
Схема с дискретная (т.е. состояния системы меняются в определенные моменты модельного времени).

Слайд 3

Два вида F-схем

В этом случае необходимо дополнительно создавать модель управляемого объекта.

Система управления

Объект управления

Управляющие

сигналы

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

Объект

Автомат как объект

Автомат как система управления объектом

Слайд 4

F-схема моделирования

X - алфавит входных сигналов,
Y – алфавит выходных сигналов
Q – множеств состояний,
q0∈Q

– начальное состояние,
P – правила перехода,
Ψ(q,x) или Ψ(q) – функция выходных сигналов.

A={X,Y,Q,q0,P,Ψ}

Автомат это:

q(t+1)=P(q(t),x(t)), т.е. новое состояние автомата зависит от текущего состояния автомата и входного сигнала

Слайд 5

F-схема моделирования

X - алфавит входных сигналов,
Q – множеств состояний,
q0 – начальное состояние,
P –

правила перехода,
Y - алфавит выходных сигналов

X = {0,1},
Y = {0,1}.
Q = {S0,S1,S2},
q0 = S0,
P = (S0, 0) →(S2),
Ψ(0,0)=1

Диаграмма
состояний автомата

Обозначение на диаграмма состояний: входной символ / выходной символ (например, 0/1)

Слайд 6

Диаграмма состояний работы банкомата

Слайд 7

Абстрактный и структурный автомат

Абстрактный автомат

Структурный автомат

Особенности:
Не имеет внутренней структуры;
Обрабатывает символы

Особенности:
Имеет внутреннюю структуру;
Обрабатывает входные

сигналы

Слайд 8

Абстрактный автомат

Особенности:
Не структурирован
В основном реализуется программно
Принимает на вход символы
Области применения:
Компиляция и интерпретация искусственных

языков
Парсинг (поиск в тексте определенных слов или языковых конструкций)
Языковое моделирование
Моделирование вычислительного процесса с целью определения временной и емкостной сложностей алгоритма

Слайд 9

Абстрактный автомат

Слайд 10

Виды абстрактных автоматов

Автомат с конечным числом состояний (КА) – автомат с бесконечным числом

состояний
Автомат-транслятор
Автомат с магазинной памятью (МП-автомат)
Детерминированный автомат – недетерминированный автомат

Слайд 11

Конечный распознающий автомат

A={Σ, Q, q0, P, F}, где
F – множество конечных состояний
Pi∈Qx ΣxQ
Например:
Pj=(q2,a)→

(q3)

Текст считается распознанным в случае, если автомат находится в одном из конечных состояний F.

Слайд 12

Пример диаграммы состояний конечного автомата

Конечное состояние

Начальное состояние

Слайд 13

Конечный автомат-транслятор

A={Σ, Ω, Q, q0, P, F}, где
Ω – мн-во символов на выходной

ленте
Pi∈Qx ΣxQxΩ
Например:
Pj=(q2,a) →(q3,d)

Слайд 14

Конечный автомат с магазинной памятью (МП-автомат)

A={Σ, B, b, Q, q0, P, F}, где
B

– мн-во символов в магазине
b – символ дна стека
↑ - обозначение удаления символа из вершины
стека
Pi∈QxΣxBxQxB
Например:
Pj=(q2,«(»,*) →(q3, ↑)

Текст считается распознанным в случае, если автомат находится в одном из конечных состояний F и в стеке находится символ дна стека b.

Слайд 15

Пример диаграммы состояний МП-автомата

Скобочное арифметическое выражение с числом 1 и операцией +

Примеры арифметических

выражений:
1. y=(1+1)+1+((1+1)+1)
2. y=1+1(1)
3. y=(((1+1)+1)+1

Слайд 16

Формальная грамматика

Основатель теории формальных языков – Наум Хомский (род. В 1928 г.)

Формальная грамматика

предназначена для синтеза языка
Формальная грамматика это четверка:
G={ Σ,N,S,P}, где
Σ - алфавит терминальных символов;
N – алфавит нетерминальных символов;
S∈N – начальный символ;
P – правила вывода цепочки строк.

Слайд 17

Пример формальной грамматики (1)

Необходимо описать синтез строки, состоящей из одинакового количества единиц и

нулей, чтобы сначала шли нули, а затем единицы, т.е. 000111

Σ ={0,1}
N={S}
S={S}
P: 1. S → 0S1
2. S → 01

Слайд 18

Пример формальной грамматики

S→сN1
N1→тN2
N2→еN3
N2→сN14
N3→нN4
N14→еN15
N15→лN4

N4→аN5
N4→ыN6
N4→еN7
N4→уN8
N4→оN9

N5→мN11
N5→хN13
N11→иN12
N9→йN10
N9→юN10

N4→а
N4→ы
N4→е
N4→у

Слайд 19

Другие виды записи формальных грамматик

- Форма Бекуса-Наура (БНФ)
- Расширенная форма Бекуса-Наура (РБНФ)
- Регулярные

выражения

Слайд 20

Иерархия формальных языков
Н. Хомского

Четыре класса языков:
0: Свободные - нет ограничений на правила.
1: Контекстно-зависимые

- правила вида αΑβ →αγβ, где α, Α, γ, β - строки из терминалов и нетерминалов
2: Контекстно-свободные - A → ξ, где A – символ-нетерминал, ξ - строка из терминалов и нетерминалов
3: автоматные (регулярные) - N →aA или N → Aa, где A – нетерминальный символ, a – терминальный символ.

Слайд 21

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

0: Свободные –

машина Тьюринга или другой универсальный вычислитель.
1: Контекстно-зависимые – специализированные вычислители (например, система Мельчука – смысл-текст)
2: Контекстно-свободные – МП-автомат
3: автоматные (регулярные). – конечный автомат.

Слайд 22

Детерминированный и недетерминированный автоматы

Детерминированный автомат пребывает только в одном состоянии в один момент

времени

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

Слайд 23

Алгоритм получения ДА из НДА

1. Сформировать начальное состояние ДА и приписать ему метки

начального(-ых) состояние(-ия) НДА.
2. Выделить все символы, по которым происходит переход из начального(ых) состояния(-ий) НДА – из начального состояния ДА вывести дуги (переходы), помеченные выделенными символами. С концом каждой дуги сопоставить состояние и пометить его метками состояния НДА, в которые происходит переход из начального состояния (-ий) по символу, приписанному к дуге ДА.
3. Для каждой сформированной вершины ДА выделить символы, по которым из вершин НДА, метки которых имеются в состоянии ДА, каждому символу сопоставить дугу, выходящую из узла ДА. Концу каждой дуги сопоставить состояние ДА, с метками вершин НДА, куда выходят дуги с меткой дуги ДА.
4. И т.д.
5. После того, как не удается сформировать в ДА состояний с новыми метками, выделяем в ДА конечные состояния: конечным является состояние, в метке которого присутствует хотя бы одна метка конечного состояния НДА.

Слайд 24

Алгоритм получения ДА из НДА

1. Сформировать начальное состояние ДА и приписать ему метки

начального(-ых) состояние(-ия) НДА.
2. Выделить все символы, по которым происходит переход из начального(ых) состояния(-ий) НДА – из начального состояния ДА вывести дуги (переходы), помеченные выделенными символами. С концом каждой дуги сопоставить состояние и пометить его метками состояния НДА, в которые происходит переход из начального состояния (-ий) по символу, приписанному к дуге ДА.
3. Для каждой сформированной вершины ДА выделить символы, по которым из вершин НДА, метки которых имеются в состоянии ДА, каждому символу сопоставить дугу, выходящую из узла ДА. Концу каждой дуги сопоставить состояние ДА, с метками вершин НДА, куда выходят дуги с меткой дуги ДА.
4. И т.д.
5. После того, как не удается сформировать в ДА состояний с новыми метками, выделяем в ДА конечные состояния: конечным является состояние, в метке которого присутствует хотя бы одна метка конечного состояния НДА.

Слайд 25

Пример получения ДА из НДА

Слайд 26

Программная реализация ДА

Объявить переменную, хранящую номер состояния ДА (например, S).
Объявить переменную, хранящую текущий

распознаваемый символ (например, ch).
Создать цикл и в нем языковую конструкцию множественного выбора (switch) относительно переменной, хранящей текущий распознаваемый символ. Каждый вариант множественного выбора соответствует состоянию ДА.
В каждой альтернативе множественного выбора произвести анализ текущего символа и относительно него произвести изменение состояния ДА S. Если текущий символ последний, то проверить, находится для ДА в конечном состоянии.

Слайд 27

Пример программной реализации ДА

int S;
char ch; // @ - символ конца текста
While(1)
{S=0;
getch(ch);

switch(ch)
{0: if(ch==1) {S=1; pusch('0')};
else if(ch==0) {S=0; pusch('0')};
else {printf("Error!"); break;break};
break;
1: switch(ch)
{Case'0': S=2; pusch('1'); break;
Case'1': S=1; pusch('1'); break;
default: printf("Error!"); break;break;
}
2: switch(ch)
{Case'0': S=1; pusch('0'); break;
Case'1': S=2; pusch('0'); break;
Case'@': printf("Ok!"); break;break;
default: printf("Error!"); break;break;
}
}
}

Слайд 28

Пример реализации ДА с помощью матрицы смежности

В ячейке матрицы указывается символ, по которому

происходит переход в другое состояние, а также символ, который выдается на выходную ленту.

S3 – конечное состояние
S4 – состояние ошибки

Слайд 29

Пример реализации ДА с помощью матрицы переходов

В ячейке матрицы указывается символ, по которому

происходит переход в другое состояние, а также символ, который выдается на выходную ленту.

S3 – конечное состояние
S4 – состояние ошибки

Слайд 30

Реализация НДА

Реализация НДА намного сложнее, чем ДА: необходимо вводить не одну переменную, хранящую

состояние автомата (S), а вектор множество состояний. Поэтому разработчики программ и аппаратуры и стараются свести НДА к ДА!

Слайд 31

Виды абстрактных автоматов

Распознающий автомат (лента движется в одну сторону, символы на ленте не

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

Слайд 32

Виды абстрактных автоматов

1)

2)

3)

4)

5)

Слайд 33

Об информации на входной ленте абстрактного автомата

Входная лента автомат может содержать не только

символы, но и другие информационные конструкции!!!
Например, в теории компиляции имеется такие понятия как лексический и синтаксический автоматы. Лексический занимается выделением из цепочки символов лексем (слова, числа, разделительные знаки) и формирование их описания в виде токенов. Токен описывает лексему и состоит из двух частей: атрибута, описывающего тип лексемы, и самой лексемы. Типы лексем могут быть: константа, переменная, зарезервированное слово, разделительный знак. Синтаксический автомат принимает на вход токены и обрабатывает их. Т.е. на входной ленте синтаксического автомата находятся не символы, а токены!!!

Слайд 34

Структурный автомат

Особенности:
Структурирован
Принимает на вход сигналы
Выходами являются сигналы
Рассматривается как устройство управления
Области применения:
Управление динамическими объектами
Программирование

(автоматная парадигма программирования)

Слайд 35

Имитационная модель на основе F-схемы

X – входные переменные автомата
Z – управляющие импульсы от

автомата
E/X – воздействие внешней среды (события)

Слайд 36

Автомат Мили и автомат Мура

Автомат Мура
Q(t)=f(q(t-1), x(t-1))
Y(t)=f(q(t))

Автомат Мили
Q(t)=f(q(t-1),x(t-1))
Y(t)=f(q(t),x(t))

Слайд 37

Автоматизированный объект управления

Управляющий автомат – это шестерка {X,Y,Z, y0,ϕ,δ}, где
X=XE x XO

– сигналы от внешней среды и объекта управления.
Y – множество состояний автомата.
Z – множество выходных воздействий.
Y0 – начальное состояние
ϕ=(ϕ', ϕ‘') – функция переходов: ϕ‘: Y→Z функции в состояниях, ϕ‘‘: XxY→Z функции в на переходах
δ: XxZ→Y

Слайд 38

Автоматизированный объект управления

Объект управления– это тройка {V, fq,fc}, где
V - потенциально бесконечное

множество вычислительных состояний (или значений).
fq: V→x0 – функция, сопоставляющая входное воздействие вычислительному состоянию
f c → ZxV→V – функция, изменяющая вычислительное состояние в зависимости от выходного воздействия.

Слайд 39

Парадигмы автоматного (А) управления объектами (О)

Слайд 40

Иерархическая система автоматов

Слайд 41

Вложенный и вызываемый автоматы

Вызываемому автомату передается управление, затем вызываемый авмомат возвращает управление вызываемому

автомату
Обращение к вложенному автомату инициирует только один такт его работы.

Слайд 42

Формализация вызываемого автомата

Вызываемый автомат - это.
CA={Σ, QC, h, s, PC},
где
Σ — множество

входных символов (сигналов),
Q – множество состояний вызываемого автомата,
h – состояние host-автомата, в которое происходит возвращение из вызываемого автомата,
s – начальное состояние,
PС – правила перехода вида PС ⊆ Σ x QС x (QС ∪ h), где h ∈ QH.
Возврат из вызываемого автомата происходит по правилу вида: αi qi → h.
Вызов вложенного автомата можно приписывать как к переходу из одного состояния в другое, так и к состоянию host-автомата.
В случае привязки вызываемого автомата к
дуге в правила перехода host-графа приводятся к виду:
P ⊆ Σ x QH x (QH ∪ QC)
В случае привязки вызываемого автомата к состоянию, вводится функция, отображающая множество QH на множество состояния сложенного автомата QC – FC: QH → QC.

Слайд 43

Формализация вложенного автомата

Вложенный автомат – это
AI={Σ, QI, QH, S, PI}, где
Σ,- алфавит входных

символов (сигналов);
QI - множество состояний вложенного автомата;
QH – множество состояний host-графа,
S – начальное состояние вложенного автомата;
PI - множество правил перехода между состояниями вложенного автомата (PI⊆ΣxQIxQIxQH), т.е. в зависимости от текущего входного символа и текущего состояния вложенного автомата, вложенный автомат переходит в состояние QI, а host-автомат – в состояние QH.
Для того, чтобы привязать вложенные автоматы к вершинам host-автомата введем функцию, отображающую FI: QH → {AI}, где {AI} – множество вложенных автоматов.
Функция FI является инъекцией в случае, если host-граф является детермированным; Если host-автомат недетерминированный, то FI может отражать на одно состояние QH сразу несколько вложенных автоматов – при попадании в такую вершину активизируются сразу несколько вложенных автоматов.

Слайд 44

Синхронизация системы параллельно работающих автоматов

1. Обмен состояниями
2. Синхронизация по внешним событиям

Слайд 45

Пример синхронизации параллельных автоматов путем обмена состояниями

Насос 1

ПУСК

РАБОТА

ГОТОВ

Слайд 46

Пример синхронизации параллельных автоматов путем обмена состояниями

Насос 1

ПУСК_1

ПУСК_2

Насос 2

РАБОТА_2
СТОП_2

ГОТОВ_1

ГОТОВ_2

РАБОТА_2
СТОП_2

Слайд 47

Пример синхронизации параллельных автоматов путем обмена состояниями

Слайд 48

Виды автоматной декомпозиции

Параллельной работающие автоматы

Параллельной работающие деревья автоматов

Слайд 49

Декомпозиция системы автоматов

По объектам управления – уместна, когда для каждого ОУ можно выработать

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

Слайд 50

Схема связей автомата управления клапаном

Слайд 51

Схема связей автомата
«Часы с будильником»

Слайд 52

Типичные обозначения в графе состояний структурного автомата

К дуге приписывается булево выражение, обозначающее условие

перехода в другое состояние. Если выражение громоздкое, то его можно заменить кратким обозначением, а обозначение расшифровать в другом месте.
Выходное воздействие отделяется от номера состояния (автомат Мура) или условия перехода в другое состояние (автомат Мили) горизонтальной или косой чертой.
Обычно используются краткие обозначения вида: Ai –автомат, ei – событие, xi – входной сигнал, yi –выходной сигнал, Ci – условие перехода.
Для того, чтобы обозначить приоритет при переходов в том случае, когда выполняются условия перехода сразу на двух ветвях, применяется обозначение приоритета с помощью натурального числа, помещенного перед условием перехода и отделенного от него двоеточием.
Переход «Иначе» необходим для того, чтобы пометить переход, совершаемый, если не выполняются условия других переходов

Слайд 53

Пример обозначений

Слайд 54

Программная реализация вложенного и вызываемого автоматов

Ввод новых переменных, обозначающих состояние вложенного или

вызываемого автоматов.
Процедуры с передачей номера host-автомата при реализации вызываемого автомата.

Слайд 55

Автоматы с непрерывным пространством состояний

Дифференциальный автомат

Имя файла: F-схема-моделирования-(автоматная-схема).pptx
Количество просмотров: 71
Количество скачиваний: 0