Помощь в учёбе, очень быстро...
Работаем вместе до победы

Логарифмический поиск. 
Интеллектуальные системы

РефератПомощь в написанииУзнать стоимостьмоей работы

Алгоритм поиска, соответствующий графу ?/у" построенному в доказательстве теоремы 15, состоит в следующем. В упорядоченной по возрастанию библиотеке с помощью бинарного поиска за log2 к шагов находится самая левая запись, находящаяся не левее левого конца запроса. Затем слева направо, начиная с найденной записи, просматриваются записи и сравниваются с правым концом запроса, и если оказывается… Читать ещё >

Логарифмический поиск. Интеллектуальные системы (реферат, курсовая, диплом, контрольная)

Пусть.

Логарифмический поиск. Интеллектуальные системы.

Отметим, что N/ € а для любого предиката / € F uGi, т. е. базовое множество Т измеримо. Поскольку для любой записи УYint Ху, Pint 6 Fy то Т полно для типа Sint- Справедлива следующая теорема.

Теорема 15. Пусть I = {Xini, V, pint) — ЗИП типа Sint} где V = {j/i,… Уук}, причем 0 < t/i < … < у* < 1; Т — базовое множество, определяемое соотношениями (2.28) — (2.30). Тогда Логарифмический поиск. Интеллектуальные системы.

Доказательство. Построим первое дерево бинарного поиска для библиотеки V, описанное в разделе 2.4.1, но только нагрузку переключательных вершин мы будем брать из множества, а вместо предикатов /=>0 использовать предикаты Xa, pintiОбозначим это дерево через D.

Для обозначения Vp будет использован тот же смысл, что и в разделе 2.4.1.

Для удобства дальнейшего изложения назовем множество переключательных ребер дерева D переключательной частью дерева D, а множество предикатных ребер — предикатной частью дерева D.

Обозначим лист, которому соответствует запись у*, через а, (г = 1 , к). Из каждого листа or* (г = 1, А: — 1) выпустим ребро, ведущее в лист а*+1, и припишем ему предикат Ху"+ьр"п" € ^1;

Это множество из  — 1)-го ребра назовем правосторонней концевой цепью.

Полученный граф обозначим через Uy.

Отметим одно достаточно очевидное свойство графа Uy. Пусть (5 — вершина графа Uy, не являющаяся листом. Пусть Vp = {y", ffc+i"*" «y;b Тогда.

Логарифмический поиск. Интеллектуальные системы.

Покажем, что Uy решает ЗИП I. По теореме 9, для этого достаточно показать, что.

Qi = Xyitpxnt Аля любого i € {1,к}.

Доказывать это будем индукцией по г.

Базис индукции, г = 1.

В лист Qi ведет единственное ребро из вершины, которую обозначим через ft. Очевидно,.

ai = Wr&Xybpin** Через yj обозначим максимальную запись в библиотеке Vp>. Примем с — у7, если j ф к, и с = 1, если j = к. Очевидно, с>у. Тогда.

Логарифмический поиск. Интеллектуальные системы.

то есть tpai = XyuPint-

Индуктивный переход. Предположим, что для некоторого i > 1 функция фильтра листа а" равна y?ai = Ху", р"п*;

Рассмотрим лист oti+ (г+ 1 < к). В него ведут два ребра: из листа Qi и некоторой вершины /?, не являющейся листом. Пусть Vi и yj — минимальная и максимальная записи в библиотеке Vp соответственно. Пусть.

Логарифмический поиск. Интеллектуальные системы.

Тем самым мы показали, что Uv решает I.

Покажем, что.

Логарифмический поиск. Интеллектуальные системы.

Рассмотрим произвольный запрос х G Хш- Поскольку через переключательную часть дерева D пролегает единственная проводящая цепь, и ее длина не превышает ] log2 А;[— 1, то на любом запросе будет вычислено не более чем ] log2 А:[-1 переключателей. Далее на запросе х вычисляются один или два предиката, соответствующих предикатным ребрам из предикатной части дерева D, растущим из вершины, в которую ведет проводящая цепь. Таким образом, суммарная сложность дерева D не превышает ] log2 /c[-f 1.

Осталось подсчитать сложность правосторонней концевой цепи. Из каждого листа а" (г = 1, А: — 1) исходит одно ребро и его сложность равна Р (0(у{, рш)).

Следовательно,.

Логарифмический поиск. Интеллектуальные системы.

Тем самым теорема 15 доказана. ?

Алгоритм поиска, соответствующий графу ?/у" построенному в доказательстве теоремы 15, состоит в следующем. В упорядоченной по возрастанию библиотеке с помощью бинарного поиска за log2 к шагов находится самая левая запись, находящаяся не левее левого конца запроса. Затем слева направо, начиная с найденной записи, просматриваются записи и сравниваются с правым концом запроса, и если оказывается, что очередная запись не больше правого конца, то эта запись включается в ответ, а если больше, то поиск прекращается, то есть — это традиционный алгоритм решения данной задачи поиска с помощью структуры данных, называемой прошитым двоичным деревом [52]. Там же [52, стр. 93] утверждается, что описанный алгоритм оптимален как по времени поиска, так и по памяти, но имеется в виду время в худшем случае, а оптимальность понимается по порядку.

Показать весь текст
Заполнить форму текущей работой