Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
уч пос ДИСКР МАТ1.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
2.31 Mб
Скачать

2.4.2. Алгоритм разделения тднф на к частей с минимизацией максимального веса.

Алгоритм эвристический. Базируется на разделении ТДНФ на 2 части на каждом этапе.

Имеем ТДНФ Т с весом W(T).

Отделяем от Т часть Т1 с

T

Т1 Т\T1

Затем от (Т\T1) отделяем T2 с

Т

T1 Т\ T1

T2 Т\(T1T2)

Процедура продолжается до отделения Тк-1. При этом остаток оказывается Тк .

Т

Т1

Т2

Т3

Тк-1 Тк

Разделение ТДНФ на 2 части с отделением ТДНФ Т1 от Т при заданном весе W(T1) ведется так, чтобы вес остающейся части Т\T1 был минимален.

С этой целью к T1, первоначально пустой и имеющей вес W(T1)=0, поочередно добавляются конъюнкции из Т так, чтобы минимально увеличивался вес T1 и максимально сокращался вес Т до получения нужного W(T1).

Получив Т123 , … Тк , выделяем часть с наибольшим весом и пытаемся уменьшить maxW, перенося конъюнкции из самой сложной части в другие более простые части так, чтобы maxW уменьшился.

Рассмотрим пример.

К=3;

Т=ab acd bcd acm bcm adm bdm.

W = 35, W(T1) 12.

T1 = ab acd; W = 17.

Т\T1 = bcd acm bcm adm bdm; W = 30

W(T2) 15.

T2 = bcd bcm; W(T2) = 18

Остаток T3 = acm adm bdm; W = 24.

maxW = 24

Перенеся из T3 в T2 конъюнкцию bdm, получим:

T2 = bcd bcm bdm; W(T2) = 21.

T3 = acm adm; W = 18.

Теперь maxW = 21.

Перенос из T2 в T1 конъюнкции bсd позволяет еще раз сократить maxW.

В итоге окончательно получаем:

T1 = ab acd bcd; W = 20.

T2  bcm bdm; W = 18.

Т3 = acm adm; W = 18.

maxW = 20

Замечание о разделении недоопределенных БФ.

Пусть нужно разделить F~ , заданную М1 и М0 (либо D1 и D0). Тогда ТДНФ F~ задает Т = D1 , но при этом мы еще знаем и D00 - частный случай D0). Следовательно, мы отделяем недоопределенную БФ.

Разделив D1 , например, на 2 части D11 и D12, мы получим F~1 и F~2, представляемые парами (D11 ;D0)

и (D12 ;D0).

Эти функции будут подвергаться дальнейшей обработке: инверсии и разделению.

F~

=

F~1

F~2

1

1

~

~

1

~

~

0

0

0

М1 = М11 М12

М0 = М01 = М02

Любая БФ может трактоваться как недоопределенная БФ и соответственно также обрабатываться, если размерности М1 и М0 (D1 и D0) невелики.