Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kurs_Булев_ал.doc
Скачиваний:
7
Добавлен:
11.07.2019
Размер:
250.88 Кб
Скачать

1.1.1 Базис булевых функций, теорема Поста

Проверка, составляют ли данные функции базис:

Свойства

Сохранение 0

Сохранение 1

Самодвойственность

Монотонность

Линейность

a1 a2

+

+

a

+

+

a1 a2

+

+

+

В таблице знаком «+» отмечена принадлежность функции к соответствующему классу.

По теореме Поста, поскольку в наборе имеет хоть одна функция, не принадлежащая к классу сохраняющих 0; хоть одна, не принадлежащая к классу сохраняющих 1; хоть одна, не принадлежащая к классу самодвойственных; хоть одна, не принадлежащая к классу монотонных; хоть одна, не принадлежащая к классу линейных, - следовательно, эти функции достаточны для составления базиса. Впрочем, для базиса по теореме Поста достаточно и двух функций – a1 a2 и a.

1.1.2 Таблица истинности заданной функции:

х1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

x2

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

x3

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

x4

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

x1 x2

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

0

x1 x2 x3

1

0

0

1

0

1

1

0

1

0

0

1

0

1

1

0

x3x4

1

1

1

1

0

0

0

0

0

0

0

0

1

1

1

1

F

1

1

1

1

0

1

1

0

1

1

1

1

1

1

1

1

1.1.3 Карты Карно

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

Рис.1.1 – Представление функции картой Карно

1.2 Минимизация булевой функции

1.2.1 Минимизация по карте Карно

Результат:

1.2.2. Минимизация по методу Квайна-МакКласки.

Выписываем все термы, в которых функция равна 1 (нумерация слева - направо, т.е. будет записано как 1101):

0000, 1000, 0100, 1100, 1010, 0110, 0001, 1001, 0101, 1101, 0011, 1011, 0111, 1111.

Разбиваем эти термы на группы с одинаковым числом единиц (группировка по числу прямых и инверсных переменных):

0) 00001

1) 10002, 01003, 00014

2) 11005, 10106, 01107, 10018, 01019, 001110

3) 110111, 101112, 011113

4) 111114

Проводим попарные склейки:

0) -000(1-2), 0-00(1-3), 000-(1-4)

1) 1-00(2-5), 10-0(2-6), 100-(2-8), -100(3-5), 01-0(3-7), 010-(3-9), -001(4-8), 0-01(4-9), 00-1(4-10)

2) 110-(5-11), 1-01(8-11), -101(9-11), 101-(6-12), 011-(7-13), 10-1(8-11), 01-1(9-13), -011(10-12),

0-11(10-13)

3) 11-1(11-14), 1-11(12-14), -111(13-14)

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

Участвовали все минитермы, пока в результат ничего не выносится.

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

0) -0001, 0-002, 000-3

1) 1-004, 10-05, 100-6, -1007, 01-08, 010-9, -00110, 0-0111, 00-112

2) 110-13, 1-0114, -10115, 101-16, 011-17, 10-118, 01-119, -01120, 0-1121

3) 11-122, 1-1123, -11124

Проводим склеивание:

0) - -00(1-7), -00-(1-10), - -00(2-4), 0-0-(2-11), -00-(3-6), 0-0-(3-9)

(повторяющиеся, а значит – ненужные, термы выделены цветом)

1) 1-0-(4-14), 1-0-(6-13), 10- -(6-16), 10- -(5-19), -10-(7-15), -10-(9-13), 01- -(8-18), 01- -(9-17), - -01(10-15), - -01(11-14), 0- -1(11-19), 0- -1(12-19) , -0-1(10-20), -0-1(12-18)

2) 1- -1(14-21), 1- -1(18-20), - -11(19-22), - -11(21-23), -1-1(19-22), -1-1(15-24)

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

1

2

3

4

5

6

7

8

9

10

11

12

+

+

+

+

+

+

+

+

+

+

+

+

13

14

15

16

17

18

19

20

21

22

23

24

+

+

+

+

+

+

+

+

+

+

+

+

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

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

0) - -001, -00-2, 0-0-3

1) 1-0-4, 10- -5, -10-6, 01- -7, - -018, 0- -19, -0-110

2) 1- -111, -1-112, - -1113

Проводим склеивание:

0) - -0-(1-8), - -0-(2-6), - -0-(3-4)

(повторяющиеся, а значит – ненужные, термы выделены цветом)

1) - - -1(9-10), - - -1(10-12), - - -1(13-18)

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

1

2

3

4

5

6

7

8

9

10

11

12

+

+

+

+

+

+

+

+

+

+

Дальнейшие склейки невозможны, таким образом, тупиковая ДНФ имеет вид (минитермы за №№ 5 и 7 не участвовали в склейках и сразу включаются в решение):

f = (10- -) (01- -) (- - -0) (- - - 1)