- •Н.А. Ююкин
- •Введение
- •1. Элементы комбинаторики
- •1.1. Простейшие комбинаторные конфигурации
- •Основные правила комбинаторики
- •Выборки элементов без повторений
- •Выборки элементов с повторениями
- •Латинские прямоугольники, конечные проективные плоскости и блок-схемы
- •1.2.1. Латинские прямоугольники
- •1.2.2. Конечные проективные плоскости
- •1.2.3. Блок-схемы
- •Формула включений и исключений
- •1.3.1. Объединение комбинаторных конфигураций
- •1.3.2. Принцип включения и исключения
- •1.3.3. Число булевых функций, существенно зависящих от всех своих переменных
- •1.3.4. Решето Эратосфена
- •1.4. Рекуррентные уравнения
- •1.4.1. Определение рекуррентного уравнения
- •1.4.2. Решение линейного однородного рекуррентного уравнения
- •1 (2).4.3. Решение линейного неоднородного рекуррентного уравнения
- •1.5. Производящие функции
- •1.5.1. Общие сведения о производящих функциях
- •1.5.2. Производящая функция для биноминальных коэффициентов
- •1.5.3. Производящая функция для чисел Фибоначчи
- •1.6.1. Определение z– преобразования
- •1.6.2. Обратное преобразование
- •В правой части этого равенства стоит контурный интеграл в z-плоскости по любому замкнутому контуру в области сходимости, охватывающему начало координат.
- •1.6.3. СвойстваZ-преобразования
- •1.6.4. Использование z-преобразований для решения рекуррентных уравнений
- •1.6.5. Таблица односторонних z-преобразований
- •1.7.Трансверсали и перманенты
- •1.7.1. Множества и мультимножества
- •1.7.2. Трансверсали
- •1.7.3. Пермамент матрицы
- •1.7.4. Число трансверсалей
- •1.8. Матрицы Адамара
- •1.8.1. Определение матрицы Адамара и ее свойства
- •1.8.2. Эквивалентные преобразования матриц Адамара
- •1.8.3. Построение матриц Адамара
- •2. Теория автоматов
- •2.1. Понятие конечного автомата
- •2.1.1. Общие сведения о конечных автоматах
- •2.1.2. Абстрактное определение конечного автомата
- •2.2. Эквивалентности в автоматах
- •2.2.1. Основные определения
- •2.2.2. Покрытия и морфизмы
- •2.2.3. Эквивалентные состояния автоматов
- •2.3. Процедура минимизации конечных автоматов
- •2.4. Автоматные функции и эксперименты с автоматами
- •2.4.2. Моделирование автоматной функции с помощью схемы из функциональных элементов и задержки
- •2.4.3. Эксперименты с автоматами
- •2.5. Автоматные языки
- •2.5.1. Представление о формальных языках
- •2.5.2. Алфавит, слово, язык
- •2.5.3. Классификация грамматик и языков
- •2.5.4. Понятие формальной грамматики
- •2.5.5. Автоматные грамматики.
- •2.6. Модификации конечных автоматов
- •2.6.1. Не полностью описанные (частичные) автоматы
- •2.6.2. Понятия недетерминированного и вероятностного автомата
- •2.7. Процедура минимизации не полностью описанного автомата
- •2.7.1. Совместимые состояния
- •2.7.2. Техника определения совместимых состояний.
- •2.7.3. Построение минимального автомата
- •3. Введение в нечеткую математику
- •3.1. Нечёткие множества
- •3.2. Нечеткие отношения
- •3.3. Нечеткая логика
- •Заключение
- •Библиографический список
- •Оглавление
- •1. Элементы комбинаторики 7
- •2. Теория автоматов 58
- •3. Введение в нечеткую математику 106
2. Теория автоматов
2.1. Понятие конечного автомата
2.1.1. Общие сведения о конечных автоматах
Данный раздел посвящен математическому описанию работы цифровых вычислительных машин (ЦВМ) с помощью понятий множества, отношения, функции и графа. При этом из рассмотрения исключаются аналоговые вычислительные машины, состояние которых меняется непрерывно. Не рассматриваются также гибридные устройства, сочетающие цифровые и аналоговые компоненты. С математической точки зрения, все многообразие ЦВМ можно отнести к одному классу конечных автоматов.
Они обладают следующими свойствами:
Любая ЦВМ состоит из конечного числа элементов, каждый из которых в любой момент времени может находиться лишь в одном из конечного числа устойчивых состояний. Поэтому вся машина в целом имеет конечное множество состояний.
Любая ЦВМ работает последовательно, то есть ее операции синхронизированы сигналами тщательно настроенных электронных часов. В связи с этим состояние машины меняется в четкой последовательности.
ЦВМ является детерминированным устройством. Это значит, что при наличии полной информации о внутренних состояниях всех элементов машины и всех ее входов следующее состояние машины определяется однозначно.
ЦВМ делятся на универсальные и специализированные. В теории конечных автоматов анализируются универсальные машины, которые используются для любых целей.
С функциональной точки зрения современные ЦВМ состоят из 5 типов устройств:
1) устройство ввода;
2) устройство памяти;
3) арифметико-логическое устройство;
4) устройство управления;
5) устройство вывода.
ЦВМ конструируются на электронных схемах, имеющих два устойчивых состояния. Основная причина – технологическая. Но в этом случае возрастает также надежность электронных схем. Это связано с тем, что небольшие отклонения характеристик электронных схем не отражаются на работе всего устройства в целом.
Таким образом, типичный сигнал в элементах ЦВМ имеет следующий вид

