שאלת מבחן באלגוריתמים - האוניברסיטה הפתוחה 2019 - התמרת פורייה מהירה
נתונים מקדמיו השלמים של פולינום מדרגה . הניתוח הסטנדרטי של FFT מחשב את ערכי הפולינום ב- שורשי היחידה המרוכבים כאשר . נסחו מחדש את אלגוריתם ה-FFT (רדיקס-3) עבור .
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
האוניברסיטה הפתוחהמועד 86 · 2019 · סמסטר ב
★★★★★
התמרת פורייה מהירההפרד ומשולמשפט האב
במקום פיצול זוגי/אי-זוגי, פצלו את המקדמים לשלושה תת-פולינומים לפי שארית האינדקס מודולו 3, הריצו רקורסיבית ב-, ושלבו לפי .
במקום לפצל את הפולינום לשני גורמים (זוגי/אי-זוגי), נפצל אותו לשלושה גורמים לפי שארית האינדקס מודולו 3, נריץ FFT (מסדר , עם ) על כל אחד, ונשלב.
הסבר. , כאשר מורכב מהמקדמים בעלי אינדקס . הרצה רקורסיבית על ב- נותנת את ערכיהם בשורשי היחידה מסדר , ומהם מרכיבים את לפי הנוסחה.
זמן ריצה. , ולפי משפט האב .
FFT((a_0,...,a_{n-1}), ω):
if n == 1: return (a_0)
f0 = FFT((a_0, a_3, a_6, ..., a_{n-3}), ω^3) # אינדקסים ≡ 0 (mod 3)
f1 = FFT((a_1, a_4, a_7, ..., a_{n-2}), ω^3) # אינדקסים ≡ 1 (mod 3)
f2 = FFT((a_2, a_5, a_8, ..., a_{n-1}), ω^3) # אינדקסים ≡ 2 (mod 3)
for k = 0 .. n-1:
f(ω^k) = f0(ω^{3k}) + ω^k · f1(ω^{3k}) + ω^{2k} · f2(ω^{3k})
return (f(ω^0), f(ω^1), ..., f(ω^{n-1}))
הסבר. , כאשר מורכב מהמקדמים בעלי אינדקס . הרצה רקורסיבית על ב- נותנת את ערכיהם בשורשי היחידה מסדר , ומהם מרכיבים את לפי הנוסחה.
זמן ריצה. , ולפי משפט האב .