660 likes | 821 Views
חיפוש. בינה מלאכותית אבי רוזנפלד. סוכנים פותרי בעיות. Reflex agents לא יכולים לתכנן קדימה כדי לחפש, יש צורך לייצר מודל לחפש בו!. להגדרת אלגוריתם חיפוש. סוכן צריך לדחות פעולות שלא מקדמות למטרה Goal formulation - נוסחת מטרה המבוססת על מדד הביצועים הנוכחיים של הסוכן ועל המצב הנוכחי
E N D
חיפוש בינה מלאכותית אבי רוזנפלד
סוכנים פותרי בעיות • Reflex agents לא יכולים לתכנן קדימה • כדי לחפש, יש צורך לייצר מודל לחפש בו!
להגדרת אלגוריתם חיפוש • סוכן צריך לדחות פעולות שלא מקדמות למטרה • Goal formulation - נוסחת מטרה המבוססת על מדד הביצועים הנוכחיים של הסוכן ועל המצב הנוכחי • מטרה – אוסף של מצבים בעולם שצריכים להתקיים אם המטרה הושגה. • מטרת הסוכן היא למצוא את רצף הפעולות שיביא אותו לאוסף הזה של מצבים • קודם לכן, עליו להחליט אילו פעולות ואילו מצבים הם רלוונטיים.
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.
על מה לומדים היום? • BFS • DFS • Best-first search • A* search • Heuristics • Local search algorithms • Hill-climbing search • Backtracking • Simulated annealing
Breadth-First Search • Breadth-first search tree after 0,1,2 and 3 node expansions • CLASSIC FIFO! (Queue!) • אופטימאלי
Depth-First Search Alternatively can use a recursive implementation. • לא אופטימאלי!
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 Breadth-First Search A
O S F Z A R B P D M T L C Breadth-First Search A ZA SA TA
O S F Z A R B P D M T L C Breadth-First Search A ZA SA TA SA TA OAZ
O S F Z A R B P D M T L C Breadth-First Search A ZA SA TA SA TA OAZ TA OAZ OAS FAS RAS
O S F Z A R B P D M T L C Breadth-First Search A ZA SA TA SA TA OAZ TA OAZ OAS FAS RAS OAZ OAS FAS RAS LAT
O S F Z A R B P D M T L C Breadth-First Search A ZA SA TA SA TA OAZ TA OAZ OAS FAS RAS OAZ OAS FAS RAS LAT OAS FAS RAS LAT
O S F Z A R B P D M T L C Breadth-First Search A ZA SA TA SA TA OAZ TA OAZ OAS FAS RAS OAZ OAS FAS RAS LAT OAS FAS RAS LAT
O S F Z A R B P D M T L C Breadth-First Search 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
O S F Z A R P D M T L C Breadth-First Search 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).
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 Depth-First Search A
O S F Z A R B P D M T L C Depth-First Search A ZA SA TA
O S F Z A R B P D M T L C Depth-First Search A ZA SA TA
O S F Z A R B P D M T L C Depth-First Search A ZA SA TA OAZ SA TA
O S F Z A R B P D M T L C Depth-First Search A ZA SA TA OAZ SA TA SAZO SA TA
O S F Z A R B P D M T L C Depth-First Search A ZA SA TA OAZ SA TA SAZO SA TA FAZOS RAZOS SA TA
O S F Z A R B P D M T L C Depth-First Search A ZA SA TA OAZ SA TA SAZO SA TA FAZOS RAZOS SA TA BAZOSF RAZOS SA TA
O S F Z A R B P D M T L C Depth-First Search A ZA SA TA OAZ SA TA SAZO SA TA FAZOS RAZOS SA TA BAZOSF RAZOS SA TA Result = BAZOSF
S F Z A R B P D M T L C Depth-first Search O
Evaluation of DFS • Not complete • Complexity: • O(bm) time • O(mb) space • Non-optimal
Romania with step costs in km המחיר הכולל: 450. האם זה אופטימאלי? לא!
Properties of greedy best-first search • Complete?No – can get stuck in loops, e.g., Iasi Neamt Iasi Neamt Complete in finite space with checking for repeated states • Time?O(bm), but a good heuristic can give dramatic improvement • Space?O(bm) – keeps all nodes in memory • Optimal?No b is branching factor, m is maximum depth of the search space
A*חיפוש • הרעיון המרכזי: קח בחשבון את המחיר הכללי (עד עכשיו) • Evaluation function f(n) = g(n) + h(n) • g(n) = cost so far to reach n • h(n) = estimated cost from n to goal • f(n) = estimated total cost of path through n to goal A* search uses an admissableheuristic: • h(n) <= h*(n), where h*(n) is the true cost from n • Also require h(n) >= 0, so h(G) = 0 for any goal G