1 / 44

Wissensverarbeitung - Search -

Wissensverarbeitung - Search -. Alexander Felfernig und Gerald Steinbauer Institut für Softwaretechnologie Inffeldgasse 16b/2 A-8010 Graz Austria. Skriptum (TU Wien, Institut für Informationssysteme, Thomas Eiter et al.) ÖH- Copyshop , Studienzentrum

vui
Download Presentation

Wissensverarbeitung - Search -

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Wissensverarbeitung- Search - Alexander Felfernig und Gerald Steinbauer Institut für Softwaretechnologie Inffeldgasse 16b/2 A-8010 Graz Austria

  2. Skriptum (TU Wien, Institut für Informationssysteme, Thomas Eiter et al.) ÖH-Copyshop, Studienzentrum Stuart Russell und Peter Norvig. ArtificialIntelligence - A Modern Approach. Prentice Hall. 2003. Vorlesungsfolien TU Graz (partiallybased on theslidesofTUWien) References

  3. Uninformed Search Strategies. Informed Search Strategies. Goals

  4. ImportantmethodofArtificialIntelligence Approaches: Uninformedsearch Informedsearch (exploitinformation/heuristicsabouttheproblemstructure) Example: Whichistheshortestpathfrom A to D? Search D A B C E

  5. Start node (startstate) Goal node (goalstate) States aregenerateddynamically on thebasisofgenerationrule R example: moveoneelementtotheemptyfield Searchgoal: sequenceofrulesthattransformthestartstatetothegoalstate Elements of a Search Problem 3 6 1 2 3 start state goal state 2 1 4 8 4 5 8 7 7 6 5

  6. Start state (S0) Non-empty set of goal states (goal test) Non-empty set of operators: Transform state Si into state Si+1 Transformation triggers costs (>0) No cost estimation available  default: unit costs Cost function for search paths:  of individual transformations Search Problem

  7. Completeness Does the method find a solution, if one exists? Space Complexity How do memory requirements increase with increasing sizes of search problems (search spaces)? Time Complexity What is the computing performance with increasing sizes of search problems (search spaces)? Optimality Does the method identify the optimal solution (if one exists)? Properties of Search Methods

  8. Level-wise expansion of states Systematic strategy Expand all paths of length 1 Expand all paths of length 2 … Completeness  yes (if b is finite). Space complexity: branching factor b, depth of the shallowest solution d:  bd+1 Time complexity:  bd+1 Optimality  yes (if step costs are identical). Breadth-First Search (bfs)

  9. [A] … [B,C,D] [B,C,D] … [C,D,E,F] [C,D,E,F] … [D,E,F,G] [D,E,F,G] … [E,F,G] [E,F,G] … [F,G] [F,G] … [G] [G] bfs D G F A C B E

  10. Goal: „cheapest“ path from S to G (independent of # transitions) Approach: Expand S, then expand A (since A has the cheapest current path) Solution not necessarily found  opt. could be < 11 Expand B  finally solution identified with path costs = 10 Uniform Cost Search (ucs) A S 10 1 A B C 5 5 G S B S 1 5 15 S 5 15 A B C A B C C 15 15 5 G A G 11 10 11

  11. Generalization of bfs Expand state with lowest related costs There could be a solution with shorter path but higher costs Corresponds to bfsif step costs are identical Completeness  yes (if b finite & step costs > ). Space complexity: branching factor b, cost of the optimal solution C*:  bC*/ + 1 Time complexity:  bC*/ + 1 Optimality  yes. Uniform Cost Search (ucs)

  12. No level-wise expansion Expansion of successor nodes of one „deepest state“ If no more states can be expanded  backtracking Completeness  no (indefinite descent paths) Space complexity: branching factor b, maximum depth of the search tree m:  bm Time complexity:  bm Optimality  no. Depth First Search (dfs)

  13. [A] … [B,C,D] [B,C,D] … [E,F,C,D] [E,F,C,D] … [H,F,C,D] [H,F,C,D] … [F,C,D] [F,C,D] … [C,D] [C,D] … [F,G,D] [F,G,D] … [G,D] [G,D] dfs D G F A C B E H

  14. Searchdepthdefinedbyboundl Ifsearchdepthlisreached backtracking Ifnosolutionhasbeenfoundforlevell  l = l + 1 Exampleusing a binarytree: Level 0: Level 1: Level 2: DF Iterative Deepening (dfid) Repeateddfs untilsearchlevell.

  15. Completeness  yes (if b is finite). Space complexity: branching factor b, depth of the shallowest solution d:  bd Time complexity:  bd Optimality  yes (if step costs are identical). DF Iterative Deepening

  16. Comparison of UninformedSearch Strategies

  17. Informed search which exploits problem- and domain-specific knowledge Estimation function: estimates the costs from the current node to the goal state Heuristic approach denoted as best-first search, since best-evaluated state is chosen for expansion Used notation: f: estimation function; f* (the real function) h(n): estimator of minimal costs from n to a goal state Invariant for goal state Sn: h(n) = 0 Methods to be discussed: Greedy search A* search Heuristic Search

  18. Estimates minimal costs from current to the goal node Does not take into account already existing costs, i.e., f(n) = h(n) Completeness  no (loopcheck needed). Space complexity: branching factor b, maximum depth of the search tree m :  bm Time complexity:  bm Optimality  no. Greedy Search

  19. Structure of Working Example

  20. Greedy Search straight-line distance – h(sld)

  21. Greedy Search straight-line distance – h(sld)

  22. Greedy Search straight-line distance – h(sld)

  23. Use sld heuristics Choose shortest path from Arad to Bucharest Arad: expand lowest h-value Sibiu: expand lowest h-value Fagaras: expand lowest h-value Bucharest found path: Arad, Sibiu, Rimnicu, Pitesti, Bucharest length of solution: 418km (in contrast to solution found – 450km) Greedy search is based on local information Better choice: take into account already existing “efforts” Summarizing Greedy Search

  24. Greedy Search: Loops

  25. In contrast to greedy search, it takes into account already existing costs as well. g(n) = path costs from start to current node Results in a more fair selecting strategy for expansion Estimation function: f(n) = g(n) + h(n); h(n) the same as for greedy search A*: best-first search method with the following properties: Finite number of possible expansions Transition costs are positive (min. ) admissible (h), i.e., h does never overestimate the real costs (it is an optimistic heuristic) Consequently: fnever overestimates the real costs A* Search

  26. A* Search

  27. A* Search

  28. A* Search

  29. Usedfunctions g(n): real distanceArad-n h(n): sldBucharest-n Takingintoaccount global informationimprovesthequalityoftheidentifiedsolution Expansion ordering (lowestf-value)  Sibiu, Rimnicu, Pitesti, Bucharest Optimal solution will befound Summarizing A* Search

  30. Heuristic function h must be optimistic No formal rule set of determining heuristic functions exists, however, some rules of thumb are there … Example (8-Puzzle) 2 heuristic functions h1 and h2 h1: number of squares in wrong position h2: sum(distances of fields from goal state) Simplification: do not take into account the influences of moves to other fields. For start state, h1=7 and h2 = 15 Dominance relationship: h2 dominates h1 since for each n: h1(n)  h2(n)  h2 is assumed to be more efficient; h1 has tendency towards breadth first search. Determination of Heuristics start state goal state

  31. f-values along a path in the search tree are never decreasing (monotonicity property) theorem: monoton(f)  h(n1)  c(n1,n2) + h(n2) expansion of nodes with increasing f-value Properties of A* Search goal

  32. „Distance circles“ of 380, 400, 420km (f-values) Expand all n with f(n)380, then 400, … Let f* be the costs of an optimal solution: A* expands all n with f(n) < f* , some m with f(m) = f*, and the goal state will be identified Completeness  yes (h is admissible). Space complexity: exponential Time complexity: exponential Optimality  yes. Properties of A* Search

  33. Optimality of A* Search Suppose suboptimal goal (path to) G2 in the queue. Let n be an unexpanded node on a shortest path to an optimal goal G f(G2 ) = g(G2 ) since h(G2 )=0 > g(G) since G2 is suboptimal [f(G2) > g(G)] • >= f(n) since h is admissible [f(G2) > f(n)] Since f(G2) > f(n), A* will never select G2 for expansion

  34. Previously: systematic exploration of search space path to goal is solution to the problem However, for some problems the path is irrelevant for example, 8-queens problem state space = set of configurations (complete) goal: identify configuration which satisfies a set of constraints Other algorithms can be used local search algorithms try to improve the current state by generating a follow-up state (neighbor state) are not systematic, not optimal, and not complete Local Search

  35. n-queens problem: positioning of n queens in an nxn board s.t. the number of 2 queens positioned on the same column, row or diagonal is minimized or zero. Local Search: Example

  36. “Finding the top of Mount Everest in a thick fog while suffering from amnesia” [Russel & Norvig, 2003] “Greedy local search” Hill Climbing Algorithm

  37. Peak that is higher than each of its neighboring states but lower than the global maximum. Hill Climbing: Local Maxima • h = number of pairs of queens attacking each other • successor function: move single queen to another square in the same column • h = 1 • local maximum (minimum): “every move of a single queen makes the situation worse” • [Russel & Norvig 2003]

  38. Sequence of local maxima. Hill Climbing: Ridges

  39. Evaluation function is “flat”, a local maximum or a shoulder from which progress is possible. Hill Climbing: Plateaux

  40. Hill climbing never selects downhill moves Danger of, for example, local maxima Instead of picking the best move, choose a random one and accept also worse solutions with a decreasing probability Simulated Annealing

  41. Start with k randomly generated states (the population) Each state (individual) represented by a string over a finite alphabet (e.g., 1..8) Each state is rated by evaluation (fitness) function (e.g., #non-attacking pairs of queens – opt. = 28) Selection probability directly proportional to fitness score, for example, 23/(24+23+20+11)  29% Genetic Algorithms

  42. Genetic Algorithms: Cross-Over

  43. Genetic Algorithm function GENETIC_ALGORITHM( population, FITNESS-FN) return an individual input:population, a set of individuals FITNESS-FN, a function which determines the quality of the individual repeat new_population empty set loop forifrom 1 to SIZE(population) do x  RANDOM_SELECTION(population, FITNESS_FN) y  RANDOM_SELECTION(population, FITNESS_FN) child  REPRODUCE(x,y) if (small random probability) then child  MUTATE(child ) add child to new_population population  new_population until some individual is fit enough or enough time has elapsed return the best individual

  44. Thank You!

More Related