Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ODM_Лекции_Рус.DOC
Скачиваний:
46
Добавлен:
03.03.2016
Размер:
1.21 Mб
Скачать

Способы покрытиятаблицы квайна

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

Объединение этих импликант называется ядром покрытия. Если ядро покрытия не перекрывает все конституенты функции, то к нему добавляются дополнительные импликанты до полного покрытия. Все минимальные покрытия отыскиваются с помощью простого перебора.

Так для нашего примера: ядро покрытия покрывает конституенты

0х1 - 001 и 011

1х0 - 100 и 110

Констутиента 111 осталась непокрытой ,следовательно к ядру нужно добавить еще одну импликанту. При этом получаем 2 минимальных покрытия:

{0х1 , 1х0 , х11}

{0х1 , 1х0 , 11х}

Первому покрытию соответствует тупиковая форма

f = 1М3 + М13 + М2 М3

а второму:

f = 1 М3 + М1М3 + М1М2

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

Рассмотрим другой ,более эффективный способ.

Для этого каждую простую импликанту таблицы Квайна представим с помощью множества. При этом будем считать ,что для таблицы Квайна множество – малые латинские буквы.

001

011

100

110

111

0x1

1

1

А

x11

1

1

В

1x0

1

1

С

11x

1

1

D

В этом случае конституенты покрываются следующими множествами.

001 – P1=a

011 – P3=a+b

100 – P4=c

110 – P6=c+d

111 – P7=b+d

Из этого следует, что все возможные минимальные покрытия представляются множествам Р равным:

Р = а( а + b ) с ( с + d )( b + d)

Применяя, рассмотренные ранее, законы для операций над множествами:

Р = а( а + b ) c ( c + d )( b + d ) = ac ( b + d ) = acb + acd

acb – { 0x1, 1x0, x11 }

acd – { 0x1, 1x0, 11x }

f 1 = 1M2 + M13 + M2M3

f 2 = 1M2 + M13 + M1M2

Рассмотрим более сложный пример .

Функция от четырех переменных:

Kj

F

0000

0

0001

0

0010

0

0011

1

0100

1

0101

1

0110

0

0111

1

1000

0

1001

1

1010

0

1011

1

1100

1

1101

1

1110

0

1111

0

Выпишем все образующие функцию конституенты, разбив на классы по количеству единиц.

0100 010x

0011 x100

0101 0x11

1001 x011

1100 01x1

0111 x101

1011 10x1

1101 1x01

110x

Объединяя их, получим: х10х х10х

0100

0011

0101

1001

1100

0111

1011

1101

x10x

1

1

1

1

A

0x11

1

1

B

x011

1

1

C

01x1

1

1

D

10x1

1

1

E

1x01

1

1

F

f 1 = M23 + 1M3M4 + M12M4

f 2 = M23 + 1M3M4 + 2M3 М4 + M13M4

f 3 = M23 + 2M3M4 + 1М2 М4 + M12M4

f 4 = M23 + 2M3M4 + 1М2 М4 + M13M4

Получены тупиковые формы. Их сложность соответственно:

S1 = 8, S2 = 11, S3 = 11, S4 = 11

Следовательно имеем одну минимизированную форму f1

P = a(b+c)(a+d)(e+f)a(b+d)(c+e)(a+f) = a(b+c)(e+f)(b+d)(c+e) = a(b+cd)(e+cf) =

(ab+acd)(e+cf) = abe + abcf + acde + acdf

БУЛЕВА АЛГЕБРА

Алгебра – это множество М, с заданными на нем функциями, обладающими свойствами замкнутости.

f (mi)  Mi ; mi  M.

Алгебра – некоторое множество М , с определенными на этом множестве операциями. Все функции ,заданные на М ,обозначаются буквой S –сигнатура алгебры. Множество М – носитель алгебры. Произв. алгебра А обозначается:

А < М, S >

ФУНДАМЕНТАЛЬНЫЕ АЛГЕБРЫ.

1. Алгебра А = < М , f0 > ,где f0 - двуместная функция, называется группой. При этом f : a , b  с , c = ab - обобщенное умножение

С обладает свойствами:

- если (а,b  М, то результат обобщенного умножения так же принадлежит М

[(ab)  M]

Это свойство замкнутости;

- (ab)c = a(bc) - свойство ассоциативности

- (ax) = b , ya = c - существованиеединственного решения уравнения

Группа , для которой выполнено условие:

ab = ba

называется коммутативной или абелевой группой.

ПРИМЕРЫ АЛГЕБРАИЧЕСКИХ СИСТЕМ

N - множество натуральных чисел

R - множество целых чисел

Z - множество действительных чисел

Определим алгебру вида:

А = < N, + , * , - >

Эта алгебра не является алгебраической системой

А = < N < + , * , > - алгебраическая система

Причем в данном примере содержится алфавит из бесконечного числа элементов.

Существуют алгебры с конечным алфавитом. Примером такой алгебры есть алгебра подстановок.

Образовывающаяся алгебра подстановок с помощью перестановок 3-х элементов х1, х23 .

Отметим возможные варианты.

1

x1

x2

x3

2

x1

x3

x2

3

x3

x2

x1

4

x2

x1

x3

5

x2

x3

x1

6

x3

x1

x2

Элементы носителя определяются следующим образом

a = x1 x2 x3 b = x1 x2 x3 c = x1 x2 x3

x1 x2 x3 x1 x3 x2 x2 x1 x3

d = x1 x2 x3 e = x1 x2 x3 c = x1 x2 x3

x2 x3 x1 x3 x1 x2 x3 x2 x1

Например элемент b означает,

что х1 переходит в х1

х2 переходит в х3

х3 переходит в х2

Определим групповую операцию, как общий переход:

bc = x1 x2 x3 x1 x2 x3 = x1 x2 x3 = d

x1 x3 x2 x2 x1 x3 x2 x3 x1

Составим мультипликативную таблицу:

a

b

c

d

e

f

a

a

b

c

d

e

f

b

c

a

d

c

f

e

c

c

e

a

f

b

d

d

d

f

b

e

a

c

e

e

c

f

a

d

b

f

f

d

e

b

c

a

Проверим выполняется ли закон ассоциативности для данного примера:

(bd)f = cf =d

b(df) = bc =d

то есть, закон выполняется.

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

Поэтому алгебра – мультипликативная некоммутативная группа.

Алгебра вида

А = < М , * , + >

Называется кольцом, если < М , + > есть аддитивная абелевая группа, выполняется закон дистрибутивности.

Если операция обобщ. умн. кольца < М, * > содержит 1, то имеет место кольцо с единицей.

Если умн. коммут. то кольцо – коммутат. Полем называется кольцо с единицей, ненулевые элементы которого образуют группу по умножению. Если эта группа имеет конечное число элементов и является абелевой, то такие поля называются полями Галуа.

Рассмотрим примеры :

1.Множество действительных чисел с опер. слож. и умноженные есть коммутативное поле.

2. Алгебра вида :

А = < М, 0 , + > ,где М {0,1,2,3,4,5} 0 , + по модулю 6.

Составим таблицу умножения и сложения.

с = а + в mod 6

+

0

1

2

3

4

5

0

0

1

2

3

4

5

1

1

2

3

4

5

0

2

2

3

4

5

0

1

3

3

4

5

0

1

2

4

4

5

0

1

2

3

5

5

0

1

2

3

4

с = ав mod 6

*

0

1

2

3

4

5

0

0

0

0

0

0

0

1

0

1

2

3

4

5

2

0

2

4

0

2

4

3

0

3

0

3

0

3

4

0

4

2

0

4

2

5

0

5

4

3

2

1

Из таблиц видно, что эта алгебра есть коммут. кольцо с 1.

3. А = < М, 0 , + > М{0,1,2,3,4,5,6} c = a + b mod 7

+

0

1

2

3

4

5

6

0

0

1

2

3

4

5

6

1

1

2

3

4

5

6

0

2

2

3

4

5

6

0

1

3

3

4

5

6

0

1

2

4

4

5

6

0

1

2

3

5

5

6

0

1

2

3

4

6

6

0

1

2

3

4

5

*

0

1

2

3

4

5

6

0

0

0

0

0

0

0

0

1

0

1

2

3

4

5

6

2

0

2

4

6

1

3

5

3

0

3

6

2

5

1

4

4

0

4

1

5

2

6

3

5

0

5

3

1

6

4

2

6

0

6

5

4

3

2

1

Для данного алфавита можно определить и обратную операцию вычитания.

а – в = а(-в)

Для данной алгебры составленна таблица :

а

0

0

1

6

2

5

3

4

4

3

5

2

6

1

По аналогии составляется таблица обратных элементов для деления.

1-1=1; 2-1=4; 3-1=5; 4-1=2; 5-1=3; 6-1=6;

Вышепреведенные алгебры являются полем Галуа.

СИСТЕМЫ УРАВНЕНИЙ И ПОЛЯ ГАЛУА.

Как и в обычной алгебре можно решать системы уравнений и в полях Галуа.Возьмем следующую систему :

X1+3x2+6x3=2

4x1+5x2+2x3=1

2x2+x3=5

Будем решать систему по методу Гаусса :

1 3 6

= 4 5 2 mod 7 = (5+48–4–12) mod 7=37 mod 7 = 2

0 2 1

2 3 6

1 = 1 5 2 mod 7 = (–109) mod 7=(140-109) mod 7 = 31 mod 7 = 3

0 2 1

2 = 103 mod 7 = 5 3 = (27-21) mod 7 = 0

x1=3*2-1=3*4=5

x2=5*2-1=5*4=6

x1=0*2-1=0*4=

5+3*6+6*=5+4+=2+=2

4*5+5*6=6+2=1

2*6=5

БУЛЕВЫ АЛГЕБРЫ.

Изоморфизмом между алгебрами называется взаимооднозначное соответствие между носителями и сигнатурами.

fi(x1,…xn)=xk   (fi)[ (x1),… (xn)] =  (xk)

Алгебры для которых существует изоморфизм  называют изоморф-ми.

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

Булевы алгебры – алгебры вида :

A = < M, + , * , - > для которых справедливы следующие отношения :

 хi  M

1. xi + xj = xj + xi

2. xi * xj = xj * xi

3. (xi + xj) + xk = xi + (xj +xk)

4. (xi * xj) * xk = xi * (xj *xk)

5. (xi + xj) * xk = xi *xk+ xj*xk

6. xi + xj * xk = (xi + xj)(xi+xk)

7. xi+xj  M, xi xj  M

8. x  = x; x = ; x + E = E; x +  = x;

9. x * = E; x *=;

Множество вида М = {Ij, E, }

Ij – интервалы пораждающих множеств;

E – единичное множество;

 - пустое множество;

и определенные на нем операции +, *, - есть булева алгебра или алгебра множеств. Булевы алгебры есть частный случай фундаментальных видов алгебр.

АЛГЕБРА БУЛЯ.

Булевой переменной является переменная, которая принимает значение 0 или 1. Будем обозначать такую переменную Х. Если в некоторой алгебре Буля определены функции от к переменных, то будем называть её к-значной, а сигнатуру обозначать как Рк .

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

Групповая операция обобщ. сложения :

х1х2 ~ x1 + x2

Операция обобщенного умножения :

x1&x2

0 0 = 0 0 & 0 = 0

0 1 = 1 0 & 1 = 0

1 0 = 1 1 & 0 = 0

1 1 = 1 1 & 1 = 1

Установим выполдняется ли для данной алгебры законы теории множеств :

  1. Дистрибутивный закон

х12х3)=х1х2х1х3

