Вариант 5
Содержание |
Структурные автоматы. Минимизация, кодировка и матричная реализация
Введение
Не все окружающие нас преобразователи информации выполняют функциональное отражение информации. Результат преобразования вход=>выход зачастую зависит не только от того, какая информация в данный момент появилась на входе, но и от того, что происходило раньше, от предыстории преобразования. Множество примеров тому дают биологические системы. Например, один и тот же вход – извинение соседа после того, как он наступил вам на ногу в переполненном трамвае – вызовет у вас одну реакцию в первый раз и совсем другую – в пятый раз. По-видимому, ваша реакция будет различной, она будет зависеть от предыдущих событий, произошедших в трамвае, от входной истории. Таким образом, существуют более сложные, не функциональные преобразователи информации; их реакция зависит не только от входа в данный момент, но и от того, что было на входе раньше, от входной истории. Такие преобразователи называются автоматами. Исследования в области теории автоматов начались в середине 50-х годов прошлого века. Несмотря на свою простоту, модель конечного автомата оказалась чрезвычайно удобной в огромном числе приложений не только в информатике, но и в других областях инженерной деятельности. Большой интерес к этой теории объясняется именно широкими возможностями ее применения.
Основные понятия алгебры логики
Понятие цифрового автомата было введено как модель для описания функционирования устройств, предназначенных для переработки цифровой или дискретной информации. Для формального описания цифровых автоматов применяется аппарат алгебры логики, созданной английским математиком Джорджем Булем (1815-1864). Поэтому алгебру логики называют алгеброй Буля или булевой алгеброй. В алгебре логики применительно к описанию цифровых автоматов, работающих в двоичном представлении кодов (или цифровой информации) основными понятиями являются логическая (булева) переменная и логическая функция (функция алгебры логики - ФАЛ).
- Определение: Логическая (булева) переменная - такая величина x, которая может принимать только два значения: x = {0,1} (ложное или истинное высказывание) [3].
- Определение: Логическая функция (функция алгебры логики – ФАЛ) – функция многих аргументов f(xn-1, xn-2,, ..., x0), принимающая значения равные нулю или единице на наборах логических переменных xn-1, xn-2,, ..., x0 [3].
В дальнейшем в формальных описаниях наборов переменных и логических функций сами наборы переменных интерпретируются как двоичные коды (числа). В двоичных кодах расположение логических переменных упорядочено в порядке уменьшения индекса слева направо и каждая логическая переменная имеет вес в зависимости от позиции в коде, увеличивающийся справа налево. Вес каждой i - той логической переменной, являющейся значением разряда двоичного числа равен 2i (i = 0, ... , n-1). Для n - разрядного кода общее количество уникальных наборов переменных N = 2n; Максимальное числовое значение двоичного кода равно Aмакс = 2n-1; Значения всех логических функций от одной переменной представлены в таблице 1.1. Таблица 1.1. Значения логических функций
x | fo(x) | f1(x) | f2(x) | f3(x) |
---|---|---|---|---|
0 | 0 | 1 | 0 | 1 |
1 | 0 | 1 | 1 | 1 |
Функция f0(x) называется константой нуля, а функция f1(x) - константой единицы. Функция f2(x), повторяющая значения логической переменной, - тождественная функция (f2(x) = x), а функция f3(x), принимающая значения, обратные значениям переменной x, - логическое отрицание или инверсия (НЕ) (f3(x) = /x ). В таблице 1.2 перечислены некоторые булевы функции от двух аргументов :
Таблица 1.2. Булевы функции
x1x2 | g0 | g1 | g2 | g3 | g4 | g5 | g6 | g7 | g8 |
---|---|---|---|---|---|---|---|---|---|
0 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
0 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
1 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
1 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 |
g0(x1,x2)=0 - константа 0; g1(x1,x2)=1 - константа 1; g2(x1,x2)=x1 x2 - дизъюнкция; g3(x1,x2)= g4(x1,x2)= g5(x1,x2)= g6(x1,x2)= g7(x1,x2)= g8(x1,x2)=