Конспекты лекций по дискретной математике, страница 3
Описание файла
Документ из архива "Конспекты лекций по дискретной математике", который расположен в категории "". Всё это находится в предмете "дискретная математика" из 4 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "дискретная математика" в общих файлах.
Онлайн просмотр документа "Конспекты лекций по дискретной математике"
Текст 3 страницы из документа "Конспекты лекций по дискретной математике"
Интервал ранга R содержит 2N-R векторов.
N – количество рассматриваемых векторов.
Интервал – носитель элементарной конъюнкции.
Теорема
Носитель дизъюнкции двух функций равен объединению носителей этих функций.
Доказательство.
f V g f() V g() = 1 f() = 1 ИЛИ g() = 1 f ИЛИ g
ч.т.д.
Носитель ДНФ является объединением интервалов.
Допустимым интервалом для данной функции называется интервал, который целиком содержится в носителе этой функции.
Nf = I1 V I2 V … V Ik
Интервал для данной функции является максимальным, если он не содержится целиком ни в каком другом допустимом интервале.
Элементарная конъюнкция, носителем которой является допустимый интервал, называется импликантой.
ЭК, N – максимальный интервал – простая импликанта.
Представление носителя в виде объединения максимальных интервалов будем называть покрытием носителя максимальными интервалами.
Дизъюнкция всех возможных простых импликант называется сокращенной ДНФ функции.
Покрытие носителя интервалами будем называть неприводимым, если ни один нельзя отбросить из правой части равенства, не нарушив это равенство.
ДНФ, которая соответствует неприводимому покрытию, называется тупиковой ДНФ.
Утверждение.
Минимальная ДНФ содержится среди тупиковых ДНФ.
Определение
Максимальный интервал называется ядровым, если он содержит хотя бы одну вершину из носителя функции, которая не принадлежит больше никакому другому максимальному интервалу.
Элементарная конъюнкция, соответствующая ядровому интервалу – ядровая импликанта.
Объединение всех ядровых интервалов – ядро функции.
Дизъюнкция всех ядровых импликант - ядровая ДНФ.
Ядро функции обязательно входит в любое неприводимое покрытие.
Алгоритм получения минимальной ДНФ.
-
Выделяем носитель функции.
-
Выделяем все возможные интервалы.
-
Выписываем все простые импликанты.
-
Выделяем ядровый интервал.
-
Используя ядро функции и комбинацию неядровых интервалов, получаем все неприводимые покрытия, для каждого из которых выписываем тупиковую ДНФ.
-
С реди тупиковых ДНФ выбираем минимальную.
X1 | X2 | X3 | F |
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
Выделение всех возможных интервалов.
-
Для булева куба размерности 3 интервалом ранга 1 могут быть 4 вершины, лежащие в одной грани.
-
Ранга 2 – любые 2 вершины, соединенные ребром.
-
Ранга 3 – любая отдельная вершина.
-
Нет _
-
I1 = { 001 011} <-> П1 = x1x3 - ядровый
I2 = { 011 111} <-> П2 = x2x3
Если координата вектора меняет значения, то переменная не входит
I3 = { 111 110} <-> П3 = x1x2
_
I4 = { 110 100} <-> П4 = x1x3
Dсокр. = П1 V П2 V П3 V П4
Nf = I1 U I4 U I2 (U – объединение)
Получили неприводимое покрытие, добавив к ядру недостающие интервалы так, чтобы все единичные вершины были задействованы.
D1= П1 V П4 V П2
Nf = I1 U I4 U I3
D2= П1 V П4 V П3
Сосчитаем ранги тупиковых ДНФ
R1 = 6
R2 = 6
Dmin = D1 = D2
Метод карт Карно для нахождения минимальной ДНФ
n = 4
Карта Карно – плоскостная интерпретация 4-мерного булева куба.
00 | 01 | 11 | 10 | ||
00 | 0001 | ||||
01 | 0100 | 0101 | 0111 | 0110 | |
11 | 1101 | ||||
10 |
Считаем, что левый край склеен с правым, а верхний – с нижним.
Если таблицу Карно свернуть таким образом, то получится тор (torus - геометрическая фигура, напоминающая бублик).
Правила поиска интервалов.
-
Интервалом ранга 1 могут быть 2 соседних строки (2 соседних столбца)
-
Интервалом ранга 2 может быть вся строка, весь столбец или квадрат 2х2.
-
Интервалом ранга 3 – любые 2 соседние по горизонтали и вертикали клетки.
-
Одна отдельно взятая вершина будет интервалом ранга 4.
Алгоритм – тот же самый.
Лекция 6
Метод Квайна – Мак-Клоски для нахождения минимальной ДНФ
Этот метод удобен для нахождения минимальной ДНФ функции от любого числа переменных.
Определение. Элементарная конъюнкция K1 покрывает ЭК K2, если каждая переменная, входящая в K1, входит и в K2.
__ __ __
X1X3 – покрытие X1X2X3X4
Nk1 Nk2
K2 = K1K
K – конъюнкция из других переменных.
__ _ _ __ _ _
X1X3 V X1X2X3X4 = X1X3 (1 V X2X4) = X1X3 – поглощение
Склеивание двух ЭК
_
Kx V Kx = K
Идея метода Квайна (алгоритм)
-
Выписываются все элементарные конъюнкции из СДНФ функции.
-
Проводятся все возможные склеивания между этими ЭК. Полученные новые ЭК сохраняются вместе со старыми.
-
Между ними снова проводим все возможные склеивания до тех пор, пока это возможно. В результате среди ЭК появятся все простые импликанты функции.
-
Проводим поглощение между всеми получившимися ЭК, то есть оставляем только те ЭК, которые не покрываются никакими другими.
-
В результате получаются только простые импликанты. Их дизъюнкция является сокращенной ДНФ. Дальше все идет в соответствии с тривиальным алгоритмом минимизации.
Формализация Мак-Клоски.
Каждой ЭК ставим в соответствие булев вектор. (x с отрицанием – 0, без отрицания – 1).
-
Выписываем все ЭК из СДНФ функции в формализованном виде в столбец, располагая их в порядке возрастания числа единиц в векторах и разбивая на классы по числу единиц.
-
Между ЭК проводим все возможные склеивания. Результат записываем в новый столбец справа, а ЭК, участвовавшие в склеивании, помечаем звездочкой. Склеивать можно только ЭК из соседних классов.
-
Для полученного столбца еще раз применяем шаг 2.
-
Все ЭК, которые остались непомеченными звездочкой, являются простыми импликантами.
-
Строим таблицу Квайна по следующему правилу:
А) Каждой строке ставим в соответствие простую импликанту Пi.
Б) Каждому столбцу – ЭК из СДНФ Kj.
-
Если Пi.покрывает Kj , то в соответствующей клетке ставим знак +.
-
Ищем ядровые импликанты (столбец, содержащий только 1 знак +). Та строка и есть ядровая (строка, в какой этот крестик содержится).
-
Строим сокращенную таблицу (Вычеркиваем ядровые строки, а затем – столбцы, где есть вычеркнутые крестики).
-
Ядро дополняем до тупиковой ДНФ (Ищем минимальную комбинацию строк так, чтобы в каждый столбец входил хотя бы один крестик). Дизъюнкция этих строк даст тупиковые ДНФ.
-
Среди всех тупиковых ДНФ выбираем минимальную.
Лекция 7
Функционально полные системы функций
Определение. Система функций {f1…fn} называется полной, если любую булеву функцию можно представить в виде суперпозиции функций из этой системы (т.е. можно представить формулой, куда входят только функции из этой системы).
F
{V, &, NOT или отрицание - --}
Теорема 1.
Если система полна, и любая ее функция представима в виде суперпозиции функций из системы то и система также полна.
Доказательство
{ф1…фk}
iЕусловие.
fF = F2 – ч.т.д.
Мы заменили все функции суперпозицией из
Теорема 2.
Если система функций полна, то будет полной и система, состоящая из двойственных функций.
Доказательство следует из принципа двойственности.
Основные типы функционально полных систем.
{&, V, NOT}
{&, NOT}
____
_ _
X V Y = (XY)
{/} – полна.
___
X/Y = (XY)
X/X = NOT(XX) = NOT(X)
= {}
Система Жегалкина {+,&,1}.
NOT (X) = x+1
X V Y = xy+x+y
Многочлены Жегалкина.
Одночленом будем называть любое выражение вида
А * X1X2X3…Xn
A = {0 или 1} x1x3 – одночлен.
Многочленом Жегалкина называется сумма по модулю 2 различных одночленов.
А1X1+А2X2+А3X3+A4X1X2 + A5X1X3+A6X2X3+A7X1X2X3 – общий вид многочлена Жегалкина для трех переменных. Чтобы выписать общий вид многочлена Жегалкина для нужного числа переменных нужно перебрать все возможные конъюнкции переменных и сложить их по модулю 2 друг с другом, а также с переменными, входящими в функцию. Перед каждой конъюнкцией нужно расставить буквенные коэффициенты.
Теорема
Любая булева функция, тождественно не равная нулю, представима и притом единственным образом в виде многочлена Жегалкина.
Доказательство на лекции 8.
Поиск многочлена Жегалкина (МЖ) для любой выбранной булевой функции производится методом неопределенных коэффициентов. Для этого нужно выписать общий вид МЖ для нужного числа переменных, затем, подставив искомые значения переменных в МЖ, приравнять его к функции на нужном векторе. Таким образом получается система уравнений с неизвестными числами А. Решив ее, мы получим искомый МЖ.
Лекция 8
Продолжение темы «Многочлены Жегалкина»
Теорема.
Любая булева функция представима в виде многочлена Жегалкина (МЖ).
Доказательство
-
Существование
F = ДНФ = F{&,V, NOT}
X V Y = XY+X+Y
NOT(X) = X+1
Из этого следует, что функция представима в виде МЖ.
-
Единственность
Сосчитаем МЖ
ЭК без отрицания 2n – 1 + 1
Всего разных многочленов Жегалкина 2N – 1, где N = 2n
Это число совпадает с числом разных булевых функций, отличных от нуля.
Отсюда следует, что любой булевой функции соответствует единственный многочлен Жегалкина. Теорема доказана полностью.
Классы функций. Замкнутые и незамкнутые классы. Получение констант и элементарных булевых функций из заданной системы функций
Определение. Функция называется линейной, если ее многочлен Жегалкина не содержит ни одной конъюнкции переменных.
Замкнутые классы функций.
Определение.
Пусть дан класс функций B (т.е. конечное или бесконечное множество функций),объединенных по общему признаку. Замыканием этого класса (обозначение – [B]) будем называть множество всех суперпозиций функций из класса B.