diskr_edit (1023554), страница 13

Файл №1023554 diskr_edit (Методичка по дискретной математике) 13 страницаdiskr_edit (1023554) страница 132017-07-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 13)

x1Vx2  x1Vx2Vx3) & (x1Vx2Vx3).

x1Vx3 (x1Vx3Vx2)&(x1Vx3Vx2).

x2 Vx3 (x2Vx3Vx1) & (x2Vx3Vx1).

Поэтому имеем:

f(x1, x2, x3) x1Vx2Vx3)&(x1Vx2Vx3)&x1Vx3Vx2)&(x1Vx3Vx2)&(x2Vx3Vx1)&(x2 V x3Vx1).

3. Применив шаг 5, получим:

f(x1, x2, x3) (x1Vx2Vx3)&(x1Vx2Vx3)&(x1Vx2Vx3)&(x1Vx2Vx3)&(x1Vx2Vx3)&(x1 Vx2Vx3).

4. Замечаем, что 1-ый и 3-ий, а также 4-ый и 5-ый дизъюнктивные члены полученного выражения совпадают, применяем шаг 6 и получим окончательно СКНФ формулы f(x1, x2, x3):

f(x1, x2, x3) (x1Vx2Vx3)&(x1Vx2Vx3)&(x1Vx2Vx3)&(x1Vx2Vx3).

4.7. Разложение булевой функции по переменным

Пусть s принимает значения 0 или 1, т.е. s {0, 1}.

Введем обозначение:

xs = x, если s = 0, xs = x, если s = 1.

Т.е. x0 = x, x1 = x.

Очевидно, что xs = 1, если x = s и xs = 0, если x s.

Теорема 4.5 (о разложении булевой функции по переменным).

Каждая булева функция f(x1, x2, ... , xn) может быть представлена в виде:

f(x1, x2, ... , xn) = f(x1, x2, ... , xm, xm+1, ... , xn) =

V x1s1&x2s2&...&xmsm& f(s1, s2, ... sm, xm+1, ... , xn), (4.1)

m n, где дизъюнкция берется по всем наборам (s1, s2, ... , sm) (их 2m).

Например, для m = 2, n = 4 разложение (4.1) включает в себя четыре (2m = 22 =4) конъюнкции и имеет вид:

f(x1, x2, x3, x4) = x &x &f(0, 0, x3, x4) V x &x &f(0, 1, x3, x4) V x & x &f(1, 0, x3, x4) V x & x &f(1, 1, x3, x4) = x1&x2&f(0, 0, x3, x4) V x1&x2&f(0, 1, x3, x4) V x1&x2&f(1, 0, x3, x4) V x1&x2&f(1, 1, x3, x4).

Доказательство теоремы 4.5.

Теорема будет доказана, если показать, что равенство (4.1) выполняется для произвольного набора переменных (y1, y2, ... , ym, ym+1, ... , yn) .

Подставим этот произвольный набор переменных в левую и правую части равенства (4.1).

В левой части получим f (y1, y2, ... , yn) .

Т. к. ys = 1 только, когда y = s, то среди 2m конъюнкций y1s1&y2s2&...&ymsm в правой части (4.1) только одна обратится в 1 – та, в которой y1 = s1,…, ym = sm. Все остальные конъюнкции равны 0. Поэтому в правой части (4.1) получим:

y1y1&y2y2&...&ymym&f(y1, y2, ... , ym, ym+1, ... , yn) = f(y1, y2, ... , yn) .

Теорема 4.5 доказана.

Теорема 4.6 (о представлении булевой функции формулой в СДНФ),

Всякая булева функция f(x1, x2, ... , xn), не равная тождественно 0, может быть представлена формулой в СДНФ, которая определяется однозначно с точностью до перестановки дизъюнктивных членов.

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

При m = n получим важное следствие теоремы 4.5:

f(x1, x2, ... , xn) = V x1s1&x2s2&...&xnsn, (4.2)

f(s1, s2, ... , sn) = 1

где дизъюнкция берется по всем наборам (s1, s2, ... , sn), на которых f = 1.

Очевидно, что разложение (4.2) есть не что иное, как СДНФ формулы f, которая содержит столько конъюнкций, сколько единиц в таблице значений f. Следовательно, СДНФ для всякой булевой функции единственна с точностью до перестановки ее дизъюнктивных членов.

