Метод основан на применении операции обобщенного склеивания, которой подвергаются любые два смежных вектора, представляющие соответствующие элементарные конъюнкции, входящие в преобразуемую ДНФ. Продуктом обобщенного склеивания смежных векторов u и v служит троичный вектор, принимающий значение «—» в той компоненте, по которой u и v ортогональны, а также там, где оба вектора имеют значение «—», и принимающий значение 0 или 1 в остальных компонентах, причем это значение совпадает там со значением одного из векторов u и v. Например, продукт обобщенного склеивания смежных векторов
определяется каквектор
1—0—11.
Метод Блека — Порецкого заключается в чередовании операций обобщенного склеивания (с включением получа-
Склеивания (с включением получаемых при этом продуктов в преобразуемую ДНФ) и операций поглощения (при которых поглощаемые члены исключаются из ДНФ). Процесс заканчивается, когда после очередной операции оказывается, что в ДНФ отсутствуют члены, находящиеся в отношении поглощения, и для каждой пары смежных членов в ДНФ будет присутствовать член, поглощающий продукт их обобщенного склеивания. В этом случае полученная ДНФ будет сокращенной.
Далее делается то же, что и в методе Квайна — Мак-Класки: строится матрица К и находится ее кратчайшее покрытие. При этом придется все-таки предварительно построить совершенную ДНФ или эквивалентное ей характеристическое множество рассматриваемой булевой функции.
Необходимость получения в явном виде множества А всех простых импликант булевой функции f и множества В всех членов совершенной ДНФ этой функции приводит к существенным ограничениям, характерным для рассмотренных методов. Мощности данных множеств, как правило, быстро растут с ростом числа аргументов функции f, и таблица Квайна может стать слишком громоздкой, чтобы можно было надеяться на практическое ее построение и нахождение ее кратчайшего покрытия.
В связи с этим представляют несомненный интерес методы нахождения не оптимального решения — кратчайшей или минимальной ДНФ,— а некоторого хорошего приближения к нему. Будем называть условно такие методы приближенными. Можно предложить также несколько «точных» методов, гарантирующих получение оптимальных решений в некоторых частных ситуациях, представляющих практический интерес, когда рассматриваемая булева функция ограничена по некоторому параметру.Такие методы будут рассмотрены ниже,
15. Сжатие булевой матрицы
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.