Составим таблицу :

x1

x2

x3

х12х3)

х1х2х1х3

0

0

0

0

0

0

0

1

0

0

0

1

0

0

0

0

1

1

0

0

1

0

0

0

0

1

0

1

1

1

1

1

0

1

1

1

1

1

1

1

1-йзакон дистрибутивности применим к алгебре Буля. Аналогичная таблица для 2-гозакона дистрибутивности.

1х2)(х1х3) = x1(x2 & x3)

x1

x2

x3

1х2)(х1х3)

x1(x2 & x3)

0

0

0

0

0

0

0

1

0

0

0

1

0

0

0

0

1

1

1

1

1

0

0

1

1

1

0

1

1

1

1

1

0

1

1

1

1

1

1

1

  1. Проверим закон де Моргана.

Отрицание конъюкции есть дизъюнкция отрицания.

1& 2 = 12

x1

x2

1& 2

12

0

0

1

1

0

1

1

1

1

0

1

1

1

1

0

0

Отрицание дизъюнкции равно конъюкции отрицания.

12 = 1&2

x1

x2

12

1&2

0

0

1

1

0

1

0

0

1

0

0

0

1

1

0

0

Первый и второй законы де Моргана применимы для алгебры Буля.

ПРИОРИТЕТЫ АЛГЕБРЫ БУЛЯ.

  1. &

ОСНОВНЫЕ ОПЕРАЦИИ АЛГЕБРЫ БУЛЯ.

(АЛГЕБРЫ ЛОГИКИ).

ТАБЛИЦЫ ИСТИННОСТИ ЭТИХ ОПЕРАЦИЙ.

1. « НЕ » - х

0 1

1 0

2. х1х2 « ИЛИ »

х1 х2

х1х2

0 0

0

0 1

1

1 0

1

1 1

1

  1. Конъюкция х1& х2 « И »

х1 х2

х1& х2

0 0

0

0 1

0

1 0

0

1 1

1

  1. Импликация х1х2« ЕСЛИ ТО »

х1 х2

х1х2

0 0

1

0 1

1

1 0

0

1 1

1

  1. Эквиваленция х1 ~ х2« ТОГДА И ТОЛЬКО ТОГДА »

х1 х2

х1 2

0 0

1

0 1

0

1 0

0

1 1

1

ПРЕДСТАВЛЕНИЕ ФУНКЦИИ В АЛГЕБРЕ БУЛЯ.

Функция трех переменных :

x1

x2

x3

f

0

0

0

1

0

0

1

0

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

1

1

1

1

0

Кроме табличного задания алгебры логики применяются различные аналитические методы. К ним относятся – дизъюктивная и коньюктивная форма. Для представления в дизъюктивной соверш. норм. форме (ДСНФ) вводится фар-кая функция единицы, которая соответствует конституентам, в которых функция принимает значение = 1.

Единичная функция записывается ,как элементарная конъюнкция, содержащая n – переменных и называется минитермом. Алгоритм представления функции алгебры логики в виде ДСНФ записывается в виде:

  1. Выбрать в таблице функции все наборы аргументов , на которых функция обращ. в единицу

  2. Вычислить конъюкцию, соответствующей этим наборам аргументам. При этом аргумент xi входит в данный набор как 1 , он вписывается без изменения в конъюнкцию, соответствующую данному набору. Если хi входит как 0 ,то в конъюнкцию вписывается его отриц.

  3. Все полученные конъюнкции соединены между собой знаками дизъюнкции.

Для примера запишем ДСНФ

f(х12, х3) = 1 2 3 1 x2 3 1 2 x3 x1 2 3 x1 2 x3

x1 x2 3

Для представления функции алгебры логики в КСНФ вводится хар-кая

функция О ,которая соответствует набору, на котором функция принимает значение О. Функция нуля записывается как элементарная дизъюнкция, содержащая n-переменных и называется макситермом.

Алгоритм построения КСНФ:

  1. Выбрать в таблице функции все наборы аргументов , на которых функция обращается в О.

  2. Выписать дизъюнкции, соответствующие этим наборам. При этом если хi входит как О, он вписывается без изменений в дизъюнкцию, если хi входит как 1, то в дизъюнкцию вписывается его отрицание.

Для примера запишем КНФ

f(х12, х3) = (x1 x23 ) & (12 3)

По аналогии с теорией множеств при минимизации:

ДСНФ  ДНФ

КСНФ  КНФ

