§ 19. Сложность алгоритмов выбора
на частично упорядоченном множестве и их оптимальность.
Построение эффективных алгоритмов выбора элементов конечного
множества в соответствии с некоторым свойством возможно лишь в тех случаях,
когда исходное множество наделено некоторой структурой, а соответствующие
алгоритмы опираются на данную структуру. В данном разделе изучается
сложность выбора элементов из частично упорядоченного множества с помощью
алгоритмов, опирающихся на отношение частичной упорядоченности и
выясняется их оптимальность. К задачам такого типа сводятся многие
переборные задачи, представляющие практический интерес,
Пусть М - конечное множество, на элементах которого определено
некоторое свойство Р. Пусть
- характеристическая функция тех элементов из
М, которые обладают свойством Р, т.е. двоичная функция, для которой имеем
f
P
fa
а
а
P
()
=
, если обладает Р,
0, если не обладает Р.
1
Ясно, что задача перечисления элементов М, обладающих свойством Р,
равносильна задаче выделения двоичной функции
или задаче нахождения
разбиения ( , ), где
f
P
М
1
М
2
{}
ММ
1
=∈ =
а fa
P
() 1.
Пусть M(≤) - частично упорядоченное множество, а свойство Р согласовано
с отношением частичного порядка. Свойство
Р
на множестве М называется
наследственным влево, если из
следует .
1
1bafb
P
≤
,
1
()
=
=
fa
P
1
1()
=
Соответственно, свойство
P
называется наследственным вправо, если из
следует . Легко видеть, что наследственным влево
свойствам Р соответствуют монотонные функции
, для которых справедливо
соотношение:
2
()
=
baf a
P
≤
,
2
1() fb
P
2
1
f
P
ba fb fa ab
PP
≤⇒ ≤ ∀ ∈
() (), , M
.
Наследственным вправо свойствам Р соответствуют инверсно монотонные
функции
, для которых справедливо соотношение:
f
P
ba fa fb ab
PP
≤⇒ ≤ ∀ ∈
() (), , M
.
Ясно, что достаточно ограничиться рассмотрением наследственных влево свойств
Р и соответственно задачей выделения монотонной функции
на М , поскольку
двойственный случай наследственного вправо свойства сводится переходом от
множества М к инверсно изоморфному множеству М’. Нас будет интересовать
вопрос алгоритмической сложности выделения монотонной двоичной функции
на частично упорядоченном множестве М. Сложность алгоритма
определяется положенной в основу вычислительной интерпретацией алгоритма,
т.е. элементарным шагом алгоритма и его логической схемой.
f
P
f
P
Под сложностью алгоритма А понимается число элементарных шагов,
необходимое для получения окончательного результата. Пусть f - произвольная
124