Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник по дискретной математике.doc
Скачиваний:
295
Добавлен:
02.05.2014
Размер:
3.74 Mб
Скачать

Метод Блейка

Метод Блейка для построения сокращенной ДНФ из произвольной ДНФ состоит в применении правил обобщенного склеивания и поглощения. Подразумевается, что правила применяются слева направо. На первом этапе производится операция обобщенного склеивания до тех пор, пока это возможно. На втором производится операция поглощения.

Пример 2.Построить сокращенную ДНФ по ДНФDфункцииf(x,y,z), где

После первого этапа получаем:

После второго этапа получаем сокращенную ДНФ:

Алгоритм построения сокращенной днф с помощью кнф (метод Нельсона)

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

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

2. В полученном выражении удалим нулевые дизъюнктивные слагаемые.

3. В полученном выражении проведем все поглощения, а затем удалим дублирующие члены.

В результате проведенных операций получим сокращенную ДНФ функции f. Покажем это.

Для каждой элементарной дизъюнкции Dв КНФ и каждой элементарной конъюнкцииKв сокращенной ДНФ (сокр. ДНФ) существует некоторый множитель видаxизK, содержащийся вD, т.е.

DДНФKсокр. ДНФxa K(xaD).

Допустим противное: в КНФ существует элементарная конъюнкция D, в сокращенной ДНФ существует элементарная конъюнкцияK, для которой всякий множитель видаxa изKне входит вD. Не уменьшая общности возьмем для простоты

Положим x1 = a1, …, xk=ak, xk+1 = ck+1ak+1, …, xr = crar. ТогдаK(a1, …,ak) = 1, и потомуf(a1, …,ak,ck+1, …,cr ) = 1. С другой стороны,D(ck+1,…,cr) = 0, и потомуf (a1, …,ak,ck+1, …,cr ) = 0. Противоречие.

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

Так как содержатся вkразных скобках КНФ, а всякая другая скобка, отличная от указанныхkскобок, содержит хотя бы один элемент видаxизK, то при раскрытии скобок имеем простой импликантK. После проведения всех операций поглощения и удаления дублирующих множителей, останутся только простые импликанты из сокращенной ДНФ, ибо если предположить наличие в результате хотя бы одного дизъюнктивного слагаемого, отличного от всех простых импликантов сокращенной ДНФ, то можно подобрать такие значения переменных функцииf, на которых все простые импликанты примут значение 0, а это дополнительное слагаемое – значение 1, чего быть не может.

Пример 3.Построим сокращенную ДНФ этим способом для функции

f= (1111010010101111) из примера 1 :

Сокращенная ДНФ для функции

что, естественно, совпадает с результатом примера 1.

Пример 4.Построить сокращенную ДНФ по заданной КНФ

После раскрытия скобок имеем:

После второго этапа получаем сокращенную ДНФ:

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

Теорема. Всякая минимальная ДНФ некоторой функции является ее тупиковой ДНФ.

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

Вывод. Для получения МДНФ функцииfнеобходимо построить все ТДНФ функцииfи выбрать из них те, которые содержат минимальное число букв.