Очевидно также, что для булевой функции f(x1, x2, ... , xn), тождественно равной 0, разложение (2) не существует.

В силу изложенного для получения формулы булевой функции f(x1, x2, ... , xn) в СДНФ можно воспользоваться следующим алгоритмом.

Алгоритм 4.3. (Алгоритм представления булевой функции, заданной таблицей, формулой в СДНФ).

Шаг 1. Выбираем в таблице все наборы переменных s1, s2, ... , sn, для которых значение f равно 1, т. е. f (s1, s2, ... , sn) = 1.

Шаг 2. Для каждого такого набора (строки таблицы) составляем конъюнкцию x1s1&x2s2&...&xnsn, где xisi = xi, если si = 1 и xisi =xi, если si = 0, i = 1, 2, ... ,n.

Шаг 3. Составляем дизъюнкцию всех полученных конъюнкций. В результате получится формула данной функции в СДНФ.

Пример 4.15.

Найдем формулу в СДНФ для функции f(x1, x2, x3), заданной таблицей 4.4.

1. Выберем в таблице строки, где f(x1, x2, x3) =1. Это 4-ая, 5-ая. 6-ая и 8-ая строки.

2. Для каждой выбранной строки составляем конъюнкции по правилу, указанному в шаге 2. Получим соответственно для четырех выбранных строк:

x10&x21&x31 = x1 &x2&x3.

x11&x20&x30 = x1&x2&x3.

x11&x20&x31 = x1&x2&x3 .

x11&x21&x31 = x1&x2&x3 .

3. Составляем дизъюнкцию всех полученных конъюнкций и находим СДНФ:

f(x1, x2, x3) = x1&x2&x3V x1&x2&x3 V x1&x2&x3 V x1&x2&x3.

Убеждаемся, что это выражение совпадает с полученным ранее в примере 4.13 представлением нашей формулы в СДНФ.

Замечание. Если булева функция задана формулой в СДНФ, то, применяя алгоритм 4.3 в обратной последовательности, легко можем получить таблицу значений этой функции.

Теорема 4.7 (о представлении булевой функции формулой в СКНФ),

Всякая булева функция f(x1, x2, ... , xn), не равная тождественно 1, может быть представлена формулой в СКНФ, которая определяется однозначно с точностью до перестановки дизъюнктивных членов.

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

Рассмотрим функцию f(x1, x2, ... , xn). В соответствии с теоремой 4.6, если она не равна тождественно 0, существует ее формула в СДНФ. Обозначим эту формулу F1. Очевидно, условие, что функция f(x1, x2, ... , xn) не равна тождественно 0, равносильно условию, что функция f(x1, x2, ... , xn) не равна тождественно 1. Кроме того, по закону де Моргана формула F2  F1 находится в СКНФ (отрицание конъюнкции есть дизъюнкция отрицаний). По закону двойного отрицания

F2 F1  f(x1, x2, ... , xn)  f(x1, x2, ... , xn),

что и доказывает теорему.

Для получения формулы булевой функции f(x1, x2, ... , xn) в СКНФ следует воспользоваться следующим алгоритмом.

Алгоритм 4.4. (Алгоритм представления булевой функции, заданной таблицей, формулой в СКНФ)

Шаг 1. Выбираем в таблице все наборы переменных s1, s2, ... , sn, для которых значение f (s1, s2, ... , sn) = 0.

Шаг 2. Для каждого такого набора (строки таблицы) составляем дизъюнкцию

x1 s1Vx2s2V...Vxnsn, где xi si = xi, если si = 0 и xi si = xi, если si = 1, i = 1, 2, ... , n.

Шаг 3. Составляем конъюнкцию всех полученных дизъюнкций. В результате получится СКНФ.

Пример 4.16.

Найдем формулу в СКНФ для функции f(x1, x2, x3), заданной таблицей 4.4.

1. Выберем в таблице строки, где f(x1, x2, x3) = 0. Это 1-ая, 2-ая и 3-я и 7-ая строки.

2. Для каждой выбранной строки составляем дизъюнкции по правилу, указанному в шаге 2. Получим соответственно для трех выбранных строк:

