Добавил:
донаты: 5469330011148453 (сбер) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛБ3_МЛиТА

.docx
Скачиваний:
2
Добавлен:
16.05.2023
Размер:
90.74 Кб
Скачать

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Юго-западный государственный университет»

Факультет фундаментальной и прикладной информатики

Кафедра «Информационная безопасность»

Предмет «Математическая логика и теория алгоритмов»

Лабораторная работа № 3

Вариант 5

Исполнитель:

студент группы ИБ-11б

Гребенникова А.И.

Проверяющий:

профессор, д.физ-мат.н.

Добрица В.П.

Курск 2022

Цель: освоить алгоритм Квайна приведения ДНФ к минимальной

дизъюнктивной нормальной форме, реализовывать булевы функции

контактными схемами.

Задача 1. Составить контактную схему голосования по большинству

голосов при 5 голосующих.

Решение. Составим таблицу истинности для всех возможных результатов голосования. При этом 0 = «против», 1 = «за». F обозначим результат голосования по большинству.

a

b

c

x

y

F

Формула

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

1

0

0

0

0

0

1

1

0

0

0

1

0

0

0

0

0

1

0

1

0

0

0

1

1

0

0

0

0

1

1

1

1

¬a∧¬b∧c∧x∧y

0

1

0

0

0

0

0

1

0

0

1

0

0

1

0

1

0

0

0

1

0

1

1

1

¬a∧b∧¬c∧x∧y

0

1

1

0

0

0

0

1

1

0

1

1

¬a∧b∧c∧¬x∧y

0

1

1

1

0

1

¬a∧b∧c∧x∧¬y

0

1

1

1

1

1

¬a∧b∧c∧x∧y

1

0

0

0

0

0

1

0

0

0

1

0

1

0

0

1

0

0

1

0

0

1

1

1

a∧¬b∧¬c∧x∧y

1

0

1

0

0

0

1

0

1

0

1

1

a∧¬b∧c∧¬x∧y

1

0

1

1

0

1

a∧¬b∧c∧x∧¬y

1

0

1

1

1

1

a∧¬b∧c∧x∧y

1

1

0

0

0

0

1

1

0

0

1

1

a∧b∧¬c∧¬x∧y

1

1

0

1

0

1

a∧b∧¬c∧x∧¬y

1

1

0

1

1

1

a∧b∧¬c∧x∧y

1

1

1

0

0

1

a∧b∧c∧¬x∧¬y

1

1

1

0

1

1

a∧b∧c∧¬x∧y

1

1

1

1

0

1

a∧b∧c∧x∧¬y

1

1

1

1

1

1

a∧b∧c∧x∧y

(Вы правильно построили СДНФ?)

(¬a∧¬b∧c∧x∧y)∨(¬a∧b∧¬c∧x∧y)∨(¬a∧b∧c∧¬x∧y)∨(¬a∧b∧c∧x∧¬y)∨(¬a∧b∧c∧x∧y)∨(a∧¬b∧¬c∧x∧y)∨(a∧¬b∧c∧¬x∧y)∨(a∧¬b∧c∧x∧¬y)∨(a∧¬b∧c∧x∧y)∨(a∧b∧¬c∧¬x∧y)∨(a∧b∧¬c∧x∧¬y)∨(a∧b∧¬c∧x∧y)∨(a∧b∧c∧¬x∧¬y)∨(a∧b∧c∧¬x∧y)∨(a∧b∧c∧x∧¬y)∨(a∧b∧c∧x∧y)

Минимизируем формулу с помощью Карт Карно

ab \ cxy

000

001

011

010

110

111

101

100

00

0

0

0

0

0

1

0

0

01

0

0

1

0

1

1

1

0

11

0

1

1

1

1

1

1

1

10

0

0

1

0

1

1

1

0

Выделим на карте Карно прямоугольные области из единиц наибольшей площади, являющиеся степенями двойки и выпишем соответствующие им конъюнкции:

Область 1:

X1X2 \ X3X4X5

000

001

011

010

110

111

101

100

00

0

0

0

0

0

1

0

0

01

0

0

1

0

1

1

1

0

11

0

1

1

1

1

1

1

1

10

0

0

1

0

1

1

1

0

K1: X1X2X3

Область 2:

X1X2 \ X3X4X5

000

001

011

010

110

111

101

100

00

0

0

0

0

0

1

0

0

01

0

0

1

0

1

1

1

0

11

0

1

1

1

1

1

1

1

10

0

0

1

0

1

1

1

0

K2: X1X2X4

Область 3:

X1X2 \ X3X4X5

000

001

011

010

110

111

101

100

00

0

0

0

0

0

1

0

0

01

0

0

1

0

1

1

1

0

11

0

1

1

1

1

1

1

1

10

0

0

1

0

1

1

1

0

K3: X1X2X5

Область 4:

X1X2 \ X3X4X5

