Download - פתרון על ידי בעיות חיפוש
פתרון על ידי בעיות חיפוש
בינה מלאכותית
יעל נצר
סוכנים פותרי בעיות
•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
AB
Z
OS F
C
PR
T LM
D
118
75
71 151
140
111 7075
120
90
99
211
97
146 138
101
Slides on Route Planning Adapted from Leslie Kaelbling’s AI notes.
General Search-Tree Algorithm
Breadth-First Search
AB
ZO
S F
C
P
R
T L MD
Breadth-First Search
AB
ZO
S F
C
P
R
T L MD
A
Breadth-First Search
AB
ZO
S F
C
P
R
T L MD
A
ZA SA TA
Breadth-First Search
AB
ZO
S F
C
P
R
T L MD
A
ZA SA TA
SA TA OAZ
Breadth-First Search
AB
ZO
S F
C
P
R
T L MD
A
ZA SA TA
SA TA OAZ
TA OAZ OAS FAS RAS
Breadth-First Search
AB
ZO
S F
C
P
R
T L MD
A
ZA SA TA
SA TA OAZ
TA OAZ OAS FAS RAS
OAZ OAS FAS RAS LAT
Breadth-First Search
AB
ZO
S F
C
P
R
T L MD
A
ZA SA TA
SA TA OAZ
TA OAZ OAS FAS RAS
OAZ OAS FAS RAS LAT
OAS FAS RAS LAT
Breadth-First Search
AB
ZO
S F
C
P
R
T L MD
A
ZA SA TA
SA TA OAZ
TA OAZ OAS FAS RAS
OAZ OAS FAS RAS LAT
OAS FAS RAS LAT
Breadth-First Search
AB
ZO
S F
C
P
R
T L MD
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
BA
Z
O
S F
C
P
R
T LM
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(bd) time– O(bd) space
• Optimal (counting by number of arcs).
Evaluation of BFS
Depth-First Search
AB
ZO
S F
C
P
R
T L MD
Depth-First Search
AB
ZO
S F
C
P
R
T L MD
A
Depth-First Search
AB
ZO
S F
C
P
R
T L MD
A
ZA SA TA
Depth-First Search
AB
ZO
S F
C
P
R
T L MD
A
ZA SA TA
Depth-First Search
AB
ZO
S F
C
P
R
T L MD
A
ZA SA TA
OAZ SA TA
Depth-First Search
AB
ZO
S F
C
P
R
T L MD
A
ZA SA TA
OAZ SA TA
SAZO SA TA
Depth-First Search
AB
ZO
S F
C
P
R
T L MD
A
ZA SA TA
OAZ SA TA
SAZO SA TA
FAZOS RAZOS SA TA
Depth-First Search
AB
ZO
S F
C
P
R
T L MD
A
ZA SA TA
OAZ SA TA
SAZO SA TA
FAZOS RAZOS SA TA
BAZOSF RAZOS SA TA
Depth-First Search
AB
ZO
S F
C
P
R
T L MD
A
ZA SA TA
OAZ SA TA
SAZO SA TA
FAZOS RAZOS SA TA
BAZOSF RAZOS SA TA
Result = BAZOSF
Depth-first Search
O
A
B
ZS F
C
P
R
T LM
D
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))))