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