תכנון אלגוריתמים, אביב 1021, תרגול מס' 4 תכנון דינאמי תכנון דינאמי בתרגול זה נדון בבעיית הכפלת סדרת מטריצות (16.1.(CLR ראשית נראה דוגמא: דוגמא: תהינה

מסמכים קשורים
Microsoft Word - tutorial Dynamic Programming _Jun_-05.doc

פקולטה: מחלקה: שם הקורס: קוד הקורס: מדעי הטבע מדעי המחשב ומתמטיקה מתמטיקה בדידה תאריך בחינה: _ 07/07/2015 משך הבחינה: 3 שעות סמ' _ב' מועד

מבנים בדידים וקומבינטוריקה סמסטר אביב תשע"ט מספרי רמזי תרגול 11 הגדרה: (t R = R(s, הוא המספר הטבעי הקטן ביותר כך שבכל צביעה של צלעות הגרף וכחול(, קיים

תכנות דינמי פרק 6, סעיפים 1-6, ב- Kleinberg/Tardos סכום חלקי מרחק עריכה הרעיון: במקום להרחיב פתרון חלקי יחיד בכל צעד, נרחיב כמה פתרונות אפשריים וניקח

תכנון אלגוריתמים עבודת בית 4: תכנון אלגוריתמים תאריך הגשה: 02: , בצהריים,תא מספר 66 בקומת כניסה של בניין 003 מתרגל אחראי: אורי 0

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

áñéñ åîéîã (ñéåí)

דף נגזרות ואינטגרלים לשאלון 608 כללים למציאת נגזרת של פונקציה: n 1. y' n x n, y הנגזרת x.1 נכפול בחזקה )נרשום אותה משמאל ל- (. x א. נחסר אחד מהחזקה. ב

Microsoft Word - ExamA_Final_Solution.docx

תרגול מס' 7 – חזרה על MST ואלגוריתם Dijkstra

<4D F736F F D20FAF8E2E5EC20E0ECE2E1F8E420EEF2E5F8E D F9E0ECE5FA2E646F63>

<4D F736F F D20F4F2E5ECE5FA20EEE5EEF6E0E5FA20312E646F63>

אנליזה מתקדמת

Microsoft Word - SDAROT 806 PITRONOT.doc

הטכניון מכון טכנולוגי לישראל אלגוריתמים 1 )443432( סמסטר חורף הפקולטה למדעי המחשב תרגול 9 מסלולים קלים ביותר תרגיל APSP - 1 עד כה דנו באלגור

אוניברסיטת בן-גוריון המחלקה למדעי המחשב בוחן במבנים בדידים וקומבינטוריקה פרופ' מתיא כ"ץ, ד"ר עופר נימן, ד"ר סטוארט סמית, ד"ר נתן רובין, גב'

Microsoft Word - 28

מקביליות

Tutorial 11

מועד: א בחינה סופית במתמטיקה דיסקרטית משך הבחינה: 2 1 שעות מרצה: פרופ' תאופיק מנסור תאריך: סמסטר: א תשע"ח m 2 הוראות לנבחן: )1( הבחינה מו

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

. שאלה 1: ה אי x] T : R 4[ x] R 4[ אופרטור ליניארי מוגדר על-ידי T( ax bx cx d) bx ax cx c )13 נק'( א( מצאו את הערכים העצמיים, המרחבים העצמיים

Microsoft Word - solutions.doc

מקביליות

מתמטיקה של מערכות

תורת החישוביות תרגול הכנה לוגיקה ותורת הקבוצות מה יש כאן? בקורס תורת החישוביות נניח ידע בסיסי בתורת הקבוצות ובלוגיקה, והכרות עם מושגים בסיסיים כמו א"ב

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

Algorithms Tirgul 1

תרגול 1

Limit

Microsoft Word - Sol_Moedb10-1-2,4