ДНФ,КНФ – обозначения для сокращения макситермами и минитермами. Номера мини- и макситермов являются дес-ными экв-ми соответствующего набора, на котором функция принимает 1 или 0 соответственно, то есть

(ДСНФ) f( х123 ) = m0 m2 m3 m4 m5 m6

(КСНФ) f( х123 ) = m1 & m7

Согласно теореме Шеннона функция в ДСНФ имеет вид :

f( х1,…,хk) = f( 1,…,k)& x11* x22… xkk

Функция трех переменных задана таблично :

x1

x2

x3

f

0

0

0

1

0

0

1

0

0

1

0

1

0

1

1

1

1

0

0

0

1

0

1

0

1

1

0

0

1

1

1

1

f(х12, х3) = 1 2 3 1 x2 3 1x2 x3 x1 x2 x3 (ДСНФ)

Выясним каково количество возможных булевых функций к-значных.

Если мы имеем к переменных, то из них можно составить m=2к комбинаций, а так как для каждой комбинации может быть задана своя функция, то общее число возможных функций V=2m=22^k

Теорема :

Алгебра множеств с к-порожденными множествами изоморфна к-значной алгебре Буля.

Доказательство:

Изоморфизм строится следующим образом:

 (Мi)=xi - для алгебры множеств

 (fi)=yi - для алгебры Буля

Тогда согласно представлению Булевых функций в ДСНФ и представлению функций от порождающих множеств в СНФК следует следующее :

fj(Mi) = Mvv ;

yj(xi) = xvv ;

Основным следствием этой теоремы является возможность применения всех методов минимизации из теории множеств для алгебры Буля.

Метод Квайна для функции Буля :

0 0 0

0 1 0 0х0

0 1 1 х11

1 1 1

Строим таблицу Квайна :

000

010

011

111

0х0

1

1

х11

1

1

Y(x1, x2, x3) = 13x2x3

Минимизация по методу Карно :

х1 х2х3

00

01

11

10

0

1

1

1

1

1

f(x1, x2, x3) = 13x2x3

ФУНКЦИОНАЛЬНО ПОЛНЫЕ СИСТЕМЫ ФУНКЦИЙ.

Запишем таблицу функций 1-й перем.:

x

y1

y2

y3

y4

0

0

0

1

1

1

0

1

0

1

y1 – функция константы О ;

y2 – переменная х ;

y3 – отриц. переменная х ;

y4 – конст-ты 1.

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

х1

х2

F0

F1

F2

F3

F4

F5

F6

F7

F8

F9

F10

F11

F12

F13

F14

F15

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

1

0

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

1

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

Некоторые из этих функций встречались ранее :

F1(x1, x2) = x1 * x2 - дизъюнкция

F6(x1, x2) = x1  x2 - слож. по модулю 2

F7(x1, x2) = x1 x2 - конъюкция

Сведем в таблицу :

Функция

Название

Предназначение

F0

конст-та 0

F1

конъюкция

Логич. умнож. х1х2

F2

отрицание по х2

х1 2

F3

повт-ль х1

х1

F4

запрещение по х1

1х2

F5

повт-ль х2

х 2

F6

сумма по mod 2

х1х2

F7

дизъюнкция

логич. сложен. х1х2

F8

стрелка Пирса

х1 х2

F9

эквив-ти

х1 2

F10

отрицание х2

2

F11

импликация по х2

х2x1

F12

отрицание х1

1

F13

импликация по х1

x1  х2

F14

отр. конъюкции

1 2

F15

конст-та 1

1

Функционально-полной системой алгебры Буля – набор функций Рк, с помощью которых может быть выраженна любая функция из Рк.

Тривиальной функционально-полной системой является весь набор функций из Рк.

Базисом алгебры Буля называется функционально-полная система, которая перестает быть таковой при выбрасывании из неё любой функции.

Примером алгебры с функционально-полной системой, но не являющейся базисом является функция вида :

А = < M, , &, - >

На основании законов де Моргана из неё можно получить алгебры с базисами.

А1 = < M, , - > ,А2 = < M, &, - >

Принцип нахождения функционально-полных систем и базисов для Рк .

Будем искать такой набор из Рк, с помощью которого можно представить функции дезъюнкции, конъюкции, отрицания, а следовательно и все остальные функции. Для изучения свойств пространства Р2 , т. е. Функция от двух переменных, представим все функции с помощью операций дезъюнкции, конъюкции и отрицания.

F1 = х12

F2 = х1*2

F4 = 12

F6 = х1х2 = 12х1*2

F7 = х1 х2

F8 = 1*2 = 12

F9 = 12 х1х2 = х1х2

F10 = 2

F11 = 12 х12 х1х2 = x12

F12 = 1

F13 = 12 1х2 х1х2 = 1 х2

F14 = 12 1х2 х12 = 1 2 = 12

Для каждой из перечисленных функций существует двух ходовой логический элемент.

Изобразим эти элементы.

F1 = x1x2 F2 = x12 F4 = 1x2

x1 x1 x1

x2 & y1 x2 & y2 x2 & y4

F6 = х1х2 F7 = х1 х2 F8 = 12

x1 x1 x1

x2 y6 x2 1 y7 x2 1 y8

F9 = х1х2 F10 = 2 F11 = x12

x1 x1 x1

x2 y9 x2 1 y10 x2 1 y11

F12 = 1 F13 =1 х2 F14 = 12

x1 x1 x1

x2 1 y12 x2 1 y13 x2 & y14

На основании этих элементов можно синтезировать любую логическую функцию.

f(х123) = х1х2х3 1х2 х1 2 123

02 07

x1 00 1

x2 01 & 03 04 12

04 05 09 1

x3 02 & 06 & 08 09 1 14 f

00 1 07 &

05 10 10

01 01 & 11 1

1 00

& 11

06

Реализуем функцию вида f(х123):

f(х123) = х12х3 & 1х3

x1 00 04

x2 01 & 03 04 1 06

x3 02 & 04

& 08 1 f 09

05 07

& 05 05 1

f(х123) = х12х3 1х3 = 1 х23x13

x1 00 00

x2 01 00 1 03 03 1 05

x3 02 01

04 1 06

08

02 00 1 10 f

02 1 04 04 1 07 1 09

СВОЙСТВА БУЛЕВЫХ ФУНКЦИЙ.

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

Функциональный класс замкнутый,если суперпозиция этого класса принадлежит этому же классу.

Например, класс функций, полученных с помощью дизъюнкции аргументов замкнут.

y(x1,x2) = x1x2 ,где x2(z1,z2) = z1z2

y(x1,x2(z1,z2)) = y(x1,z1,z2) = x1z1z2

Перечислим некоторые свойства. Для булевой функции определим понятие набора.

Набор – фиксируемое значение аргументов функции ,   = {0110}

Между различными наборами установим соотн. сравнения:

1 > 2 , если любой элемент набора 1  соответственно элементу из набора 2

1 = (11010)

2 = (01010)  1 > 2

1 = (01001)

2 = (10100)  2 набора несравнимы

 = (1, 2, …,n)

 = (1, 2, …,n) наборы знач. перем. знач. и считается  >  , если i > i

ТЕОРЕМА.

Если булева функция может быть представлена в нормальной дизъюктивной форме без отрицания, то эта функция монотонна.

ДОКАЗАТЕЛЬСТВО.

Возьмем произвольные значения  и , причем   . В этом случае условию теоремы удовлетворяют следующие возможности:

у(  ) = 0 , у (  ) = 0

у(  ) = 0 , у (  ) = 1

у(  ) = 1 , у (  ) = 1

Откуда следует, что для доказательства теоремы достаточно доказать следующее утверждение:

если   , то у (  ) = 1 у (  ) = 1

Докажем это утверждение.

Если у(  ) = 1, то всегда найдется интервал, для которого выполняется следующее условие:

xj1, xj2 … xjk = 1, где j1 = j2 = jk = 1

j - номер набора перем.без отрицания, тогда

