Минимизация булевых функций в классе ДНФ
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

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

Теоретической основой минимизации булевых функций в классе дизъюнктивных нормальных форм (ДНФ) является использование правил склеивания, обобщенного склеивания и поглощения, представляемых формулами:

1. Kx Ú K`x = K, 

2. K1x ÚK2`x = K1x Ú K2`x Ú K1K2,

3. K1K2 Ú K2 = K2,

где К, К1, К2, - элементарные конъюнкции произвольного ранга.

Аналитические преобразования СДНФ с использованием этих правил описывает метод Блейка. Правила склеивания, обобщенного склеивания и поглощения применяются к СДНФ до тех пор, пока это возможно. Результатом является множество элементарных конъюнкций, кратная дизъюнкция которых дает сокращенную ДНФ. Например, для функции, заданной вектором =(11101011), СДНФ=Ú(0,1,2,4,6,7) имеет сложность 3*6=18. Сокращенная ДНФ имеет вид , а ее сложность равна 5.

Метод Квайна  (алгоритмизируемый) состоит в следующем. Кортежи, входящие в множество N1, записываются в столбец в порядке возрастания их весов сверху вниз. При этом кортежи с одинаковым весом объединяются в ярусы. В соответствии с правилом склеивания кортежи соседних ярусов могут склеиваться, если они являются соседними наборами. Кортежам из множества N1 соответствуют интервалы ранга n. Результатом склеивания пар кортежей являются интервалы, ранг которых на единицу меньше ранга вершин единичного куба, так как они получаются вычеркиванием «мелькающей» переменной, по которой и происходит склеивание. Вместо этой переменной в обозначении интервала ставится прочерк или любой другой символ, отличный от 0 и 1.

Переменные интервала, которым соответствуют значения 0 и 1, называются связанными, а переменные, которым соответствуют прочерки, называются свободными переменными интервала. Если интервал содержит k прочерков, то ему соответствуют 2k вершин единичного n-мерного куба. Например, (01-0)={0100,0110}, (-1-0)={0100, 0110, 1100, 1110). Число связанных переменных интервала называется рангом интервала. Единичному интервалу функции ранга r соответствует элементарная конъюнкция ранга r, называемая импликантом функции.

Интервалы, полученные склеиванием кортежей из множества N1, записываются в столбец, правее первого столбца. В этом новом столбце отыскиваются смежные интервалы, которые также склеиваются, образуя новый столбец, справа от предыдущего. Если какие-либо интервалы не могут участвовать в склеивании, они переходят в правый столбец без изменения. Процедура продолжается до тех пор, пока не будут исчерпаны все возможности склеивания. Полученные в последнем столбце интервалы называются максимальными. Им соответствуют элементарные конъюнкции, называемые простыми импликантами. Дизъюнкция всех простых импликант образует сокращенную ДНФ.

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

Следующим этапом является отбор в множестве максимальных интервалов неприводимых покрытий, из которых затем выбираются все неприводимые покрытия минимального ранга. Для отыскания всех неприводимых покрытий используются имликантные таблицы.

Дата: 2019-03-05, просмотров: 217.