Niech będzie prostym nieukierowanym wykresem na wierzchołkach i krawędziach.n m
Próbuję określić czas oczekiwany prowadzeniem algorytmu Wilsona do generowania losowych rozpinające drzewo . Tam pokazano, że to , gdzie to średni czas uderzenia : gdzie:O ( τ ) τ
- to rozkład stacjonarny ,
- jest dowolnym wierzchołkiem i
- to czas uderzenia ( czas dostępu AKA ), tj. Oczekiwana liczba kroków przed odwiedzeniem wierzchołka , zaczynając od wierzchołka .tobie
Jaka jest ogólna górna granica średniego czasu uderzenia? A jaki jest najgorszy przypadek który maksymalizuje średni czas uderzenia?
Aby wyjaśnić moje pytanie, nie wymagam obliczeń ani szczegółowego dowodu (chociaż mogą być przydatne dla innych osób, które napotkają to pytanie w przyszłości). Dla mnie osobiście wystarczyłoby cytowanie.
Artykuł wspomina o innym algorytmie Brodera, który działa w oczekiwanym czasie pokrycia (pierwszy raz, gdy wszystkie wierzchołki zostały odwiedzone). Mówi się wtedy, że średni czas uderzenia jest zawsze krótszy niż czas ochrony. Daje jednak tylko asymptotyczne ograniczenie dla większości grafów (tj. Grafów ekspanderów ) w celu porównania go z Brodera dla większości grafów (z nieco bardziej włączającą definicją większości ).Θ ( n log n )
Daje przykład wykresu, na którym średni czas uderzenia wynosi a czas przykrycia to . Chociaż wiadomo, że jest to najgorszy przypadek tego drugiego, nie mówi on konkretnie o najgorszym przypadku tego drugiego. Oznaczałoby to, że najgorszy przypadek algorytmu Wilsona może przypadać gdziekolwiek między a .Θ ( n 3 ) O ( n 2 ) O ( n 3 )
Istnieją dwie publicznie dostępne implementacje algorytmu Wilsona, o których wiem. Jeden znajduje się w bibliotece grafów pomocniczych , a drugi w narzędziu graficznym . Dokumentacja tego pierwszego nie wspomina o czasie wykonywania, podczas gdy drugi stwierdza:
Typowy czas działania losowych wykresów to .
Co nie odpowiada na pytanie i wydaje się być niezgodne z pismem Wilsona. Ale zgłaszam to na wszelki wypadek, aby zaoszczędzić czas każdemu, kto ma ten sam pomysł na sprawdzenie dokumentacji wdrożeniowej.
Początkowo miałem nadzieję, że najgorszy przypadek może zostać osiągnięty za pomocą wykresu skonstruowanego przez dołączenie ścieżki do kliki, dzięki Lovászowi , gdzie czas uderzenia może wynosić nawet . Jednak prawdopodobieństwo tego zdarzenia wynosi około 1 podczas wybierania wierzchołków z rozkładu stacjonarnego. W rezultacie uzyskuje sięO(n2)związany dla średniego czasu uderzenia na tym wykresie.
Papier według Brightwell i Winkler pokazuje, że podzbiór lizak wykresów zwiększa czas planowanej uderzenie, osiągając . Wykres Lovásza jest również wykresem Lollipopa, ale w tym przypadku rozmiar kliki wynosi 2, a nie połowa. Należy jednak uważać, aby nie pomylić oczekiwanego czasu uderzenia ze średnim czasem uderzenia. Ten wynik, podobnie jak poprzedni, odnosi się do oczekiwanego czasu uderzenia dla dwóch określonych wcześniej wybranych wierzchołków.
Odpowiedzi:
Postanowiłem zapytać samego Davida Wilsona, wkrótce potem otrzymałem odpowiedź:
Istnieje nawet dowód na ten fakt we wspomnianej książce, która wygląda następująco:
Aby zbudować wykres na wierzchołkach, zacznij od dwóch pełnych wykresów na n 1 wierzchołkach. Rozróżnij wierzchołki v l ≠ v L na jednym wykresie („lewy dzwon”) i wierzchołki v R ≠ v r na drugim wykresie („prawy dzwon”). Następnie połączyć wykresy poprzez drogę v L - w 1 - ⋯ w n 2 - v R .n = 2 n1+ n2) n1 vl≠ vL. vR≠ vr vL.- w1- ⋯ wn2)- vR
Następnie jest nieformalnie argumentowane, że trafienie v L zajmuje średni czas około , a stamtąd jest szansa 1n1 vL. uderzyw1, tak, że trwa średni czas on 2 1 uderzyw1. Odw1jest szansa na11n1 w1 n2)1 w1 w1 aby uderzyć w prawy dzwon przed powrotem do lewego dzwonu, więc potrzeba czasu okołon 2 1 n2,aby wejść do prawego dzwonu.1n2) n2)1n2)
Ustawienie daje nam średni czas O ( n 3 ) .n1= n2)= n / 3 O ( n3))
Wprawdzie jestem zagubiony w punkcie, w którym stwierdzają:
Aby jednak uspokoić umysł, przeprowadziłem symulację przypadkowych spacerów na tak skonstruowanych grafach sztang, między wierzchołkami wybranymi z rozkładu stacjonarnego. Rzeczywiście, średni czas uderzenia bardzo ładnie dopasował się do krzywej .( n + 1 )3)54
Komentarze do nieformalnego dowodu są jednak mile widziane.
źródło
W niedawnym artykule znaleźliśmy mn górną granicę (bez dużego O) oczekiwanej liczby „cykli wystrzelonych” przez algorytm Wilsona i jest on ściśle związany ze stałymi. Nie odpowiada bezpośrednio na pytanie o czas działania algorytmów Wilsona, ponieważ średni rozmiar wyskakujących cykli nie wydaje się oczywisty. Z drugiej strony nie mam wystarczającej „reputacji”, aby zostawić komentarz ...
źródło