j1 = j2 = jk = 1  xj1, xj2 … xjk = 1

значит у(  ) = 1

Следствием теоремы является замкнутость класса монотонных функций.

Например:

y(х123) = х1х2 х1х3 х2х3 , где х2(z1,z2) = z1 z2

тогда: y(x1,x2(z1,z2)x3) = x1(z1 z2) x1x3 x3(z1 z2) =

= x1z1 x2z2 x1x3 x3z1 x3z2

Так как результирующая функция не содержит отрицания, то она является монотонной.

ЛИНЕЙНЫЕ ФУНКЦИИ И АЛГЕБРА ЖЕГАЛКИНА.

Алгебра Буля – частный случай булевых алгебр и кроме него существует бесконечное число булевых алгебр.Одна из них – алгебра Жегалкина.

Это к-значная алгебра вида: А = < М, , & >

Она подчиняется следующим законам:

х  у = у  х

х ( у  z ) = xy xz

х  х = Любую булеву функцию можно представить с помощью алгебры Жегалкина.

Например:

Операция отрицания:= х 1

Операция сложения: х + у = = (х 1 )(у  1)  1 = ху  х  у  1   1 = ху  х  у

следовательно, исходя из теоремы Шинона , через операции сложения поmod 2 (  ) и конъюнкции ( & ) может быть выражена любая функция.

f(х123) = х12х3 +1х3 = x21х3 & 1х3 = (х1х32  1)  1) & (х31  1))  1 =(х1х2х3  х1х3  1)(х1х3  х3  1)  1 = х1х2х3  х1х2х3  х1х2х3  х1х3  х1х3  х1х3  х1х3  х3  1  1 = х1х2х3  х3

Любая функция ,представленная с помощью алгебры Жегалкина, называется полиномом Жегалкина.

Функция линейная, если она представлена полиномом Жегалкина вида:

f(х12,….хn) = i xi + j

- сумма по модулю 2

i - произв. коэффициент

j - свободный коэффициент

Класс линейных функций так же замкнут.

Пример: f(х123) = х1  х31 = 1, 2 = 0, 3 = 1, j = 0

С помощью линейного полинома Жегалкина можно представить функцию отрицания: f(1,x2.1) = g(x2) = 2

Полином Жегалкина через нелинейные функции содержит слагаемые, являющиеся произведением множителей из слагаемых выберем то, которое состоит из мин. числа сомножителей и обозначим К,

а слагаемые: xj1,xj2,…,xjk

Предположим, что хj1 и х j2 принимают произвольные значения функции,

а xj3 = xj4 = …= xjk = 1; a xjk+1 = xjk+2 = … = xjk+n = 0

Тогда функция от аргументов имеет вид:

f (x1,…,xn) = xj1xj2  xj1  xj2  j

где , , j - произ. коэффициенты

Полином данного вида называется нелинейным полиномом Жегалкина.

Покажем, что при любых , , j для функции fi (xj1,xj2) может быть получена конъюнкция (используем функцию отрицания q(x) = ).

Для этого составим таблицу, где для удобства обозначим: xj1 = x ; xj2 = y

f(x,y) = xy  x  y  j

fi

  j

& 

& —

xy

f0

0 0 0

xy

xy

f0(xy) = xy

f1

0 0 1

xy  1

xy

g(f1(xy)) = xy

f2

0 1 0

xy  y

y

f2(g(x),y) = xy

f3

0 1 1

xy  y  1

y

G(f3(g(x),y)) = xy

f4

1 0 0

xy  x

x

f4(x,g(y)) = xy

f5

1 0 1

xy  x  1

x

G(f5(x,g(y))) = xy

f6

1 1 0

xy  x  y

g(f6(g(x),g(y))) = xy

f7

1 1 1

xy  x  y  1

f7(g(x),g(y)) = xy

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

Пример: f(x1,x2,x3) = x12 + 1x3 + x2

Преобразуем функцию в мин.форму, представив с помощью операции сложения по

mod 2 и конъюнкции

f(х123) = x12 & 1x3 & 2 = ((х12  1))  1)) & ((х31  1)  1) & (х2  1)  1 = (х1х2  х1  1)(х1х3  х3  1)(х2  1)  1 = (х1х2х3  х1х2  х1х3  х1  х3  1)(х2  1) = х1х2х3  х1х2  х2х3  х2  х1х3  х1  х3  1

Выберем в качестве мин. слагаемого х1х2х3= 0

f(x1,x2,  ) = x1x2  x1  x2  1 = 12

x1x2 = f(q(x1),q(x2),)

ФУНКЦИОНАЛЬНО – ПОЛНЫЕ СИСТЕМЫ И БАЗИСЫ В ШИРОКОМ

СМЫСЛЕ.

ФПС пространства Рв широком смысле называется множество функций с помощью суперпозиции которых можно представить любую функцию из Р, используя при этом конституенты 0 и 1.

Базисом Рв широком смысле называется ФПС, из которого не может быть вычеркнута ни одна функция без потери полноты системы.

ТЕОРЕМА.

Система функции полная в широком смысле , если в ней присутствует хотя бы одна немонотонная и хотя бы одна нелинейная функция.

Доказательство:

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

Если при этом есть нелинейная функция, то с помощью ее может быть представлена любая функция Р.

Необходимость.

Если в системе все функции монотонны, то не может быть получена немонотонная функция, так как класс функций замкнут.

Следовательно, найдутся такие функции, которые не представимы суперпозиции функции системы, тоесть такая система не функционально-полная.

ПОСТРОЕНИЕ БАЗИСА РВ ШИРОКОМ СМЫСЛЕ.

Составим следующую таблицу:

yi

Kн

Кл

y1

1

a

y2

1

1

b

y6

1

c

y7

1

d

y8

1

1

e

y9

1

f

y12

1

g

y13

1

1

h

y14

1

1

k

у1= х1х2

у2= х12= х121) = х1х2х1

у6=1х2+ х12= х1х2

у7= х1 + х2= х1х2х2+ х2

у8=12= х1х2х1х2х1

у9= 121х2= х1х21

у12 =1= х11

у13=1+ х2= х1х2х11

у14=1+2= х1х21

Это сокращенная таблица Поста, служит для нахождения базисов в широко смысле пространства Р.

Таблица заполняется по принципу:

-если данная функция не принадлежит данному классу ,то в соответствующей клетке ставится 1.

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

P = (b + c + e + f + q + h + k) &(a + b + d + e + h + k) = ((b + e + h + k) + c + f + q)

&((b + e + h + k) + a + d) = ( b + e + h + k) + (a + d)(b + e + h + k) + (c + f + q) *

*(b + e + h + k) + (c + f + q)(a + d)= b + e + h + k + ca + fa + fd + qa + qd

Получены 10 базисов в широком смысле пространства Р.

В1= {y2} B6= {y6,y7}

B2= {y8} B7= {y1,y9}

B3= {y13} B8= {y7,y9}

B4= {y14} B9= {y1,y12}

B5= {y1,y6} B10= {y7,y12}

Используя любой из 10 указанных базисов в широком смысле, можно выразить произвольную булеву функцию.

ФУНКЦИОНАЛЬНО – ПОЛНЫЕ СИСТЕМЫ И БАЗИСЫ В УЗКОМ СМЫСЛЕ.

Функционально полной системой пр-ва Рв узком смысле называется множество функции с помощью суперпозиций которых можно представить любую функцию пр-ва Р, при этом 0 и 1 не используются.

Для построения базиса рассмотрим следующие классы функций :

  • класс самодвойственных функций

Функция f от n аргументов называется самодвойственной если выполняется условие:

f (x1, x2, …, xn) = (1, 2, …, n)

Класс самодвойственных функций замкнут.

Для доказательства возьмем 2 самодвойственных функции, для которых выразим x через t и найдем их суперпозицию.

x1 (t1, t 2, t3) = 1 ( 1, 2, 3)

f(x1 (t1, t 2, t3), x2, x3) = d (t1, t 2, t3, x2, x3) = (x1 ( 1, 2, 3), 2, 3) =

