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

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

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

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


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

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

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