Випадкова хода та середній час потрапляння у простий непрямий графік


10

Нехай - простий непрямий графік на вершинах і ребрах.n mG=(V,E)nm

Я намагаюся визначити очікувану тривалість роботи алгоритму Вільсона для генерації випадкового остовного дерева . Там показано, що , де - середній час удару : τ = v V π ( v ) H ( u , v ) , де:O ( τ ) τGO(τ)τ

τ=vVπ(v)H(u,v),
  • -стаціонарний розподіл π ( v ) = d ( v )π ,π(v)=d(v)2m
  • - довільна вершина, іu
  • - часудару(часдоступуAKA), тобто очікувана кількість кроків до відвідування вершини v , починаючи з вершини u .H(u,v)vu

Яка загальна верхня межа середнього часу удару? І який найгірший графік який максимізує середній час удару?G


Щоб зрозуміти моє запитання, я не вимагаю розрахунків або детального підтвердження (хоча вони можуть бути корисні іншим людям, які стикаються з цим питанням у майбутньому). Для мене особисто цитування було б достатнім.

У статті згадується ще один алгоритм Бродера, який працює в очікуваний час покриття (перший раз, коли були відвідані всі вершини). Тоді кажуть, що середній час удару завжди менше, ніж час покриття. Однак він дає лише асимптотичну межу для більшості графіків (тобто графіків-розширювачів ), щоб протиставити її Θ ( n log n ) Бродером для більшості графіків (з дещо інклюзивнішим визначенням більшості ).Θ(n)Θ(nlogn)

Він дає приклад графіку, де середній час удару дорівнює а час покриття - Θ ( n 3 ) . Хоча, як відомо, це є найгіршим випадком для останнього, він нічого конкретно не говорить про найгірший випадок першого. Це означатиме, що найгірший випадок алгоритму Вілсона може впасти де-небудь між O ( n 2 ) та O ( n 3 ) .Θ(n2)Θ(n3)O(n2)O(n3)

Є дві загальнодоступні реалізації алгоритму Вілсона, які я знаю. Один знаходиться у бібліотеці Boost Graph , а другий - у інструменті graph . Документація першого не згадує час виконання, в той час як в останньому зазначено:

Типовим часом виконання для випадкових графіків є .O(nlogn)

Що не відповідає на питання, і насправді, здається, не відповідає папері Вілсона. Але я повідомляю про це на всякий випадок, щоб заощадити час будь-кому з однаковою ідеєю консультації щодо впроваджувальної документації.

Спочатку я сподівався, що найгірший випадок може бути досягнутий графіком, побудованим шляхом приєднання шляху до кліки, завдяки Ловашу , де час удару може бути дорівнює . Однак ймовірність цієї події приблизно 1Ω(n3) при підборі вершин зі стаціонарного розподілу. Отже, даєтьсямежаO(n2)для середнього часу враження в цьому графіку.1nO(n2)

У доповіді Brightwell і Winkler показує , що підмножина льодяників графіків максимізує очікуваний час удару, досягаючи . Графік Ловаша - це також льодяник, але в цьому випадку розмір кліки становить 24n3/27, а не половина. Однак слід обережно не плутати очікуваний час удару із середнім часом удару. Цей результат, як і попередній, стосується очікуваного часу удару для двох визначених заздалегідь вершин.23n


2
Дякуємо, що помітили цю помилку в документації graph-tool! Дійсно для типових випадкових графіків середній час удару становить (див., Наприклад, arxiv.org/abs/1003.1266 ), а не O ( n log n ) . Це буде виправлено у наступній версії. (Зауважте також, що графічний інструмент використовує підсилювану графічну бібліотеку Boost, тому вони не є реальною реалізацією.)O(n)O(nlogn)
Tiago Peixoto

1
@Tiago Я радий зробити свій внесок! Дякую за Ваш коментар Можливо, вам також буде цікаво згадати очікуваний час у гіршому випадку (хоча й малоймовірно), оскільки я тепер оновив свою відповідь відповіддю Девіда Вілсона.
arekolek

Відповіді:


11

Я вирішив попросити самого Девіда Вілсона, незабаром після цього отримав відповідь:

nΘ(n3)n/3n/3H(x,y)xyH(x,y)xyx

У вищезгаданій книзі є навіть доказ цього факту, який іде так:

n=2n1+n2n1vlvLvRvrvLw1wn2vR

n1vL1n1w1n12w1w11n2n12n2

n1=n2=n/3O(n3)

Справді, я програю в момент, коли вони заявляють:

w11n2

(n+1)354

Однак коментарі щодо неофіційного підтвердження все ще вітаються.


3

У недавній роботі ми знайшли верхню межу mn (немає великого O) на очікувану кількість "циклів, що з'явилися" за алгоритмом Вільсона, і це щільно до констант. Це не відповідає безпосередньо на питання про час роботи алгоритмів Вілсона, оскільки середній розмір вискакуючих циклів не здається очевидним. З іншого боку, у мене недостатньо "репутації", щоб залишити коментар ...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.