= (1, 2, 3, 2, 3)

На основании вышезаписанного делаем вывод, что класс самодвойственных функций замкнут.

  • класс функций, сохраняющих 0

Функция f от n аргумента называется сохраняющей 0 если :

f (  , , …,  ) = 

Можно доказать, что и класс функций сохраняющих 0, замкнут.

  • класс функций, сохраняющих 1

Функция f от n аргумента называется сохраняющей 1 если :

f ( 1 , 1, …, 1 ) = 1

Можно доказать, что и класс функций сохраняющих 1, замкнут.

ВТОРАЯ ТЕОРЕМА О ФУНКЦИОНАЛЬНОЙ ПОЛНОТЕ.

Система функций будет полной если она содержит хотя бы одну из функций :

  • несамодвойственную

  • несохраняющую 0

  • несохраняющую 1

  • немонотонную

  • нелинейную

Доказательство :

Доказательство теоремы сводится к доказательству утверждения : имеет несамодвойственную, несохраняющую 0 и 1 функции можно получить конст-ты 0 или 1. Если тезис будет доказан, то теорема сводится к первой теореме о функциональной полноте.

Начнем доказательство с того, что покажем как с помощью несамодвойственной функции получить конст-ту, если имеется конст-та х и . Допустим, что имеется несамодвойственная функция f отn аргументов, тогда для нее можно найти такой набор , чтобы выполнялось равенство :

f (1, 2, …, n) = (1, 2, …, n)

Определим функцию f ( x )

f( x ) = f ( x1, x2, …, xn), где

x, i = 1

xi =

, i = 0, при этом

0i = i , 1i =i , тогда

f ( 0 ) = f ( 01, 02, …, 0n) = f ( 1,…, n) = f (1, …, n) = f ( 11, …, 1n) = f ( 1 )

т.е. f ( x ) = const.

Рассмотрим 2 случая для функции несохраняющей 0 :

  1. Имеем функцию несохраняющую 0 следующего вида :

f0 ( x1, …, xn )

d0 ( 0 ) = f0 ( 0, …, 0 ) = 1

d0 ( 1 ) = f0 ( 1, …, 1 ) = 0  d0 ( x ) =

А если есть х и , то подставив их в несамодвойственную функцию получим коснтанту, если понадобится противоположная конст-та, то ее можно получить отрицанием.

  1. Имеем функцию несохраняющую 0 вида :

f0 ( x1, …, xn )

d0 ( 0 ) = f0 ( 0, …, 0 ) = 1

d0 ( 1 ) = f0 ( 1, …, 1 ) = 1  d0 ( x ) = 1

Имеем конст-ту 1.

Для получения конст-ты 0 используем функцию несохраняющую 1 вида :

f1 ( x1, …, xn )

d1 ( 1 ) = f1 ( 1, …, 1 ) =   d1 ( d0 ( x )) = 

т.е. получена конст-та 0.

Таким образом доказана достаточность теоремы.

Доказательство необходимости теоремы следует из замкнутости классов самодвойственных, сохраняющих 0 и 1 функций.

Таким образом теорема доказана.

На основании 2 теоремы о функциональной полноте, построим расширенную таблицу Поста:

yi

Kн

Кл

K0

K1

Kc

f1

1

1

a

f2

1

1

1

1

b

f6

1

1

1

c

f7

1

1

d

f8

1

1

1

1

1

e

f9

1

1

1

f

F12

1

1

1

g

F13

1

1

1

1

h

F14

1

1

1

1

1

k

х1

х2

F1

F2

F6

F7

F8

F9

F12

F13

F14

0

0

0

0

0

0

1

1

1

1

1

0

1

0

0

1

1

0

0

1

1

1

1

0

0

1

1

1

0

0

0

0

1

1

1

1

0

0

1

0

1

0

1

0

F1 = х12

F2 = х1*2 = х1х2  x1

F6 = 12 + х1*2 = х1х2

F7 = х1 + х2 = х1х2  x1  х2

F8 = 1*2 = х1х2  x1  х2  1

F9 = 12 + х1х2 = х1х2  1

F12 = 1 = х1  1

F13 = 1 + х2 = х1х2  x1  1

F14 = 1 + 2 = х1х2  1

1 - не принадлежит классу.

С помощью метода Квайна найдем мин. покрытие табл., т. е. Получим все базисы в узком смысле в пр-ве Р

P = ( b + c + e + f + g + h + k )( a + b + d + e + h + k )( e + f + g + h + k ) &

& ( b + c + g + k )( a + b + c + d + e + f + h + k ) = e + k + ( b + c + f + g + h )

( a + b + d + h )( f + g + h )( b + c + g )( a + b + c + d + f + h ) =

= e + k ( h + b + ( c + f + g )( a + d ) (a + c + d + f))( f + g + h )( b + c + g ) =

= e + k + (h + ac + b + a + af + ag + dc + df + dg )( g + bf + bh +c + ch) =

= e + k + hg + hb + hc + bg + bf + acf + ag + dcf + dg.

П1= {f8} П6= { f2 ,f12}

П2= {f14} П7= { f2 ,f9}

П3= {f12 ,f13} П8= { f1 ,f6,f9}

П4= { f2 ,f13} П9= { f1 ,f12}

П5= { f6 ,f13} П10= { f6 ,f7,f9}

П11= {f7,f12}

Если результаты исследования базисов в узком смысле объед., то можно сделать вывод, что общее число всех возможных различных базисов равно 17.

Если сравнить базисы в узком смысле с базисами в широком смысле, то можно выявить следующие соответствия :

П1В2

П2В4

П9В10

П11В9

На основани базисов в узком смысле можно реализовать любую Булеву функцию.

Приведем Р5, его сост-т следующие функции :

{y2, y9}= П7

y2(x1, x2) = x12

y9(x1, x2) = x1 x2

x1 x1

x2 & f 2 x2 f 9

Через имеющиеся функции выразим функцию отрицания, для этого с помощью у9 получим константу 1.

y9(x , x ) = 1, тогда y2( у9 (x , x ) =

Используя функцию отрицания и y2 получим конъюкцию :

y2( x1 , y2 9 (x2 , x2), x2 )) = x1x2

x1

x2

& x2 & x1x2

Имея функцию отрицания и конъюкцию, можно реализовать произвольную булеву функцию.

Если рассматривать базисы в узком и широком смысле с практической точки зрения, то следует отметить, что базисы в узком смысле не имеют никаких преимуществ, так как на практике всегда имеются константы 0 и 1.

СИНТЕЗ КОМБИНАТОРНЫХ СИСТЕМ.

Комбинаторной системой называется автомат выполняющий преобразование х в у, где

x={ x1, x2, …, xn } – множество входных булевых переменных

y={ y1, y2, …, yn } – множество выходных булевых функций

Отличительной особенностью комбинаторных систем является то, что выходной сигнал в момент времени T является функцией только входного сигнала в момент времени Т. В общем виде на стр-ных и функциональных схемах комбинаторные системы изображаются в виде перевернутой трапеции.

x1 xn

КС

у1уn

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

Алгоритм синтеза логических функций с малым числом переменных в заданном базисе :

  1. Функция записывается в сов. норм. дизъюнктивной форме по заданной таблице истинности

  2. Находится мин. форма, любым способом.

  3. Операции дизъюнкции, конъюкции и отрицания варажаются через функции базиса.

  4. Записывается выражение функции в элементах базиса и строится схема.

Пример.

Функция задана таблицой истинности :

x1

x2

x3

f

0

0

0

1

0

0

1

0

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

0

1

1

0

0

1

1

1

1

Минимизируем графическим методом :

111 110

011 010

f ( x1, x2, x3 ) = x2x3 + 1x2 + 23

101 100

001 000

Реализуем функцию в базисе В6={ у6, у7 }

у6(x1, x2) = x1 x2

y7(x1, x2) = x1 x2

x1 x1

x2 у6 x2 1 у9

Выразим в заданном базисе функцию отрицания у6(x, 1) =

Выразим функцию конъюкции у6 (y7(y6, 1), у6(x2, 1),1) = x1x2

Запишем выражение искомой функции

f ( x1, x2, x3 ) = y7 6 (y7(y6(x2, 1), y6(x3, 1)),1),y6(y7(x2,x3),1), y6(y7(x1, y6(x2,1)),1)];

Построим схему данной функции :

1 1

x2 1 1

1 1 f ( x1, x2, x3 )

x3 1

1

1

x2 1

x3 1

1

x2 1 1

x3

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

Для синтеза схем с большим числом переменных существуют более эффективные методы. Один из них :

МЕТОД КАСКАДОВ.

Основанием для метода является теор. Шиннона, исходя из которой произв. Функция может быть представлена в следующем виде :

f(x1, … , xn) = i f(x1, …, xi-1,,xi+1, …, xn)+f (x1, …,xi-1,1,xi+1,…, xn ) =

= i f (  ) + xi f( 1 )

Эту функцию можно реализовать следующей схемой :

f1

&

xi

1 f

&

f0

Это устройство – каскадный элемент, который на схемах обозначают в следующем виде :

f1 &

1

x1 & f

f0

С помощью данного каскада получено представление от n аргументов, через остат-ные функции f0и f1для функций от n-1 аргумент, с помощью искл. хiперемен.

На втором шаге каскада реализуется искл. следующая перемен. И далее поступая также мы получим остат – ные функции.

Это – каскадный метод – при этом каждый каскад соответствует исключению некоторой переменной. Для одной и той же функции можно получить несколько реализаций. Число реализаций равно :

N ( N - 1)( N – 2) - … = n!

Отсюда следует, что найти самую эффективную реализацию простым перебором весьма затруднительно.

Поэтому для метода должна быть найдена эффективная стратегия. Это позволяет сделать аппарат произв – ных от булевых функций. Пр – ная от функции n-аргументов.

=f (x1,…, xi-1,,xi+1,…, xn)f (x1, …, xi-1,1,xi+1, …, xn)

Пример :

Найти пр-ную от функции двух переменных

f (x1,x2) = x1+ x2

= x2 (1 + x2) =2

Повторные пр-ные определяются следующим образом :

=() и т. д.

Пр-ная от булевой функции определяет условия при которых функция зависит от хi

f (x1,…, xi-1,,xi+1,…, xn)f (x1, …, xi-1,1,xi+1, …, xn) т.е. при изменении хiменяется значение функции. ( функция зависит от перем.)

Если пр-ная равна 0, то функция от хiне зависит, т.е. при изменении хiзначение функции не меняется.

Рассмотрим пример:

f (x1, x2, x3, x4) = x1x2x3 +1х4+ x2x3 + x13x4

Определить при каких условиях функция зависит от переменной х3. Найдем соответствующую производную :

= (1х4 1х4)(х1х2+1х42) = х4( х2+1х4) =

= х421х4+4( х2+1х4) = х421+4) +4х2 =4х2+ х42х1

Ответом на поставленную задачу будут значения х1, х2 , х4при которых

= 1.

Составим соответствующую таблицу:

х1

х2

х4

0

0

0

0

0

0

1

0

0

1

0

1

0

1

1

0

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

0

х1

х2

х4

0

1

0

1

1

0

1

1

1

1

0

1

На этих наборах функция зависит от переменной х3.

Первый шаг каскадной реализации.

х1 & & 1

х4

&

f0

f0 ( x1,x3,x4) =1+34+ x3x4=1+

Введем определение :

Весом пр-ной функции называется количество возможных наборов, при которых производная равна 1. Исходя из предыдущего примера сложность производной по х3() равна 3.

Запишем утверждение :

Чем больше состояний имеет функция, прикоторых она зависит от xi, тем сильнее она зависит от этой переменной.

Для примера выясним от какой переменной функция зависит сильнее.

f ( x1, x2, x3,x4) = x1x2x3+1x4+ x2x3+ x13x4

W ( ) = 3

= ( x4+x2x3 )(x2x3 +3x4)

х1

х2

х4

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

0

1

1

0

0

1

1

1

0

W () = 1

= (1x4+ x13x4)( x1x3+1x4+ x3+ x13x4) =(x41+ x43)( x3+ x4)

х1

х2

х4

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

0

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

1

W ( ) = 3

=(x1x2x3+ x2x3)(x1x2x3+1+ x2x3+ x13) = x2x3(x2+1 +3 )

х1

х2

х4

0

0

0

1

0

0

1

1

0

1

0

1

0

1

1

0

1

0

0

1

1

0

1

0

1

1

0

1

1

1

1

0

W ( ) = 5

Оказалось, что сильнее всего функция зависит от переменной х4. При этом видно, что чем сильнее зав-ть функции, тем меньше сложность ост-ной функции при ее искл-нии.

Для функции заданной таблично удобно использовать следующий метод определения веса производной:

Рассмотрим на примере :

Функция от четырех переменных задана таблицей истинности :

х1

х2

x3

x4

f

0

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

1

0

1

0

0

0

0

1

0

1

1

0

1

1

0

0

0

1

1

1

1

1

0

0

0

1

1

0

0

1

0

1

0

1

0

1

1

0

1

1

0

1

1

0

0

1

1

1

0

1

1

1

1

1

0

0

1

1

1

1

0

Для заданной функции определить веса производных по х12, х3, х4.

x2

x3

x4

1

0

d

0

0

0

1

0

1

0

0

1

1

1

1

0

1

0

1

1

0

0

1

1

0

1

1

1

0

0

1

0

1

1

0

1

1

1

0

1

1

0

0

0

0

1

1

1

0

1

1

Cтолбцы 1 и 0 заполняются следующим образом :

Вместо искл. переменной в каждый набор подставляются значения 1 или 0 и выписывают соотв. стб. знач. Функции из исходной таблицы.

Столбец dполучается сложением поmod 2соотв. знач. стб. 1 и 0.

W1 = 5

x2 :

x1

x3

x4

1

0

d

0

0

0

0

0

0

0

0

1

1

1

0

0

1

0

0

1

1

0

1

1

1

1

0

1

0

0

1

1

0

1

0

1

1

0

1

1

1

0

0

1

1

1

1

1

0

0

0

W2 = 3

x3 :

x1

x2

x4

1

0

d

0

0

0

1

0

1

0

0

1

1

1

0

0

1

0

0

0

0

0

1

1

1

1

0

1

0

0

1

1

0

1

0

1

0

0

0

1

1

0

0

1

1

1

1

1

0

1

1

W3 = 3

x4 :

x1

x2

x3

1

0

d

0

0

0

1

0

1

0

0

1

1

1

0

0

1

0

1

0

1

0

1

1

1

0

1

1

0

0

0

1

1

1

0

1

0

1

1

1

1

0

1

1

0

1

1

1

0

0

0

W4 = 5

Анализ производных показал, что для данного примера первыми исключ-ми переменными будут х1и х4.

Рассмотрим более сложную задачу для которой функция задана аналитически ( от 5переменных ).

f ( x1, x2, x3, x4, x5 ) = x12x3 + 13x4 + x1x35 + x1x2x4 + 2x3x5 + 34x5

Для данного примера на картах Карно определим веса производных и первую искл. переменную. Затем на картах Карно определим вторую исключаемую переменную и т.д., а затем по полученным данным построим принц. Схему функции.

X1X2 x3X4X5 001 011 010 110 111 101 100

00

1

1

1

1

1

01

1

1

1

11

1

1

1

1

1

1

10

1

1

1

1

1

W1 = 7 ; W2 = 5 ; W3 = 9 ; W4 = 5 ; W5 = 7 ;

Первая искл. переменная х3

Рассмотрим карту Карно для остальных функций: f ( 1 ) f ( 0 )

X1X2 X4X5 00 01 11 10

f (0) 00

1

1

1

01

1

1

1

11

1

1

1

10

1

W1 = 2 ; W2 = 2 ; W4 = 4 ; W5 = 4 ;

