פתרון על ידי בעיות חיפוש בינה מלאכותית יעל נצר
סוכנים פותרי בעיות 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)
Example: 8-Puzzle
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
Vaccuum World Revisited
Vacuum World (continued)
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 A B Z O S F C P R T L M D Slides on Route Planning Adapted from Leslie Kaelbling’s AI notes.
General Search-Tree Algorithm
Breadth-First Search A B Z O SF C P R T L M D
A B Z O SF C P R T L M D A
A B Z O SF C P R T L M D A Z A S A T A
Breadth-First Search A B Z O SF C P R T L M D A Z A S A T A S A T A O AZ
Breadth-First Search A B Z O SF C P R T L M D A Z A S A T A S A T A O AZ T A O AZ O AS F AS R AS
Breadth-First Search A B Z O SF C P R T L M D A Z A S A T A S A T A O AZ T A O AZ O AS F AS R AS O AZ O AS F AS R AS L AT
Breadth-First Search A B Z O SF C P R T L M D A Z A S A T A S A T A O AZ T A O AZ O AS F AS R AS O AZ O AS F AS R AS L AT O AS F AS R AS L AT
Breadth-First Search A B Z O SF C P R T L M D A Z A S A T A S A T A O AZ T A O AZ O AS F AS R AS O AZ O AS F AS R AS L AT O AS F AS R AS L AT
Breadth-First Search A B Z O SF C P R T L M D A Z A S A T A S A T A O AZ T A O AZ O AS F AS R AS O AZ O AS F AS R AS L AT O AS F AS R AS L AT R AS L AT B ASF Result = B ASF
Breadth-First Search B A Z O SF C P R T L M D
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
Complete Complexity: –O(b d ) time –O(b d ) space Optimal (counting by number of arcs). Evaluation of BFS
Depth-First Search A B Z O SF C P R T L M D
A B Z O SF C P R T L M D A
A B Z O SF C P R T L M D A Z A S A T A
Depth-First Search A B Z O SF C P R T L M D A Z A S A T A
Depth-First Search A B Z O SF C P R T L M D A Z A S A T A O AZ S A T A
Depth-First Search A B Z O SF C P R T L M D A Z A S A T A O AZ S A T A S AZO S A T A
Depth-First Search A B Z O SF C P R T L M D A Z A S A T A O AZ S A T A S AZO S A T A F AZOS R AZOS S A T A
Depth-First Search A B Z O SF C P R T L M D A Z A S A T A O AZ S A T A S AZO S A T A F AZOS R AZOS S A T A B AZOSF R AZOS S A T A
Depth-First Search A B Z O SF C P R T L M D A Z A S A T A O AZ S A T A S AZO S A T A F AZOS R AZOS S A T A B AZOSF R AZOS S A T A Result = B AZOSF
Depth-first Search O A B Z SF C P R T L M D
Evaluation of DFS Not complete Complexity: –O(b m ) 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))))