פתרון וחקירת מערכות של משוואות לינאריות שאלות: 1( מצא אילו מהמערכות הבאות הן מערכות שקולות: 2x+ y= 4 x+ y= 3 x y = 0 2x+ y = 3 x+ 10y= 11 א. 2x 2y= 0

PRESENTATION NAME

MathType Commands 6 for Word

תרגול מרובעים- מקבילית נתונה מקבילית בעלת היקף בגודל 33 ס"מ, כמו כן אחת מצלעות המקבילית שווה ל- 8 ס"מ. מהו גודלה של שאר צלעות המקבילית בס"מ?.1 8 נתונה

<4D F736F F D20EEF9E5E5E0E5FA20E3E9F4F8F0F6E9E0ECE9E5FA2E646F63>

מבוא לתכנות ב- JAVA תרגול 7

שיעור מס' 6 – סבולות ואפיצויות

Untitled

Microsoft Word - בעיות הסתברות 1.doc

<4D F736F F D20E7F9E1E5F0E0E5FA20F4E9F0F0F1E9FA2E646F63>

Microsoft Word - hedva 806-pitronot-2011.doc

מבוא למדעי המחשב

מטלת מנחה (ממ"ן) 11 הקורס: חשבון אינפיניטסימלי II חומר הלימוד למטלה: יחידות 2,1 4 מספר השאלות: 7 משקל המטלה: נקודות סמסטר: ב 2007 מו

עב 001 ינואר 12 מועד חורף פתרונות עפר

מבוא למדעי המחשב

<4D F736F F D20F9E9F2E5F820F1E9EEF0E920E7ECE5F7E4>

תרגול 1

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

שעור 6

PowerPoint Presentation

מבוא לאנליזה נומרית na191 Assignment 2 solution - Finding Roots of Nonlinear Equations y cos(x) שאלה 1 היכן נחתכים הגרפים של? y x 3 1 ושל ממש פתרונות

Microsoft Word - 01 difernziali razionalit

Microsoft Word - Questions Booklet Spring 2009

מבוא למדעי המחשב - חובלים

מהוא לתכנות ב- JAVA מעבדה 3

תרגיל 9 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד 1. תהי L השפה בעלת סימן פונקצייה דו מקומי G, סימן פונקציה חד מקומי T, סימן יחס תלת מקומי.c, d וקבועים L

מקומות גיאומטריים השתלמות קיץ הקדמה: נושא המקומות הגיאומטריים הינו מרכזי בתכנית הלימוד ל- 5 יח"ל. פרק זה מאגד בתוכו את כל המרכיבים של הגיאומטרי

Microsoft Word - ex04ans.docx

שאלה 2. תכנות ב - CShell

תאריך הבחינה 30

סז 002 נואר 07 מועד חורף פתרונות עפר

חשבון אינפיניטסימלי מתקדם 1

אי שוויונים ממעלה ראשונה לארבע יחידות

Microsoft Word - אלגברה מעורב 2.doc

אלגברה ליניארית תאוריה ותרגילים פרופ' שלמה הבלין, אוניברסיטת בר אילן ד"ר יפית מעין, מרכז אקדמי לב

פתרון 2000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : פלט num = 37, sif = 7 r האם ספרת האחדות של sif שווה ל- num num 37 sif 7 שורה (1)-(2) (

מספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה

שיעור 1

מקביליות

<4D F736F F D20F4FAF8E5EF20EEE5F2E320E020F1EEF1E8F820E120FAF9F2E3>

עמוד 1 מתוך 5 יוחאי אלדור, סטטיסטיקאי סטטיסטיקה תיאורית + לוחות שכיחות בדידים/רציפים בגדול מקצוע הסטטיסטיקה נחלק ל- 2 תחומים עיקריים- סטט

Slide 1

1 בגרות עח יולי 18 מועד קיץ ב שאלון x b 2 2 y x 6x שיעור ה- א x לכן, של קדקוד הפרבולה, ו-, מתקבל על ידי הנוסחה a. C(3, 9) ובהתאם, y. (3, 9) 2 C

לדרך... מה נלמד? תרגילים חיבור מספרים מכוונים נלמד את כללי החיבור של מספרים מכוונים. )תשובות לתרגילים בפרק זה-בעמ' (.Ⅰ

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 313, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן שאלה מספר

HaredimZ2.indb

בגרות עז יולי 17 מועד קיץ ב שאלון ,000 א. ניתוח הנתונים מחירה של ספה הוא שקלים, והיא התייקרה ב-. 25% כאשר המחיר מתייקר ב- המחיר החדש הוא פי,

2019 שאלות מומלצות לתרגול מס' דיפרנציאביליות של פונקציה סקלרית )המשך(. כלל השרשרת. S = ( x, y, z) z = x + 3y על המשטח מצאו נקודה בה מישור משיק

אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבו

<4D F736F F D20F4F8F720E7F9E9E1E420EBEEE5FAE9FA203120E9E5ECE E646F63>

אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג, משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם

Disclaimer מסמך זה הינו סיכום און-ליין של השיעור ולא עבר עריכה כלל. מצאת טעות? שלח/י לי מייל ואתקן: 07/05/2009 קורס: מערכות ה

הגשה תוך שבוע בשעת התרגול

עבודת קיץ לתלמידים כיתה ט' העולים לכיתה י (רמה 4-5 יחידות)

תוכן העניינים

א"ודח ב2 גרבימ הרש 1 רפסמ האצרה סקוטס טפשמו בחרמב םיווק םילרגטניא 13 בחרמב ינש גוסמ יוק לרגטניא L יהי :ידי לע ירטמרפ ןפואב ראותמה בחרמב קלח םוקע (x(t)

Slide 1

Microsoft Word - 38

תרגול 1

מצגת של PowerPoint

טיפים להצלחה במהלך הבחינה 1. בתחילת הבחינה קראו היטב את כל השאלות וסמנו לעצמכם את השאלות המועדפות על ידכם. קראו כל שאלה לפחות פעמיים, כדי שלא תחמיצו נ

rizufim answers

תרגיל 5-1

מצגת של PowerPoint

ex1-bash

Microsoft Word - עבודת פסח לכיתה י 5 יחל.doc

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי

kefel 1-34

עבודה במתמטיקה לכיתה י' 5 יח"ל פסח תשע"ה אפריל 5105 קשה בלימודים, קל במבחנים, קל בחיים עבודה במתמטיקה לכיתה י' 5 יח"ל פסח תשע"ה יש לפתור את כל השאלות

תמליל:

תכנון דינאמי בתרגול זה נדון בבעיית הכפלת סדרת מטריצות (6..(CLR ראשית נראה דוגמא: דוגמא: תהינה ארבע מטריצות:. A, A, A, A נסמן את גודל המטריצות בסדרה ע"י סדרת גדלים כאשר, p 5 5 p היא בגודל A {,,,5,}, P כלומר הכפלה של שתי מטריצות. למשל: A A היא בסיבוכיות של במקרה הכללי: בדרך הנאיבית היא בסיבוכיות של מכפלת הגדלים, כלומר., והתוצאה היא מטריצה בגודל ** A A היא בסיבוכיות הכפלת מטריצות היא אסוציאטיבית:. p, p p p והמטריצה המתקבלת היא בגודל ( A A ) ( A A ) A (( A A ) A ), כלומר סדר הכפלים אינו משנה את התוצאה. לעומת זאת סדר הכפלים משנה את מספר הכפלים לחישוב: אם נכפיל את המטריצות כך: ) A ( A A ) ( A ה"עלות" תהיה לזוג המטריצות השמאליות, ו-. A הכפלת שתי התוצאות **. סך הכול A למכפלה *5* חישובים. תהיה A A, רק עלות המכפלה ) A A (( A A ) אם נכפיל את המטריצות כך: **5, ועלות זו גבוהה בהרבה מהכפלת הסדרה כולה לפי סדר ההכפלות הקודם. נגדיר פורמאלית את הבעיה: מימד העמודות { A, A..., A n הניתנות להכפלה, כלומר, לכל מופע: סדרת מטריצות } של שווה למימד השורות של. A, A..., A n }שנסמנו ב פתרון אפשרי: סדר הכפלה של המטריצות } )t cos להיות מספר הפעולות הנדרש להכפלת עלות הפתרון: עבור פתרון נגדיר את (U יש למצוא: סדר הכפלה של המטריצות עם עלות מינימום. נשים לב שפתרון לבעיה הינו הצבת סוגריים על סדרת המטריצות, שכן הסוגריים מגדירים סדר הכפלה. הפתרון הנאיבי הוא לנסות את כל האפשרויות להצבת סוגריים על הסדרה. בכמה אופנים ניתן להכניס סוגריים מאוזנים בצורה מלאה במחרוזת באורך n? התשובה היא מספר ק ט ל ן ).5 )Ώ n n/ הוא חסם תחתון אקספוננציאלי. ליתר דיוק, שהוא אקספוננציאלי ב- )Catalan( של למספר הזה. נראה כי קיים פתרון יעיל בהרבה.

פתרון על ידי תכנון דינמי הגדרת תתי הבעיות ו OPT }.,...,A {A את מספר פעולות הכפל המינימאלי הדרוש להכפלת סדרת המטריצות OPT[, נסמן ב- [ אנו מחפשים את [n, OPT[, כלומר מספר פעולות הכפל המינימאלי בהכפלת כל סדרת המטריצות..OPT[, למשל, אם } { A,..., A}=}A, A אז ]= טענה: )מבנה של פתרון אופטימאלי(, OPT[, ] mn{ OPT[, OPT[, ] },, הוכחה: א. ניתוח מקרים נחלק את הפתרונות האפשריים לקבוצות. נגדיר תת-קבוצות של פתרונות אפשריים,, S, S,, S כאשר היא אוסף של כל הפתרונות בהם הכפל האחרון הוא בין S תוצאת מכפלת הסדרה {A {,...,A לתוצאת מכפלת הסדרה {A }, A,..., ז"א כל הפתרונות. ( A A... A ) ( A A... A) ב. מהצורה: תת-הקבוצות מסעיף )א( מכסות את קבוצת כל הפתרונות האפשריים - ניקח פתרון כלשהו לבעיה U,שהוא סדר להכפלת סדרת מטריצות } A }. A, A,... נתבונן בכפל האחרון בסדר. נניח כי. US הכפל האחרון הוא בין המכפלות של הסדרות{ A {,...,A ו- {A }, A,..., אזי ג. מסקנה לצורת נוסחת המבנה )t cos להיות מספר הפעולות הנדרש להכפלת U) הגדרנו את U S תזכורת: לכל פתרון המטריצות } A { A, A..., לפי הסידור של הפתרון U עבור,., S כלומר, S O ( S להיות המחיר המינימאלי של הפתרונות בקבוצה נגדיר את ). O ( S ) mn{cos t( U)} U S מסקנה: מ-)א( ו- )ב( OPT [, ] mn O ( S ), ( ),..., O S O ( S )

ד. ניתוח האופטימום של כל קבוצה.. O ( S ) OPT[, OPT[, ] נוכיח כי לכל מתקיים P P כיוון : נסתכל כל צד ימין, יהיו ו- הסידורים של המטריצות {A {,...,A ו- {A { A,..., בהתאמה כך ש: P של סדרת המטריצות והמטריצות A} { A,..., t(. cos אזי הסידור P ) OPT[, ] ו- cos t( P ) OPT[, } A { A, A..., כך שהמטריצות A} { A,..., מוכפלות לפי הסידור P ( A A... A ) ( A A... A ), P והכפל האחרון מוכפלות לפי הסידור הוא S פתרון ב- ועלותו היא: בהכרח מתקיים t(. cos ולפי הגדרת P ) OPT[, OPT[, ]. O ( S ) cos t( P ) O ( S כיוון : P כך ש- ) ( cos,o ( S ) כלומר קודם מכפילים מטריצות t P S נסתכל על צד שמאל, יהי {A },,...,A אח"כ מכפילים מטריצות {A { A,..., ואח"כ מכפילים את התוצאות.. ב- P P ו- הסידורים של המטריצות A} { A,..., ו- A} { A,..., )בהתאמה( [ P ) P יהיו הוא מחיר t( cos ולכן P ) cos t( P ). O ( S ) cos t( P ) cos t( P ) cos t( P ), OPT ולכן ] cos t( P ) וגם OPT, cos t( P ) מתקיים כי: OPT[, לפי הגדרת [ [. O ( S ) OPT [, OPT [, ] הערה: הוכחנו רק את הנוסחא ולא את "האלגוריתם". שימו לב שעד כה לא תיארנו אלגוריתם. אלגוריתמים מבוססי תכנון דינאמי לבעיית המטריצות.OPT[, נתחיל מאלגוריתם רקורסיבי לחישוב [ Recursve-Matrx-Chan(,) f then return else m for to do q Recursve-Matrx-Chan(,) + Recursve-Matrx-Chan(+, )+ p p p f q m then m q return m A,..., A n המחיר המינימאלי של הכפלת המטריצות.Recursve-Matrx-Chan(,n) יתקבל ע"י ההפעלה

הבעיה באלגוריתם הנ"ל היא שנחשב מספר גדול של חישובים חופפים הרקורסיבי שראינו קודם: נתבונן לדוגמא בעץ הקריאות, OPT[ הוא לפחות אקספוננציאלי ב- n }פתרון נוסחת המבנה: מקרה בסיס זמן הריצה הנדרש לחישוב [ }T( n) n ( T( ) T( n ) ) ועבור :n> T() פתרון רקורסיבי כזה הוא לא הכי טוב שניתן להשיג. זה הזמן לשים לב לכך שכמה זוגות ערכים מופיעים בעץ פעמים רבות. כלומר,מספר תת הבעיות הקטנות שהאלגוריתם שלנו פוגש במהלך הפתרון הוא קטן יחסית: n. n ( n ) הוא n המקיים, מספר האפשרויות לבחור זוג על מנת להימנע מחישוב חוזר של תת בעיות, נשמור במבנה נתונים כל פתרון שנחשב לתת בעיה. במקרה, OPT[ אזי ערך הפתרון מאוכסן בטבלה שלנו, נבנה טבלה בגודל nn כך שאם חישבנו כבר את [ במקום ה- ].[, שיפור זמן ריצה על ידי שיטת הפתקאות (memozaton) בזמן ריצת האלגוריתם הרקורסיבי, לפני כל קריאה רקורסיבית נבדוק האם תת הבעיה הזו כבר חושבה )על פי הערך בטבלה בעלת ערך שונה מ- (, אם הערך חושב נשתמש בו ונחסוך קריאה רקורסיבית מיותרת )במחיר של חיפוש במבנה הנתונים(, אם הערך לא חושב, נחשב אותו ונאכסן את התוצאה במבנה הנתונים לשימוש עתידי. שיטה זו נקראת שיטת התזכור -.memozaton Memozed-Matrx-Chan(n) for to n do for to n do m[, ] return Looup-Chan(,n)

Looup-Chan(,) f m[, ] then return m[, ] else f then m[, ] else for to do q Looup-Chan(,) + Looup-Chan(+, )+ p p p f q m[, ] then m[, ] q return m[, ] ניתן לראות כי זמן החישוב של הפרוצדורה הוא. אלגוריתם איטראטיבי במקום לחשב את הפתרון בצורה רקורסיבית, נחשב את הפתרון "מלמטה למעלה" בצורה איטראטיבית. החישוב לתת בעיה באורך משתמש רק בתוצאות החישובים לתתי הבעיות באורך וכן הלאה. ז"א הנתונים הנדרשים לחישוב תת בעיה באורך l הם פתרונות עבור תתי בעיות באורך קטן מ- l אשר כבר חושבו ונמצאים בטבלה. זו בעצם בניית הטבלה מהאלכסון הראשי ומעלה. השגרה משתמשת בטבלת עזר m[..n,..n] לאחסון העלויות ובטבלת עזר s[..n,..n] שבה נרשמים האינדקסים שעבורם התקבלה עלות אופטימאלית בעת חישוב,m[,] כלומר זהו הערך שמפצלים בו את המכפלה A.. כדי לקבל הצבת סוגריים אופטימאלית. A Matrx-Chan-Order(n) for to n do m[, ] for l to n do for to nl do l m[, ] for to do q m[, ] + m[, ] + p p p f q m[, ] then m[, ] q s[, ] return m and s בקטע קוד הזה אנחנו מחפשים ומכניסים ל - s[,] את הערך שמפצלים בו את המכפלה A.. כדי לקבל הצבת סוגריים A אופטימאלית ע"י בדיקת הערכים =,..,- ומציאת המינימום.. A, A, A 5, A5 מכיוון שהגדרנו את m[,] עבור האיור הבא מדגים תהליך זה על המטריצות בלבד, אנו משתמשים רק במשולש הנמצא מעל האלכסון הראשי של הטבלה. באיור הבא, הטבלאות מסובבות כך שהאלכסון הראשי הוא בכיוון האופקי. העלות המינימאלית m[,] של חישוב תת המכפלה

A A לכיוון צפון-מזרח, והקו היוצא מ- A.. A תימצא בתא שבנקודת החיתוך בין הקו היוצא מ- לכיוון צפון-מערב. כל שורה אופקית בטבלה מכילה תאים עבור סדרות מטריצות באותו האורך. השגרה Matrx-Chan-Order(n) מחשבת את השורות מלמטה למעלה ובכל שורה משמאל לימין. ערך התא ובכל ערכי התאים m[,] מחושב תוך שימוש במכפלות p p p עבור הנמצאים מדרום-מערב ומדרום-מזרח ל-[ m[,. 5 5 5 A A A A m s הוכחת נכונות של האלגוריתם האיטראטיבי יש לוודא כי בעת חישוב תא m[,] כל התאים בהם תלוי החישוב של תא זה חושבו כבר ואלו מכילים ערכי פתרונות אופטימאליים עבור תתי-הבעיות אותן הם מייצגים. יש להוכיח את שתי הטענות הבאות: טענה)ניתן להראות באינדוקציה(: בעת חישוב התא ה- m[,] כל התאים בשורה ה- מהעמודה ה- ועד העמודה ה-( - ) וכל התאים בעמודה ה- מהשורה ה-( + ) ועד השורה ה- כבר חושבו על מבנה הנתונים )במקרה זה מטריצה(. טענה: )הטענה שמנסחת את הנוסחה הרקורסיבית(: התא m[,] אכן שווה ל- OPT(,) לאחר החישוב. כלומר יש להראות )באינדוקציה( שערך התא שווה לערך שמחושב על ידי הנוסחא שהוגדרה קודם,, OPT[, ] mn{ OPT[, OPT[, ] }, 6

שחזור: כיצד למצוא סדרת הכפלות אופטימאלית ולא רק עלות בזמן מילוי הטבלה, בכל תא נחזיק גם את ה- שממנו הגענו לתוכן התא. כלומר, את הערך שמגדיר כיצד לחלק את בעיית ההכפלה {A {,...,A בצורה אופטימאלית. בעזרת ערכים אלו נוכל ע"י הליכה "אחורה" מהתא [n,] ו"איסוף" ה- -ים לשחזר את הצבת הסוגריים. : A, A, A, A 5 5 לדוגמא, במקרה של המטריצות שלנו l שלב : ++p*p*p = * * = K = + + p*p*p = * * 5 = K = + +p*p*p = *5* = K= l שלב : = ++p*p*p = +**5 = 5 = K= ++p*p*p = +** = 5 = K= l שלב : = 5 = K= +5+p*p*p= 5+** = 5 = 5 = K= ערך הפתרון האופטימאלי נמצא ב [,]: = 5 = K= 5 = 5 = K= 7

{ A ותת שיחזור: נסתכל על התא [,]. כיוון ש ההכפלה האחרונה בסדרה היא בין תת הסדרה } הסדרה } A,{ A, A, ז"א ) A. A ( A A כעת נביט בתא [,] על מנת למצוא את ההצבה האופטימאלית של הסוגריים בתוך } A.{ A, A, בתא זה, משמע סדר ההכפלות הוא )) A, A ( A ( A ובזאת סיימנו את השחזור. ניתוח זמן : מילוי הטבלה: ישנם ) ( On תאים בטבלה. n תאי האלכסון מאותחלים בזמן קבוע לכל תא. זוגות של תאים שכבר חושבו, ובמקרה הכללי ) ( On כל תא [ [, מצריך בדיקה של תא. סה"כ זמן מילוי הטבלה: (n )O..O( n) שלבים כשכל צעד בזמן קבוע - שיחזור ההצבה הליכה לאחור n פעולות לכל וכמה מקום צריך? לסיכום: בהינתן בעיה שאתם שוקלים לפתור אותה )חושדים או יודעים שפתרונה הוא( ע"י תכנון דינאמי, אלה השלבים שמרכיבים את הפתרון:.OPT הגדרת הבעיות באופן מילולי והגדרת ניסוח נוסחת המבנה, כולל מקרי בסיס ומיקום הפתרון לבעיה המקורית. הוכחת נכונות של נוסחת המבנה: הגדרת תתי-קבוצות של פתרונות אפשריים לפי חלוקה למקרים. o הוכחה שתתי-הקבוצות הנ"ל מכסות את כל הפתרונות האפשריים. o הסקת הצורה הסכמאטית של נוסחת המבנה. o ניתוח כל תת-קבוצת פתרונות בנפרד, והוכחת המרכיבים המתאימים o בנוסחת המבנה. מימוש האלגוריתם איטראטיבי/רקורסיבי למציאת ערך הפתרון האופטימאלי ו/או הפתרון האופטימאלי עצמו )לפי הדרישה(. הוכחת נכונות של האלגוריתם: האלגוריתם פועל בהתאם לנוסחת המבנה. o בכל שלב בריצת האלגוריתם, כל ערך לו האלגוריתם זקוק, חושב o באחד מהשלבים הקודמים. ניתוח זמן ריצה. 8