X1X2 X4X5 00 01 11 10

f (1) 00

1

1

01

11

1

1

1

10

1

1

1

1

W1 = 5 ; W2 = 3 ; W4 = 1 ; W5 = 3 ; Искл. х1

Второй искл. переменной - х4 или х5.

Получим f (1,0) f (1,1).

x2 x4 x5 00 01 11 10

0

1

1

1

1

1

1

1

1

f11 = 2 + 5 + x4 = + x4

x2 x4 x5 00 01 11 10

0

1

1

1

f10 = 2 x5

Функции f(0,0) и f(0,1) получ. искл. х4.

f00 = х5 f01 = 1 + х2

По имеющимся данным строим принц. схему каск. метода :

f 00

& 1

1 x4 f 0 & 1

& f 01

f 10 x3 f

x4 & & 1 f 1 &

x5 x1

&

x4 & f 11

f00 = х5 f01 = 1 + х2

АЛГЕБРА ВЫСКАЗЫВАНИЙ И ЛОГИКА ПРЕДИКАТОВ.

Логические связки алгебры высказываний:

НЕ - ИЛИ - Р q

И - & ЕСЛИ…, то - Рq(импликант)

Семантическая область алгебры высказываний содержит всего 2 значения:

истина и ложь( 1 и 0 ). Каждое элементарное высказывание обозначается малыми латинскими буквами (литералы). Используя элементарные высказывания и логические связки, можно составить сложные высказывания. Алгебра высказываний базируется на алгебре Буля, а в алгебре Буля аналогично высказываниям – функция.

Если некоторое высказывание в качестве аргументов имеет mлитералов, то оноm– местное.

Буквой Е в высказываниях обозначается множество всех высказываний от m– аргументов. Все множество высказываний можно разделить на 3 класса:

1. Общезначимые высказывания (тарфтология)

2. Выполнимые высказывания.

3. Невыполнимые высказывания.

Общезначимое - высказывание , принимающее значение ИСТИНА для любых наборов литералов.

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

Интерпретационные высказывания – некоторый набор литералов, при котором высказывание принимает значение ИСТИНА.

Высказывание, которое не имеет на одной интерпритации, называется невыполнимым.

Основными задачами алгебры высказываний являются алгоритмы определения выполнимости и общезначимости высказываний. Так как АВ базируется на Булевой алгебре, то все методы последней применимы к первой , в том числе и методы представления функций.

Основная форма представления высказываний является ДСНФ ,а иногда и КСНФ.

p

q

v

y

0

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

0

0

1

1

0

1

0

1

1

0

1

1

1

1

0

ДСНФ

f( p, q, v ) =vqppq

КСНФ

f ( p, q, v ) = ( p qv ) & ( p)(q) & ()

ДСНФ и КСНФ можно свести к ДНФ и КНФ.

Сведем КСНФ к КНФ.

p q v 00 01 11 10

0

0

0

1

0

0

КНФ

f ( p, q, v ) = ( p qv ) & () & ()

Анализ высказываний, представленных в ДНФ.

Задача в ДНФ общезначна, если каждый из ее элементов общезначен (дизъюнкт). Высказывание выполнимое в ДНФ , если выполним хотя бы один дизъюнкт.

Пример.

Дано сложное высказывание, зависящее от 3-х литералов p, q, r, заданное таблично:

p

q

r

A1

A2

0

0

0

1

0

0

0

1

1

0

0

1

0

0

1

0

1

1

1

1

1

0

0

1

0

1

0

1

0

1

1

1

0

1

1

1

1

1

1

1

Представим высказывания А1и А2в ДНФ, для этого составим карты Карно :

А1 p q r 00 01 11 10

0

1

1

1

1

1

1

1

A1 = qr + + p

А2 p q r 00 01 11 10

0

1

1

1

1

1

1

A1 = q + pr

Тогда высказывание f имеет вид:

f = qr + + p+ q + pr

По полученному fможно сделать вывод, что высказывание является выполнимым. Это следует из того ,что выполнимым является 1 из дизъюнктов, например pr , еслиp = 1 иr = 1 , то pr = 1и следовательно все высказывания принимают значениеtrue.

Логика высказываний занимаетсяся логическими связями, а логика предикатов проникает в структуру высказываний и исследует связь того, о ком или о чем идет речь (субъект) с тем, что говорится о данном объекте (предикат). Поэтому язык логики предикатов лучше приспособлен для выражения логических связей между различными понятиями и утверждениями P(x1, x2, …,xn).

N – местный предикат есть неоднородная двузначная логическая функция

Аргументы х12nпредставляют собой объекты из множеств их представления, т.е. х1х1

х2х2

Конкретное значение аргументов называют предметными постоянными. Предметные переменные и constобразуют класс логических понятий – термы. При замещении аргумента Хк(предметvar), некоторым его значениям а (предмет const)n – местный предикат р(х12, …,хn) превращается в( n – 1 ) местный предикатp(x1,x2,…ki-1,a,ki+1,xn).И от переменной хn он уже не зависит. Присвоив значение всем переменнымn местного предиката из соответствующих областей определения, мы получим высказывание,которое можно рассматривать как О местный предикат.

Например: дан 3-х местный предикат p(x1,x2,x3) для которых х1есть сумма х2и х3

При подстановке х1= 5 он переходит в двуместный предикат вида

р (5,х23)

При подстановке х2= 2 он переходит в одноместный предикат вида

р (5,2,х3)

При х3= 3 , он становится истинным высказыванием

При х33 - ложным.

В логике предикатов большое значение имеют две операции, которые называются КВАНТОРН., с помощью которых выражается отношение общности к существованию.

Пусть предикат р(х) определенный на множестве М , утверждение , что все х М и обладают свойством р(х) , записывают с помощью квантора общности

 x p(x) {Для всех х,р(х) }.

Утверждение ,что существует хотя бы 1 объект х из множества М , обладающий свойством р(х), записывается с помощью квантора существования:

 х р(х) {существует такой х, что р(х)}

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

Рассмотрим предикат р(х) , где х – простое число. Предикат р определен на множестве натуральных чисел. Подставляя вместо х числа натурального ряда, получаем счетное множество высказываний. Некоторые из них р(1),р(2),р(3)…. являются истинными. Высказывание  х р(х) – ложное, ах р(х) для 2-го предиката (некоторые числа простые) – истинными.Между кванторами общности и существования имеют место соотношениния, обобщающие законы де Моргана вида:

х р(х) =х

х р(х) = х

Применение квантора к n– местному предикату, превращает его в (n – 1)местный предикат. Кванторы можно также применять к нескольким различным переменным ( по 1 квантору к-л. типа к каждой переменной). Если кnместному предикату применяетсяk кванторов, то он превращается в

(n – k)предикат.

Переменные , к которым применяются кванторы – связанные , остальные переменные – свободные.

Например: из двуместного предиката р(х,у) можно получить следующий одноместные предикаты:

 x p(x,y)

 x p(x,y)

 y p(x,y)

 y p(x,y)

а так же высказывания:

 x  y p(x,y);

 x  y p(x,y);

…………………

 x  y p(x,y); и т.д.

Порядок следования одноименных кванторов не имеет значения, но разноименные переставлять нельзя.

 x y p(x,y)   y  x p(x,y)

x  y p(x,y)   y  x p(x,y)

В этом можно убедиться на примере:

p(х,у) = << x делит у >>

 x  y << xделит у >> - это высказывание истинное

 y  x << y делитx>> - это высказывание ложное.

Категорические высказывания.

В традиционной логике большое внимание уделяется 4-м типам категорических высказываний , которые обозначаются: A, E, I, O.

А – общеутвержденное высказывание.

<< Всякое S суть P >>

Для всех х ,если х обладает свойством S , то х обладает и свойством р.

 x ( S(x)  p(x))

Е – общеотрицательное высказывание

<< никакое S не естьp >>

 x ( S(x)  )

Для всех х , если х обладает свойством S ,то он обладает свойством р.

I - частноутвердительное высказывание.

