- •Введение в общую теорию конечных автоматов.
- •Функции алгебры логики и их основные свойства.
- •Диаграммы Венна.
- •Формы записи булевых функций. Табличная запись.
- •Аналитическая запись.
- •Основная теорема.
- •Выражение функции в сднф и скнф с помощью аналитических преобразований.
- •Способы выявления равносильности булевых функций.
- •Свойства функций сложения по модулю 2.
- •Алгоритм построения.
- •Основные классы функций алгебры логики.
- •Класс линейных функций от n аргументов (Ln).
- •Класс функций, сохраняющих единицу (к1).
- •Класс монотонных булевых функций (м).
- •Класс самодвойственных функций (u).
- •Полные системы булевых функций.
- •Глава 2. Минимизация булевых функций. Сокращенные, тупиковые и минимальные формы булевых функций.
- •Метод Квайна.
- •Алгоритм метода Квайна.
- •Гарвардский метод.
- •Минимизация булевых функций с помощью карт Вейча.
- •Правила склеивания с помощью карт Вейча.
- •Метод Блека-Порецкого.
- •Минимальные конъюнктивные нормальные формы булевых функций.
- •Минимальные формы не полностью определенных булевых функций.
- •Абсолютные минимальные представления булевых функций.
- •Глава 3..Теория и практическое применение. Синтез логических схем на интегральных элементах.
- •Синтез схем на элементах типа «не-или».
- •Синтез схем на элементах типа «и-не» (а|b).
- •Синтез логических схем на мультиплексорах.
- •Контрольные задания.
- •Раздел 3. Конечные автоматы .
- •Эквивалентность автоматов Мили и Мура.
- •Синтез конечных автоматов.
- •Элементарные конечные автоматы.
- •Структурный синтез конечных автоматов.
- •Кодирование внутренних состояний конечных автоматов.
- •3.3. Контрольные задания.
- •Раздел 4. Проблемы риска и гонок сигналов.
- •Проблема гонок сигналов в асинхронных конечных автоматах.
- •Проблема риска не правильного срабатывания.
- •Раздел 5. Конечноавтоматные преобразователи, автоматные языки и грамматики.
- •Алфавиты, цепочки, языки.
- •Автоматные языки и грамматики.
- •Детерминированные конечные автоматы-распознаватели.
- •Недетерминированные конечные автоматы-распознаватели.
- •Литература
Я помню Д.Росса из компании Soft Tech,
много лет назад, говорившего, что 80%
или даже 90% информатики (Сomputer
Science) будет в будующем основываться
на теории конечных автоматов»
B.Rndell
«Я знаю людей из «Боинга», занимающихся
системами стабилизации самолетов с
использованием чистой теории автоматов.
Даже трудно себе представить, что им удалось
сделать с помощью этой теории» . Семинар
Введение в общую теорию конечных автоматов.
СОДЕРЖАНИЕ
Раздел1 Основы алгебры логики 1- 20
Раздел2.. Минимизация булевых функций 20-33.
Теория и практическое применение 33-46.
Контрольные задания 46-47.
Раздел3. Конечные автоматы 48- 71
Раздел4. Проблемы синтеза и гонок 72- 80
Раздел 5.Конечноавтоматные преобразования, языки и грамматики80-90
Контрольные задания 91
Литература. 93
Раздел 1. Основы алгебры логики.
Функции алгебры логики и их основные свойства.
Рассмотрим набор < x1, x2,…, xn>, где xi принимает значения 0 или 1: <011010…1>. Число различных наборов такого вида при 1≤i≤n конечно и равно 2n.
Два различных набора < x1, x2,…, xn> и < y1, y2,…, yn>, где xi и yi принимают значения 0 или 1, называются сравнимыми, если для любого i выполняется соотношение xi ≥ yi (или xi ≤ yi ), и несравнимыми во всех остальных случаях.
Функция f(x1, x2,…, xn) называется булевой или переключательной функцией, если она, так же как и ее аргументы, может принимать только два значения: 0 и 1.
Если две булевых функции f1(x1 x2… xn) и f2(x1 x2… xn) принимают на всех возможных наборах значений аргументов одинаковые значения, то функции f1 и f2 называются равными:
f1(x1 x2 … xn) = f2(x1 x2 … xn).
Функция f(x1 x2… xi-1 xi xi+1… xn) существенно зависит от аргумента xi, если имеет место соотношение:
f(x1 x2… xi-1 1 xi+1… xn) ≠f(x1 x2… xi-1 0 xi+1… xn).
В противном случае говорят, что от xi функция зависит несущественно и xi является ее фиктивным аргументом.
Теорема. Число различных функций алгебры логики, зависящих от n аргументов, конечно и равно 2n.
Для доказательства составляем таблицу значений произвольной функции n параметров (табл.1.1).
Таблица 1.1
x1 x2 … xn f1(x1 x2 … xn)
0 0 . . . 0 α1
0 0 . . . 1 α2
. . . . . . . . . . .
1 1 . . . 0 α2n-1
1 1 . . . 1 α2n
Задавая тот или
иной двоичный набор < α1
α2
… α2n
>, будем описывать одну из возможных
функций. Но число таких наборов
=
.
Теорема доказана.
В число функций входят как функции, существенно зависящие от всех n аргументов, так и функции, для которых некоторые аргументы являются фиктивными.
Теорема. Число всех функций алгебры логики, существенно зависящих от n аргументов, определяется следующим рекуррентным соотношением:
An= - Cnn-1 An-1- Cnn-1 An-1- Cnn-2 An-2-…- Cn1 A1- A0.
Здесь Ai – число функций, существенно зависящих от i аргументов. Правая часть соотношения есть разность между числом всех функций от n аргументов и суммой всех функций, существенно зависящих от любого числа аргументов меньше n. Справедливость очевидна.
Пример. При n=0:
f0=0, f1=1, A0=2.
При n=1 (табл.1.2) f1 и f2 зависят от x существенно, а для f0 и f3 аргумент x является фиктивным.
Таблица 1.2
x f0(x) f1(x) f2(x) f3(x)
0 0 0 1 1
1 0 1 0 1
При n=2:
A2=
- C21
A1-
A0=10.
При n=3:
A3=
-
C32
A2-
C31
A1-
A0=218.
Область определения любой булевой функции конечна, поэтому все булевы функции можно задать таблицей значений на различных наборах. Так как набор – двоичное число, то принято каждому набору аргументов приписывать номер, равный соответствующему двоичному числу. Причем порядок записи аргументов совпадает с порядком переменных в записи функции:
x1 x2 … xn-1 xn
0 0 … 0 0 0-й набор
0 0 … 0 1 1-й набор
… … … … … ……..
1 1 … 1 1 (2n-1)–й набор.
Обычно при задании таблицы наборы идут в порядке возрастания номеров.
Пример. n=0: две функции, существенно не зависящие ни от одного переменного, - константа 0 и 1.
Для n=1 функции сведены в табл.1.3.
Таблица 1.3
x 0 1 Название функции
f0(x) 0 0 Константа 0
f1(x) 0 1 Переменная x
f2(x) 1 0 Инверсия x, не x
f3(x) 1 1 Константа 1.
В дальнейшем каждой функции будем приписывать номер, равный двоичному числу, образованному значениями функции, записанными слева направо, начиная со значения функции на нулевом наборе.
Для n=2 переключательные функции приведены в табл.1.4.
Таблица 1.4
x 0 0 1 1 Обозначение Название
y 0 1 0 1 функции функции
f0(xy) 0 0 0 0 0 Константа нуль
f1(xy) 0 0 0 1 xy, xΛy Логическое произведе-
ние, конъюнкция, Λ
f2(xy) 0 0 1 0 xΔy Функция запрета по y
f3(xy) 0 0 1 1 x Переменная x
f4(xy) 0 1 0 0 yΔx Функция запрета по x
f5(xy) 0 1 0 1 y Переменная y
f6(xy)
0 1 1 0 x
y,
y
x
Функция суммы по мо-
дулю 2, логическая не-
равнозначность
f7(xy)
0 1 1 1 x+y,
x
y
Логическая сумма,
дизъюнкция,
f8(xy) 1 0 0 0 x↓y Операция (стрелка)
Пирса, операция Вебба
f9(xy) 1 0 0 1 x~y Логическая
равнозначность
f10(xy)
1 0 1 0
Инверсия
y,
не y
f11(xy) 1 0 1 1 y→x Импликация от y к x
f12(xy)
1 1 0 0
Инверсия
x,
не x
f13(xy) 1 1 0 1 x→y Импликация от x к y
f14(xy) 1 1 1 0 x | y Операция (штрих)
Шеффера
f15(xy) 1 1 1 1 1 Константа единица
При n=2, A2=10, функции f0, f3, f5, f10, f12 и f15 имеют фиктивные аргументы.
Основные соотношения алгебры логики для функций Λ, и инверсии.
Основные законы алгебры логики:
а) ассоциативный (сочетательный) закон
(xy)z=x(yz)=xyz;
(x+y)+z=x+(y+z)=x+y+z;
б) коммутативный (переместительный) закон:
xy=yx;
x+y=y+x;
в) дистрибутивный (распределительный) закон:
(x+y)z=xz+yz;
(x+y)(y+z)=xz+y.
Основные соотношения для инверсии:
Основные соотношения для дизъюнкции:
Основные соотношения для конъюнкции:
Основные соотношения для системы функций:
а) операция поглощения:
x+xy=x;
x(x+y)=x;
б) операция склеивания:
в) формулы де Моргана:
