Presentation is loading. Please wait.

Presentation is loading. Please wait.

פרוייקט מסכם-עיבוד מקבילי

Similar presentations


Presentation on theme: "פרוייקט מסכם-עיבוד מקבילי"— Presentation transcript:

1 פרוייקט מסכם-עיבוד מקבילי
בעיית הסוכן הנוסע (TSP) במימוש PVM

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

3 המשימה- טיול בארץ ישראל!

4 היסטוריה Sir Wiliam Hamilton, 18xx

5 היסטוריית בעיית הסוכן הנוסע
1930 תחילה נלמד ע"י Karl Menger ערים ערים ערים ערים ,509 ערים ,112 ערים

6 סיבוכיות בעיית הסוכן הנוסע (TSP)

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

8 אסטרטגיית "תאב הבצע" נכשלת:
10 5 12 2 3 1

9 המסלול הנכון שהיינו צריכים לקבל:
10 5 12 2 3 1

10 בעיית הסוכן הנוסע לא פולינומיאלית !
לא פתירה כבעיית פולינום. פתירה כבעיית N! .

11 פתרון בעיית D15112 15,112 ערים בגרמניה 110 מעבדים
15,112 ערים בגרמניה 110 מעבדים 22.6 שנים זמן חישוב כולל מעבדי 500 MHz אורך מסלול אופטימלי: 66,000 ק"מ ברחבי גרמניה.

12 פתרון בעיית D15112

13 האלגוריתם שבחרנו אלגוריתם:BRANCH & BOUND (BAB)
אלגוריתם זה כולל שתי פרוצדורות עיקריות. Branching – הסתעפות: בפרוצדורה זו הבעיה מחולקת למספר תת בעיות. Bound – תיחום: בפרוצדורה זו משווים את המרחק שחושב בתת הבעיות, עם המרחק המינימלי שחושב עד כה. אם קיימת תת בעיה אשר מרחקה ארוך יותר היא נמחקת. Typical of search and optimization programs.

14 Branching - הסתעפות אתחול: חלק מחזורי:
לך מהעיר ההתחלתית לכל שאר הערים. סדר מסלולים חלקיים ב"תור קדימויות" לפי אורכם. חלק מחזורי: קח איבר מראש " תור קדימויות". הרחב את המסלול כלפי כל אחת מהערים הנותרות.

15 Bounding - תיחום כאשר מסלול שלם נמצא, קיבלנו מינימום מקומי לאורך מסלול מלא. כל המסלולים החלקיים אשר ארוכים מהמסלול המנימלי שנמצא עד כה, נמחקים.

16 מציאת הפתרון לאחר זמן מה מסלול מלא ימצא.
נשמור את אורכו כמסלול הקצר ביותר. כל מסלול חדש שימצא, נבדוק האם הוא הקצר ביותר. כאשר "תור הקדימויות" מתרוקן הרי שבידנו המסלול הקצר ביותר.

17 דוגמא- עבור 4 ערים (שלב 1) נקודת התחלה:1 תור קדימויות 4 5ק"מ 1 10ק"מ
מוביל 1->4| 5km 1->2| 8km 1->3|10km תור קדימויות מסלול חלקי 4 3 2 5ק"מ 10ק"מ 8ק"מ

18 מסלול נבחר מהרשימה: 1->4
דוגמא - שלב 2 מסלול נבחר מהרשימה: 1->4 1->4->3| 9km 1->4->2|13km 1->2| 8km 1->3|10km תור קדימויות המוביל מסלול חלקי 1 4 5ק"מ 3 2 8ק"מ 4ק"מ

19 מסלול נבחר מהרשימה: 1->4->3
דוגמא – שלב 3 מסלול נבחר מהרשימה: 1->4->3 1->4->2|13km 1->2| 8km 1->3|10km תור קדימויות המוביל מסלול חלקי 1 4 3 5ק"מ 4ק"מ 2 8ק"מ פתרון ראשון נמצא ! פתרון נוכחי = 17ק"מ

20 דוגמא – שלב 4 מסלול נבחר מהרשימה : 1->4->2.
1->2| 8km 1->3|10km תור קדימויות המוביל מסלול חלקי 1 5ק"מ 4 3 7ק"מ 8ק"מ הנהנהנבה פתרון שני נמצא ! 2 17ק"מ = פתרון נוכחי < פתרון שני = 20 ק"מ

21 החלק הטורי בתוכנית: מבנה נתונים
"תור קדימויות" של מסלולים חלקיים. הפתרון הטוב ביותר שנמצא עד כה. מטריצת מרחקים.

22 החלק בתוכנית שניתן למיקבול
נשתמש בתצורת מתאם /עובד (Master-Worker): מתאם - מנהל את מבנה הנתונים המשותף. ("תור קדימויות", פתרון נוכחי ) עובד – מפתח ומחשב מסלול חלקי אחד בכל פעם. מימוש בעזרת PVM Copy this to black board. Draw a graph of client/server, illustrate what data is kept in each side, and the messages from one to another.

23 תקשורת עובד מתאם מתאם עובד מבקש לחשב מסלול חלקי חדש.
עובד מתאם מבקש לחשב מסלול חלקי חדש. הכנסת מסלול חלקי שחושב על ידו ל"תור הקדימויות". מעדכן את המתאם אם נמצא מסלול מינימלי חדש. מתאם עובד שולח מסלול חלקי חדש לחישוב. מכריז על סיום פעולת החישוב. מעדכן מאגר נתונים אם נמצא מסלול מינימלי חדש.

24 חלוקת עומסים במקבול עלינו להגביל את מספר פיצולי התהליכים, על מנת להשיג חלוקת עומסים אופטימלית ע"י איזון בין זמן התקשורת לזמן החישוב. לדוגמא: נתבונן במקרה בו מוקצים 2 תהליכים למעבד, ניתן להניח שכאשר אחד התהליכים מחכה לתקשורת עם המתאם התהליך השני ממשיך את חישוביו. Copy this to black board. Draw a graph of client/server, illustrate what data is kept in each side, and the messages from one to another.

25 בעיות תקשורת צפויות הפתרון דורש העברת הודעות רבות o(n!) .
לעיתים יתכן מצב שמספר ההודעות עובר את סדר הגודל הזה ולכן כפיתרון ניתן לשלב מספר הודעות להודעה אחת וכך להקטין את זמן התקשורת.

26 מעוניינים לדעת עוד על בעיית הסוכן הנוסע?
Traveling salesman problem Home Page THE END !!


Download ppt "פרוייקט מסכם-עיבוד מקבילי"

Similar presentations


Ads by Google