שאלת מבחן באלגוריתמים - האוניברסיטה הפתוחה 2021 - התמרת פורייה מהירה

הנחיות: אסור להשתמש באלגוריתם של Strassen; הניחו שכל פעולה אריתמטית (חיבור/חיסור/כפל/חילוק/השוואה של מספרים) מתבצעת בזמן קבוע.

(א) ברצוננו להפיק תחזית מזג-אוויר למחרתיים, עבור אתרים. לכל אתר נתונות שלוש מטריצות: מסדר (מצב מזג-האוויר היום), מסדר (השינוי מהיום למחר, כך ש- הוא מזג-האוויר מחר), ו- מסדר (השינוי ממחר למחרתיים, כך שמזג-האוויר במחרתיים הוא ). הציגו אלגוריתם יעיל ככל האפשר לחישוב מזג-האוויר במחרתיים בכל האתרים.

(ב) הציגו אלגוריתם לחישוב המכפלה של שתי מטריצות , אם מקיימת שכל שורה בה היא הזזה מחזורית של השורה הראשונה (מטריצה מחזורית/circulant): אם השורה הראשונה היא , אזי שורה היא . נדרש זמן (רק אלגוריתם, ללא הוכחה).
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
האוניברסיטה הפתוחהמועד 56 · 2021 · סמסטר ב
★★★★★
התמרת פורייה מהירהניתוח אלגוריתמיםסיבוכיות
בסעיף (א) שימו לב שכפל מטריצות אסוציאטיבי — האם סדר ביצוע המכפלות משנה את העלות כאן, בהינתן שהמימדים אינם שווים? בסעיף (ב) התבוננו במכפלה של המטריצה בעמודה בודדת ושאלו איזו פעולה מוכרת זו בדיוק.
(א) נחשב לפי סדר הכפל (אסוציאטיביות):
  • : מכפלת בזמן ; התוצאה מסדר .
  • : מכפלת בזמן .


לכל אתר , ולכל האתרים סה"כ . (הסדר ההפוך היה עולה לאתר, כלומר סה"כ.)

(ב) כל עמודה של היא קונבולוציה מעגלית של השורה הראשונה עם העמודה המתאימה של (שכן מחזורית). קונבולוציה מעגלית מחושבת ב-FFT:
0. חשב
של (השורה הראשונה של) .
1. לכל עמודה
של : חשב של העמודה, כפול איבר-איבר בתוצאת שלב 0, ובצע — זו העמודה ה- של .
2. החזר את
.

זמן ריצה: ביצועים של FFT/iFFT, כל אחד , סה"כ .