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

Slides:



Advertisements
Similar presentations
Talk for a minute. see next notes section End.
Advertisements

1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
Blending and Rhyming Words
פונקציונל פונקציה מספר פונקציונל דוגמאות לא פונקציונל פונקציונל.
Presentation by Dudu Yanay and Elior Malul 1.  מה משותף לכל אלגוריתם המשתמש ב -Bucket Elimination: ◦ נתון מודל הסתברותי ורשת ביסיאנית מתאימה. ◦ נתונה.
דוד שוורץ, עידן זק, נטע צור וחיה כהן. הפונקציונאליות : המשתמש יבחר קובץ שעליו הוא רוצה לבצע את האנליזה, וילחץ עליו עם כפתור ימני בעכבר. יפתח תפריט ובו.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.
Inverse kinematics (Craig ch.4) ב"ה. Pieper’s solution נתבונן ברובוט עם 6 מפרקי סיבוב כאשר שלושת הצירים של המפרקים האחרונים נחתכים. נקודת החיתוך נתונה.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
Power Consumption Awareness by using a Pedometer המעבדה לרשתות מחשבים המעבדה לרשתות מחשבים סמסטר אביב תשס " ח סמסטר אביב תשס " ח מנחים: איתי דברן – המעבדה.
Unemployment World’s Fiercest Enemy. Unemployment.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
משפט ההרכבה Composition Theorem תהי C מחלקה של פונקציות בוליניות תהי נגדיר סדרת פונקציות שניתנות לחישוב בזמן פולינומיאלי.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
צוות : גרייף אלה כורך אילנה רשקובסקי לובה אוניברסיטת בו גוריון בנגב מחלקה להנדסה תוכנית להנדסת תוכנה Application Requirements Presentation.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
Synchronizers - מסנכרנים הדמיית רשת סינכרונית ברשת אסינכרונית.
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
1 חישוב ואופטימיזציה של שאילתות חלק 2 Query Evaluation and Optimization Part 2.
תזכורת: גרפים גרף (G=(V,E V|=n, |E|=m| מכוון \ לא מכוון דרגה של קדקד
ערמות ; מבני נתונים 09 מבוסס על מצגות של ליאור שפירא, חיים קפלן, דני פלדמן וחברים.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
דיפרנציאציה ואינטגרציה נומרית
מבני בקרה לולאות. שאלה #1 שאלה ב' – תכתוב תוכנה הכותבת את תפריט הבאה Type 1 to find the area of a circle Type 2 to find the circumference of a circle.
מבוא למדעי המחשב תרגול מספר.
שאלה 1 נתון כביש ישר עם תחנות דלק בנקודות , בנקודת המוצא נתונה מכונית עם תא דלק שמספיק ל-100 ק"מ. מחיר מילוי תא הדלק בתחנה.
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
טיב פני שטח (טפ"ש) טיב פני שטח- רמת החלקות של המשטח.
תזכורת : אלגברה ליניארית מסקנה קלט : וקטורים פלט : האם u תלוי ליניארית ב קלט : מערכת של n משואות לינאריות ב -m נעלמים. פלט : פתרון, או שאין כזה. אלגוריתם.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
עצים בינאריים - תזכורת דרגת צומת שורש עלה צומת פנימי מרחק בין 2 צמתים
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Points on a perimeter (Convex Hull) קורס – מבוא לעבוד מקבילי מבצעים – אריאל פנדלר יאיר ברעם.
1 מבוא למדעי המחשב backtracking. 2 מוטיבציה בעיית n המלכות: נתון: לוח שחמט בגודל. המטרה: לסדר על הלוח n מלכות כך שאף אחת לא תאיים על השנייה. דוגמא: עבור.
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
דיפרנציאציה ואינטגרציה נומרית
Have you learnt the material? Checking test Made by Natalie Bogomaz LB Start.
Lesson 1.1 Place Value.
Bruce Lee By: Debby Kwan Bruce Lee was born on the 27th November 1940 in San Francisco Chinatown in the United States.
1 מבוא למדעי המחשב הרצאה 21: Queue, Iterator & Iterable.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
Physics Jeopardy!. $100 $200 $300 $400 $500 Newton’s Laws EnergyMomentum Circular Motion GravitationThermo.
My Favorite Novel: WARRIORS
Einsteinium By: Carrington Austin 99 Es 252. Properties and Uses There are no properties, Einsteinium is too small There are no properties, Einsteinium.
1 2-7 Diffusion 2 Molecules Molecules are the smallest part of a substance that still have the characteristics of that substance. Molecules are the smallest.
. Sequence Alignment Tutorial #3 © Ydo Wexler & Dan Geiger.
פס על כל העיר נורית זרחי.
Go-SAK into the 21st Century!. Teaching the You-Tube Generation- Flip Videos.
End BBBB HHHH EEEE CCCC AAAA JJJJ FFFF GGGG DDDD IIII LLLL RRRR OOOO MMMM KKKK TTTT PPPP QQQQ NNNN SSSS.
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
Servicenow Training Institute in Hyderabad. About Us ServiceNow Administration, ServiceNow Develo pment, ServiceNow Integration Training provide at KMRsoft.
תקשורת ומחשוב תרגול 1 IP, Classes and Masks.
בעיות נוספות ב-NPC.
Marina Kogan Sadetsky –
תקשורת סריאלית מגיש: דביר דדון מנחה: ד"ר מרטין לנד.
תרגול 11 NP complete.
הרצאה 21: Queue, Iterator & Iterable
Fitness Landscape And Memetic Algorithm
Presentation transcript:

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

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

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

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

היסטוריית בעיית הסוכן הנוסע 1930 תחילה נלמד ע"י Karl Menger 1954 49 ערים 1971 64 ערים 1980 318 ערים 1987 2932 ערים 1998 13,509 ערים 2001 15,112 ערים

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

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

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

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

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

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

פתרון בעיית D15112

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

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

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

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

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

מסלול נבחר מהרשימה: 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ק"מ

מסלול נבחר מהרשימה: 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ק"מ

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

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

החלק בתוכנית שניתן למיקבול נשתמש בתצורת מתאם /עובד (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.

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

חלוקת עומסים במקבול עלינו להגביל את מספר פיצולי התהליכים, על מנת להשיג חלוקת עומסים אופטימלית ע"י איזון בין זמן התקשורת לזמן החישוב. לדוגמא: נתבונן במקרה בו מוקצים 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.

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

מעוניינים לדעת עוד על בעיית הסוכן הנוסע? Traveling salesman problem Home Page http://www.math.princeton.edu/tsp/ THE END !!