Анализ реализации с ранговой эвристикой — различия между версиями
Строка 52: | Строка 52: | ||
Амортизированная стоимость | Амортизированная стоимость | ||
− | < | + | <center><tex> |
S= {\sum_{get} \limits} ({\sum_{v:v \in get,v \in T1} \limits 1} + {\sum_{v:v \in get,v \in T2} \limits 1} + {\sum_{v: \in get,v \in T3} \limits 1} ) / m | S= {\sum_{get} \limits} ({\sum_{v:v \in get,v \in T1} \limits 1} + {\sum_{v:v \in get,v \in T2} \limits 1} + {\sum_{v: \in get,v \in T3} \limits 1} ) / m | ||
− | + | </tex>,</center> | |
− | + | где <tex> {v \in get } </tex> означает что ребро начало которого находится в <tex> v </tex> было пройдено во время выполнения текущего <tex> get </tex>. | |
Ребро <tex> v </tex> эквивалентно вершине в которой оно начинается. | Ребро <tex> v </tex> эквивалентно вершине в которой оно начинается. | ||
− | В силу того что <tex>{\sum_{v:v \in get,v \in T1} \limits 1} = O(1) </tex> получаем <tex> S = O(1) + {\sum_{get} \limits} ~ {\sum_{v:v \in get,v \in T2} \limits} 1/m+ {\sum_{get} \limits} ~ {\sum_{v:v \in get,v \in T3} \limits} 1/m </tex> . | + | В силу того что <tex>{\sum_{v:v \in get,v \in T1} \limits 1} = O(1) </tex> получаем: |
+ | <center><tex> S = O(1) + {\sum_{get} \limits} ~ {\sum_{v:v \in get,v \in T2} \limits} 1/m+ {\sum_{get} \limits} ~ {\sum_{v:v \in get,v \in T3} \limits} 1/m </tex></center> . | ||
Во время <tex> get </tex> после прохождения K ребер из второго класса <tex> R(v1) \ge x^{x^{.^{.^{.^{x^{R(v)}}}}}} </tex> | Во время <tex> get </tex> после прохождения K ребер из второго класса <tex> R(v1) \ge x^{x^{.^{.^{.^{x^{R(v)}}}}}} </tex> | ||
− | Из выше сказанного и первого следствия второго утверждения получаем что <tex> {\sum_{v:v \in get,v \in T2} \limits} \le log^*_x(log_2(n)) = O(log^*(n)) </tex> | + | Из выше сказанного и первого следствия второго утверждения получаем что:<center> <tex> {\sum_{v:v \in get,v \in T2} \limits} \le log^*_x(log_2(n)) = O(log^*(n)) </tex></center> Для того, чтобы <tex> log^*_x </tex> существовал необходимо, чтобы <tex> x > e ^{ 1 /e } \approx 1,44 </tex> |
− | Рассмотрим сумму <tex>{\sum_{get} \limits} ~ {\sum_{v:v \in get,v \in T3} \limits} 1~/m < {\sum_{get} \limits} ~ {\sum_{v:v \in get,v \in T3} \limits} 1/n </tex> | + | |
+ | Рассмотрим сумму<center> <tex>{\sum_{get} \limits} ~ {\sum_{v:v \in get,v \in T3} \limits} 1~/m < {\sum_{get} \limits} ~ {\sum_{v:v \in get,v \in T3} \limits} 1/n </tex> </center> | ||
Из первого утверждения и того что происходит сжатие путей следует <tex> R(P(x))</tex> cтрого увеличивается при переходе по ребру из Т3. | Из первого утверждения и того что происходит сжатие путей следует <tex> R(P(x))</tex> cтрого увеличивается при переходе по ребру из Т3. | ||
Версия 22:07, 22 марта 2011
Пусть
- процедура слития двух множеств содержащих , , а - поиск корня поддерева содержащего . Рассмотрим операций и операций . Для удобства и без потери общности будем считать принимает в качестве аргументов корни поддеревьев и , то есть заменяем на .Тогда нам надо оценить стоимость операции
. Обозначим - ранг вершины, - отец вершины, - самый первый отец вершины, - количество вершин в поддерева корнем которого являетсяУтверждение: |
Из того как работает следует: 1.2. Между Записав неравенство из первого пункта вдоль пути из второго пункта следует что и существует путь вида : |
Утверждение: |
Докажем по индукции: Для 0 равенство очевидное. Ранг вершины стает равным при сливании поддеревьев ранга i-1, отсюда следует: . |
Из второго утверждения следует:
1.
2. Количество вершин ранга
Теорема: |
Амортизационная стоимость |
Доказательство: |
Рассмотрим некоторое число . Разобьем наши ребра на три класса:1.Ведут в корень или в сына корня. 2. 3. Все остальные. Обозначим эти классы Амортизированная стоимость где означает что ребро начало которого находится в было пройдено во время выполнения текущего . Ребро эквивалентно вершине в которой оно начинается.В силу того что получаем:Во время Из выше сказанного и первого следствия второго утверждения получаем что: после прохождения K ребер из второго класса
Из первого утверждения и того что происходит сжатие путей следует cтрого увеличивается при переходе по ребру из Т3.Как максимум через переходов ребро перестанет появляться в классе Т3. .Из второго следствия второго утверждения следует .При .
|