340 likes | 616 Views
חיפוש יוריסטי. מבוא לבינה מלאכותית (236501) מדעי המחשב, טכניון עומר גייגר חורף 2013-14. Uninformed search. עד כה ראינו אלגוריתמי חיפוש לא מיודעים: BFS DFS Bounded – DFS ID – DFS Bounded - ID – DFS Backtracking Uniform Cost והבדלנו בין גרסאות האלגוריתמים: TreeSearch GraphSearch
E N D
חיפוש יוריסטי מבוא לבינה מלאכותית (236501) מדעי המחשב, טכניון עומר גייגר חורף 2013-14
Uninformed search • עד כה ראינו אלגוריתמי חיפוש לא מיודעים: • BFS • DFS • Bounded – DFS • ID – DFS • Bounded - ID – DFS • Backtracking • Uniform Cost • והבדלנו בין גרסאות האלגוריתמים: • TreeSearch • GraphSearch • כאשר ב-(2) האלג' מתחזק קבוצת מצבים בהם ביקר ונמנע מביקור חוזר בהם מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
Heuristic search • חיפוש מיודע(יוריסטי) משתמש במידע נוסף על הבעיה לזירוז החיפוש. • מידע זה מגולם בדרך כלל בפונקציה יוריסטיתלהערכת "טיב" המצבים . • בבעיות חיפוש מסלול למטרה נתונה, פונקציה יוריסטית טובה תעריך את המרחק של צומת למטרה בקירוב טוב. • נעדיף צמתים בעלי ערך יוריסטי נמוך תחת ההנחה שהדבר נותן אינדיקציה אמינה למרחק מהמטרה. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
Example: Urban Navigation • בעיית ניווט עירוני: בהינתן מפה, צומת מוצא וצומת' יעד , נרצה למצוא מסלול קצר ביותר ליעד. • שאלה 1: איך נבחר להגדיר את המצבים והאופרטורים? • אפשרות ראשונה • בעיה: לא מאפשר איטרציה על כל האופרטורים. • פתרון אפשרי: דיסקרטיזציה של ערכי הפרמטרים . • אפשרות עדיפה • נרצה אבסטרקציה מתאימה לבעיה: נגביל את עצמנו למיקומים של צמתי דרכים. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
Example: Urban Navigation • שאלה 2: מהי פונקציית העלות של האופרטורים? • יש כמה אפשרויות... • אורך הדרך • זמן נסיעה • מחיר דלק לנסיעה • (ביחס לקטע הדרך המתאים) • נבחר למשל למדוד עלות לפי אורך הדרך • עבור • נגדיר מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
Example: Urban Navigation • שאלה 3: מהן יוריסטיקות אפשריות תחת פונק' עלות זו? • מרחק אוקלידי (אווירי) • מרחק מנהטן מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
Perfect & Admissible heuristics • יוריסטיקה מושלמת מעריכה במדויק את המרחק למטרה בדרך הקצרה ביותר. • יוריסטיקה קבילה מעריכה "אופטימית" את מחיר המסלול מכל צומת למצב מטרה. • יורסטיקהקבילה בפרט מקיימת: מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
Example: Urban Navigation • שאלה 4: האם היוריסטיקות הנ"ל קבילות? • (נניח מפה מישורית) • קבילה. המרחק הקצר ביותר בין 2 נקודות הוא קו ישר. היא "מקלה" במובן שהיא מתירה תנועה שלא על גבי כבישים. • אינה קבילה אם יתכנו כבישים שאינם מקבילים לצירים. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
Example: 15 Tile puzzle • יוריסטיקתDisplacedTiles: מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
Example: 15 Tile puzzle • יוריסטיקת ManhattanDistanceSum מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
Example: 15 Tile puzzle • יוריסטיקת ManhattanDistanceSum • האם זו יוריסטיקה קבילה?... • תלוי איך מגדירים את האופרטורים ופונק' המחיר • באופן טבעי נגדיר 4 אופרטורים: "הזזת" המשבצת הריקה לאחד מארבע כיווני אוויר • תחת הגדרות אלו התשובה היא כן. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
Example: 15 Tile puzzle • שאלה: מה הטענה הנכונה מבין הבאות? • מיודעת מ- • מיודעת מ- • שתי הטענות שגויות. שתיהן קבילות ומתקיים מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
Heuristic vs. Cost • מחיר צומת : סך מחירי האופרטורים במסלול המצטבר מצומת ההתחלה ועד ל- תחת ריצה מסוימת. כאשר מחיר האופרטורים הינו חלק מהגדרת הבעיה. • כלומר, בהינתן צומת בעץ החיפוש , שהתקבל על ידי מסלול חיפוש • (יחיד) • פונקציית יוריסטיקה : מעריכה את מחיר המסלול הנותר מ- למטרה הקרובה. • היוריסטיקה מהווה חלק מהגדרת הפתרון. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
UniformCost vs. GreedyBest • Uniform Cost • בוחר את הצומת הבא לפי , מחיר מצטבר • מעדיף צומת קרוב לאלו שפותחו • מתעלם מהמרחק למטרה • חיפוש עיוור (לא מיודע) • Greedy Best First • בוחר את הצומת הבא לפי • מעדיף צומת קרוב למטרה • מתעלם מהמרחק אליו • חיפוש יוריסטי (מיודע) מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
Best First Search • BestFirstSearchזו קבוצת אלגוריתמים לחיפוש בגרפים. • הצומת הבא לפיתוח נבחר כבעל ערך מינימלי על פי פונקציית הערכה כלשהי . • דוגמאות • Uniform Cost • Greedy Best First מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
Beam First Search • חיפוש אלומה: דומה ל GreedyBestאך פועל באופן ממוקד יותר. • מגביל את רשימת הצמתים הפתוחים, המועמדים להמשך החיפוש למס' קבוע . • יתרון: חוסך זיכרון וזמן ריצה. • חסרון: עשוי לפגוע בטיב הפתרון. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
A-STAR • אלג' : הטוב משני העולמות! • שייך ממשפחת BestFirstSearch עם פונק' הערכה משולבת . • כלומר, הצומת הבא לפיתוח הינו בעל עלות צפויה כוללת מינימלית. • נדרש תיקון לתבנית אלג' BestFirstSearch לטיפול במקרה של "פתיחה מחדש". • "פתיחה מחדש" מתרחשת כאשר נמצא מסלול זול יותר לצומת פתוח או כזה שכבר נסגר. ? מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
אתחול • (כמו ב-) • בחירת מצב לפיתוח, בדיקת מצב מטרה ויצירת הבנים • (דומה ל-) • מצב פתוח • מצב שכבר נסגר • מצב חדש (כמו ב-)
A-STAR run simulation • תרגיל: עקוב אחר ריצת האלגוריתם על פני הגרף הבא. h = 1 h = 10 15 I G 11 20 5 h = 2 h = 9 h = 11 h = 0 6 15 8 5 3 7 h = 5 h = 15 12 מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
A-STAR run simulation h = 1 h = 10 15 I G 11 20 5 h = 2 h = 9 g = 0 f = 9 h = 11 h = 0 6 15 8 5 3 7 h = 5 h = 15 12 מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
A-STAR run simulation h = 1 h = 10 g = 5 f = 15 15 I G 11 20 5 h = 2 h = 9 g = 0 f = 9 h = 11 g = 8 f = 19 h = 0 6 15 8 5 3 7 h = 5 h = 15 g = 5 f = 20 12 מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
A-STAR run simulation h = 1 g = 20 f = 21 h = 10 g = 5 f = 15 15 I G 11 20 5 h = 2 h = 9 g = 0 f = 9 h = 11 g = 8 f = 19 h = 0 6 15 8 5 3 7 h = 5 h = 15 g = 5 f = 20 12 מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
A-STAR run simulation h = 1 g = 20 f = 21 h = 10 g = 5 f = 15 15 I G 11 20 5 אין שיפור h = 2 g = 23 f = 25 h = 9 g = 0 f = 9 h = 11 g = 8 f = 19 h = 0 6 15 8 5 3 7 h = 5 h = 15 g = 5 f = 20 12 מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
A-STAR run simulation h = 1 g = 20 f = 21 h = 10 g = 5 f = 15 15 I G 11 20 5 h = 2 g = 8 f = 10 h = 9 g = 0 f = 9 h = 11 g = 8 f = 19 h = 0 6 15 8 5 3 7 נמצא שיפור! h = 5 g = 17 f = 20 h = 15 g = 5 f = 20 12 מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
A-STAR run simulation h = 1 g = 20 f = 21 h = 10 g = 5 f = 15 15 I G 11 20 5 h = 2 g = 8 f = 10 h = 9 g = 0 f = 9 h = 11 g = 8 f = 19 h = 0 g = 16 f = 16 6 15 8 5 3 7 h = 5 g = 17 f = 20 h = 15 g = 5 f = 20 12 מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
A-STAR run simulation h = 1 g = 20 f = 21 h = 10 g = 5 f = 15 15 I G 11 20 5 h = 2 g = 8 f = 10 h = 9 g = 0 f = 9 h = 11 g = 8 f = 19 h = 0 g = 16 f = 16 6 15 8 5 3 7 h = 5 g = 17 f = 20 h = 15 g = 5 f = 20 12 מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
A-STAR questions • בכל השאלות הבאות נניח שפונק' המחיר חיובית וחסומה מלמטה. • שאלה 1: מה היה קורה ב עם יוריסטיקה קבילה אילו לא היינו מחזירים צומת מ-CLOSEDל-OPEN אליו נמצאה דרך עדיפה? • ערכי ה-של הצמתים החל מצומת שכזה ואילך לא היו מתעדכנים ל-. • כתוצאה מכך גם ערכי ה לא היו מתעדכנים. • ייתכן שלכל הצמתים ב-OPENיתקיים . • במקרה זה האלגוריתם יחזיר פתרון לא אופטימאלי. • כלומר, השינוי פוגע בקבילות האלגוריתם. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
A-STAR questions • שאלה 2: איזה שינוי הייתם מבצעים באלגוריתם אם מובטח שהיוריסטיקה מונוטונית? • תזכורת: יוריסטיקה מונוטונית (או קונסיסטנטית) היא יוריסטיקה "אופטימית מקומית". כלומר לכל מצב , מצב עוקב ואופרטור מעבר ביניהם מתקיים • . • טענה: במקרה של יוריסטיקה מונוטונית סדרת ערכי ה של הצמתים הנבחרים לפיתוח עולים מונוטונית (במובן החלש). • מבנה ההוכחה: • צומת שנבחר הינו בעל ערך מינימלי מבין כל צמתי OPEN - ישירות מהאלגוריתם. • צומת שנוצר הינו בהכרח בעל ערך גדול\שווה משל אביו - מהגדרת מונוטוניות. • כל צומת שנוצר הינו בעל ערך גדול\שווה מכל אב קדמון שלו - באינדוקציה על אורך שרשרת הצאצאים תוך שימוש ב(2). • מסקנה: צומת שנבחר לפיתוח בזמן הוא בעל ערך קטן מכל הצמתים בOPEN באותו זמן ובכל זמן מתקדם יותר. מ.ש.ל מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
A-STAR questions • שאלה: איזה שינוי הייתם מבצעים אם מובטח שהיוריסטיקה מונוטונית? • טענה: במקרה של יוריסטיקה מונוטונית סדרת ערכי ה של הצמתים הנבחרים לפיתוח עולים מונוטונית (במובן החלש). • לא תתכן "פתיחה מחדש" של צמתים: לעולם לא נגיע לצומת שנבחר כבר לפיתוח ועבר ל CLOSED בדרך עדיפה. • כל צומת שנכנס ל-CLOSED מקיים . • לכן, אין צורך להעביר צמתים מ- CLOSED ל-OPEN, והאלגוריתם לעולם לא צריך לבצע פעולות "פתיחה מחדש". מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
A-STAR questions • שאלה 3: איזה שינוי הייתם מבצעים באלגוריתם אם מובטח שמרחב המצבים הינו עץ? • בעץ יש מסלול יחיד בין כל שני צמתים ובפרט מצומת ההתחלה לכל צומת אחר. • לא תיתכן החזרת צומת מ-CLOSEDל-OPEN. בשלילה, משמעות הדבר שהגענו לצומת מבנו והרי בדרך הוספנו מחיר אי-שלילי (פעמיים) כך שלא יתכן שערך ה קטן יותר מהערך בביקור הראשון - סתירה. • לפיכך אין צורך בתחזוקת קבוצת ה-CLOSEDבמקרה זהובפיתוח צומת, נוותר על יצירת אביו שהרי הוא כבר פותח. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
תודה רבה! שאלות? התרגול מבוסס על חומרים באדיבותם של: • פרופ' שאול מרקוביץ' • מר' עומר לוי מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14
GreedyBest & UniformCost • תזכורת להרצאה... • שאלה 1: האם GreedyBest שלם במרחבים סופיים? • כן, מדובר באלגוריתם מסוג GraphSearch כל המצבים יפותחו בסופו של דבר. • שאלה 2: האם GreedyBest שלם במרחבים אינסופיים? • לא. יתכן שהיוריסטיקה תטעה את החיפוש ותוביל למסלול אינסופי. • שאלה 3: האם UniformCost שלם כאשר קבוצת האופרטורים סופית וקבוצת המצבים יכולה להיות אינסופית? האם הוא קביל? • כן. אם קיים מסלול מטרה בעל עלות סופית, הוא ימצא בסופו של דבר. העלות המצטברת של הצמתים המפותחים עולה מונוטונית וללא קפיצות כך ש- UniformCost גם שלם וגם קביל. • שאלה 4: מה ניתן לומר על עם יוריסטיקה מיודעת יותר לעומת עם יוריסטיקה מיודעת פחות? • אלג' המיודע שולט על השני: קבוצת הצמתים שהוא מפתח מוכלת בזו של השני. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14