Добавил:
донатики - https://qiwi.com/n/1ZOMBIE1 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛР_3

.docx
Скачиваний:
27
Добавлен:
10.12.2022
Размер:
110.63 Кб
Скачать

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

Элементарные

импликанты

Сокращенные наборы

Наборы значений переменных, определяющие 0 булевой функции

000

001

100

110

111

00_

1

1

_00

1

1

1_0

1

1

11_

1

1

В рассматриваемом примере ядром является формула:

Для «перекрытия» полного набора переменных достаточно выбрать одну из соответствующих элементарных импликант выделенном столбце. Поэтому получаем две различные минимальные дизъюнктивные нормальные формы:

Этот пример показывает, что минимальная ДНФ не всегда является наименьшей, которая по определению должна быть единственной.

Задача 2. Является ли данный набор булевых функций функционально

полным?

  • ⇒,∧

  • ¬

(Сначала дайте определение полноты системы функций.)

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

По теореме Поста, чтобы система булевых функций была полной, надо, чтобы в ней существовали

  1. Хотя бы одна функция, не сохраняющая 0;

  2. Хотя бы одна функция, не сохраняющая 1;

  3. Хотя бы одна нелинейная функция;

  4. Хотя бы одна несамодвойственная функция;

  5. Хотя бы одна немонотонная функция.

Первый набор ⇒,∧:

Р0

P0

L

S

M

-

+

-

-

-

+

+

-

-

+


Второй набор ¬:

P0

P1

L

S

M

¬

-

-

+

+

-


1) P0 - класс функий, сохраняющих нуль (т.е если f(0,0,...,0)=0, то f принадлежит этому классу). Проверяем

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

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

- не принадлежит этому классу.

2) P1 - класс функций, сохраняющих единицу (т.е если f(1,1,...,1)=1, то f принадлежит этому классу).

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

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

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

3)L-класс функций, представимы линейным многочленом Жегалкина.

нелинейный многочлен

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

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

4) S - класс самодвойственных функций. То есть функций, для которых выполняется:

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

x

y

F1

F2

0

0

1

0

0

1

1

0

1

0

0

0

1

1

1

1

x

F3

0

1

1

0

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

5) M -класс монотонных функций.

Функция f называется монотонной, если для любых наборов значений переменных (α1,α2,...,αn) и (β1,β2,...,βn), таких что (α1,α2,...,αn)≤(β1,β2,...,βn), выполняется f(α1,α2,...,αn)≤f(β1,β2,...,βn).

Бинарное отношение ≤ понимается так: (α1,α2,...,αn)≤(β1,β2,...,βn) ⇔ ∀i (αi≤βi).

Тогда, функции F1 и F3 не монотонны а, а функция F2 - монотонна. (Конкретизировать почему.)

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

Значит, наша система функций полна. (У Вас две системы функций, а не одна.) (Вы должны дать ответы по этим двум системам отдельно.)

  • ⇒,∧ - набор булевых функций является функционально полным. (Но нет функции, не сохраняющей 1. В таблице Вы указали не верно его обозначение.)

  • ¬ - булева функция является функционально полной. (Но это линейная функция! Внимательно разберите теорему Поста.)

Первый набор ⇒,∧:

Р0

P1

L

S

M

-

+

-

-

-

+

+

-

-

+


Второй набор ¬:

P0

P1

L

S

M

¬

-

-

+

+

-


Теорема Поста (о полноте): Набор булевых функций является полным тогда и только тогда, когда он не содержится полностью ни в одном из классов S,M,L,Р0,Р1.

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

Второй набор булевых функций не является функционально полным, так как в случае L и S функция, является линейной и самодвойственной, для полноты нужно чтобы функция являлась нелинейной и несамодвойственной.

Тогда, функция F1 и F3 не монотонна, а функция F2 - монотонна.

Функция принадлежит классу монотонных функций M, если для любой пары наборов α и β таких, что α ≤ β, выполняется условие f(α) ≤ f(β). (Как определяется выделенный порядок?)

Перебор пар начнем с наборов α=00 и β=01: для них α≤β и выполнено условие монотонности f(00) = f(01). Набор α таков, что любой другой набор β является последователем α.

F1:

(0,0) = 1 и (0,1) = 1 - монотонность не нарушена.

(0,0) = 1 и (1,0) = 0 - монотонность нарушена. Значит функция не принадлежит классу монотонных функций M.

F2:

(0,0) = 0 и (0,1) = 0 - монотонность не нарушена.

(0,0) = 0 и (1,0) = 0 - монотонность не нарушена.

(0,1) = 0 и (1,0) = 0 - монотонность не нарушена.

(0,1) = 0 и (1,1) = 1 - монотонность не нарушена.

(1,0) = 0 и (1,1) = 1 - монотонность не нарушена.

F3:

  1. = 1 и (1) = 0 - монотонность нарушена. Значит функция не принадлежит классу монотонных функций M.

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

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

Задача 3. Найти минимальную ДНФ для функции из задачи 5 лабораторной работы №2 с помощью карт Карно.

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

Карта Карно для логической функции 3 переменных.

x \ yz

00

01

11

10

0

1

0

1

1

1

0

0

0

1

Первый контур –

Второй контур –

Третий контур –

МДНФ:

(Дать пояснения к методу Карно и сделать проверку эквивалентности исходной функции.)

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

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

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

x

y

z

∧ ∧

∧y∧

∧y∧z

x∧y∧

∧ ∧ ∨ ∧y∧ ∨ ∧y∧z ∨ x∧y∧

0

0

0

1

1

1

1

0

0

0

1

0

0

1

1

1

0

0

0

0

0

0

0

1

0

1

0

1

0

1

0

0

1

0

1

1

1

0

0

0

0

1

0

1

1

0

0

0

1

1

0

0

0

0

0

1

0

1

0

1

0

0

0

0

0

0

1

1

0

0

0

1

0

0

0

1

1

1

1

1

0

0

0

0

0

0

0

0

x

y

z

∧y

y∧

∧ ∨ ∧y ∨ y∧

0

0

0

1

1

1

0

0

1

0

0

1

1

0

0

0

0

0

0

1

0

1

1

1

1

1

1

0

1

1

1

0

0

1

0

1

1

0

0

0

1

0

0

0

0

1

0

1

0

0

0

0

0

0

1

1

0

0

1

0

0

1

1

1

1

1

0

0

0

0

0

0

Формулы принимают значение 1 на одинаковых наборах значений переменных, поэтому они эквивалентны.

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

X1

X2

X3

X4

X5

0

0

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

0

0

1

1

0

0

0

1

1

1

0

1

0

0

0

0

1

0

0

1

0

1

0

1

0

0

1

0

1

1

0

1

1

0

0

0

1

1

0

1

0

1

1

1

0

0

1

1

1

1

1

0

0

0

0

1

0

0

0

1

1

0

0

1

0

1

0

0

1

1

1

0

1

0

0

1

0

1

0

1

1

0

1

1

0

1

0

1

1

1

1

1

0

0

0

1

1

0

0

1

1

1

0

1

0

1

1

0

1

1

1

1

1

0

0

1

1

1

0

1

1

1

1

1

0

1

1

1

1

1

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