Лекция 14. Нижняя оценка сложности включающего поиска. Верхняя оценка сложности включающего поиска. Асимптотика функции Шеннона сложности включающего поиска. 1 Нижняя оценка сложности включающего поиска Опираясь на лемму о характеристических носителях включающего поиска, мы можем получить следующую нижнюю оценку сложности включающего поиска. b Теорема 1 (нижняя оценка). Пусть I = hB n , V, i — ЗИП типа Sbool . Пусть базовое множество имеет вид F = hMn , ∅i, где Mn — множество монотонных булевых функций. Тогда T (I, F) ≥ 2 · X b P(O(y, )) − t0 , y∈V где t0 — число записей веса 0 в библиотеке V (t0 ∈ {0, 1}). Доказательство. Обозначим через ti — число записей веса i в библиотеке V (i = 1, n). Возьмем произвольный ПИГ U над базовым множеством F = hMn , ∅i, решающий ЗИП I. (Такой ПИГ обязательно существует, так как F полно для типа Sbool .) Согласно лемме о характеристических носителях включающего поиска библиотеку V можно разбить на такие непересекающиеся части, что каждая часть содержит записи одного веса, и каждой части веса i > 0 и мощности t сопоставляется такая совокупность ребер графа U , что сумма сложностей ребер из этой совокупности не меньше чем t·21−m , причем 1 образы различных частей при этом соответствии не пересекаются. Отсюда следует, что n X T (U ) ≥ ti 21−i . i=1 Теперь предположим, что в библиотеке V есть запись y0 = (0, . . . , 0) веса 0. Обозначим через C0 главную цепь, ведущую из корня в множество LU (y0 ) (согласно теореме о существовании главных цепей такая цепь существует). Пусть α0 — лист, в котором заканчивается цепь C0 , а ребро (β0 , α0 ) — последнее ребро цепи C0 . Так как запись y0 удовлетворяет всем запросам из B n , то все запросы проходят через ребро (β0 , α0 ), и, значит, сложность этого ребра равна 1. Остается заметить, что ребро (β0 , α0 ) не принадлежит ни одной совокупности ребер, соответствующей части разбиения веса, большего 0. Таким образом, T (U ) ≥ t0 + n X ti 21−i = 2 · i=1 X b P(O(y, )) − t0 . y∈V Отсюда в силу произвольности ПИГ U вытекает утверждение теоремы. Что и требовалось доказать. Замечание. Если мы находимся в условиях теоремы 1, то нижняя оценка, получаемая из этой теоремы, практически в два раза лучше мощностной нижней оценки. 2 Верхняя оценка сложности включающего поиска b Теорема 2 (верхняя оценка). Пусть I = hB n , V, i — ЗИП типа Sbool . Пусть базовое множество имеет вид F = hKn , ∅i, где Kn — множество монотонных элементарных конъюнкций. Пусть |V | = k и m — такое n n число, что 2 m < k ≤ 2 m+1 . Тогда T (I, F) ≤ 1 + m X 1−i 2 i=1 2 n + 2−m k. i q q q HH @ Y * I H x1 1 H@ xn H@ H q Рис. 1: Универсальный многополюсник для множества K1n Доказательство. Обозначим через Kln — множество всех монотонных элементарных конъюнкций, содержащих не более l переменных (или другими словами, имеющих длину не более l). Построим по индукции информационный граф Uln , реализующий как функции фильтров каких-либо вершин все функции из Kln . Базис индукции. l = 1. K1n = {1, x1 , . . . , xn }. U1n будет иметь вид, изображенный на рисунке 1, где жирной точкой изображен корень графа, а на концах ребер реализуются функции из K1n . n Шаг индукции. Пусть Ul−1 — граф, реализующий все функции из n n Kl−1 . Граф Uln будем строить, добавляя к Ul−1 вершины и ребра, чтобы n n реализовать функции из Kl \ Kl−1 , следующим образом. Возьмем произвольную монотонную элементарную конъюнкцию длины l xi1 & · · · &xil . n найдем вершину, на которой реализуется функция xi1 & · · · &xil−1 В графе Ul−1 и выпустим из нее ребро, которому припишем переменную xil . На вершине, в которую ведет это ребро, будет реализовываться как функция n фильтра функция xi1 & · · · &xil . Перебрав все функции из Kln \ Kl−1 и n проделав для каждой эту операцию, получим требуемый граф Ul , реализующий все функции из Kln . Отметим, что на первом ярусе графа Uln находится n + 1 = n1 + 1 ребер, и сложность каждого из них равна 1 (первый ярус — это ребра, исходящие из корня), а на i-ом ярусе (i ≥ 2) находится ni ребер, и сложность каждого из них равна 21−i (i-ый ярус — это ребра, исходящие из концов ребер (i − 1)-го яруса). Таким образом, сложность графа Uln равна l X n 1−i n T (Ul ) = 1 + 2 . i i=1 Вернемся теперь к нашей задаче I. Для любой записи y ∈ V характеристическая функция этой записи есть некоторая монотонная элементарная конъюнкция, которую будем обозначать Ky . 3 Информационный граф U , решающий задачу I, будем строить слеn дующим образом. Возьмем граф Um , описанный выше. Возьмем произвольную запись y ∈ V . Возможны два случая. 1. Характеристическая функция этой записи Ky имеет длину, не преn находим вершину, на которой реаливышающую m. Тогда в графе Um зуется функция Ky , объявляем эту вершину листом и приписываем ей запись y. 2. Длина элементарной конъюнкции Ky больше чем m. Пусть Ky = n xi1 & · · · &xil , где l > m. Тогда найдем в графе Um вершину, на которой реализуется функция xi1 & · · · &xim , выпустим из этой вершины ребро, припишем этому ребру функцию xim+1 & · · · &xil , объявим конец этого ребра листом и припишем ему запись y. Проделав эту операцию для каждой записи y ∈ V , мы получим граф U , который, как нетрудно заметить, согласно критерию допустимости информационных графов решает задачу I. Оценим сложность графа U . Граф U содержит в себе как подграф n граф Um . В худшем случае, когда для каждой записи реализуется слуn k ребер, каждое из которых исходит чай 2, мы добавим к графу Um из некоторой вершины, на которой реализуется элементарная конъюнкция длины m. Следовательно, сложность каждого из этих k ребер будет равна 2−m . Таким образом, m X n −m 1−i n T (I, F) ≤ T (U ) ≤ T (Um ) + 2 k = 1 + 2 + 2−m k. i i=1 Тем самым теорема доказана. 3 Асимптотика функции Шеннона сложности включающего поиска Если k — натуральное число, то обозначим I(k, Sbool ) = {I = hX, V, ρi ∈ Sbool : |V | = k}. Рассмотрим функцию Шеннона, характеризующую сложность класса ЗИП I(k, Sbool ) T (k, Sbool , F) = sup T (I, F). I∈I(k,Sbool ) 4 Теорема 2 позволяет нам показать, что существуют библиотеки, для которых нижняя оценка теоремы 1 асимптотически не улучшаема. Теорема 3. (Асимптотика функции Шеннона) Если n m(n) → ∞ при n → ∞, m = ō(n), k(n) такое, что m−1 = ō(k) и n k ≤ m , и базовое множество имеет вид F = hF, ∅i, где F ⊆ Mn и Kn ⊆ F , то при n → ∞ T (k, Sbool , F) ∼ 21−m k. Доказательство. Рассмотрим библиотеку V , являющуюся k-элементным n и |V | = k. Рассмотподмножеством m-го слоя куба B n , то есть V ⊆ Bm b рим связанную с этой библиотекой ЗИП I = hB n , V, i. Согласно теореме 1 X b T (I, F) ≥ 2 · P(O(y, )) = 21−m k. y∈V Согласно теореме 2 T (I, F) ≤ 1 + m−1 X i=1 1−i 2 n + 21−m k = 21−m k(1 + ō(1)). i Осталось заметить, что последние два неравенства доказывают утверждение теоремы 3. 5