V Автоматы и формальные языки
5.1. Обозначения
№ |
Символ |
Значение символа |
Примечание |
1 |
¬ |
Не |
¬Истина=ложь, ¬ложь=истина |
2 |
^ |
И |
К онъюнкция истина ложь истина истина ложь ложь ложь ложь |
3 |
V |
Или |
Д изъюнкция истина ложь истина истина истина ложь истина ложь |
4 |
∪ |
Или |
Е1∪Е2-событие Е1, или Е2, или и то, и другое, не исключающее друг друга. |
5 |
∩ |
И |
Е1∩Е2- событие Е1 и Е2 |
6 |
~ |
Не |
Ẽ- событие не Е |
7 |
⊂ |
Включение |
Отношение превратилось в логическое отношение включения –С. Равенства А+В=В, или АВ=А эквивалентны отношению АВ или ВА, что соответствует записи А⊂В или В⊃А. |
8 |
L |
1 |
Логическая единица. L=истина |
9 |
0 |
0 |
Логический ноль. L=ложь |
10 |
∊ |
Принадлежит |
А∊В- множество А ∊ множеству В |
11 |
\ |
|
|
Общепринятые уравнения:
- Т(Е1∪Е2)=Т(Е1)+Т(Е2);
Т(Е1∩Е2)= Т(Е1)Т(Е2);
〜
- Т(Ẽ) =Т(Е).
Пусть задано некоторое множество М. Всякое множество ℛ пар (а,b) при а,b∊М называется отношением в М. Вместо (а,b)∊ ℛ
будем писать .Отношение называется рефлексивным, если всегда ; транзитивным, если при и всегда выполняется ; симметричным, если при всегда выполняется ; антисимметричным, если при a≠b соотношения и никогда не выполняются одновременно
Рефлексивное, транзитивное и симметричное отношение называют отношением эквивалентности. Оно разбивает множество М на непересекающиеся классы эквивалентных элементов.
5.2. Автоматы
Пусть - некоторое множество элементов, называемых состояниями, а - некоторый набор знаков, называемый множеством входных символов. Для каждого состояния и каждого символа указано некоторое новое состояние, в которое переходит система.
1
Обозначим это, как отображение из в или .
С алгебраической точки зрения речь идет о других множествах и со смешанной операцией t, s, ts. Такая алгебраическая структура называется детерминированным автоматом А=(,).
Переключательные схемы (простейшие элементы ИС) являются системами с состояниями и переходами из одних состояний в другие. По сути, они представляют собой автомат, состояниями которого являются состояния переключательной схемы, а входными символами – комбинации значений на входе переключательной схемы.
Символическое изображение переключательного элемента:
Входные параметры: а1, а2, а3, … аn.
Выходные параметры: b1, b2, b3 , … bn.
Причем b1=f1(а1, а2, а3, … аn),
b2 =f2(а1, а2, а3, … аn) и т.д.
5.3. Полугруппы, таблицы и диаграммы переходов
Под полугруппой понимают множество с некоторой операцией умножения – ◦, представленной в виде отображения:
◦
, которая (операция) ассоциативна:
a, b, c : a◦(b◦c)=(a◦b)◦c
Здесь приняты обозначения:
- для всех
: - выполняется следующее.
Операцию над элементами конечного множества можно представить в виде таблицы:
(5.1)
Диаграмма Кэли к таблице 5.1.
В ход Состояние
a0 b = b
a0 a = a
Что не всякое отображение является ассоциативным, показывает следующий пример:
(5.2)
Следовательно (fg)f=ff=g,
f(gf)=fg=f.
В виде таблицы переходов можно описать и автомат с конечным числом состояний и входных символов. Для автомата с двумя состояниями r и s и четырьмя входными символами а, b, c, d эта таблица может выглядеть так:
(5.3)
Диаграмма переходов к таблице 5.3.
В ход Состояние
c0 s = s
b0 r = r
Для описания операций можно воспользоваться диаграммой Кэли или диаграммой переходов автоматов. В обоих случаях речь идет ориентированных графах с помеченными дугами. Элементы полугруппы, заключенные в кружок, соответствуют состоянию автомата и выступают в роли вершин графа. Дуга с буквой «а» соответствует входным символам и ведет от одного состояния к другому.
5.4. Автоматы с выходом
Автомат с выходом есть некоторое множество σ выходных символов, образованных путем отображения λ из γ×φ.
λ
γ×φ→ σ (5.4)
Если выходной символ зависит от входного символа и состояния, то это автомат Мили (5.4.). Если выходной символ зависит только от состояния:
λ
φ→ σ , (5.5)
то говорят об автомате Мура.
Пусть автомат с входными символами {0,L}и состояниями {s1, s2, …s10}имеет диаграмму переходов:
Из состояния s1 в состояние s10 можно попасть, подавая на вход слова:
LLL, LLLL, LLLLL, …
LLL0L, LL0L0L, …
0L0L0L0L, L00L00L00L00L00L00L, …
Этот автомат можно дополнить до автомата Мура, который, например, в состояниях s1, s2, … ,s9 будет выдавать символ «тихо», а в состоянии s10 – символ «звонок». А можно образовать автомат Мили, который дает звонок только тогда, когда состояние s10 достигается, например, при поступлении символа L на состояние s7, и никуда иначе.
5.5. Языки автоматов
Пусть в автомате A=(γ,φ) выделены два состояния: начальное – s0 и заключительное - sE . Говорят, что слово х=tktk-1 …t2t, допускается инициальным автоматом (a, s0, sE), если xs0=sE, т.е. если цепочка состояний s0, s1, … , sk, определяемая переходами
si+1=ti+1si (i=0,1, …, k-1) (5.6)
ведет к заключительному состоянию sk=sE.
Примеры автоматов с разным количеством допускаемых слов:
Автомат, воспринимающий одно единственное слово.
Слово: L
S1=SE
В состояние S1, можно попасть, задав на входе S0 – 0 (S1 = 0S), но это состояние S1 не будет заключительным. Из состояния S1 попасть в SE невозможно!
2. Автомат, воспринимающий ровно два слова.
Два слова: 0 или L.
S1 = SE
В заключительное состояние SE можно попасть только из S0, задав слово 0 или L. Тогда согласно определению инициального автомата SE = S1 = t1S0 = (0VL)S0. Из состояния SE в S1 попасть можно, наоборот нет! Существует как бы два состояния S1, одно из которых является заключительным SE.
3. Автомат, воспринимающий бесконечное множество слов.
На начальное состояние S0 могут подаваться слова:
L, 0L, 00L, 000L, …
В приведенных выше трех примерах речь идет о конечных автоматах, названных так по причине конечного числа состояний. Приведем пример бесконечного автомата:
Все состояния автомата, за исключением конкретного S0 = SE, обозначим Si, где i – натуральное число и полагаем
LSi = SE, если i = -1,
Si+1 в остальных случаях, (5.6)
SE, если i = 1,
0Si = Si-1 в остальных случаях.
Словарный запас описывается выражением – допускается всякое слово, которое состоит из одинакового числа 0 и L. Образно говоря «откуда вышли, туда и пришли».
Автомат – дерево.
Для конечных автоматов диаграмму переходов можно изображать в виде дерева с корнем в начальном состоянии. При этом ветвь обрывается, когда достигается состояние, которое уже было. Покажем диаграмму переходов автомата в виде дерева на примере §5.4.
5.6. Формальные языки
5.6.1.Формальные системы
Отдельные автоматы, индуцируемые последовательностью
входных символов t1, t2, … tk, можно выполнить последовательно друг за другом. При этом совокупное отображение будет представлено словом над набором γ
tk tk-1 … t2t1 (5.7)
Таким образом,
tk tk-1 … t2t1s = tk(tk-1 … t2t1s). (5.8)
Сами отдельные символы – это однобуквенные слова. Множество всех слов бесконечно, даже в том случае, когда набор знаков конечен.
Для слов определена операция с символом «◦»-конкатенация:
(tl tl-1 … tk+1)◦(tktk-1 … t2t1) = tl tl-1 … tk+1 tk … t1 (5.9)
Ассоциативность конкатенации очевидна. Поэтому множество слов над набором знаков γ является полугруппой относительно конкатенации. Эта полугруппа обозначается через γ* и называется свободной полугруппой с множеством порождающих γ.
Для изложения идеи формальных систем изменим несколько следующие понятия и введем новые:
Множество γ будем называть набором терминальных символов.
Под состояниями будем понимать так же символы, которые назовем нетерминальными символами или синтаксическими переменными.
Множество β=γUφ назовем словарем.
Таблицу переходов заменим конечным множеством примитивных правил замены – правил вывода.
_ _
Вместо s=ts будем писать xs → xts, для произвольного x γ*.
Направление стрелки – направление вывода, оно противоположно направлению перехода от одного состояния к другому. Например, a→ b означает, что «b» непосредственно выводимо из «a», т.е. «a» является предшественником «b».
a b ?!
_
Объяснение: а= s, b= ts. _