x11Vx21Vx31 = x1Vx2Vx3.

x11Vx21Vx30x1Vx2Vx3.

x11Vx20Vx31 = x1Vx2Vx3.

x10Vx20Vx31 = x1Vx2V x3.

3. Составляем конъюнкцию всех полученных дизъюнкций и находим СКНФ:

f(x1, x2, x3) =  x1Vx2Vx3)&(x1Vx2Vx3)&(x1Vx2Vx3)&(x1Vx2Vx3).

Это выражение совпадает с полученным ранее в примере 4.14 представлением нашей формулы в СКНФ.

Замечание. Т. к. всего строк в таблице функции 2n, то, если число дизъюнктивных членов в СДНФ равно p, а число конъюнктивных членов в СКНФ равно q, то p+q=2n.

Так, для функции, рассмотренной в примерах 4.15 и 4.16, n = 3, p = 4, q = 4, p + q = 8 = 23.

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

нормальных форм

Как было установлено выше, произвольная булева функция может быть представлена формулой в ДНФ и КНФ, причем такое представление неоднозначно. Равносильными преобразованиями можно получить формулу, содержащую меньшее число вхождений переменных. Например, две различные формулы: f1(x1, x2) = x1V x1&x2 V x2 и f2(x1, x2) = x1 V x2 равносильны, так как в силу 2-го закона поглощения (равносильность 6б из раздела 4.3) x1 V x1&x2  x1.

Но в формуле f1(x1, x2) содержится четыре вхождений переменных, а в формуле f2(x1, x2) – два.

Определение 4.10. ДНФ называется минимальной, если она содержит наименьшее общее число вхождений переменных среди всех равносильных ей ДНФ.

Определение 4.11. Импликантом булевой функции f(x1, x2, ... , xn) называется элементарная конъюнкция С, не равная тождественно 0, такая что C V f f. Отметим, что любая конъюнкция любой ДНФ в силу закона идемпотентности (равносильность 5б) является импликантом этой функции.

Определение 4.12. Импликант C функции f называется простым импликантом, если после отбрасывания любой переменной из C получается элементарная конъюнкция, не являющаяся импликантом функции f.

Пример 4.17.

Для функции x&yVx&zVx&y&zx&(yVz) конъюнкции x&y и x&z – простые импликанты, а x&y&z – импликант, но не простой.

Определение 4.13. Дизъюнкция всех простых импликантов булевой функции f называется сокращенной ДНФ функции f.

Для нахождения сокращенной ДНФ используется следующий алгоритм, в основе которого лежит метод Квайна.

Алгоритм 4.5. (Алгоритм Квайна построения сокращенной ДНФ).

Шаг 1. Находим для данной булевой функции f ее формулу F, находящуюся в СДНФ.

Шаг 2. Находим все простые импликанты функции f. Для этого все элементарные конъюнкции формулы F попарно сравниваем между собой. Если две элементарные конъюнкции таковы, что они имеют вид C&xi и C&xi, то выписываем конъюнкцию С. Это является следствием 1-го закона расщепления (склеивания) (равносильность 7а). Конъюнкция С содержит n - 1 вхождение переменных. Элементарные конъюнкции, для которых произошло склеивание, помечаем. После построения всех конъюнкций, включающих n - 1 вхождение переменных, вновь сравниваем их попарно, производим, если возможно, склеивание, выписываем полученные конъюнкции из n - 2 членов, помечаем склеивающиеся конъюнкции из n - 1 членов и т. д. Процесс заканчивается, когда дальнейшее склеивание невозможно. Все непомеченные элементарные конъюнкции являются простыми импликантами. Их дизъюнкция даст нам формулу F1, равносильную F, находящуюся в ДНФ и состоящую из простых импликантов, т.е. сокращенную ДНФ.

Пример 4.18.

Найдем сокращенную ДНФ функции из примера 4.4:

f(x1, x2, x3) = (x2x3) ~(x1Vx2).

1. Шаг 1 был выполнен ранее (см. примеры 4.13, 4.15). СДНФ формулы f(x1, x2, x3) является формула

Характеристики

Тип файла
Документ
Размер
1,3 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Методичка по дискретной математике
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6447
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее