скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыУчебное пособие: Дискретная математика

Для функции двух переменных существует шестнадцать различных переключательных функций. Как видно из таблицы 5, только десять функций существенно зависят от переменных А и В.

На рис. 6, 7 приведены обозначения элементов, реализующих некоторые переключательные функции двух переменных.

Каждой элементарной логической операции можно поставить в соответствие элементарную логическую схему или вентиль. На входе и выходе вентиля мы имеем логические сигналы двух видов, что можно ассоциировать с логическим 0 или логической 1.

1. Элемент «И» 2. Элемент «ИЛИ» 3. Элемент «НЕ»

F=x1∙x2 F=x1x2 F=

Рис. 6. Символическое обозначение вентилей

а) б) в)

г) д) е)

Рис. 7. Условные обозначения переключательных функций двух переменных: а – элемент Шеффера; б – элемент Пирса; в-импликатор; г – запрет; д – равнозначность; е – сложение по модулю 2

В технической литературе используются обозначения элементов, несколько отличающихся друг от друга.

Логическая схема, которая полностью описывается булевыми выражениями или таблицами истинности, называется комбинационной схемой.

Таким образом, комбинационная схема – схема, в которой значения входных переменных в текущий момент времени полностью определяют значения выходных переменных.

Другой класс схем – последовательностные схемы. Это схемы с внутренней памятью. В них значения выходных переменных определяются не только значениями входных переменных в текущий момент времени, но и их значениями в предыдущие моменты времени.

Будем рассматривать только комбинационные схемы.

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

Соединив логические элементы в соответствии с булевыми выражениями, получим логическую схему, реализующую данное выражение.

Логическая связь выхода и входов этой схемы описывается исходным булевым выражением. Таким образом, булево изображение – описание логической схемы.

Контрольные вопросы

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+t входной вектор может поменяться, в свою очередь может поменяться вектор состояний Y.

,                              (9)

где t – такт логического конечного автомата. Считается, что t много больше времени расчета на ЭВМ.

Пример.

Та же самая экспертная система определения профессиональной пригодности, но с условием, что значение о профессиональной пригодности зависит от ранее полученных ответов. Такие экспертные системы называют самообучающимися, т. к. сразу правильного ответа не дают. Частным случаем конечного автомата с памятью является автомат с обратной связью по выходу. Для него вектор внутренних состояний в момент времени t+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. Приведите пример конечного автомата с обратной связью по выходу.


Библиографический список

1.   Акимов В.А. Дискретная математика: логика, группы, графы. М.: Лаборатория Базовых Знаний, 2003, 376 с.

2.   Стол Роберт Р. Множества. Логика. Аксиоматические теории. Пер. с англ. Ю.А. Гастева И.Х. Шмаина. Под ред. Ю.А. Шихановича. М., «Просвещение», 1968, 232 с.

3.   Ершов Ю.А., Полюнин Е.А. Математическая логика: Учебное пособие для вузов. М.: Наука. Гл. ред. физ. – мат. лит., 1987, 336 с.

4.   Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. М.: Высшая школа, 2003, 256 с.

5.   Р. Хаггарти Дискретная математика для программистов Москва: Техносфера, 2003, 320 с.

6.   Гончарова Г.А., Мочалин А.А. Элементы дискретной математики: Учебное пособие. – М.: ФОРУМ: ИНФРА-М, 2004, 128 с.

7. Судоплатов С.В., Овчинникова Е.В. Элементы дискретной математики: Учебник. – М.: ИНФРА – М; Новосибирск: НГТУ, 2003, 280 с. – (Серия «Высшее образование»)

8. Новиков Ф.А. Дискретная математика для программистов. – СПб: Питер, 2001, 304 с.: ил.


Страницы: 1, 2, 3, 4, 5, 6, 7


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.