При этом единицей кодируется сигнал более высокого уровня, а нулём – более низкого. Или более точно, устанавливается некоторое пороговое значение сигнала и далее сигналы выше порога кодируются 1, а ниже – 0. Таким образом, не вникая в дальнейшие особенности работы электронных схем, отметим, что сигналы в таких устройствах двузначны. Это значит, что переменные, используемые для их описания, принимают только два значения. Это же замечания относится и к материальным носителям информации и к преобразователям сигналов. В результате состояние любой ЦВМ, имеющей конечное число rдвоичных элементов математически может быть описано следующим образом.
Нумеруются элементы ЭВМ, затем с каждым устойчивым состоянием связывается вектор
.
При этом координате
приписывается значение 1, если
-й
элемент находится в единичном состоянии,
и 0, если
-й
элемент находится в нулевом состоянии.
2.1.2. Абстрактное определение конечного автомата
Абстрактным описанием ЦВМ служит математическое понятие конечного автомата.
Определение.Конечным автоматомназывается набор из пяти объектов:
,
где
- конечный список
входных символов (входной алфавит);
- список выходных
символов (выходной алфавит);
- множество
внутренних состояний;
- функция переходав следующее состояние;
- функция выхода.
Таким образом,
конечный автомат математически
описывается тремя множествами и двумя
функциями. Его действие состоит в том,
что он считывает последовательность
входных символов (программу), а затем
печатает последовательность выходных
символов. Это действие происходит
последовательно, а именно, конечный
автомат, находящийся во внутреннем
состоянии
считывает входной символ
.
Функция
на паре
принимает значение
,
которое печатается в качестве выходного
символа. Функция
на той же паре
принимает значение
,
которое является следующим внутренним
значением автомата. Далее автомат
считывает новый входной символ, печатает
выходной, переходит в следующее состояние
и так далее. Эту последовательность
работы можно наглядно представить в
следующем виде.
В
определении конечного автомата
предполагается, что функции
и
всюду определены. Такое описание автомата
называетсяполным.
Пример. Автомат
имеет входной алфавит
,
выходной алфавит
,
множество внутренних состояний
.Функции
перехода и выхода задаются предписаниями:
|
|
|
Подадим на вход
последовательность 0,1,0,1. Если автомат
находился в состоянии
,
то считав первый символ 0, он перейдёт
в состояние
и напечатает0. Считав затем 1, он
перейдёт в состояние
и напечатает0. Считав следующий 0,
он перейдёт в состояние
и напечатает1. Наконец, считав
последний символ 1, автомат закончит
работу в состоянии
,
печатая0. Таким образом, автомат
преобразовал входной сигнал 0101 в сигнал
0010 на выходе.
В


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

2) Второй способ
описания конечного автомата - таблица
состояний– это табличное представление
функций
и
.
В соответствии с примером
|
Текущее состояние |
Следующее состояние |
Выход | ||
|
0 |
1 |
0 |
1 | |
|
|
|
|
0 |
1 |
|
|
|
|
1 |
0 |
|
|
|
|
1 |
0 |
Оба способа описания конечного автомата имеют свои преимущества и недостатки. Таблица состояний удобна при вычислениях, а диаграмма состояний является более наглядной. В частности, по диаграмме состояний конечного автомата можно обнаружить состояния недостижимые из других состояний. Например:

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