Порахуйте кількість осінніх дерев швидко


19

т(Г)Гнт(Г)O(n3)QGJ11n2det(J+Q)QGJ1

Цікаво, чи є спосіб швидше обчислити t(G) . (Так, алгоритми O(n3) для обчислювального детермінанта є швидшими, але мене цікавить новий підхід.)

Це також цікаво розглянути спеціальні сімейства графіків (планарних, можливо?).

Наприклад, для циркуляційних графів може бути обчислено в арифметичних операціях через тотожність , де - ненульові власні значення матриці Лаплаціана , які можна швидко обчислити для циркуляційних графів. (Представляємо перший рядок як многочлен, а потім обчислюємо його на -му коренях єдності. Цей етап використовує дискретні перетворення Фур'є і може бути виконано в арифметичних операціях .)O ( n lg n ) t ( G ) = 1t(G)O(nlgn)λiGnO(nlgn)t(G)=1nλ1λn1λiGnO(nlgn)

Велике спасибі!


Сергію, я намагався відредагувати ваше запитання, щоб поліпшити ясність. Перевірте, чи я правильно зрозумів ваше запитання та чи не ввів помилок.
Тайсон Вільямс

1
Ось один більш загальний приклад граф сімей , де знайти складність можна зробити швидше: графи Келей для абелевих груп з утворюючим набором S , так що S - 1 = S . Ми знаємо, що власними значеннями такої матриці є h S χ ( h ) , де χ - різні символи групи. Усі символи легко знайти (для отримання додаткової інформації проконсультуйтеся в цьому документі ), обчислення цих символів - n- розмірне FFT (див. Розділ Cormen et al. Про FFT), тобто може бути виконано в O ( n lg nGSS1=ShSχ(h)χn . O(nlgn)
Фінський

Більше інформації про графіки Кейлі див. У цій книзі .
Фінський

1
Робити лінійну алгебру з лаплаціанською, а не загальною матрицею, часто простіше. Цікаво, чи це може бути актуально.
Гіл Калай

Чи можете ви, будь ласка, бути більш конкретними, якщо це можливо, навести кілька прикладів, навіть якщо це не пов'язане безпосередньо з обговорюваною темою. Дякую.
Фінський

Відповіді:


12

Воно відомо , що для обмеженою деревної ширини, Татта полінома T ( G ; х , у ) може бути оцінено в будь-якому ( х , у ) з допомогою O ( N ) арифметичних операції. Якщо G підключений, то t ( G ) = T ( G ; 1 , 1 ) .GT(G;x,y)(x,y)O(n)Gt(G)=T(G;1,1)

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