Дискретная математика
Понятие алгебры логики, ее сущность и особенности, основные понятия и определения, предмет и методика изучения. Законы алгебры логики и следствия из них, методы построения формул по заданной таблице истинности. Формы представления булевых функций.
Рубрика | Математика |
Вид | учебное пособие |
Язык | русский |
Дата добавления | 29.04.2009 |
Размер файла | 702,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
В технической литературе используются обозначения элементов, несколько отличающихся друг от друга.
Логическая схема, которая полностью описывается булевыми выражениями или таблицами истинности, называется комбинационной схемой.
Таким образом, комбинационная схема - схема, в которой значения входных переменных в текущий момент времени полностью определяют значения выходных переменных.
Другой класс схем - последовательностные схемы. Это схемы с внутренней памятью. В них значения выходных переменных определяются не только значениями входных переменных в текущий момент времени, но и их значениями в предыдущие моменты времени.
Будем рассматривать только комбинационные схемы.
До сих пор мы рассматривали поведение логической схемы, таблицы истинности и булевы выражения, использованные для описания значений выходной переменной в зависимости от набора значений входных переменных. Но булево выражение содержит сведения и о структуре логической схемы.
Соединив логические элементы в соответствии с булевыми выражениями, получим логическую схему, реализующую данное выражение.
Логическая связь выхода и входов этой схемы описывается исходным булевым выражением. Таким образом, булево изображение - описание логической схемы.
Контрольные вопросы
1. Перечислите все известные формы представления булевых функций.
2. Перечислите основные элементы, используемые при построении логических схем.
3.12 Логические конечные автоматы
3.12.1 Процессы
Описывая конкретные алгоритмы, мы отмечали, что вычисление по алгоритму можно рассматривать как некоторый процесс, который описывается множеством состояний, начальным состоянием и правилами перехода из состояния в состояние.
Рассмотрим три варианта таких правил и соответственно три в принципе различных процесса:
· процесс, в котором переходы выполняются под влиянием некоторых внешних воздействий. Этот процесс называется автоматом;
· процесс, в котором переходы выполняются под влиянием некоторого случайного механизма. Таких процессов можно придумать много, простейший из них, который будем рассматривать в дальнейшем, называется марковской цепью;
· процесс, в котором переходы выполняются по выбору некоего «одушевленного существа», стремящегося выбрать такой набор или последовательность решений, которые обеспечат ему максимальное значение некоторой функции от траектории процесса. Это управляемые процессы.
Разумеется, кроме таких чистых схем имеются и всякого рода смеси. Однако, чистые схемы интересны тем, что по ним можно увидеть, на что в соответствующей конкретной науке обращается особое внимание, и как сильно традиции этой конкретной науки влияют на изучение одного и того же математического объекта.
3.12.2 Конечные автоматы
Пусть заданы:
М - конечное непустое множество, элементы которого называются состояниями автомата;
А - конечное непустое множество внешних воздействий на автомат (входной алфавит автомата);
В-множество ответов автомата на внешние воздействия (выходной алфавит).
Автомат - это процесс, который рассматривается в дискретные моменты времени (такты работы) и в каждый момент времени получает внешние воздействия. В зависимости от воздействия и текущего состояния процесса переходит в новое состояние и вырабатывает свой ответ.
По сравнению со схемой из функциональных элементов конечный автомат является более точной моделью дискретного преобразователя информации, однако, как и любая модель, понятие конечного автомата связано с рядом упрощающих предположений.
Во-первых, предполагается, что вход (выход) автомата в каждый момент времени может находиться в одном из конечного числа различных состояний. Но у реального преобразователя входной сигнал x(t) представляет собой непрерывную величину, и для описания такого преобразователя с помощью модели конечного автомата нужно разделить диапазон изменения x(t) на конечное число уровней и произвести квантование.
Во-вторых, предполагается, что время изменяется дискретно. Это означает, что состояния входа и выхода устройства отмечаются только в определенные моменты времени, образующие дискретную последовательность
t1, t2,…, tn. Каждый момент времени однозначно определяется его индексом, поэтому с целью упрощения будем считать, что время t принимает значения 1, 2, 3,…, n. Промежуток (n, n+1) называется тактом.
Конечный автомат является математической моделью реальных дискретных устройств по переработке информации. Структура теории конечных автоматов определяется теми задачами, которые возникают при производстве и эксплуатации таких устройств.
Теория автоматов - раздел теоретической кибернетики, в котором изучаются математические модели (называемые автоматами, машинами) реально существующих (механических, биологических и т. п.) или принципиально возможных устройств, перерабатывающих дискретную информацию дискретными временными тактами.
Теория автоматов возникла, главным образом, под влиянием запросов техники цифровых вычислительных и управляющих машин, а также внутренней потребности теории алгоритмов и математической логики.
Понятие «автомата» заметно варьируется в зависимости от характера названных устройств, от принятого уровня абстракции и целесообразной степени общности (автоматы конечные, бесконечные, растущие, вероятностные, детерминированные, автономные и т. п.).
Автомат можно рассматривать как частный случай общего понятия управляющей системы. В теории автоматов широко применяется аппарат алгебры, математической логики, комбинаторного анализа (включая теорию графов) и теорию вероятностей.
Конечные и бесконечные автоматы характеризуются соответственно конечностью и бесконечностью объема памяти (число внутренних состояний). Конечными автоматами являются отдельные блоки компьютера и даже компьютер в целом. Мозг тоже можно также рассматривать как конечный автомат. Бесконечные автоматы представляют собой естественную математическую идеализацию, вырастающую из представления об автомате с конечным, но необратимо большим числом состояний.
Анализ автоматов - нахождение по заданному в том или ином виде автомату отображения «вход-выход», осуществляемого этим автоматом; часто такое отображение можно интерпретировать как вычисление предиката, и поскольку каждый предикат характеризуется своим множеством истинности, то задача анализа автомата сводится к нахождению этого множества (говорят, что это множество распознается автоматом).
Для многих классов автоматов хорошо известны классы распознаваемых ими множеств. Например, машины Тьюринга распознают все рекурсивно перечислимые множества, автоматы с магазинной памятью (недетерминированные) - контекстно свободные языки.
Далеко не всегда по заданным автомату и множеству удается определить, распознает ли автомат в точности это множество. В общем виде для произвольного класса автоматов или даже для произвольного конкретного автомата эта проблема является алгоритмически неразрешимой. Если наложить ограничения на способы задания автоматов и на способы задания множеств, то для многих случаев она становится разрешимой. Например, если регулярные события задавать регулярными выражениями, а конечные автоматы - матрицами переходов и выходов, то существует общий конструктивный прием (алгоритм анализа конечных автоматов), позволяющий находить регулярные выражения для событий, представляемых в произвольном конечном автомате.
Синтез автоматов - построение автоматов по заданному поведению «вход-выход». Проблема синтеза наиболее подробно исследовалась для конечных автоматов, поскольку к этому случаю сводятся многие практические задачи, связанные с проектированием разного рода управляющих и вычислительных устройств.
Трудности синтеза автоматов зависят в основном от того, как заданы условия функционирования автомата. Чем выразительнее язык, применяемый для задания условий функционирования аппарата (т. е., чем удобнее он для заказчика), тем сложнее метод синтеза. Во многих случаях может оказаться, что единого метода синтеза не существует. Поэтому для ряда классов автоматов, в частности, для конечных автоматов, разрабатываются специальные языки, с помощью которых удобно задавать условия функционирования автоматов, для которых существуют методы синтеза (регулярные события и выражения, логический язык для задания автоматов).
Минимизация числа состояний автомата - по произвольному заданному конечному автомату создается автомат с наименьшим возможным числом состояний, обладающий тем же поведением, что и исходный автомат. Решение этой задачи состоит в нахождении эффективного алгоритма минимизации. Оно представляет интерес, как в абстрактной теории автоматов, так и в проектировании реальных автоматов.
Рассмотрим модели, которые представлены в виде некоторого черного ящика, на вход которого поступают некоторые логические переменные x1, x2,…, xn. Объект их перерабатывает, и на выходе получаем некоторые логические функции y1, y2,…, yk.
Рис. 8. Логический конечный автомат
Такие модели называют логически конечными автоматами. Существуют некоторые классы таких автоматов:
автоматы без памяти (комбинационные)
автоматы с памятью (последовательностные).
3.12.2.1 Конечные автоматы без памяти (комбинационные)
Общая формула, описывающая этот вид автоматов:
, i = 1, 2, …, k.
- в векторной форме
Пример 1.
Примером таких автоматов является простая экспертная система профессиональной пригодности, где входные значения - это ответы на n вопросов, а выходные - k выводов о том, может ли человек работать в данной области.
Пример 2.
Диагностика неисправностей, заболеваний и т. д.
Пример 3.
Пусть функционирование логического автомата описывается формулой:
.
На языке Pascal оператор присваивания, соответствующий этой формуле:
Для более сложной модели получается структура типа запись:
Type
Prep = record
Number: Integer;
Stroka: String;
Zn: Boolean;
End;
Далее моделируется базис, который будет работать с этими высказываниями. Для каждой логической операции пишем процедуру или функцию.
Function otr (a: prep; var b: prep; параметры сохранения и т. д.): Boolean;
Function con (a, b: prep; var c: prep; параметры сохранения и т. д.): Boolean;
Function diz (a, b: prep; var c: prep; параметры сохранения и т. д.): Boolean;
Пример 4.
Отмоделировать функцию Yi:
Высказывание моделируется записью:
Function y1 (x1, x2, x3, x4: prep; var rez: prep; sohr: Boolean; newnumber: Integer; t: String): Boolean;
Var
I: boolean; a, b, c, d, e,: prep;
Begin
I:= otr(x1, a, false, 0);
I:= otr(x2, b, false, 0);
I:= con (a, b, c, false, 0);
I:= con (c, x3, d, false, 0);
I:= otr(x3, a, false, 0);
I:= otr(x4, a, false, 0);
I:= con(x2, a, c, false, 0);
I:= con (c, b, e, false, 0);
I:= diz (d, e, rez, false, 0);
If sohr then begin
rez.number:=newnumber;
rez.stroka:=t;
end;
y1:=rez.znachenie;
end;
Отмоделировать функцию лучше программным путем, т. к. программу довольно просто модифицировать.
3.12.2.2 Конечные автоматы с памятью (последовательностные)
Для таких автоматов характерно наличие вектора внутренних состояний z=(z1, z2,…, zm).
В таких автоматах каждая логическая функция зависит от входных функций x и функций внутреннего состояния z.
Рис. 10. Конечный автомат с памятью
. (8)
Для автоматов с памятью характерно, что они функционируют во времени, и в момент времени t0 должно быть задано начальное состояние z0. В момент времени t0 определяется выражением (8). В момент времени t1=t0+ входной вектор может поменяться, в свою очередь может поменяться вектор состояний Y.
, (9)
где - такт логического конечного автомата. Считается, что много больше времени расчета на ЭВМ.
Пример.
Та же самая экспертная система определения профессиональной пригодности, но с условием, что значение о профессиональной пригодности зависит от ранее полученных ответов. Такие экспертные системы называют самообучающимися, т. к. сразу правильного ответа не дают. Частным случаем конечного автомата с памятью является автомат с обратной связью по выходу. Для него вектор внутренних состояний в момент времени t+ равен вектору выходных сообщений в момент времени t. Пример конечного автомата с памятью и обратной связью по выходу приведен на рис. 11.
Рис. 11. Конечный автомат с памятью и обратной связью по выходу
Экспертная система является примером конечного автомата с памятью с обратной связью по выходу. Программная модель такого автомата базируется на программной модели автомата без памяти, однако, помимо уже накопленного опыта добавляется процедура tact, а также начальные значения входных и выходных переменных.
Const
N=…; k=…;
Type
Vector x = array [1..n] of boolean;
Vector y = array [1..k] of boolean;
Var
X: vector X;
Ypred, Y: vector Y;
Procedure tact (v: vector X; var Ypred, Y: vector Y);
Var
I: integer;
Begin
Y[1]:=y1(…);
Y[2]:=y2(…);
Y[3]:=y3(…);
Y[k]:=yk(…);
For i:=1 to k do
Ypred[i]:= Y[i];
End;
End.
Состояние конечного автомата называется установившимся, если с течением времени при постоянном значении входного вектора Х, вектор Y принимает постоянное значение. В этом случае процесс обучения конечного автомата заканчивается, и результаты его работы могут быть использованы. Однако существуют автоматы, состояние которых не устанавливается с течением времени. Такие автоматы используются только в схемотехнике. Примером такого автомата является автомат триггерного типа. Логическая схема триггера приведена на рис. 12.
Рис. 12. Автомат триггерного типа
Другим частным случаем является автономный конечный автомат, для которого вектор входных воздействий отсутствует. Для него вектор выходных состояний является функцией от вектора внутренних состояний . Для него (с обратной связью по выходу), тогда . Такие конечные автоматы называют также генераторами высказываний или генераторами логической последовательности. Они могут использоваться для отладки и моделирования некоторых ситуаций.
Контрольные вопросы
1. Что такое логический конечный автомат?
2. Представьте в виде рисунка логический конечный автомат.
3. Что такое такт конечного логического автомата?
4. Приведите пример конечного автомата без памяти.
5. Приведите пример конечного автомата с памятью.
6. Приведите пример конечного автомата с обратной связью по выходу.
Библиографический список
Акимов В.А. Дискретная математика: логика, группы, графы. М.: Лаборатория Базовых Знаний, 2003, 376 с.
Стол Роберт Р. Множества. Логика. Аксиоматические теории. Пер. с англ. Ю.А. Гастева И.Х. Шмаина. Под ред. Ю.А. Шихановича. М., «Просвещение», 1968, 232 с.
Ершов Ю.А., Полюнин Е.А. Математическая логика: Учебное пособие для вузов. М.: Наука. Гл. ред. физ. - мат. лит., 1987, 336 с.
Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. М.: Высшая школа, 2003, 256 с.
Р. Хаггарти Дискретная математика для программистов Москва: Техносфера, 2003, 320 с.
Гончарова Г.А., Мочалин А.А. Элементы дискретной математики: Учебное пособие. - М.: ФОРУМ: ИНФРА-М, 2004, 128 с.
7. Судоплатов С.В., Овчинникова Е.В. Элементы дискретной математики: Учебник. - М.: ИНФРА - М; Новосибирск: НГТУ, 2003, 280 с. - (Серия «Высшее образование»)
8. Новиков Ф.А. Дискретная математика для программистов. - СПб: Питер, 2001, 304 с.: ил.
Подобные документы
Основные аксиомы и тождества алгебры логики. Аналитическая форма представления булевых функций. Элементарные функции алгебры логики. Функции алгебры логики одного аргумента и формы ее реализации. Свойства, особенности и виды логических операций.
реферат [63,3 K], добавлен 06.12.2010Булевы алгебры – решетки особого типа, применяемые при исследовании логики (как логики человеческого мышления, так и цифровой компьютерной логики), а также переключательных схем. Минимальные формы булевых многочленов. Теоремы абстрактной булевой алгебры.
курсовая работа [64,7 K], добавлен 12.05.2009Основы формальной логики Аристотеля. Понятия инверсии, конъюнкции и дизъюнкции. Основные законы алгебры логики. Основные законы, позволяющие производить тождественные преобразования логических выражений. Равносильные преобразования логических формул.
презентация [67,8 K], добавлен 23.12.2012Основные понятия алгебры логики. Дизъюнктивные и конъюнктивные нормальные формы. Сущность теоремы Шеннона. Булевы функции двух переменных. Последовательное и параллельное соединение двух выключателей. Свойства элементарных функций алгебры логики.
контрольная работа [345,3 K], добавлен 29.11.2010Логика - наука о законах и формах мышления, а основное понятие алгебры логики - высказывание. Основные понятия и тождества булевой алгебры. Изучение методов минимизации булевых функций. Метод Квайна, основанный на применении двух основных соотношений.
контрольная работа [178,2 K], добавлен 20.01.2011Операции над логическими высказываниями: булевы функции и выражение одних таких зависимостей через другие. Пропозициональные формулы и некоторые законы логики высказываний. Перевод выражений естественного языка на символическую речь алгебры логики.
контрольная работа [83,3 K], добавлен 26.04.2011Свойства операций над множествами. Формулы алгебры высказываний. Функции алгебры логики. Существенные и фиктивные переменные. Проверка правильности рассуждений. Алгебра высказываний и релейно-контактные схемы. Способы задания графа. Матрицы для графов.
учебное пособие [1,5 M], добавлен 27.10.2013Основная функционально полная система логических функций. Законы алгебры логики в основной функционально полной системе и их следствия. Переместительный и распределительный законы. Закон инверсии (правило Де Моргана). Системы логических функций.
реферат [40,5 K], добавлен 17.11.2008Оценка алгебры Ли как одного из классических объектов современной математики. Основные определения и особенности ассоциативной алгебры. Нильпотентные алгебры Ли, эквивалентность различных определений нильпотентности. Описание алгебр Ли малых размерностей.
курсовая работа [79,4 K], добавлен 13.12.2011Определение формулы исчисления высказываний, основные цели математической логики. Построение формул алгебры высказываний. Равносильность формул исчисления высказываний, конъюнктивная и дизъюнктивная нормальная форма. Постановка проблемы разрешимости.
контрольная работа [34,3 K], добавлен 12.08.2010