430 likes | 574 Views
פתרון על ידי בעיות חיפוש. בינה מלאכותית יעל נצר. סוכנים פותרי בעיות. Reflex agents לא יכולים לתכנן קדימה Reflex agents עם מצב פנימי (מודל עולם) – קשה לבטא מדיניות במונחים של מיפוי ממצב לפעולה לעיתים צריך לתכנן פעולה עכשווית על פי הערכת העתיד. בתחילה:
E N D
פתרון על ידי בעיות חיפוש בינה מלאכותית יעל נצר
סוכנים פותרי בעיות • Reflex agents לא יכולים לתכנן קדימה • Reflex agents עם מצב פנימי (מודל עולם) – קשה לבטא מדיניות במונחים של מיפוי ממצב לפעולה • לעיתים צריך לתכנן פעולה עכשווית על פי הערכת העתיד. • בתחילה: • הגדרת האלמנטים המרכיבים 'בעיה' ו'פתרון' שלה על ידי דוגמאות • General problem solver יכולים לפתור בעיות
Problem solving agents • סוכנים רציונליים אמורים למקסם את מדד הביצועים שלהם. • אפשר לפשט את הבעייה על ידי הגדרת מטרה ונסיון להשיג אותה
להגדרת אלגוריתם חיפוש • סוכן צריך לדחות פעולות שלא מקדמות למטרה • המטרות מאפשרות לארגן את התנהגות הסוכן ולהגביל את הפעולות שלו לפעולות שמקדמות למטרה • Goal formulation - נוסחת מטרה המבוססת על מדד הביצועים הנוכחיים של הסוכן ועל המצב הנוכחי • מטרה – אוסף של מצבים בעולם שצריכים להתקיים אם המטרה הושגה. • מטרת הסוכן היא למצוא את רצף הפעולות שיביא אותו לאוסף הזה של מצבים • קודם לכן, עליו להחליט אילו פעולות ואילו מצבים הם רלוונטיים.
חיפוש • כשיש לסוכן מספר אפשרויות מיידיות לפעולה בעלות ערך בלתי ידוע יכול להחליט מה לעשות על ידי בחינה מקדימה של רצפי הפעולות האפשריות שיובילו אותו למצבים בעלי ערך ידוע – ואז לבחור באפשרות הטובה ביותר. • חיפוש : אלגוריתם חיפוש מקבל בעייה כפלט ומחזיר פתרון בצורת רצף פעולות. • לאחר מציאת פתרון, רצף הפעולות המוצע יכול להיעשות – execution phase
הגדרת סוכן חיפוש • Formulate – ניסוח הבעייה • Search • Execute • עיצוב הסוכן: • סביבה סטאטית (ניסוח ופתרון בעייה לא מתחשב בהשתנות הסביבה) • סביבה דיסקרטית (לקיחה בחשבון של סדרת פעולות אלטרנטיבית מתבססת על כך שהסביבה דיסקרטית) • כל האלגוריתמים בפרק מניחים שהמצב ההתחלתי הוא ידוע – הכי קל כשהסביבה היא observable • ההנחה שהסביבה היא דטרמיניסטית
הגדרת הבעייה • ארבעה מרכיבים: • המצב ההתחלתי • תיאור הפעולות האפשריות של הסוכן (שימוש בפונקציה (succ(xשמחזירה קבוצה של זוגות סדורים (action, successor state) . המצב ההתחלתי יחד עם פונקציית succ מגדירים את מרחב המצבים האפשריים : גרף מכוון שבו קדקדים הם מצבים וקשתות הן פעולות. מסלול במרחב המצבים מוגדר כרצף מצבים המיוחס לרצף פעולות • מבחן מטרה goal test שהסוכן יכול להפעיל על מצב כדי לבדוק אם מדובר במטרה • "עלות מסלול" Path cost היא פונקציה שמחזירה ערך מספרי עבור כל מסלול g(n). סוכן פותר-בעיות בוחר את פונקציית העלות שמתאימה למדד הביצועים שלו (למשל – הסוכן ברומניה – מדד הביצועים הוא זמן, לכן עלות יכולה להמדד בקילומטרים). ההנחה היא שעלות מסלול היא סכום עלויות הפעולות הבודדות. Step cost –עלות פעולה a ממצב x למצב y מוגדר c(a, x, y)
State Space 1. initial state 2. successor function
Goal Test 3. goal test
(Partial) Search Space for 8-Puzzle Problem 1. initial state 2. successor function 3. goal test
Example: Route Planning in a Map Graph: nodes are cities and links are roads. • Map gives world dynamics • Current state is known • World is fully predictable • World (set of cities) is finite and enumerable. Cost: total distance or total time for path.
Route Planning: Romania O 151 F 71 S 99 Z 75 211 90 A 140 R B P 97 120 101 118 146 138 D 75 M T 111 70 L C Slides on Route Planning Adapted from Leslie Kaelbling’s AI notes.
Breadth-First Search O S F Z A R B P D M T L C
Breadth-First Search O S F Z A R B P D M T L C A
Breadth-First Search O S F Z A R B P D M T L C A ZA SA TA
Breadth-First Search O S F Z A R B P D M T L C A ZA SA TA SA TA OAZ
Breadth-First Search O S F Z A R B P D M T L C A ZA SA TA SA TA OAZ TA OAZ OAS FAS RAS
Breadth-First Search O S F Z A R B P D M T L C A ZA SA TA SA TA OAZ TA OAZ OAS FAS RAS OAZ OAS FAS RAS LAT
Breadth-First Search O S F Z A R B P D M T L C A ZA SA TA SA TA OAZ TA OAZ OAS FAS RAS OAZ OAS FAS RAS LAT OAS FAS RAS LAT
Breadth-First Search O S F Z A R B P D M T L C A ZA SA TA SA TA OAZ TA OAZ OAS FAS RAS OAZ OAS FAS RAS LAT OAS FAS RAS LAT
Breadth-First Search O S F Z A R B P D M T L C A ZA SA TA SA TA OAZ TA OAZ OAS FAS RAS OAZ OAS FAS RAS LAT OAS FAS RAS LAT RAS LAT BASF Result = BASF
Breadth-First Search O S F Z A R P D M T L C B
Evaluation of Search Strategies • Completeness • Time Complexity • Space Complexity • Optimality To evaluate, we use the following terms • b = branching factor • m = maximum depth • d = goal depth
Evaluation of BFS • Complete • Complexity: • O(bd) time • O(bd) space • Optimal (counting by number of arcs).
Depth-First Search O S F Z A R B P D M T L C
Depth-First Search O S F Z A R B P D M T L C A
Depth-First Search O S F Z A R B P D M T L C A ZA SA TA
Depth-First Search O S F Z A R B P D M T L C A ZA SA TA
Depth-First Search O S F Z A R B P D M T L C A ZA SA TA OAZ SA TA
Depth-First Search O S F Z A R B P D M T L C A ZA SA TA OAZ SA TA SAZO SA TA
Depth-First Search O S F Z A R B P D M T L C A ZA SA TA OAZ SA TA SAZO SA TA FAZOS RAZOS SA TA
Depth-First Search O S F Z A R B P D M T L C A ZA SA TA OAZ SA TA SAZO SA TA FAZOS RAZOS SA TA BAZOSF RAZOS SA TA
Depth-First Search O S F Z A R B P D M T L C A ZA SA TA OAZ SA TA SAZO SA TA FAZOS RAZOS SA TA BAZOSF RAZOS SA TA Result = BAZOSF
Depth-first Search S F Z A R B P D M T L C O
Evaluation of DFS • Not complete • Complexity: • O(bm) time • O(mb) space • Non-optimal
Lisp Implementation (defun tree-search (states goal-successors combiner) "Find a state that satisfies goal-p. Start with states, and search according to successors and combiner." (cond ((null states) fail) ((funcall goal-p (first states)) (first states)) (t (tree-search (funcall combiner (funcall successors (first states)) (rest states)) goal-p successors combiner))))