Первый слайд презентации: Основные понятия теории графов
G = ( V, E ), V – непустое множество вершин, Е – произвольное множество реб е р – пар ( v i, v j ) элементов из V, т. е. v i V, v j V, Е V 2. Неориентированный Ориентированный ( орграф )
Слайд 2: Основные понятия теории графов
Ребро е 2 v 1 v 3 имеет концы v 1 и v 3. Ориентированное ребро ( дуга ) a 4 = ( v 3, v 2 ) имеет начало v 3 и конец v 2 (дуга a 4 исходит из v 3 и заходит в v 2 ). В неориентированном графе v и ребро е инцидентны, если v – один из концов ребра е. В орграфе v и дуга а инцидентны, если v – либо начало, либо кон е ц дуги а.
Слайд 3: Основные понятия теории графов
В неориентированно м граф е д ве вершины смежны, если они инцидентны одному и тому же ребру. О крестность N ( v ) вершины v – м ножество всех вершин, смежных v. |N ( v ) | = d ( v ) – степень вершины v. В орграфе: полуокрестность исхода N + ( v ): полуокрестность за хода N ‑ ( v ). Полустепени d + ( v ), d ‑ ( v ).
Слайд 4: Основные понятия теории графов
Г раф ы конечны е, графы бесконечные. Граф G = ( V, E ) пуст ой, если Е . Неориентированный граф полны й, если любые две его вершины смежны. K n – полный п -вершинный граф. G = ( V, E ) – д ополнение графа G = ( V, E ), E = U \ E, где U – множество ребер полного графа с множеством вершин V. Д вудольны й граф G = ( V , V , E ) – для любого е = ху Е : х V , у V . Дерево – связный граф без циклов.
Слайд 7: Части графа
Н = ( W, F ) – подграф графа G = ( V, E ), если W V, F E. Н = ( W, F ) – остовный подграф, если W = V. Н = ( W, F ) – подграф, порожденны й множеством W, если F содержит все ребра, оба конца которых принадлежат W. v 1, e 1, v 2, e 2, …, e k, v k + 1 – маршрут, e i = v i v i + 1, i = 1, 2, …, k. Длин а маршрута – количество ребер. Ц епь – м аршрут, все ребра которого различны. П рост ая цепь – ц епь, все вершины которой различны. Р асстояни е между вершинами – длина кратчайшей цепи.
Слайд 8: Части графа
Маршрут v 1, e 1, v 2, e 2, … , e k, v 1 – циклически й. Ц икл – ц иклическая цепь. Простой цикл. Граф связны й, если любы е дв е его вершин ы связаны цепь ю. К омпонент а связности графа – с вязный подграф, не содержащийся ни в каком другом его связном подграфе. В орграфе : v 1, а 1, v 2, а 2, … , а k, v k + 1 – маршрут, если а i = ( v i, v i + 1 ). Путь – маршрут, где все вершины различны. v 1, а 1, v 2, а 2, … , а k, v 1 – контур. Вершина v j достижим а из v i, если имеется путь из v i в v j. Орг раф сильно связны й, если любая вершина достижима из любой вершины.
Слайд 9: Обобщения графов
М ультиграф – граф, в котором любые две вершины могут быть связаны любым количеством ребер (допускает кратные ребра). В звешенны й граф – вершины и/или ребра снабжаются весами в виде действительных чисел. С мешанны й граф – наряду с элементами ориентированного графа (дугами) имеются элементы неориентированного графа (ребра). Г иперграф. Е сли ребром графа является пара вершин, то ребром гиперграфа может быть любое непустое подмножество множества вершин. О т гиперграфа можно перейти к двудольному графу, долями которого являются множество вершин и множество ребер гиперграфа, а ребра показывают принадлежность вершин гиперграфа его ребрам.
Слайд 10: Изоморфизм графов
Два графа G = ( V, Е ) и H = ( W, F ) изоморфны, если между их множествами вершин имеется взаимно однозначное соответствие, сохраняющее отношение смежности. : V W, : E F, и если ( v i ) w k и ( v j ) w l, то ( v i v j ) w k w l. v 1 v 2 v 3 w 1 w 2 w 3 w 4 v 4 v 5 v 6 w 5 w 6 ( v 1 ) w 1, ( v 2 ) w 3, ( v 3 ) w 6, ( v 4 ) w 4, ( v 5 ) w 5, ( v 6 ) w 2. ( v 1 v 4 ) w 1 w 4, ( v 1 v 5 ) w 1 w 5, ( v 1 v 6 ) w 1 w 2, ( v 2 v 4 ) w 3 w 4, ( v 2 v 5 ) w 3 w 5, ( v 2 v 6 ) w 2 w 3, ( v 3 v 4 ) w 4 w 6, ( v 3 v 5 ) w 5 w 6, ( v 3 v 6 ) w 2 w 6.
Слайд 11: Изоморфизм графов
Канонизация графа Величина а инвариантна относительно преобразования Т, если она не меняет свое значение при преобразовании Т. а называется инвариантой относительно Т. В нашем случае Т – перенумерация вершин. Инварианты графа: число вершин, число ребер, число компонент связности… Инварианты вершины: степень, полустепени, число вершин, отстоящих от данной вершины на определенном расстоянии… Канонизация графа заключается в упорядочении его вершин по значениям инвариант. Пусть для вершин графа имеется система инвариант 1, 2, … , р. Считаем, что задано отношение частичного порядка на множестве вершин графа V = { v 1, v 2, … , v n }, такое, что v i v j, если k ( v i ) k ( v j ) для некоторого k {1, 2, … , р ) и l ( v i ) = l ( v j ) для всех l k.
Слайд 12: Изоморфизм графов
Канонизация графа Полная канонизация графа достигается, когда порядок оказывается полным и строгим. Разобьем множество V вершин графа G на подмножества S 1, S 2, … , S m, число т которых равно числу различных степеней вершин и в каждом из которых присутствуют вершины с одинаковой степенью. Инварианта вершины v i V – вектор размерности т, компоненты которого соответствуют множествам S 1, S 2, … , S m и значением j -й компоненты является число вершин из множества S j, смежных с v i. Если в одном и том же S k ( k = 1, 2, … , m ) оказались вершины с различными векторами, то разобьем это S k так, чтобы в каждом из получившихся множеств оставались вершины с одинаковыми векторами, соответственно увеличив размерность векторов и придав их компонентам новые значения.
Слайд 15: Циклы и разрезы
Цикломатическое число графа Дерево – это связный граф, число ребер которого на единицу меньше числа вершин. Дерево – это связный граф, не имеющий циклов. Дерево – это граф, в котором каждая пара вершин связана одной и только одной цепью. Лес – граф, каждая компонента связности которого является деревом. Пусть G – неориентированный граф с п вершинами, т ребрами и р компонентами связности. Остовное дерево – остовный подграф в виде дерева связного графа ( р = 1). Число ребер в остовном дереве п – 1. Число ребер в остовном лесе п – р. ( G ) m – n p – цикломатическое число ( G ) n – p – коцикломатическое число.
Слайд 16: Циклы и разрезы
Базис циклов Т – остовное дерево связного графа G = ( V, E ). Добавление одного ребра из Е к Т приводит к появлению точно одного простого цикла. m – n 1 – число таких циклов в графе G. Оно совпадает с ( G ). Эти циклы независимы (каждый из них имеет ребро, не принадлежащее никакому другому). Фундаментальные циклы. Они составляют базис циклов графа G. Любой цикл, не принадлежащий базису, может быть выражен в виде линейной комбинации фундаментальных циклов. Всякий цикл графа G представим т -мерным булевым вектором, в котором i -я компонента имеет значение 1 или 0 в зависимости от того, принадлежит или нет i -е ребро данному циклу. Любой цикл можно выразить как покомпонентную сумму по модулю 2 векторов, представляющих фундаментальные циклы. Сумма по модулю 2: 0 0 0, 0 1 1, 1 0 1, 1 1 0.
Слайд 17: Циклы и разрезы
Базис циклов v 2 v 3 е 3 е 5 е 1 е 4 е 6 v 4 е 7 v 1 е 2 v 5 Фундаментальные циклы: v 1, е 1, v 2, е 3, v 3, е 6, v 5, е 2, v 1 ; v 2, v 3, v 5 ; v 3, v 4, v 5. е 1 е 2 е 3 е 4 е 5 е 6 е 7 е 1 е 2 е 3 е 4 е 5 е 6 е 7 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1
Слайд 18: Циклы и разрезы
Базис разрезов v 2 v 3 е 3 е 5 е 1 е 4 е 6 v 4 е 7 v 1 е 2 v 5 Разрез графа – множество ребер, удаление которых увеличивает число компонент связности. Под разрезом будем понимать минимальный разрез, т.е. такой, что при удалении из него любого ребра он перестает быть разрезом. Фундаментальный разрез содержит одно и только одно ребро е, принадлежащее остовному дереву Т. Кроме е, он содержит все ребра, не принадлежащие Т, но входящие в фундаментальные циклы, содержащие е.
Слайд 19: Циклы и разрезы
Базис разрезов v 2 v 3 е 3 е 5 е 1 е 4 е 6 v 4 е 7 v 1 е 2 v 5 Базис разрезов – множество фундаментальных разрезов. е 1 е 2 е 3 е 4 е 5 е 6 е 7 0 1 1 1 0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1
Слайд 20: Циклы и разрезы
Матрицы циклов и разрезов v 2 v 3 е 3 е 5 е 1 е 4 е 6 v 4 е 7 v 1 е 2 v 5 Матрица фундаментальных циклов Матрица фундаментальных разрезов
Слайд 21: Циклы и разрезы
Матрицы циклов и разрезов Матрица фундаментальных циклов Матрица фундаментальных разрезов
Слайд 22: Доминирующие множества графа
S – доминирующее множество ( S V ), если S N ( S ) V, где N ( S ) . Если S – доминирующ ее множество некоторого графа G, то всякое S S также является доминирующим. М инимальн ое доминирующ ее множеств о – ни одно его собственное подмножество не является доминирующим. Н аименьш ее доминирующ ее множеств о – имеет наименьшую мощность ( G ). ( G ) – число доминирования графа G. Задача о ферзях.
Слайд 23: Доминирующие множества графа
v 2 v 3 v 1 v 4 v 7 v 6 v 5 Строка v i матрицы представляет множество { v i } N ( v i ). Минимальные доминирующие множества: { v 1, v 3, v 5 }, { v 1, v 3, v 6 }, { v 1, v 4, v 5 }, { v 1, v 4, v 6 }, { v 2, v 3, v 5 }, { v 2, v 3, v 6 }, { v 2, v 4, v 5 }, { v 2, v 4, v 6 }, { v 3, v 7 }, { v 5, v 7 } и { v 6, v 7 }.
Слайд 24: Независимые множества графа
S – независим ое множество ( S V ), если S N ( S ) . Если S – независим ое множество некоторого графа G, то всякое S S также является независим ы м. Макси мальн ое независим ое множеств о – не является собственн ым подмножество м ни одно го независим ого множества. Н аи бол ьш ее независим ое множеств о – имеет наибольшую мощность ( G ). ( G ) – число независим ости графа G. Задача о ферзях.
Слайд 25: Независимые множества графа
v 2 v 3 v 1 v 4 v 7 v 6 v 5 Максимальные независим ые множеств а: { v 1, v 3, v 6 }, { v 1, v 4, v 5 }, { v 1, v 4, v 6 }, { v 2, v 4, v 5 }, { v 2, v 4, v 6 }, { v 5, v 7 }
Слайд 26: Независимые множества графа
Нахождение всех максимальных независимых множеств V { v 1, v 2, … , v n } – множество вершин граф а G = ( V, Е ). G 1, G 2, … , G n – последовательность порожденных подграфов : G i = ( V i, Е i ), где V i = { v 1, v 2, … , v i } ( i = 1, 2, … , n ). S i = { S 1 i, S 2 i, … , } – совокупность всех максимальных независимых множеств графа G i. К каждому S j i ( j = 1, 2, … , k i ) применяется формула S ( S j i \ N ( v i 1 )) { v i 1 }.
Слайд 27: Независимые множества графа
Сколько всего может быть максимальных независимых множеств в графе с п вершинами ? 2 · 3 k – 1, если п = 3 k – 1; 3 · 3 k – 1, если п = 3 k ; 4 · 3 k – 1, если п = 3 k + 1. …
Слайд 28: Независимые множества графа
Н ахождени е наибольшего независимого множества. Вершинн ое покрытие графа G = ( V, E ) – множество В V такое, что каждое ребро из Е инцидентно хотя бы одной вершине из В. Е сли В – наименьшее вершинное покрытие, то V \ B – наибольшее независимое множество. v 2 е 3 v 3 е 1 е 4 е 7 е 5 v 1 е 2 е 8 v 4 е 10 v 7 е 6 v 6 е 9 v 5 В = { v 1, v 3, v 5, v 7 }, V \ B = { v 2, v 4, v 6 }.
Слайд 29: Независимые множества графа
Н ахождени е наибольшего независимого множества. «Жадный» алгоритм. v 3 v 3 v 2 v 1 v 4 v 4 v 5 v 5 v 6 v 7 v 7 v 7 v 8 v 8 v 8 v 9 v 9 v 9 { v 1 } { v 1, v 3 } { v 1, v 3, v 7 }
Слайд 30: Независимые множества графа
Н ахождени е наибольшего независимого множества. «Жадный» алгоритм. v 3 v 2 v 1 v 4 v 1 v 2 v 5 v 6 v 7 v 6 v 7 v 6 v 7 v 8 v 8 v 8 v 8 v 9 v 9 v 9 v 9 { v 4 } { v 2, v 4 } { v 2, v 4, v 6 } { v 2, v 4, v 6, v 8 }
Слайд 31: Раскраска графа
Раскраск а графа G = ( V, Е ) – такое разбиение множества V на непересекающиеся подмножества V 1, V 2, … , V k, что никакие две вершины из любого V i ( i = 1, 2, …, k ) не смежны. Задача : раскрасить вершины графа G в минимальное число цветов. ( G ) – хроматическ ое число графа G (минимум k ). Л юбо е V i ( i = 1, 2, …, k ) – независимое множество. Раскраск а V 1, V 2, … , V k – совокупность независимых множеств.
Слайд 32: Раскраска графа
Неточность «жадного» алгоритма видна на последовательности: ,,, … Граф G является k -хроматическим, если ( G ) = k. Т е о р е м а К ё н и г а. Непустой граф является бихроматическим тогда и только тогда, когда он не содержит циклов нечетной длины.
Слайд 33: Раскраска графа
Метод раскраски графа k – число задействованных цветов; А – множество еще не раскрашенных вершин; В 1, В 2, … , В k – совокупность подмножеств множества вершин V, такая, что B i ( i = 1, 2, … , k ) содержит те и только те вершины из множества А, которые нельзя раскрасить в i -й цвет. 1. Имеется вершина v A, такая, что v B i для всех i = 1, 2, … , k. v красится в ( k + 1)-й цвет, удаляется из множества А и из всех B i. Формируется В k + 1 и k := k + 1. Если таких вершин несколько, из них выбирается та, для которой В k + 1 имеет максимальную мощность. 2. Имеется вершина v A и цвет i, такие, что v B i и N ( v ) A B i. v красится в i -й цвет, удаляется из А и из всех B j. В остальных случаях выбираются цвет i и вершина v из А такие, что v B i и приращение B i минимально среди всех пар v, Bi ( v A, i = 1, 2, … , k ). Вершина v красится в i -й цвет и удаляется из А из всех B j.
Слайд 34: Раскраска графа
Метод раскраски графа Цвет Вершины B i 1 1 {2,6,8,10} 1 1 {6,8,10} 2 2 {4,5} 1 1 {6,10} 2 2,8 {4,5} 1 1,7 {3,6,10} 2 2,8 {4,5} 1 1,7 {3,10} 2 2,6,8 {4,5,9} 1 1,7 {10} 2 2,3,6,8 {4,5,9} 1 1,7 {10}, 1. Имеется вершина v A, такая, 2 2,3,6,8 {4,5,9} что v B i для всех i = 1, 2, … , k. 1 1,7 2. Имеется вершина v A и цвет i 2 2,3,6,8,10 {4,5,9} такие, что v B i и N ( v ) A B i 1 1,4,7 {5,9} 2 2,3,6,8,10 {5,9} Результат: { 1, 4, 7 }, {2,3,6,8,10}, { 5 }, { 9 }. Точный алгоритм дает { 1,3,4 }, { 2,8,9 }, { 5,6,7,10 }.
Слайд 35: Обходы графа
Эйлеровы цепи и циклы З адач а о кёнигсбергских мостах ( 1736 г. ) Э йлеров цикл содержи т все ребра графа. Э йлеров а цепь. Т е о р е м а Э й л е р а. Связный неориентированный граф имеет эйлеров цикл тогда и только тогда, когда степени всех его вершин четны. В связном неориентированном графе существует эйлерова цепь тогда и только тогда, когда он имеет не более двух вершин с нечетной степенью.
Слайд 36: Обходы графа
Эйлеровы цепи и циклы Э йлеров граф – г раф, имеющий эйлеров цикл. А лгоритм Флёри : 1. Идем из некоторой вершины по ребру и удаляем каждое пройденное ребро, помещая его в получаемую последовательность. Начальная вершина выбирается произвольно. 2. Отправляясь из очередной вершины, никогда не идем по ребру, удаление которого делает граф несвязным. З адача китайского почтальона : Каждому ребру e i графа G приписывается положительный вес с ( e i ) (расстояние). Требуется найти маршрут, проходящий через каждое ребро графа G по крайней мере один раз и такой, что сумма величин n i c ( e i ) минимальна, где n i – число прохождений ребра е i.
Слайд 37: Обходы графа
Гамильтоновы цепи и циклы Цикл называется гамильтоновым, если он проходит каждую вершину графа ровно один раз. Гамильтонов а цепь – цепь, проходящая каждую вершину графа ровно один раз. Граф, содержащий гамильтонов цикл, называется гамильтоновым графом. v 3 v 1 : v 2, v 4, v 5, v 6 ; ( v 1, v 2, v 3, v 4, v 6 ) v 2 : v 1, v 3, v 4, v 5 ; ( v 1, v 2, v 3, v 4 ) v 5 v 4 v 3 : v 2, v 4, v 5 ; ( v 1, v 2, v 3 ) v 2 v 4 : v 1, v 2, v 3, v 6 ; ( v 1, v 2, v 3, v 5 ) v 5 : v 1, v 2, v 3 ; ( v 1, v 2, v 4 ) v 6 : v 1, v 4. ( v 1, v 2, v 4, v 3, v 5 ) v 1 v 6 ( v 1, v 2, v 4, v 6 ) ( v 1, v 2, v 5, v 3, v 4, v 6, v 1 )
Слайд 38: Обходы графа
Кратчайшие пути в графе Р ебра графа G = ( V, E ) взвешены действительными положительными числами. Вес ребра e = v i v j будем считать его длиной l ( e ) = l ( v i v j ). Н айти цепь С минимальной длины, соединяющую вершины v 1 и v n в графе G, т. е. такую цепь, для которой величина минимальна. А лгоритм Форда Каждой вершине v i V припишем индекс ( v i ). При этом положим ( v 1 ) 0 и ( v i ) + для i 1. На каждом шаге находим такое ребро v i v j, что ( v i ) – ( v j ) l ( v i v j ), и индекс ( v i ) заменяе м на ( v i ) = ( v j ) + l ( v i v j ). Ш аг и повторяются, пока находятся ребра, для которых выполняется неравенство ( v i ) – ( v j ) l ( v i v j ). П уть строи м, начиная с v п и двигаясь обратно к v 1. После вершины v i выбира ем вершину v j чтобы выполнялось ( v i ) – ( v j ) = l ( v i v j ).
Слайд 39: Обходы графа
Кратчайшие пути в графе v 2 10 v 5 1 10 1 2 5 v 3 v 6 v 1 10 4 2 v 8 6 4 1 5 8 v 4 3 v 7 v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 8 ______________________________ 0 1 10 6 11 14 9 16 13 15
Слайд 40: Планарные графы
Граф укладывается на некоторой поверхности, если его можно так нарисовать на этой поверхности, что никакие два ребра не будут иметь общей точки, кроме, возможно, общей вершины. Граф планарны й, если его можно уложить на плоскости. Плоский граф – граф, уложенный на плоскости. Грань плоского графа – область плоскости, ограниченная ребрами, любые две точки которой могут быть соединены линией, не пересекающей ребра графа. Грани внешняя и внутренние. Т е о р е м а Э й л е р а. Для всякого связного плоского графа, имеющего f 1 f 2 f 3 п вершин, т ребер и f граней, имеет место соотношение п – т f 2. (Формула Эйлера)
Слайд 41: Планарные графы
Максимальны й планарны й граф и п ростейшие непланарные графы Т е о р е м а П о н т р я г и н а – К у р а т о в с к о г о. Необходимым и достаточным условием непланарности графа является любое из следующих условий: 1) в графе можно выделить пять вершин, каждая из которых связана цепью с любой другой из них, причем все эти цепи не пересекаются по ребрам; 2) в графе можно выделить два множества, состоящие из трех вершин каждое, так, что каждая вершина одного множества связана цепью со всеми вершинами другого множества, причем все эти цепи не пересекаются по ребрам.
Слайд 42: Планарные графы
Раскраска планарных графов (раскраска карт) Плоский граф и его двойственный граф Раскраска граней плоского графа, при которой соседние грани раскрашиваются в различные цвета, эквивалентна раскраске вершин его двойственного графа. Г ипотеза четырех красок доказана с помощью ЭВМ в 1976 г. 1 482 конфигурации. 2 000 ч машинного времени.
Слайд 43: Комбинаторные задачи и методы комбинаторного поиска
Т ри типа комбинаторных задач: З адачи подсчета – сколько конфигураций определенного вида ? П еречислительные задачи – получение все х конструкци й определенного вида. О птимизационные комбинаторные задачи – получение конструкци и, обладающ ей оптимальным значением некоторого параметра среди всех конструкций данного вида.
Слайд 44: Комбинаторные задачи и методы комбинаторного поиска
З адачи подсчета: Число размещений (разместить п предметов по т ящикам) U ( m, n ) = т п. Число перестановок Р ( n ) = п · ( п – 1) · … · 2 · 1 = п !. Число размещений без повторений А ( m, n ) = т · ( т – 1) · … · ( т – п + 1) = Число сочетаний
Слайд 45: Комбинаторные задачи и методы комбинаторного поиска
Особенности оптимизационных комбинаторных задач Р ешение комбинаторной задачи сводится зачастую к полному перебору различных вариантов. В елика зависимост ь трудоемкост и задачи от размера области возможных решений. М ножество, среди элементов которого отыскивается решение, всегда конечно. Реализовав полный перебор, либо найдем решение, либо убедимся в том, что решения нет.
Слайд 46: Комбинаторные задачи и методы комбинаторного поиска
Вычислительная сложность оптимизационных задач Трудоемкость алгоритма оцени вается функцией f ( n ), где п – натуральное число, выражающее объем исходных данных. f ( n ) = O ( g ( n )), если найдется такая константа с, что f ( n ) с g ( n ) для любого n 0, где g ( n ) некоторая конкретная функция от n. О (1) трудоемкость не зависит от объема исходных данных. О ( п ) а лгоритм линейны й. О ( п b ) а лгоритм полиномиальны й. g ( n ) = 2 п а лгоритм обладает неполиномиальной, или экспоненциальной, сложностью.
Слайд 47: Комбинаторные задачи и методы комбинаторного поиска
Связь трудоемкости алгоритма с максимальным размером задачи, решаемой за единицу времени
Слайд 48: Комбинаторные задачи и методы комбинаторного поиска
Связь размера задачи, решаемой за заданное время, с быстродействием вычислительной машины
Слайд 49: Комбинаторные задачи и методы комбинаторного поиска
Комбинаторный поиск представляется как обход дерева поиска. Вершины соответствуют ситуациям, возникающим в процессе поиска, ребра – отдельным шагам процесса. Корень дерева – вершина, соответствующая начальной ситуации. Выделение корня придает дереву ориентацию, при которой все пути ведут из корня в остальные вершины. Некоторые ситуации соответствуют решениям.
Слайд 50: Задача о кратчайшем покрытии
Дано: А = { a 1, a 2, …, a n } ; В 1, В 2, …, В т ; B i A, i = 1, 2, …, m, причем В 1 В 2 … В т = А. Требуется выделить так, чтобы выполнялось при минимальном k. М атричн ая формулировк а: т ребуется найти наименьшее множество строк за данной булевой матрицы, чтобы каждый ее столбец имел единицу хотя бы в одной строке из этого множества.
Слайд 51: Задача о кратчайшем покрытии
Для матрицы { B 4, B 6, B 7 } – кратчайшее покрытие.
Слайд 52: Задача о кратчайшем покрытии
Алгоритмы решения «Жадный» алгоритм повторяет операцию: выбор строки с максимальным числом единиц, включение ее в решение и удаление ее и покрываемых ею столбцов из матрицы. Для матрицы находит покрытие { B 1, B 2, B 3 }, хотя кратчайшее – { B 2, B 3 }. М инимаксн ый алгоритм повторяет операцию: выбор столбца с минимальным числом единиц, выбор покрывающей его строки с максимальным числом единиц, включение ее в решение и удаление ее и покрываемых ею столбцов из матрицы. Точный алгоритм совершает обход дерева поиска.
Слайд 53: Задача о кратчайшем покрытии
Обход дерева поиска a 1 B 2 B 5 a 3 B 1 B 3 B 5 a 4 a 4 [1] B 4 B 4 Одно из покрытий (не обязательно кратчайшее) – B 1, B 2, B 4.
Слайд 54: Задача о кратчайшем покрытии
Обход дерева поиска. Правила редукции 1. Если столбец k имеет единицы везде, где имеет единицы столбец l, то столбец k можно удалить. 2. Если строка i имеет единицы везде, где имеет единицы строка j, то строку j можно удалить.
Слайд 55: Булевы функции
х 1, х 2, ... , х n – булевы переменные, принимаю т значени я из {0, 1}. х = ( х 1, х 2, ... , х n ) – n ‑компонентный булев вектор. п – длина вектора, или размерность. 2 п – число всех различных векторов, состоящи х из констант 0 и 1 и образующих булево пространство. f : {0, 1} n {0, 1} – б улев а функци я. М = {0, 1} n – о бласть определения, {0, 1} – область значений. M f 1 – область, где функция f принимает значение 1. M f 0 – область, где функция f принимает значение 0. M f 1 – характеристическ ое множество функции f.
Слайд 57: Булевы функции
Способы задания М атричны й способ – перечисление элементов M f 1 : Более компактное задание:
Слайд 58: Булевы функции
Способы задания М атричны й способ ( интервальны й) – т роичная матрица : Булевы векторы а = ( а 1, а 2, … , а п ) и b = ( b 1, b 2, … , b п ) находятся в отношении ( а b, а меньше b ), если а i b i для любого i = 1, 2, … , п, в противном случае они несравнимы. При этом считается, что 0 1. И нтервал булева пространства – множество векторов, среди которых есть минимальный и максимальный векторы, а также все векторы, меньшие максимального и большие минимального. И нтервал представляется троичным вектором.
Слайд 59: Булевы функции
Способы задания Векторное задание – булев вектор, компоненты которого соответствуют наборам значений аргументов. Функция задается вектором (0 1 1 1 0 1 0 1).
Слайд 60: Булевы функции
А лгебраический способ задания булев ых функци й. Карты Карно. Функции полностью определенные. Функции не полностью определенные, или частичные. Частичная булева функция делит булево пространство на три части: M f 1, M f 0 и M f –. Обычно задаются M f 1 и M f 0.
Слайд 61: Булевы функции
В екторн ая форм а задания булевой функции позволяет легко определить число булевых функций от п переменных – это число всех 2 n -компонентных булевых векторов. – число булевых функций от п переменных. Функция f ( х 1, х 2, ... , х n ) существенно зависит от аргумента х i, если f ( х 1, х 2, ... , х i – 1, 0, х i + 1, … , х n ) f ( х 1, х 2, ... , х i – 1, 1, х i + 1, … , х n ). х i – существенны й аргумент. В противном случае х i – не существенны й, или фиктивны й аргумент.
Слайд 62: Булевы функции
Элементарные булевы функции и алгебраические формы Элементарны е булевы функции – функции от одной и двух переменных. Булевы функции от одно й переменной Из табл ицы видно, что 0 = 1 и 1 = 0.
Слайд 64: Булевы функции
Булевы функции от двух переменных Все представленные операции составляют алгебру логики.
Слайд 65: Булевы функции
А лгебраическ ое задани е Любая булева функция от любого числа аргументов может быть представлена формулой алгебры логики. Формулу, содержащую более чем одну операцию, можно рассматривать как суперпозицию элементарных функций, т.е. использование одних функций в качестве аргументов других функций. Определение формулы : 1) каждый символ переменной есть формула; 2) если А и В – формулы, то формулами являются А и ( А В ), где – любая операция алгебры логики; 3) других формул нет. Приоритеты: 1) ; 2) ; 3) и ; 4) ~ и .
Слайд 66: Булевы функции
Вычисление по формуле f ( x 1, x 2, x 3 ) = А = В – равносильность формул А и В.
Слайд 67: Булев а алгебра
Б улев а а лгебра содерж ит только три операции : , и . О сновные законы булевой алгебры : Коммутативность : х у у х ; х у у х. Ассоциативность : х ( у z ) ( x y ) z ; x ( y z ) ( x y ) z. Дистрибутивность : x ( y z ) x y x z ; x y z ( x y ) ( x z ). Идемпотентность : x x x ; x x x.
Слайд 68: Булев а алгебра
О сновные законы булевой алгебры : Законы де Моргана : ; = x y. Законы операций с константами : x 0 x ; x 1 x ; x 0 0; x 1 1; х х 1; х х 0. Закон двойного отрицания : . П ринцип двойственности.
Слайд 69: Булев а алгебра
Вывод формул х х у х и х ( х у ) х : х х у х 1 х у х (1 у ) х 1 = х ; х ( х у ) х х х у х х у х. Все операции алгебры логики можно выразить через булевы операции : х у = x y x y ; х ~ у = x y x y ; х у = x y. Преобразование формулы алгебры логики в булеву формулу: (( х у ) ( х z )) y = = ( x y x z x z ) y = ( x y z ) y = x y y z.
Слайд 70: Интерпретации алгебры логики
Булева алгебра множеств : Константам 1 и 0 соответствуют множества U и . Операциям , и соответствуют , и Алгебра событий, используемая в теории вероятностей: Операции отрицания ( ), объединения ( ) и пересечения ( ). А В или АВ – произведение независимых событий, А В – сумма несовместимых событий. И счислени е высказываний : a – « не а ». a b – « a либо b ». a b – « a и b ». a ~ b – « a равносильно b ». a b – « a или b ». a b – «если a, то b ».
Слайд 71: Интерпретации алгебры логики
Алгебра переключательных схем : а b а b с a b b а b a b a + b а b + b c + a b a a a ab a a b b b a a a b b a b а b = a b а b b
Слайд 72: Булевы функции. Операции над характеристическими множествами
Е сли f = f 1 f 2, то ; если f = f 1 f 2, то ; если f = f 1 f 2, то ; если f = f 1 f 2, то ; если f = f 1 f 2, то ; если f 1 = f 2, то.
Слайд 73: Нормальные формы
Дизъюнктивные нормальные формы x i и x j – литералы. О бозначи м а , где а = . K i = – э лементарн ая конъюнкци я, r – ее ранг. – полная э лементарн ая конъюнкци я. K i – д изъюнктивная нормальная форма (ДНФ). Пример : х 1 х 2 х 2 х 3 х 4 х 1 х 3.
Слайд 74: Нормальные формы
Дизъюнктивное разложение Шеннона Т е о р е м а Ш е н н о н а. Любая булева функция f ( x 1, x 2, …, x n ) при любом т (1 m n ) может быть представлена в следующем виде: f ( x 1, x 2, …, x n ) = f ( 1, 2, …, m, x m +1, …, x n ), где дизъюнкция берется по всевозможным 2 m наборам значений переменных x 1, x 2, … , x m. f ( 1, 2, … , m, x m +1, …, x n ) – коэффициент разложения. При т = 1 для любого i = 1, 2, … , n : f ( x 1, x 2, … , x n ) = x i f ( x 1, x 2, …, x i -1, 1, x i +1, …, x n ) x i f ( x 1, x 2, …, x i -1, 0, x i +1, …, x n ). При т = п : f ( x 1, x 2, … , x n ) = f ( 1, 2, …, n ).
Слайд 75: Нормальные формы
С овершенн ая дизъюнктивн ая нормальн ая форм а (СДНФ) : f ( x 1, x 2, … , x n ) = f ( 1, 2, …, n ). Получение СДНФ по таблице истинности: В ыделить наборы ( 1, 2, … , n ), на которых функция принимает значение 1, и для каждого из них ввести в СДНФ полную элементарную конъюнкцию, где любая переменная x i присутствует с отрицанием, если i = 0, и без отрицания, если i = 1. f ( x, y, z ) = x y z x y z x y z. СДНФ – каноническая форма. – конститу е нт единицы.
Слайд 76: Нормальные формы
Конъюнктивные нормальные формы D i = – э лементарн ая дизъюнкци я, r – ее ранг. – полная э лементарн ая дизъюнкци я. D i – к онъюнктивная нормальная форма (КНФ). Пример: ( х 2 х 3 х 4 )( х 1 х 2 ). К онъюнктивн ое разложение : f ( x 1, x 2, … , x n ) = = f ( 1, 2, …, m, x m +1, …, x n )). С овершенн ая конъюнктивн ая нормальн ая форм а (СКНФ) : f ( x 1, x 2, …, x n ) = f ( 1, 2, …, n )).
Слайд 77: Нормальные формы
Конъюнктивные нормальные формы Получение СКНФ по таблице истинности: В ыделить наборы ( 1, 2, … , n ), на которых функция принимает значение 0, и для каждого из них ввести в С К НФ полную элементарную диз ъюнкцию, где любая переменная x i присутствует с отрицанием, если i = 1, и без отрицания, если i = 0. f ( x, y, z ) =( х y z )( х y z )( х y z )( х y z )( х y z ). С К НФ – каноническая форма. – конститу е нт нуля.
Слайд 78: Функциональная полнота
{ f 1, f 2, … , f т } – функционально полн ая, или просто полн ая система, если любая булева функция может быть представлена в виде суперпозиции функций из эт ого множества. Другое название – базис. Минимальны й базис. {, , } – полная система по теореме Шеннона. {, } и {, } – минимальные базисы. Система { , } не является полной.
Слайд 79: Функциональная полнота
{|} и {} – полные системы. {1, , } – полная система. a а 1; a b а b b а 1 1 = а b b а.
Слайд 80: Реализация б улевы х функци й комбинационными схемами
Диодные схемы у = х 1 х 2 … х п у = х 1 х 2 … х п у = а b c a c
Слайд 81: Реализация б улевы х функци й комбинационными схемами
Транзисторные схемы + + R R a a r а = 0, R r а = 1, R r
Слайд 82: Реализация б улевы х функци й комбинационными схемами
Транзисторные схемы + + + у у у а a a с b b b у = у = у =
Слайд 83: Булевы функции. Графическое представление
Два вектора являются соседними, если они отличаются друг от друга значением только одной компоненты. П ример : (1 0 0 1) и (1 1 0 1). Отношение соседства представляется графом. П олны й булев граф, или п - мерны й гиперкуб имеет 2 п вершин и п 2 п – 1 ребер. 0000 1000 000 100 00 10 0010 1010 0100 1100 0 1 001 101 0001 1001 010 110 0110 1110 01 11 0011 1011 011 111 0101 1101 0111 1111 Интервал – порожденный подграф в виде ( n – k )-мерного гиперкуба ( гипергрань ).
Слайд 84: Булевы функции. Графическое представление
Х арактеристическо е множеств о M f 1 функции f, выражаемой одной элементарной конъюнкцией есть интервал. П ример : х 1 х 3 х 4 представляе тся троичным вектором (1 – 0 1). Представление булев ой функци и на гиперкубе : 000 100 001 101 010 110 011 111 СДНФ: х 1 х 2 х 3 х 1 х 2 х 3 х 1 х 2 х 3 х 1 х 2 х 3 х 1 х 2 х 3 Можно задать интервал ами (– – 1) и (0 1 –) или х 3 х 1 х 2.
Слайд 85: Булевы функции. Графическое представление
Демонстрация справедливости формул. 000 100 000 100 001 101 001 101 010 110 010 110 011 111 011 111 х 3 х 1 х 2 х 3 = х 3 х 1 х 2 х 1 х 2 х 1 х = х 2 000 100 001 101 010 110 011 111 х 1 х 2 х 2 х 3 = х 1 х 2 х 2 х 3 х 1 х 3
Слайд 86: Булевы функции. Карта Карно
Развертка гиперкуба на плоскости : 000 100 000 100 101 001 001 101 010 110 011 111 010 110 111 011 f ( х 1, х 2, х 3 ) = х 1 х 2 х 1 х 2 х 3 x 1 x 3 x 1 x 3 0 0 0 1 0 1 1 0 x 2 x 2
Слайд 87: Булевы функции. Карта Карно
Строки и столбцы карты Карно кодируются кодом Грея. Длина кода п для кодирования N объектов должна быть такой, чтобы выполнялось N 2 п, или п = log 2 N , где а – ближайшее к а сверху целое число. 0 0 … 0 – код первого объекта. Для получения следующего кода берется последний код и в нем меняется значение той самой правой компоненты, изменение значения которой приводит к новому коду. 000 101 Другой способ: 0 0 00 00 000 001 100 1 1 01 01 001 011 1 11 11 011 010 0 10 10 010 110 10 110 111 11 111
Слайд 88: Булевы функции. Карта Карно
О тношение соседства элементов булева пространства представляется отношением симметрии в карте Карно. Каждая ось имеет свою зону симметрии, ширина которой определяется рангом оси.
Слайд 89: Булевы функции. Карта Карно
Упрощение ДНФ. Поиск максимальных интервалов. Поиск определяющих элементов и обязательных интервалов. х 6 х 4 х 5 х 1 х 2 х 3 х 2 х 3 х 4 х 6 х 1 х 3 х 4 х 5 х 2 х 3 х 4 х 5 х 2 х 3 х 5 х 6 х 1 х 3 х 4 х 6 х 1 х 2 х 3 х 5 х 6.
Слайд 90: Булевы функции. Карта Карно
Упрощение ДНФ. Формирование элементарных конъюнкций х 6 х 4 х 5 х 1 х 2 х 3 х 2 х 3 х 4 х 6 .
Слайд 91: Булевы функции. Карта Карно
Упрощение ДНФ. Формирование элементарных конъюнкций. х 6 х 4 х 5 х 1 х 2 х 3 х 2 х 3 х 4 х 6 х 1 х 3 х 4 х 5.
Слайд 92: Булевы функции. Карта Карно
Упрощение ДНФ. Формирование элементарных конъюнкций. х 6 х 4 х 5 х 1 х 2 х 3 х 2 х 3 х 4 х 6 х 1 х 3 х 4 х 5 х 2 х 3 х 4 х 5.
Слайд 93: Булевы функции. Карта Карно
Упрощение ДНФ. Формирование элементарных конъюнкций. х 6 х 4 х 5 х 1 х 2 х 3 х 2 х 3 х 4 х 6 х 1 х 3 х 4 х 5 х 2 х 3 х 4 х 5 х 2 х 3 х 5 х 6.
Слайд 94: Булевы функции. Карта Карно
Упрощение ДНФ. Формирование элементарных конъюнкций. х 6 х 4 х 5 х 1 х 2 х 3 х 2 х 3 х 4 х 6 х 1 х 3 х 4 х 5 х 2 х 3 х 4 х 5 х 2 х 3 х 5 х 6 х 1 х 3 х 4 х 6.
Слайд 95: Булевы функции. Карта Карно
Упрощение ДНФ. Формирование элементарных конъюнкций. х 6 х 4 х 5 х 1 х 2 х 3 х 2 х 3 х 4 х 6 х 1 х 3 х 4 х 5 х 2 х 3 х 4 х 5 х 2 х 3 х 5 х 6 х 1 х 3 х 4 х 6 х 1 х 2 х 3 х 5 х 6.
Слайд 96: Булевы функции. Карта Карно
Упрощение ДНФ. «Жадный» способ не устраняет избыточность: х 3 х 4 х 1 х 2 f ( x 1, x 2, x 3, x 4 ) = х 3 х 4 х 1 х 2 х 4 х 1 х 2 х 3 х 1 х 2 х 4 х 1 х 2 х 3. х 3 х 4 – избыточная конъюнкция.
Слайд 97: Троичные векторы и матрицы
В ектор (0 – 1 0 – 1) задает {(0 0 1 0 0 1), (0 0 1 0 1 1), (0 1 1 0 0 1), (0 1 1 0 1 1)} – интервал булева пространства. Интервал – характеристическое множество элементарной конъюнкции. Например, вектор (0 – 1 0 – 1) представляет конъюнкцию х 1 х 3 х 4 х 6. Тогда всякую троичную матрицу (строками которой являются троичные векторы) можно считать представлением ДНФ некоторой булевой функции.
Слайд 98: Троичные векторы и матрицы
Отношения на множестве троичных векторов Ортогональность. В екторы и и v ортогональны по i -й компоненте, если и только если i -я компонента имеет 0 в одном из них и 1 – в другом. Троичные векторы ортогональны, если они ортогональны хотя бы по одной компоненте. П ример : (0 – 1 0 – 1) и (0 1 0 – 1 0). Симметрично, иррефлексивно. Пересечение. Если векторы и и v неортогональны, то они находятся в отношении пересечения. Пример : (0 – 1 0 – 1) и (0 0 1 – 1– ). Рефлексивно, симметрично. Смежность. Векторы и и v, ортогональные только по одной компоненте, являются смежными. Им соответствуют смежные элементарные конъюнкции. Пример : (0 – 1 0 – 1) и (0 1 0 – 1 –). Симметрично, иррефлексивно.
Слайд 99: Троичные векторы и матрицы
Отношения на множестве троичных векторов Соседство. Векторы и и v являются соседними, если по некоторой i -й компоненте они ортогональны, а значения остальных одноименных компонент совпадают. Пример : (0 – 1 0 – 1) и (0 – 1 0 – 0). Симметрично, иррефлексивно. Поглощение. Вектор и поглощает вектор v, если и только если все компоненты вектора и, значения которых отличны от «–», совпадают с одноименными компонентами вектора v. Интервал, представляемый вектором v, является подмножеством интервала, представляемого вектором и. П ример : (0 – 1 0 – –) поглощает (0 – 1 0 – 0). Рефлексивно, транзитивно.
Слайд 100: Троичные векторы и матрицы
Эквивалентность матриц Троичная матрица U эквивалентна булевой матрице W, если каждая из строк матрицы W поглощается хотя бы одной строкой матрицы U, а любой вектор, не совпадающий ни с одной из строк матрицы W, не поглощается ни одной строкой матрицы U. Троичные матрицы U и V эквивалентны, если существует булева матрица, эквивалентная обеим матрицам U и V. Бинарное отношение эквивалентности матриц рефлексивно, симметрично и транзитивно.
Слайд 101: Троичные векторы и матрицы
Операции над троичными векторами Склеивание соседних строк : Поглощение : Обобщенное склеивание смежных строк : Разложение строки по i -й компоненте.
Слайд 102: Анализ троичной матрицы на вырожденность
Троичная матрица U является вырожденной, если не существует троичного вектора, ортогонального каждой строке матрицы U. С овокупность интервалов, представляемая вырожденной матрицей, покрыва ет все булево пространство. Функция, ДНФ которой представляется вырожденной матрицей, является константой 1. Для заданной троичной матрицы U требуется найти троичный вектор v, ортогональный каждой ее строке, или убедиться в том, что такого вектора не существует. Вектор v в этом случае представляет набор значений аргументов, обращающий в нуль функцию, задаваемую матрицей U.
Слайд 103: Анализ троичной матрицы на вырожденность
Троичный вектор, имеющий k компонент со значением «–», представляет множество 2 k булевых векторов. Л юбой из этих булевых векторов покрывается данным троичным вектором. В ектор (0, 0, –) ортогонален обеим строкам троичной матрицы. Следовательно, матрица не вырожденная. Ни один из покрываемых в ектор ом (0, 0, –) двух булевых векторов (0, 0, 0) и (0, 0, 1) не является строкой булевой матрицы. Р ешить задачу о вырожденности троичной матрицы можно простым перебором всех 2 п различных булевых векторов. Следует использовать более эффективны й редукционный метод, опира ющийся на комбинаторный поиск.
Слайд 104: Анализ троичной матрицы на вырожденность
К омбинаторный поиск a а = 1 0 1 Т = e d 1 0 d = 1 с а = 0 w = (1 – – 1 –) 0 е = 1 с = 0 w = (0 – 0 – 1)
Слайд 105: Локальные упрощения ДНФ
Дизъюнктивная нормальная форма безызбыточна, если из нее нельзя удалить ни одной элементарной конъюнкции и ни одного литерала из какой-либо конъюнкции. Простейшие случаи подобного сокращения : А х А = А ; А х х = А х ; А х В х АВ = А х В х. Более сложный случай : х 1 х 2 х 3 х 1 х 2 х 4 х 1 х 2 х 3 х 1 х 2 х 4 х 3 х 4, где конъюнкция х 3 х 4 является избыточной. Д ва вида избыточности: D = k D = D, D = х k D = k D.
Слайд 106: Локальные упрощения ДНФ
Удаление избыточных элементарных конъюнкций D = k D = D k и D находятся в отношении формальной импликации, т. е. k D. Функция g имплицирует функцию f, если f имеет значение 1 везде, где имеет значение 1 функция g. М атрица V представляет ДНФ D, а вектор v – конъюнкцию k. Р езульт ат подстановки в D значений переменных, обращающих k в единицу – минор матрицы V, образованный строками, не ортогональными v и столбцами, соответствующими компонентам v, имеющими значение «–». Если этот минор – вырожденн ая матриц а, то k – избыточна я конъюнкция. В ектор, ортогональный всем строкам полученного минора, представляет набор значений переменных, обращающий D в нуль.
Слайд 107: Локальные упрощения ДНФ
Удаление избыточных элементарных конъюнкций = Результат подстановки значений х 1 = 0, х 2 = 1, х 4 = 0, х 5 = 1: – вырожденная матрица.
Слайд 108: Локальные упрощения ДНФ
Удаление избыточных литералов D = х k D = k D. k D = k ( х х ) D = х k D х k = D х k. Л итерал х в выражении х k D является избыточным, если конъюнкция х k является избыточной в выражении D х k. Следовательно, задача определения избыточности литерала в ДНФ сводится к предыдущей задаче – задаче определения избыточности элементарной конъюнкции. Н адо построить минор, образованный столбцами, где i -я строка имеет значения «–», и строками, не ортогональными вектору, полученному из i -й строки заменой нуля (или единицы) в j -м столбце на противоположное значение. Если полученный минор оказался вырожденной матрицей, то замена нуля (или единицы) на «–» возможна.
Слайд 109: Локальные упрощения ДНФ
Удаление избыточных литералов = Результат подстановки значений х 1 = 1, х 2 = 1, х 3 = 1, х 4 = 0, х 6 = 0: – вырожденная матрица.
Слайд 110: Минимизация ДНФ
Метод Квайна-МакКласки К ратчайш ая ДНФ имеет миним ум элементарных конъюнкций. М инимальн ая ДНФ имеет миним ум литералов. Функция g имплицирует функцию f, т. е. g f, если f имеет значение 1 везде, где это значение имеет g. g – импликант а функции f. В сякая элементарная конъюнкция, входящая в ДНФ функции f, является импликантой функции f. Простая импликанта – это импликанта в виде элементарной конъюнкции, которая перестает быть импликантой при удалении любого литерала. М аксимальный интервал – х арактеристическ ое множество простой импликанты. С окращенн ая ДНФ функции f – д изъюнкция всех простых импликант функции f.
Слайд 111: Минимизация ДНФ
Метод Квайна-МакКласки требует представление заданной булевой функции в виде совершенной ДНФ. Процесс минимизации состоит из двух этапов: 1) нахождение сокращенной ДНФ ; 2) выделение из множества простых импликант минимального подмножества, составляющего ДНФ за данной функции. На этапе 1формируется последовательность С 0, С 1, … , C k, где С i – множество конъюнкций ранга п – i, полученных путем простого склеивания конъюнкций из множества C i – 1. Если удалить все поглощаемые конъюнкции, то останутся только все простые импликанты. На этапе 2 решается задача о покрытии: элементы множества М 1 покрываются максимальными интервалами.
Слайд 112: Минимизация ДНФ
Метод Квайна-МакКласки Этап 1: получение сокращенной ДНФ С 0 =, С 1 =, С 2 =.
Слайд 113: Минимизация ДНФ
Метод Квайна-МакКласки Этап 2: решение задачи о покрытии. Заданы множество А = М 1 и совокупность подмножеств В 1, В 2, … , В т множества А в виде матриц и. Требуется выделить минимум подмножеств B i, покрывающих все множество А.
Слайд 114: Минимизация ДНФ
Метод Квайна-МакКласки Этап 2 Зад ача в матричной форме: в следующей матрице выбрать минимальное количество строк так, чтобы каждый столбец имел единицу хотя бы в одной из них. В 1, В 4 и В 6 – решение.
Слайд 115: Минимизация ДНФ
Метод Квайна-МакКласки Решением примера является матрица . В алгебраической форме: х 1 х 2 х 4 х 1 х 2 х 3 х 3 х 4.
Слайд 116: Минимизация ДНФ
Метод Блейка-Порецкого Функция задается в произвольной ДНФ. Если преобразовать х 1 х 2 х 3 х 5 х 2 х 3 х 4 х 5 х 1 в СДНФ, то получим 18 конъюнкций. Применение обобщенного склеивания: х 1 х 2 х 3 х 5 х 2 х 3 х 4 х 5 х 1 = = х 1 х 2 х 3 х 5 х 2 х 3 х 4 х 5 х 1 х 2 х 3 х 5 = х 1 х 2 х 3 х 5. Процесс минимизации состоит из двух этапов: 1) нахождение сокращенной ДНФ ; 2) выделение из множества простых импликант минимального подмножества, составляющего ДНФ за данной функции. На этапе 1выполняются операци и обобщенного склеивания и простого поглощения : А х В х = А х В х А В и А А В = А.
Слайд 117: Минимизация ДНФ
Метод Блейка-Порецкого Этап 1: получение сокращенной ДНФ:
Слайд 118: Минимизация ДНФ
Метод Блейка-Порецкого Этап 1: получение сокращенной ДНФ:
Слайд 119: Минимизация ДНФ
Метод Блейка-Порецкого Этап 2: решение задачи о покрытии. Поиск ядра и антиядра. З адача поиска ядра сводится к нахождению избыточных элементарных конъюнкций в ДНФ. К онъюнкция k избыточна в D = k D , если k D = D. Если, подставив в D любой набор значений переменных, обращающий k в единицу, получим D = 1, то k избыточна. Конъюнкция х 2 х 3 (строка 5) не избыточна, т.к. результат подстановки х 2 = х 3 = 1, представляемый матрицей, не является тождественной единицей (матрица не вырожденная).
Слайд 120: Минимизация ДНФ
Метод Блейка-Порецкого Этап 2: решение задачи о покрытии. Поиск ядра и антиядра. Для каждой строки строим минор, образованный столбцами, где она имеет «–», и не ортогональными ей строками. Если минор – невырожденная матрица, то строка принадлежит ядру. 1) 2) 3) 4) я 5) 6) 7) я 8)
Слайд 121: Минимизация ДНФ
Метод Блейка-Порецкого Этап 2: решение задачи о покрытии. – ядро Антиядра нет Элементы, не покрытые ядром:
Слайд 122: Минимизация ДНФ
Метод Блейка-Порецкого Этап 2: решение задачи о покрытии. надо покрыть интервалами Решение:
Слайд 123: Минимизация ДНФ
Метод Блейка-Порецкого Этап 2: решение задачи о покрытии. Для получения окончательного решения к ядру добавляем Результат: В алгебраической форме: x 1 x 2 x 4 x 2 x 3 x 1 x 2 x 4 x 1 x 2 x 3 x 1 x 2 x 4
Слайд 124: Минимизация не полностью определенных булевых функций
М 1, М 0 и М – – области, где соответственно функция имеет значения 1, 0 и не определена. Достаточно задать два подмножества, например, М 1 и М 0. х 3 x 4 х 3 x 4 x 1 x 2 x 1 x 2 Результат минимизации: х 1 х 4 х 3
Слайд 125: Минимизация не полностью определенных булевых функций
Отношение реализации : функция g реализует функцию f ( g f ), если M 1 f M 1 g и M 0 f M 0 g. Постановка задачи: Для функции f найти минимальную (или кратчайшую) ДНФ среди всех ДНФ всех функций g, удовлетворяющих условию f g. Число вариантов доопределения:. Выделим два из них – f min и f max : , ; ,.
Слайд 126: Минимизация не полностью определенных булевых функций
Распространение метод а Квайна-МакКласки Этапы: 1) нахождение множества всех максимальных интервалов для f max ; 2) покрытие ими элементов из. х 3 x 4 х 3 x 4 х 3 x 4 x 1 x 2 x 1 x 2 x 1 x 2 f f min f max Элементы надо покрыть интервалами.
Слайд 127: Минимизация не полностью определенных булевых функций
Распространение метод а Квайна-МакКласки Элементы надо покрыть интервалами. Матрица покрытия: Результат: f = х 1 х 4 х 3,
Слайд 128: Минимизация слабо определенной функции
Если | М 1 | + | М 0 | << | М – |, то применение описанного метода потребует формирования большого количества бесполезных интервалов. Интервально поглощаем ое множество – множество элементов из М 1, для которых существует интервал, содержащий все эти элементы и не пересекающийся с множеством М 0. М аксимальн ое и нтервально поглощаемое множество – не содержится в качестве собственного подмножества в другом интервально поглощаемом множестве. Этапы: получени е всех максимальных интервально поглощаемых множеств ; получени е кратчайшего покрытия ими элементов множества М 1 ; максимально е расшир ение выбранных интервалов.
Слайд 129: Минимизация слабо определенной функции
Этап 1: получени е всех максимальных интервально поглощаемых множеств. Используется лексикографический перебор. Для п роверк и, является ли M 1 i М 1 интервально поглощаемым множеством, н адо построить минимальный покрывающий интервал для M 1 i, т. е. наименьший по мощности интервал, содержащий все элементы множества M 1 i, и затем проверить, не пересекается ли он с множеством М 0. Нахождение минимальн ого покрывающ его интервал а для M 1 i : если значения одноименных компонент булевых векторов, принадлежащих M 1 i, совпадают, то это значение присваивается соответствующей компоненте получаемого троичного вектора, а если нет, то данная компонента принимает значение «–». Д ля (1 0 1 1 1 0 0), (0 0 1 0 1 1 0) и (1 0 1 1 0 1 0) получим (– 0 1 – – – 0),
Слайд 130: Минимизация слабо определенной функции
Этап 1: получени е всех максимальных интервально поглощаемых множеств. ,. Элементы – 1, 2; интервал – (– 0 1 – – 0). Не пересекается с M 0, следовательно, {1, 2} – интервально поглощаем ое множеств о. Элементы – 1, 2, 3 ; интервал – (– – – – – 0). Пересекается с M 0. Максимальные множества: {1, 2, 4} Интервалы: (– 0 1 – – –) {1, 3} (– – – 1 1 0) {1, 5} (– 0 – – 1 –) {2, 4, 5} (– 0 – 0 – –) {3, 5} (0 – 0 – 1 –)
Последний слайд презентации: Основные понятия теории графов: Минимизация слабо определенной функции
Этап 2: получени е кратчайшего покрытия элементов множества М 1 максимальны ми интервально поглощаемы ми множеств ами. Максимальные множества: {1, 2, 4} Интервалы: (– 0 1 – – –) {1, 3} (– – – 1 1 0) {1, 5} (– 0 – – 1 –) {2, 4, 5} (– 0 – 0 – –) {3, 5} (0 – 0 – 1 –) Кратчайшее покрытие: {1, 2, 4}, {3, 5}. Кратчайшая ДНФ:. Этап 3: максимально е расшир ение выбранных интервалов. x 2 x 3 x 3 x 5