000

001

011

010

110

111

101

100

00

0

0

0

0

0

1

0

0

01

0

0

1

0

1

1

1

0

11

0

1

1

1

1

1

1

1

10

0

0

1

0

1

1

1

0

K4: X1X3X4

Область 5:

X1X2 \ X3X4X5

000

001

011

010

110

111

101

100

00

0

0

0

0

0

1

0

0

01

0

0

1

0

1

1

1

0

11

0

1

1

1

1

1

1

1

10

0

0

1

0

1

1

1

0

K5: X1X3X5

Область 6:

X1X2 \ X3X4X5

000

001

011

010

110

111

101

100

00

0

0

0

0

0

1

0

0

01

0

0

1

0

1

1

1

0

11

0

1

1

1

1

1

1

1

10

0

0

1

0

1

1

1

0

K6: X1X4X5

Область 7:

X1X2 \ X3X4X5

000

001

011

010

110

111

101

100

00

0

0

0

0

0

1

0

0

01

0

0

1

0

1

1

1

0

11

0

1

1

1

1

1

1

1

10

0

0

1

0

1

1

1

0

K7: X2X3X4

Область 8:

X1X2 \ X3X4X5

000

001

011

010

110

111

101

100

00

0

0

0

0

0

1

0

0

01

0

0

1

0

1

1

1

0

11

0

1

1

1

1

1

1

1

10

0

0

1

0

1

1

1

0

K8: X2X3X5

Область 9:

X1X2 \ X3X4X5

000

001

011

010

110

111

101

100

00

0

0

0

0

0

1

0

0

01

0

0

1

0

1

1

1

0

11

0

1

1

1

1

1

1

1

10

0

0

1

0

1

1

1

0

K9: X2X4X5

Область 10:

X1X2 \ X3X4X5

000

001

011

010

110

111

101

100

00

0

0

0

0

0

1

0

0

01

0

0

1

0

1

1

1

0

11

0

1

1

1

1

1

1

1

10

0

0

1

0

1

1

1

0

K10: X3X4X5

Объединим их с помощью операции ИЛИ и получим минимизированную ДНФ

Минимизированная ДНФ:

(a∧b∧c)∨(a∧b∧x)∨(a∧b∧y)∨(a∧c∧x)∨(a∧c∧y)∨(a∧x∧y)∨(b∧c∧x)∨(b∧c∧y)∨(b∧x∧y)∨(c∧x∧y)

(Как получена? Схема не соответствует формуле.) Составим контактную схему: (Разберитесь с картами Карно, если Вы решаете минимизировать формулу с помощью карты Карно. И опишите все действия.)

Задача 2. Найдите сокращенные, все тупиковые и минимальные ДНФ

булевой функции методом Квайна:

f(0,0,0) = f(0,0,1) = f(1,0,1) = f(1,1,1) = 0

Дизъюнктивная нормальная форма называется сокращенной, если она не совпадает с эквивалентной ей СДНФ. (Например, один из дизъюнктивных членов в СДНФ запишем 2 раз и получим «сокращенную ДНФ», т.к. она отлична от СДНФ? В чем суть сокращения?) Сокращенные ДНФ можно получить из СДНФ, проводя преобразования в соответствии с законами логики, в частности дистрибутивными законами, поглощения и идемпотентности.

Если ДНФ уже больше нельзя сократить по законам логики, то она называется тупиковой (ТДНФ).

Дизъюнктивная форма, содержащая наименьшее число элементарных импликант, называется минимальной дизъюнктивной нормальной формой (МНДФ). (Что такое импликанта? МДНФ определяется по импликантам? А с переменными это не связано?) Импликанта - дизъюнкт в тупиковой ДНФ, представляющий собой элементарную конъюнкцию K, которая может принимать значение 1 на нескольких наборах значений переменных, на которых исходная функция f принимает значение 1. (Это частный случай импликанты. А как она определяется в общем случае?) Булева функция g(x) называется импликантой булевой функции f(x), если для любого набора аргументов, на которых g(x) =1, f(x) также равна единице.

С переменными связано следующей теоремой: Если ДНФ булевой функции f не содержит отрицаний переменных, то эта форма будет являться единственной МДНФ, а значит, она будет наименьшей.

A

B

C

f

0

0

0

0

0

0

1

0

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

0

1

1

0

1

1

1

1

0

СДНФ: (¬A∧B∧¬C)∨(¬A∧B∧C)∨(A∧¬B∧¬C)∨(A∧B∧¬C)

Выпишем наборы и сократим их

010, 011 – 01_

100, 110 – 1_0

По данным наборам составим сокращённую ДНФ:

(¬A∧B)∨(A∧¬C) – совпадает с тупиковой ДНФ.

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

010

011

100

110

01-

*

*

-10

*

*

1-0

*

*

Соседние файлы в предмете Математическая логика и теория алгоритмов