Множення n многочленів ступеня 1


35

Проблема полягає в обчисленні многочлена . Припустимо, що всі коефіцієнти містяться в машинному слові, тобто ними можна керувати за одиницю часу.(a1x+b1)××(anx+bn)

Ви можете зробити час, застосувавши FFT деревом. Чи можете ви зробити O ( n log n ) ?O(nlog2n)O(nlogn)


Приємне запитання, схоже, я бачила щось подібне в чиємусь блозі, але не можу згадати, де це було.
Григорій Ярославцев

3
Незначне спостереження: ми знаємо (працюючи над Q, скажімо) n коренів , тому задача еквівалентна: Дано α 1 , , α n , обчислимо многочлен ( x - α 1 ) ( X - α n ) . (Я здогадуюсь.)αi=bi/aiα1,,αn(xα1)(xαn)
ShreevatsaR

1
Чи можете ви дати посилання на результат ? O(nlog2n)
Мохаммед Аль-Туркстані

2
Як згадував @Suresh, це простий підхід "ділити і перемагай". Його можна узагальнити так, що n поліс може мати різний ступінь , і в цьому випадку ви можете поділитись по дереву Хаффмана. Див. Страссен: Обчислювальна складність тривалих дробів. di
Зейю

1
Чи можемо ми обчислити згортку векторів постійного виміру 2 у часі O ( n log n ) ? nO(nlogn)
Каве

Відповіді:


7

Попередження: Це ще не повна відповідь. Якщо аргументи правдоподібності роблять вам незручно, перестаньте читати.

Я розгляну варіант, де ми хочемо перемножити (x - a_1) ... (x - a_n) на складні числа.

Проблема є подвійною для оцінки полінома в n точках. Ми знаємо, що це може бути зроблено розумно в O (n log n) час, коли точки стають n-ю коренями єдності. Це має істотну перевагу симетрії регулярних багатокутників, які лежать в основі швидкої трансформації Фур'є. Це перетворення відбувається у двох формах, умовно званих децимацією за часом та децимацією за частотою. У радіксі другому вони покладаються на подвійну пару симетрій рівномірних регулярних багатокутників: симетричну замикаючу (правильний шестикутник складається з двох з’єднуються рівносторонніх трикутників) і симетричну розгортання вентилятора (розрізати правильний шестикутник навпіл і розгорнути шматочки, як вентилятори на рівносторонні трикутники).

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


3
З іншого боку, нижня межа для такої природної проблеми здається однаково неправдоподібною! Ω(nlog2n)
Jeffε

Правда! Я б хотіла, щоб у мене була більш чітка відповідь. Це дуже цікаво.
Per Vognsen

Бонус нагороджений!
Jeffε

@PerVognsen: Чи можете ви дати посилання на цю точку зору щодо: симетрії багатокутників / симетрії блокування? Або якщо це власне спостереження, ви могли б трохи розширити його?
Джошуа Грохов
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.