1 / 37

Last time: Problem-Solving

Last time: Problem-Solving. Problem solving: Goal formulation Problem formulation (states, operators) Search for solution Problem formulation: Initial state ? ? ? Problem types: single state: accessible and deterministic environment multiple state: ? contingency: ? exploration: ?.

cbarber
Download Presentation

Last time: Problem-Solving

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. Last time: Problem-Solving • Problem solving: • Goal formulation • Problem formulation (states, operators) • Search for solution • Problem formulation: • Initial state • ? • ? • ? • Problem types: • single state: accessible and deterministic environment • multiple state: ? • contingency: ? • exploration: ? CS 561, Session 6

  2. Last time: Problem-Solving • Problem solving: • Goal formulation • Problem formulation (states, operators) • Search for solution • Problem formulation: • Initial state • Operators • Goal test • Path cost • Problem types: • single state: accessible and deterministic environment • multiple state: ? • contingency: ? • exploration: ? CS 561, Session 6

  3. Last time: Problem-Solving • Problem solving: • Goal formulation • Problem formulation (states, operators) • Search for solution • Problem formulation: • Initial state • Operators • Goal test • Path cost • Problem types: • single state: accessible and deterministic environment • multiple state: inaccessible and deterministic environment • contingency: inaccessible and nondeterministic environment • exploration: unknown state-space CS 561, Session 6

  4. Last time: Finding a solution Function General-Search(problem, strategy) returns a solution, or failure initialize the search tree using the initial state problem loop do if there are no candidates for expansion then return failure choose a leaf node for expansion according to strategy if the node contains a goal state then return the corresponding solution else expand the node and add resulting nodes to the search tree end Solution: is ??? Basic idea: offline, systematic exploration of simulated state-space by generating successors of explored states (expanding) CS 561, Session 6

  5. Last time: Finding a solution Function General-Search(problem, strategy) returns a solution, or failure initialize the search tree using the initial state problem loop do if there are no candidates for expansion then return failure choose a leaf node for expansion according to strategy if the node contains a goal state then return the corresponding solution else expand the node and add resulting nodes to the search tree end Solution: is a sequence of operators that bring you from current state to the goal state. Basic idea: offline, systematic exploration of simulated state-space by generating successors of explored states (expanding). Strategy: The search strategy is determined by ??? CS 561, Session 6

  6. Last time: Finding a solution Function General-Search(problem, strategy) returns a solution, or failure initialize the search tree using the initial state problem loop do if there are no candidates for expansion then return failure choose a leaf node for expansion according to strategy if the node contains a goal state then return the corresponding solution else expand the node and add resulting nodes to the search tree end Solution: is a sequence of operators that bring you from current state to the goal state Basic idea: offline, systematic exploration of simulated state-space by generating successors of explored states (expanding) Strategy: The search strategy is determined by the order in which the nodes are expanded. CS 561, Session 6

  7. Last time: search strategies Uninformed: Use only information available in the problem formulation • Breadth-first • Uniform-cost • Depth-first • Depth-limited • Iterative deepening Informed: Use heuristics to guide the search • Best first • A* CS 561, Session 6

  8. Evaluation of search strategies • Search algorithms are commonly evaluated according to the following four criteria: • Completeness: does it always find a solution if one exists? • Time complexity: how long does it take as a function of number of nodes? • Space complexity: how much memory does it require? • Optimality: does it guarantee the least-cost solution? • Time and space complexity are measured in terms of: • b – max branching factor of the search tree • d – depth of the least-cost solution • m – max depth of the search tree (may be infinity) CS 561, Session 6

  9. Last time: uninformed search strategies Uninformed search: Use only information available in the problem formulation • Breadth-first • Uniform-cost • Depth-first • Depth-limited • Iterative deepening CS 561, Session 6

  10. Um algoritmo robusto e limpo Function UniformCost-Search(problem, Queuing-Fn) returns a solution, or failure open make-queue(make-node(initial-state[problem])) closed [empty] loop do if open is empty then return failure currnode  Remove-Front(open) if Goal-Test[problem] applied to State(currnode) then return currnode children  Expand(currnode, Operators[problem]) whilechildren not empty [… see next slide …] end closed  Insert(closed, currnode) open  Sort-By-PathCost(open) end CS 561, Session 6

  11. Um algoritmo robusto e limpo [… see previous slide …] children  Expand(currnode, Operators[problem]) whilechildren not empty child  Remove-Front(children) if no node in open or closed has child’s state open  Queuing-Fn(open, child) else if there exists node in open that has child’s state if PathCost(child) < PathCost(node) open  Delete-Node(open, node) open  Queuing-Fn(open, child) else if there exists node in closed that has child’s state if PathCost(child) < PathCost(node) closed  Delete-Node(closed, node) open  Queuing-Fn(open, child) end [… see previous slide …] CS 561, Session 6

  12. Informed search (busca com informação) Informed search: Uso de heurísticas para guiar a busca • Best first • A* • Heuristica • Hill-climbing • Simulated annealing CS 561, Session 6

  13. Best-first search • Idéia: usar uma função de avaliação para cada nó; estimação de “desejabilidade” • Expandir nó não expandido mais desejável. • Implementação: QueueingFn = insere successores em ordem decrescente de desejabilidade • Casos especiais: greedy search A* search CS 561, Session 6

  14. Romania com custo de cada passo em km CS 561, Session 6

  15. Greedy search (gula é um pecado capital) • Função de estimação: h(n) = estimação do custo de nó ao objetivo (heuristica) • Por exemplo: hSLD(n) = distância em linha reta do nó a Bucharest • Greedy search expande primeiro o nó que aparentemente é o mais próximo do objetivo, de acordo com h(n). CS 561, Session 6

  16. CS 561, Session 6

  17. CS 561, Session 6

  18. CS 561, Session 6

  19. CS 561, Session 6

  20. Propriedades do Greedy Search • Completo? • Tempo? • Memória? • Ótimo? CS 561, Session 6

  21. Properties of Greedy Search • Completo? Não – pode ficar parado em loops e.g., Iasi > Neamt > Iasi > Neamt > … Completo espaço finito com teste de estado repetido. • Tempo? O(b^m) mas uma boa heurística pode dar uma melhora dramática • Memória? O(b^m) – mantém todos os nós em memória • Ótimo? Não. CS 561, Session 6

  22. A* search • Idéia: evitar expandir caminhos que já são caros função de avaliação: f(n) = g(n) + h(n) com: g(n) – custo do caminho para atingir o nó h(n) – custo estimado ao objetivo, do nó f(n) – custo estimado total do caminho pelo nó ao objetivo • A* search usa uma heurística admissível, isto é, h(n)  h*(n) onde h*(n) é o custo verdadeiro a partir de n. Por exemplo: hSLD(n) nunca sobre-estima distância real da estrada. • Teorema: A* search é ótimo CS 561, Session 6

  23. CS 561, Session 6

  24. CS 561, Session 6

  25. CS 561, Session 6

  26. CS 561, Session 6

  27. CS 561, Session 6

  28. CS 561, Session 6

  29. Properties of A* • Complete? • Time? • Space? • Optimal? CS 561, Session 6

  30. Properties of A* • Complete? Yes, unless infinitely many nodes with f  f(G) • Time? Exponential in [(relative error in h) x (length of solution)] • Space? Keeps all nodes in memory • Optimal? Yes – cannot expand fi+1 until fi is finished CS 561, Session 6

  31. Prova do lema: caminho máximo CS 561, Session 6

  32. Otimalidade de A* (prova mais usual) CS 561, Session 6

  33. Otimalidade de A* (prova standard) Suponha que um objetivo G sub-ótimo2 foi gerado e está na fila. Seja n um nó não expandido num caminho mais curto para um objetivo Gótimo. CS 561, Session 6

  34. Heurísticas admissíveis CS 561, Session 6

  35. Heurísticas admissíveis CS 561, Session 6

  36. Problema relaxado • Heurísticas admissíveis podem ser derivadas do custo exato de uma solução para uma versão relaxada do problema. • Se as regras do 8-puzzle forem relaxadas de maneira que uma casa possa mover a qualquer lugar, então h1(n) produz a solução mais curta. • Se as regras são relaxadas de modo que uma casa possa se mover a qualquer posição adjacente, então h2(n) produz a solução mais curta. CS 561, Session 6

  37. Next time • Iterative improvement • Hill climbing • Simulated annealing CS 561, Session 6

More Related