<< некоторое S суть р>>

 x ( S(x) & p(x))

cуществует такой объект х , который обладает свойствомS и одновременно обладающий свойством р.

О – частноотрицательное высказывание

<< некотороеSне суть р >>

 x ( S(x) & )

существует такой объект х, который обладает свойством S и не обладает свойством р.

Пример: S(x) = << x – селедка>>

p(x) = << x – рыба>>

Четырем типам высказываний соответствуют утверждения:

А : всякая селедка – рыба

Е : никакая селедка не является рыбой

I: некоторая селедка – рыба

О : некоторая селедка не является рыбой

В законах де Моргана эти категоричные высказывания выглядят следующим образом:

 x (S(x)  p(x))  x (S(x) &);

 x (S(x)  ) x (S(x) & p(x));

x (S(x)  )  x (S(x) & p(x));

x (S(x)  p(x))   x (S(x) & );

Высказываеие А и О, а так же Е и Iотличаются друг от друга. Если одно из них истинное, то другое – ложно и нызываются противоположными.

ЭЛЕМЕНТЫ ТЕОРИИ АВТОМАТОВ.

Конечный автомат:

x1 y1

……… КА ………

xn yn

Рассмотрим следующий элемент:

Дано некоторое логическое устройство ,имеющее один вход и один выход:

х1 у1

На вход подается некоторая двоичная последовательность: х = 011101001101

Алгоритм устройства следующий:

Выходом У будет текущего и предыдущего элемента вход. последовательности:

У = 10011101011

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

Основные определения:

Декарт. Произведение 2-х множеств АВ называется множество С ,элементы которого составляют пары исходных элементов 2-х множеств.

Пример: С = А*В; А{a1,a2,a3}; B{b1,b2}

C{(a1,b1),(a1,b2),(a2,b1),(a2,b2),(a3,b1),(a3,b2)}

Конечный автомат – объект определенный 5-ю параметрами:

1) S = < A, Q, V, ,  >

A – множество букв входящего алфавита;

Q – множество сост. автомата;

V – множество букв выход. алфавита;

 : A*Q  Q - функция переход. КА;

 : A*Q  V - функция выходов

Пример конечного автомата: Задан вход и выход , набор , и набор состояний:

A = {a0,a1}, V = { V0, V1}, Q = { q0, q1, q2}.

Одним из способов задания функции переходов и выходов является табличный метод:

Функция переходов Функция выходов

q0

q1

q2

q0

q1

q2

a0

q1

q0

q2

a0

v0

v1

v1

a1

q2

q1

q0

a1

v1

v1

v0

С помощью 2-х функций из 3-х исходных множеств полностью задается КА.

Кроме табличного способа задания КА можно использовать аппарат графов.

Граф – топологический объект , основными элементами которого являются вершины.

1 2 1,2 – вершины

Ребро графа может соединять вершины и входить само в себя.

  1. Неориентировочные графы.

1 2

Для данного графа имеет значение соединение между собой, направления не учитываются.

  1. Ориентировочные графы.

1 2

Для них важно, какие вершины соединяются и направление соединения.

Словом  называется некоторая последовательность букв входного алфавита.

 = аj1, aj2, …, ajn;

при этом для функции перехода и выходов справедливы соотношения:

 (q, a) =  (  (q,  ),a);

 (q, a ) =  (  (q,  ),a);

Допустим, что автомат находится в состоянии qi и на его вход поступает последовательность букв:=aj1, aj2, …, ajn, тогда на выходе автомата будет наблюдаться w следующего вида:

w =  (qi, aj1)  (qi, aj1, aj2) …  (qi, aj1, aj2, aj3, …, ajn)

Другими словами автомат находится в состоянии qi, переводит входное слово

 в выходное w. Другими словами это записывается в виде:

S (qi, ) = w;

где функция S – автоматный оператор.

ЭКВИВАЛЕНТНЫЕ СОСТОЯНИЯ И АВТОМАТЫ.

Два состояния qiиqjназываются эквивалентными, если выполняется равенство:S (qi, ) = S (qj, )для произвольного.

В простейшем случае , когда входящее слово состоит из одной буквы, эквивалентность имеет вид: (qi,a) =  (qj,a)

Множестваво всех эквивалентных состояниях называются классом эквивалентности К.

Допустим qi и qjпринадлежит классу К0,сформируем словоследующим образом= а0а1,тогда согласно определению эквивалентности мы можем записать.

S ( qi, а0, а1) = S ( qj, а0, а1)

Полученное равенство запишем в ином виде :

 ( qi, а0 ) ( qi, а0, а1) =  ( qj, а0 ) ( qj, а0, а1)

Исходя из определения эквивалентности : выполняется равенство:

 ( qi, а0 )=  ( qj, а0 ),

а значит выполняется и равенство:

 ( qi, а0, а1) =  ( qj, а0, a1 )

Преобразовав получим равенство :

 (  ( qi, а0), а1) =  (  ( qj, а0), а1)

Для того, чтобы две составляющиеqi иqj были эквивалентны, должны выполнятся следующие условия :

 ( qi, а ) = ( qj, а )

 ( qi, а ) = ( qj, а ) K

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

Рассмотрим следующий пример :

Автомат задан графом вида :

А = {0, 1}; V = {0, 1}

Q = { q1, q2, q3, q4, q5, q6, q7 }

q2 q6

q1 q4 q7

q3 q5

Составим таблицы выходов и функции перехода :

q1

q2

q3

q4

q5

q6

q7

0

1

1

0

0

1

0

0

1

0

0

1

1

0

1

1

q1

q2

q3

q4

q5

q6

q7

0

q2

q5

q7

q1

q5

q4

q5

1

q3

q6

q4

q3

q6

q7

q6

Используя два условия эквивалентности разобьем множество сост. автоматов на классы эквивалентности :

  1. Получение класса условно эквивалентных сост. ( проверяем условие выполнения первого равенства ). Используя таблицу выходов мы можем записать два условно эквивалентных класса.

к0={q1 q2 q5}

к1={q3 q4 q6 q7}

  1. Проверка эквивалентности полученных классов:

q1

q2

q3

q4

q5

q6

q7

0

к0

к0

к1

к0

к0

к1

к0

1

к1

к1

к1

к1

к1

к1

к1

На основании полученной таблицы и второго условия эквивалентности

делаем вывод : класс к1 распадается на два класса :

к1,={q3 q6} к1={q4 q7}

  1. С учетом нового разбиения на классы опять заполняется таблмца перехода :

q1

q2

q3

q4

q5

q6

q7

0

к0

к0

к1

к0

к0

к1

к0

1

к1

к1

к0

к1

к1

к1

к1

В результате решения задачи получены три класса эквивалентности :

к0 = { q1, q2, q5}

к1 = { q3 q6}

к1 = { q4 q7}

Для проверки подадим на вход последовательность :

q1

q2

q6

q7

q6

q4

q3

q4

q1

q2

0

1

1

1

0

1

1

0

0

1

1

0

1

1

0

1

1

0

1

0

q5

q3

q6

q7

q6

q4

q3

q4

q1

q2

0

1

1

1

0

1

1

0

0

1

1

0

1

1

0

1

1

0

1

0

Автоматы S и Т называются эквивалентными, если любому сост. автоматаS найдется сост. автомата Т. ( и наоборот)

Если автомат S0 эквивалентен автоматуS и количество сост.S0 > S, тоS0 – минимальный автомат ( единственный ).

Построим мин. автомат S0 для нашего примера:

q01  k0 q02  k1’ q03  k1

q02

q01

q03

0

q01

q02

q03

0

1

0

0

1

0

1

1

q01

q02

q03

0

q01

q03

q01

1

q02

q03

q02

РЕАЛИЗАЦИЯ КА.

КА состоит из двух остальных блоков:

  1. реализует функцию переходов;

  2. реализует функцию выходов.

qi (qi, aj)

aj

qi

aj aj (qi, aj) vk

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

Если  одинаково для любых состояний, то автомат синхронный, иначе асинхронный.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]