Graph Search Howie Choset
|
|
- Anthony Beasley
- 6 years ago
- Views:
Transcription
1 Graph Search Howie Choset 16-11
2 Outline Overview of Search Techniques A* Search
3 Graphs Collection of Edges and Nodes (Vertices) A tree
4 Grids
5 Stacks and Queues Stack: First in, Last out (FILO) Queue: First in, First out (FIFO) 5
6 Depth First Search algorithm dft(x) visit(x) FOR each y such that (x,y) is an edge IF y was not visited yet THEN dft(y) Copied from wikipedia Worst case performance Worst case space complexity O( V + E ) for explicit graphs traversed without repetition, O( V ) if entire graph is traversed without repetition, O(longest path length searched) for implicit graphs without elimination of duplicate nodes 6
7 Breadth First Search visit(start node) queue <- start node WHILE queue is nor empty DO x <- queue FOR each y such that (x,y) is an edge and y has not been visited yet DO visit(y) queue <- y END wikipedia END 7
8 Depth First and Breadth First 8
9 Wavefront Planner: A BFS 9
10 Search Uninformed Search Use no information obtained from the environment Blind Search: BFS (Wavefront), DFS Informed Search Use evaluation function More efficient Heuristic Search: A*, D*, etc. 10
11 Uninformed Search Graph Search from A to N A B C D BFS E F G H I J K L M N 11
12 Informed Search: A* Notation n node/state c(n 1,n ) the length of an edge connecting between n 1 and n b(n 1 ) = n backpointer of a node n 1 to a node n. 1
13 Informed Search: A* Evaluation function, f(n) = g(n) + h(n) Operating cost function, g(n) Actual operating cost having been already traversed Heuristic function, h(n) Information used to find the promising node to traverse Admissible never overestimate the actual path cost Cost on a grid 1
14 A*: Algorithm Start O is empty? N Pick n best from O such that f(n best ) < f(n) Remove n best from O and add it to C Y End The search requires lists to store information about nodes N update b(x)=n best if (g(n best )+c(n best,x)<g(x)) N Expand all nodes x that are neighbors of n best and not in C x is not in O? n best = goal? Y Add x to O Y End 1) Open list (O) stores nodes for expansions ) Closed list (C) stores nodes which we have explored 1
15 Dijkstra s Search: f(n) = g(n) 1. O = {S}. O = {1,,, 5}; C = {S} (1,,,5 all back point to S). O = {1,, 5}; C = {S, } (there are no adjacent nodes not in C). O = {1, 5, }; C = {S,, } (1,, point to S; 5 points to ) 5. O = {5, }; C = {S,,, 1} 6. O = {, G}; C = {S,, 1} (goal points to 5 which points to which points to S) 7. O = {}; C = {S,,, 1} (Path found because Goal was popped) Pop lowest f first 15
16 Two Examples Running A* 0 Star t 1 1 D A C 1 1 B E F J G H I 1 GOAL L A B C K 6 E F G H I J L M N D K 6 16
17 Example (1/5) 0 Start 1 1 D A C B E F J L K Legend h(x) c(x) 1 1 G H I Priority = g(x) + h(x) 1 Note: g(x) = sum of all previous arc costs, c(x), from start to x GOAL Example: c(h) = 17
18 Example (/5) 0 Start 1 1 D A C 1 1 B E F J 1 1 G H I 1 GOAL L K First expand the start node B() If goal not found, A() expand the first node C() in the priority queue (in this case, B) H() Insert the newly expanded A() nodes into the priority que C() and continue until the goal I(5) found, or the priority queu G(7) empty (in which case no p Note: for exists) each expanded node, you also need a pointer to its respective parent. For example, nodes A, B and C point to Start 18
19 Example (/5) 0 Start 1 1 D A C B E F J 1 1 G H I L K B() A() C() H() A() C() I(5) G(7) No expansion E() GOAL(5) C() D(5) I(5) F(7) G(7) 1 We ve found a path to the goal: Start => A => E => Goal (from the pointers) GOAL Are we done? 19
20 0 Start 1 1 D A C L B E F J K 1 1 G H I 1 GOAL B() A() C() Example (/5) H() A() C() I(5) G(7) No expansion E() C() D(5) I(5) F(7) G(7) GOAL(5) There might be a shorter path, but assuming non-negative arc costs, nodes with a lower prio than the goal cannot yield a better path. In this example, nodes with a priority greater th equal to 5 can be pruned. Why don t we expand nodes with an equivalen (why not expand nodes D 0 and I?)
21 1 1 D A C B E F J 1 0 Start 1 If the priority queue still wasn t empty, we would continue expanding while throwing away nodes with priority lower than. (remember, lower numbers = higher priority) G H I 1 GOAL L K B() A() C() Example (5/5) H() A() C() I(5) G(7) No expansion E() C() D(5) I(5) F(7) G(7) GOAL(5) We can continue to throw away nodes with priority levels lower than the lowest goal found. As we can see from this example, there was a shorter path through node K. To find the path, simply follow the back pointers. Therefore the path would be: Start => C => K => Goal K() L(5) J(5) 1 GOAL()
22 Monotonic never overestimates the cost of getting from a node to its neighbor. for all paths x,y where y is a successor of x, i.e., h(x) g(y)- g(x) h(y) h(a) = g(a) = 1 h(e) = 1 g(e) = h(a) g(e) -g(a) h(e) -1 1
23 A*: Example (1/6) A B C 6 E F G H I J L M N operating cost Legend D K 6 Heuristics A = 1 H = 8 B = 10 I = 5 C = 8 J = D = 6 K = E = 8 L = 6 F = 7 M =
24 A*: Example (/6) 6 A B C E F G D 6 Closed List A(0) Open List - Priority Queue E(11) B(1) Expand H(1) H I J L M Heuristics A = 1, B = 10, C = 8, D = 6, E = 8, F = 7, G = 6 H = 8, I = 5, J =, K =, L = 6, M =, N = 0 N K A(x) = A(g(n)) E(y) = E(f(n)) where f(n) = g(n) + h(n) = + 8 = 11
25 A*: Example (/6) Closed List Open List - Priority Queue 6 A B C E F G D 6 A(0) E() B(16) > H(15) > I(11) B(1) H(1) F(1) H I J K L M N Update Add new node Since A B is smaller Heuristics than A E B, the f- A = 1, B = 10, C = 8, D = 6, E = 8, F = 7, cost G = value 6 of B in an H = 8, I = 5, J =, K =, L = 6, M =, open N = list 0 needs not be updated 5
26 A*: Example (/6) 6 A H B C E F G I J D K 6 Closed List A(0) E() I(6) Open List - Priority Queue J(1) M(1) B(1) H(18) > H(1) F(17) > F(1) L(15) L M N Update Add new node Heuristics A = 1, B = 10, C = 8, D = 6, E = 8, F = 7, G = 6 H = 8, I = 5, J =, K =, L = 6, M =, N = 0 6
27 A*: Example (5/6) Closed List Open List - Priority Queue 6 A H B C E F G I J L M N D K 6 A(0) E() I(6) J(10) Update M(16) > M(1) N(1) B(1) F(1) > H(1) F(1) L(15) K(16) G(19) Add new node Heuristics A = 1, B = 10, C = 8, D = 6, E = 8, F = 7, G = 6 H = 8, I = 5, J =, K =, L = 6, M =, N = 0 7
28 A*: Example (6/6) Closed List Open List - Priority Queue 6 A B C E F G D 6 A(0) E() I(6) J(10) M(10) N(1) L() > > N(1) B(1) H(1) F(1) L(15) K(16) G(19) Goal H I J L M N K Update Add new node Since the path to N from Heuristics M is greater than that A = 1, B = 10, C = 8, D = 6, E = 8, F = 7, from G = 6 J, the optimal path H = 8, I = 5, J =, K =, L = 6, M =, to N N = is 0 the one traversed from J 8
29 A*: Example Result 6 A H B C E F G I J D K 6 Generate the path from the goal node back to the start node through the backpointer attribute L M N 9
30 Non-opportunistic 1. Put S on priority Q and expand it. Expand A because its priority value is 7. The goal is reached with priority value 8. This is less than B s priority value which is 1 0
CMU Lecture 4: Informed Search. Teacher: Gianni A. Di Caro
CMU 15-781 Lecture 4: Informed Search Teacher: Gianni A. Di Caro UNINFORMED VS. INFORMED Uninformed Can only generate successors and distinguish goals from non-goals Informed Strategies that can distinguish
More informationInformed Search. Chap. 4. Breadth First. O(Min(N,B L )) BFS. Search. have same cost BIBFS. Bi- Direction. O(Min(N,2B L/2 )) BFS. have same cost UCS
Informed Search Chap. 4 Material in part from http://www.cs.cmu.edu/~awm/tutorials Uninformed Search Complexity N = Total number of states B = Average number of successors (branching factor) L = Length
More informationInformed Search. Day 3 of Search. Chap. 4, Russel & Norvig. Material in part from
Informed Search Day 3 of Search Chap. 4, Russel & Norvig Material in part from http://www.cs.cmu.edu/~awm/tutorials Uninformed Search Complexity N = Total number of states B = Average number of successors
More informationCS 6301 PROGRAMMING AND DATA STRUCTURE II Dept of CSE/IT UNIT V GRAPHS
UNIT V GRAPHS Representation of Graphs Breadth-first search Depth-first search Topological sort Minimum Spanning Trees Kruskal and Prim algorithm Shortest path algorithm Dijkstra s algorithm Bellman-Ford
More informationAI Programming CS S-06 Heuristic Search
AI Programming CS662-2013S-06 Heuristic Search David Galles Department of Computer Science University of San Francisco 06-0: Overview Heuristic Search - exploiting knowledge about the problem Heuristic
More informationCS 4100 // artificial intelligence. Recap/midterm review!
CS 4100 // artificial intelligence instructor: byron wallace Recap/midterm review! Attribution: many of these slides are modified versions of those distributed with the UC Berkeley CS188 materials Thanks
More informationIncremental Path Planning
Incremental Path Planning Dynamic and Incremental A* Prof. Brian Williams (help from Ihsiang Shu) 6./6.8 Cognitive Robotics February 7 th, Outline Review: Optimal Path Planning in Partially Known Environments.
More informationI may not have gone where I intended to go, but I think I have ended up where I needed to be. Douglas Adams
Disclaimer: I use these notes as a guide rather than a comprehensive coverage of the topic. They are neither a substitute for attending the lectures nor for reading the assigned material. I may not have
More informationBreadth First Search, Dijkstra s Algorithm for Shortest Paths
CS 374: Algorithms & Models of Computation, Spring 2017 Breadth First Search, Dijkstra s Algorithm for Shortest Paths Lecture 17 March 1, 2017 Chandra Chekuri (UIUC) CS374 1 Spring 2017 1 / 42 Part I Breadth
More informationCSE 4502/5717 Big Data Analytics Spring 2018; Homework 1 Solutions
CSE 502/5717 Big Data Analytics Spring 2018; Homework 1 Solutions 1. Consider the following algorithm: for i := 1 to α n log e n do Pick a random j [1, n]; If a[j] = a[j + 1] or a[j] = a[j 1] then output:
More informationA* Search. 1 Dijkstra Shortest Path
A* Search Consider the eight puzzle. There are eight tiles numbered 1 through 8 on a 3 by three grid with nine locations so that one location is left empty. We can move by sliding a tile adjacent to the
More informationAppendix of Computational Protein Design Using AND/OR Branch and Bound Search
Appendix of Computational Protein Design Using AND/OR Branch and Bound Search Yichao Zhou 1, Yuexin Wu 1, and Jianyang Zeng 1,2, 1 Institute for Interdisciplinary Information Sciences, Tsinghua University,
More informationProblem-Solving via Search Lecture 3
Lecture 3 What is a search problem? How do search algorithms work and how do we evaluate their performance? 1 Agenda An example task Problem formulation Infrastructure for search algorithms Complexity
More informationDeterministic Planning and State-space Search. Erez Karpas
Planning and Search IE&M Technion to our Problem-solving agents Restricted form of general agent def Simple-Problem-Solving-Agent (problem): state, some description of the current world state seq, an action
More informationICS 252 Introduction to Computer Design
ICS 252 fall 2006 Eli Bozorgzadeh Computer Science Department-UCI References and Copyright Textbooks referred [Mic94] G. De Micheli Synthesis and Optimization of Digital Circuits McGraw-Hill, 1994. [CLR90]
More informationCSE 473: Artificial Intelligence Spring 2014
CSE 473: Artificial Intelligence Spring 2014 Hanna Hajishirzi Problem Spaces and Search slides from Dan Klein, Stuart Russell, Andrew Moore, Dan Weld, Pieter Abbeel, Luke Zettelmoyer Outline Agents that
More informationGame Engineering CS F-12 Artificial Intelligence
Game Engineering CS420-2011F-12 Artificial Intelligence David Galles Department of Computer Science University of San Francisco 12-0: Artifical Intelligence AI in games is a huge field Creating a believable
More informationSingle Source Shortest Paths
CMPS 00 Fall 015 Single Source Shortest Paths Carola Wenk Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk 1 Paths in graphs Consider a digraph G = (V, E) with an edge-weight
More informationProblem solving and search. Chapter 3. Chapter 3 1
Problem solving and search Chapter 3 Chapter 3 1 eminders ssignment 0 due 5pm today ssignment 1 posted, due 2/9 Section 105 will move to 9-10am starting next week Chapter 3 2 Problem-solving agents Problem
More informationQuery Processing in Spatial Network Databases
Temporal and Spatial Data Management Fall 0 Query Processing in Spatial Network Databases SL06 Spatial network databases Shortest Path Incremental Euclidean Restriction Incremental Network Expansion Spatial
More information2 GRAPH AND NETWORK OPTIMIZATION. E. Amaldi Introduction to Operations Research Politecnico Milano 1
2 GRAPH AND NETWORK OPTIMIZATION E. Amaldi Introduction to Operations Research Politecnico Milano 1 A variety of decision-making problems can be formulated in terms of graphs and networks Examples: - transportation
More informationCS360 Homework 12 Solution
CS360 Homework 12 Solution Constraint Satisfaction 1) Consider the following constraint satisfaction problem with variables x, y and z, each with domain {1, 2, 3}, and constraints C 1 and C 2, defined
More informationCS 4700: Foundations of Artificial Intelligence Homework 2 Solutions. Graph. You can get to the same single state through multiple paths.
CS 4700: Foundations of Artificial Intelligence Homework Solutions 1. (30 points) Imagine you have a state space where a state is represented by a tuple of three positive integers (i,j,k), and you have
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 7 Greedy Graph Algorithms Shortest paths Minimum Spanning Tree Sofya Raskhodnikova 9/14/016 S. Raskhodnikova; based on slides by E. Demaine, C. Leiserson, A. Smith,
More informationAnalysis of Algorithms. Outline. Single Source Shortest Path. Andres Mendez-Vazquez. November 9, Notes. Notes
Analysis of Algorithms Single Source Shortest Path Andres Mendez-Vazquez November 9, 01 1 / 108 Outline 1 Introduction Introduction and Similar Problems General Results Optimal Substructure Properties
More informationBFS Dijkstra. Oct abhi shelat
4102 BFS Dijkstra Oct 22 2009 abhi shelat breadth first search bfs(g, a) 1 2 a b 1 2 d c e f g 2 h bfs theorem Theorem 1 (CLRS, p. 599) Let G =(V, E) be a graph and suppose that BFS is run on G from vertex
More informationDoctoral Course in Speech Recognition. May 2007 Kjell Elenius
Doctoral Course in Speech Recognition May 2007 Kjell Elenius CHAPTER 12 BASIC SEARCH ALGORITHMS State-based search paradigm Triplet S, O, G S, set of initial states O, set of operators applied on a state
More informationDiscrete Wiskunde II. Lecture 5: Shortest Paths & Spanning Trees
, 2009 Lecture 5: Shortest Paths & Spanning Trees University of Twente m.uetz@utwente.nl wwwhome.math.utwente.nl/~uetzm/dw/ Shortest Path Problem "#$%&'%()*%"()$#+,&- Given directed "#$%&'()*+,%+('-*.#/'01234564'.*,'7+"-%/8',&'5"4'84%#3
More informationCS 4407 Algorithms Lecture: Shortest Path Algorithms
CS 440 Algorithms Lecture: Shortest Path Algorithms Prof. Gregory Provan Department of Computer Science University College Cork 1 Outline Shortest Path Problem General Lemmas and Theorems. Algorithms Bellman-Ford
More informationAlgorithm Design Strategies V
Algorithm Design Strategies V Joaquim Madeira Version 0.0 October 2016 U. Aveiro, October 2016 1 Overview The 0-1 Knapsack Problem Revisited The Fractional Knapsack Problem Greedy Algorithms Example Coin
More informationDijkstra s Single Source Shortest Path Algorithm. Andreas Klappenecker
Dijkstra s Single Source Shortest Path Algorithm Andreas Klappenecker Single Source Shortest Path Given: a directed or undirected graph G = (V,E) a source node s in V a weight function w: E -> R. Goal:
More informationPrinciples of AI Planning
Principles of AI Planning 5. Planning as search: progression and regression Albert-Ludwigs-Universität Freiburg Bernhard Nebel and Robert Mattmüller October 30th, 2013 Introduction Classification Planning
More informationTree/Graph Search. q IDDFS-? B C. Search CSL452 - ARTIFICIAL INTELLIGENCE 2
Informed Search Tree/Graph Search q IDDFS-? A B C D E F G Search CSL452 - ARTIFICIAL INTELLIGENCE 2 Informed (Heuristic) Search q Heuristic problem specific knowledge o finds solutions more efficiently
More informationSolutions. Prelim 2[Solutions]
Prelim [Solutions]. Short Answer [ pts] (a) [ pts] A traversal of an expression tree produces the string + + 3. i. What kind of traversal is it? Preorder; the operator is printed before the operands. ii.
More informationShortest Path Algorithms
Shortest Path Algorithms Andreas Klappenecker [based on slides by Prof. Welch] 1 Single Source Shortest Path 2 Single Source Shortest Path Given: a directed or undirected graph G = (V,E) a source node
More informationDivide-and-Conquer Algorithms Part Two
Divide-and-Conquer Algorithms Part Two Recap from Last Time Divide-and-Conquer Algorithms A divide-and-conquer algorithm is one that works as follows: (Divide) Split the input apart into multiple smaller
More informationCMPS 2200 Fall Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk. 10/8/12 CMPS 2200 Intro.
CMPS 00 Fall 01 Single Source Shortest Paths Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk 1 Paths in graphs Consider a digraph G = (V, E) with edge-weight function
More informationIntroduction to Fall 2008 Artificial Intelligence Final Exam
CS 188 Introduction to Fall 2008 Artificial Intelligence Final Exam INSTRUCTIONS You have 180 minutes. 100 points total. Don t panic! The exam is closed book, closed notes except a two-page crib sheet,
More informationPrelim 2[Solutions] Solutions. 1. Short Answer [18 pts]
Prelim [Solutions]. Short Answer [8 pts] (a) [3 pts] In a model/view/controller, Swing is likely to be part of (there may be more than one): i. the model ii. the view iii. the controller The view and the
More informationComputing Static Single Assignment (SSA) Form
Computing Static Single Assignment (SSA) Form Overview What is SSA? Advantages of SSA over use-def chains Flavors of SSA Dominance frontiers revisited Inserting φ-nodes Renaming the variables Translating
More informationMock Exam Künstliche Intelligenz-1. Different problems test different skills and knowledge, so do not get stuck on one problem.
Name: Matriculation Number: Mock Exam Künstliche Intelligenz-1 January 9., 2017 You have one hour(sharp) for the test; Write the solutions to the sheet. The estimated time for solving this exam is 53 minutes,
More informationHW #4. (mostly by) Salim Sarımurat. 1) Insert 6 2) Insert 8 3) Insert 30. 4) Insert S a.
HW #4 (mostly by) Salim Sarımurat 04.12.2009 S. 1. 1. a. 1) Insert 6 2) Insert 8 3) Insert 30 4) Insert 40 2 5) Insert 50 6) Insert 61 7) Insert 70 1. b. 1) Insert 12 2) Insert 29 3) Insert 30 4) Insert
More informationPrinciples of AI Planning
Principles of 5. Planning as search: progression and regression Malte Helmert and Bernhard Nebel Albert-Ludwigs-Universität Freiburg May 4th, 2010 Planning as (classical) search Introduction Classification
More informationMEM380 Applied Autonomous Robots I Fall BUG Algorithms Potential Fields
MEM380 Applied Autonomous Robots I Fall BUG Algorithms Potential Fields What s Special About Bugs? Many planning algorithms assume global knowledge Bug algorithms assume only local knowledge of the environment
More informationCS221 Practice Midterm
CS221 Practice Midterm Autumn 2012 1 ther Midterms The following pages are excerpts from similar classes midterms. The content is similar to what we ve been covering this quarter, so that it should be
More information8 Priority Queues. 8 Priority Queues. Prim s Minimum Spanning Tree Algorithm. Dijkstra s Shortest Path Algorithm
8 Priority Queues 8 Priority Queues A Priority Queue S is a dynamic set data structure that supports the following operations: S. build(x 1,..., x n ): Creates a data-structure that contains just the elements
More informationParsing with Context-Free Grammars
Parsing with Context-Free Grammars Berlin Chen 2005 References: 1. Natural Language Understanding, chapter 3 (3.1~3.4, 3.6) 2. Speech and Language Processing, chapters 9, 10 NLP-Berlin Chen 1 Grammars
More informationHomework 2: MDPs and Search
Graduate Artificial Intelligence 15-780 Homework 2: MDPs and Search Out on February 15 Due on February 29 Problem 1: MDPs [Felipe, 20pts] Figure 1: MDP for Problem 1. States are represented by circles
More informationSplay Trees. CMSC 420: Lecture 8
Splay Trees CMSC 420: Lecture 8 AVL Trees Nice Features: - Worst case O(log n) performance guarantee - Fairly simple to implement Problem though: - Have to maintain etra balance factor storage at each
More informationAlgorithms for Sensor-Based Robotics: Potential Functions
Algorithms for Sensor-Based Robotics: Potential Functions Computer Science 336 http://www.cs.jhu.edu/~hager/teaching/cs336 Professor Hager http://www.cs.jhu.edu/~hager The Basic Idea A really simple idea:
More informationIS 709/809: Computational Methods in IS Research Fall Exam Review
IS 709/809: Computational Methods in IS Research Fall 2017 Exam Review Nirmalya Roy Department of Information Systems University of Maryland Baltimore County www.umbc.edu Exam When: Tuesday (11/28) 7:10pm
More informationINF2220: algorithms and data structures Series 1
Universitetet i Oslo Institutt for Informatikk I. Yu, D. Karabeg INF2220: algorithms and data structures Series 1 Topic Function growth & estimation of running time, trees (Exercises with hints for solution)
More informationChapter 5 Data Structures Algorithm Theory WS 2017/18 Fabian Kuhn
Chapter 5 Data Structures Algorithm Theory WS 2017/18 Fabian Kuhn Priority Queue / Heap Stores (key,data) pairs (like dictionary) But, different set of operations: Initialize-Heap: creates new empty heap
More informationComputational Geometry
Voronoi diagrams Voronoi diagram Given some trees, seen from above, which region will they occupy? Voronoi diagram Given some trees, seen from above, which region will they occupy? Voronoi diagram Given
More informationExpanding brackets and factorising
Chapter 7 Expanding brackets and factorising This chapter will show you how to expand and simplify expressions with brackets solve equations and inequalities involving brackets factorise by removing a
More informationProblem Set 1. CSE 373 Spring Out: February 9, 2016
Problem Set 1 CSE 373 Spring 2016 Out: February 9, 2016 1 Big-O Notation Prove each of the following using the definition of big-o notation (find constants c and n 0 such that f(n) c g(n) for n > n o.
More informationSingle Source Shortest Paths
CMPS 00 Fall 017 Single Source Shortest Paths Carola Wenk Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk Paths in graphs Consider a digraph G = (V, E) with an edge-weight
More informationCS 188 Introduction to Fall 2007 Artificial Intelligence Midterm
NAME: SID#: Login: Sec: 1 CS 188 Introduction to Fall 2007 Artificial Intelligence Midterm You have 80 minutes. The exam is closed book, closed notes except a one-page crib sheet, basic calculators only.
More informationFaster than Weighted A*: An Optimistic Approach to Bounded Suboptimal Search
Faster than Weighted A*: An Optimistic Approach to Bounded Suboptimal Search Jordan Thayer and Wheeler Ruml {jtd7, ruml} at cs.unh.edu Jordan Thayer (UNH) Optimistic Search 1 / 45 Motivation Motivation
More informationIntroduction to Arti Intelligence
Introduction to Arti Intelligence cial Lecture 4: Constraint satisfaction problems 1 / 48 Constraint satisfaction problems: Today Exploiting the representation of a state to accelerate search. Backtracking.
More informationChapter 5-2: Clustering
Chapter 5-2: Clustering Jilles Vreeken Revision 1, November 20 th typo s fixed: dendrogram Revision 2, December 10 th clarified: we do consider a point x as a member of its own ε-neighborhood 12 Nov 2015
More informationSampling from Bayes Nets
from Bayes Nets http://www.youtube.com/watch?v=mvrtaljp8dm http://www.youtube.com/watch?v=geqip_0vjec Paper reviews Should be useful feedback for the authors A critique of the paper No paper is perfect!
More information6.01: Introduction to EECS I. Optimizing a Search
6.0: Introduction to CS I Optimizing a Search May 3, 0 Nano-Quiz Makeups Wednesday, May 4, 6-pm, 34-50. everyone can makeup/retake NQ everyone can makeup/retake two additional NQs you can makeup/retake
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 8 Greedy Algorithms V Huffman Codes Adam Smith Review Questions Let G be a connected undirected graph with distinct edge weights. Answer true or false: Let e be the
More informationPriority queues implemented via heaps
Priority queues implemented via heaps Comp Sci 1575 Data s Outline 1 2 3 Outline 1 2 3 Priority queue: most important first Recall: queue is FIFO A normal queue data structure will not implement a priority
More informationArtificial Intelligence Methods. Problem solving by searching
rtificial Intelligence Methods Problem solving by searching In which we see how an agent can find a sequence of actions that achieves its goals, when no single action will do. Dr. Igor Trajkovski Dr. Igor
More informationPart IA Algorithms Notes
Part IA Algorithms Notes 1 Sorting 1.1 Insertion Sort 1 d e f i n s e r t i o n S o r t ( a ) : 2 f o r i from 1 i n c l u d e d to l e n ( a ) excluded : 3 4 j = i 1 5 w h i l e j >= 0 and a [ i ] > a
More informationAbsolute Value Equations and Inequalities. Use the distance definition of absolute value.
Chapter 2 Section 7 2.7 Absolute Value Equations and Inequalities Objectives 1 2 3 4 5 6 Use the distance definition of absolute value. Solve equations of the form ax + b = k, for k > 0. Solve inequalities
More informationIntroduction to Algorithms
Introduction to Algorithms 6.046J/8.40J/SMA550 Lecture 7 Prof. Erik Demaine Paths in graphs Consider a digraph G = (V, E) with edge-weight function w : E R. The weight of path p = v v L v k is defined
More informationIntroduction to Algorithms
Introduction to Algorithms 6.046J/18.401J LECTURE 14 Shortest Paths I Properties of shortest paths Dijkstra s algorithm Correctness Analysis Breadth-first search Prof. Charles E. Leiserson Paths in graphs
More informationEssentials of the A* Algorithm
Essentials of the A* Algorithm Keith L. Downing Search problems are ubiquitous in Artificial Intelligence (AI), and they are often so complex that standard brute-force methods (i.e. those that try every
More informationShortest paths: label setting
: label setting CE 377K February 19, 2015 REVIEW HW 2 posted, due in 2 weeks Review Basic search algorithm Prim s algorithm Review Algorithm (Assumes that the network is connected.) 1 Arbitrarily choose
More informationMath Models of OR: Some Definitions
Math Models of OR: Some Definitions John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 12180 USA September 2018 Mitchell Some Definitions 1 / 20 Active constraints Outline 1 Active constraints
More informationA Simple Implementation Technique for Priority Search Queues
A Simple Implementation Technique for Priority Search Queues RALF HINZE Institute of Information and Computing Sciences Utrecht University Email: ralf@cs.uu.nl Homepage: http://www.cs.uu.nl/~ralf/ April,
More informationMidterm. Introduction to Artificial Intelligence. CS 188 Summer You have approximately 2 hours and 50 minutes.
CS 188 Summer 2014 Introduction to Artificial Intelligence Midterm You have approximately 2 hours and 50 minutes. The exam is closed book, closed notes except your one-page crib sheet. Mark your answers
More informationUndirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11
Undirected Graphs Undirected graph. G = (V, E) V = nodes. E = edges between pairs of nodes. Captures pairwise relationship between objects. Graph size parameters: n = V, m = E. V = {, 2, 3,,,, 7, 8 } E
More information2. A vertex in G is central if its greatest distance from any other vertex is as small as possible. This distance is the radius of G.
CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh (rezab@stanford.edu) HW#1 Due at the beginning of class Thursday 01/21/16 1. Prove that at least one of G and G is connected. Here, G
More informationLists, Stacks, and Queues (plus Priority Queues)
Lists, Stacks, and Queues (plus Priority Queues) The structures lists, stacks, and queues are composed of similar elements with different operations. Likewise, with mathematics: (Z, +, 0) vs. (Z,, 1) List
More informationQueues. Principles of Computer Science II. Basic features of Queues
Queues Principles of Computer Science II Abstract Data Types Ioannis Chatzigiannakis Sapienza University of Rome Lecture 9 Queue is also an abstract data type or a linear data structure, in which the first
More informationwith the size of the input in the limit, as the size of the misused.
Chapter 3. Growth of Functions Outline Study the asymptotic efficiency of algorithms Give several standard methods for simplifying the asymptotic analysis of algorithms Present several notational conventions
More informationLearning in State-Space Reinforcement Learning CIS 32
Learning in State-Space Reinforcement Learning CIS 32 Functionalia Syllabus Updated: MIDTERM and REVIEW moved up one day. MIDTERM: Everything through Evolutionary Agents. HW 2 Out - DUE Sunday before the
More informationCMPS 6610 Fall 2018 Shortest Paths Carola Wenk
CMPS 6610 Fall 018 Shortest Paths Carola Wenk Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk Paths in graphs Consider a digraph G = (V, E) with an edge-weight function w
More informationCTL satisfability via tableau A C++ implementation
CTL satisfability via tableau A C++ implementation Nicola Prezza April 30, 2015 Outline 1 Introduction 2 Parsing 3 Data structures 4 Initial sets of labels and edges 5 Cull 6 Examples and benchmarks The
More informationMath Models of OR: Branch-and-Bound
Math Models of OR: Branch-and-Bound John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 12180 USA November 2018 Mitchell Branch-and-Bound 1 / 15 Branch-and-Bound Outline 1 Branch-and-Bound
More informationCS361 Homework #3 Solutions
CS6 Homework # Solutions. Suppose I have a hash table with 5 locations. I would like to know how many items I can store in it before it becomes fairly likely that I have a collision, i.e., that two items
More informationUNIVERSITY OF YORK. MSc Examinations 2004 MATHEMATICS Networks. Time Allowed: 3 hours.
UNIVERSITY OF YORK MSc Examinations 2004 MATHEMATICS Networks Time Allowed: 3 hours. Answer 4 questions. Standard calculators will be provided but should be unnecessary. 1 Turn over 2 continued on next
More informationWorst-Case Solution Quality Analysis When Not Re-Expanding Nodes in Best-First Search
Worst-Case Solution Quality Analysis When Not Re-Expanding Nodes in Best-First Search Richard Valenzano University of Alberta valenzan@ualberta.ca Nathan R. Sturtevant University of Denver sturtevant@cs.du.edu
More informationWorksheet on Relations
Worksheet on Relations Recall the properties that relations can have: Definition. Let R be a relation on the set A. R is reflexive if for all a A we have ara. R is irreflexive or antireflexive if for all
More informationWolf-Tilo Balke Silviu Homoceanu Institut für Informationssysteme Technische Universität Braunschweig
Multimedia Databases Wolf-Tilo Balke Silviu Homoceanu Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de 13 Indexes for Multimedia Data 13 Indexes for Multimedia
More informationComputational Boolean Algebra. Pingqiang Zhou ShanghaiTech University
Computational Boolean Algebra Pingqiang Zhou ShanghaiTech University Announcements Written assignment #1 is out. Due: March 24 th, in class. Programming assignment #1 is out. Due: March 24 th, 11:59PM.
More information1 Trees. Listing 1: Node with two child reference. public class ptwochildnode { protected Object data ; protected ptwochildnode l e f t, r i g h t ;
1 Trees The next major set of data structures belongs to what s called Trees. They are called that, because if you try to visualize the structure, it kind of looks like a tree (root, branches, and leafs).
More informationDiscrete Optimization 2010 Lecture 3 Maximum Flows
Remainder: Shortest Paths Maximum Flows Discrete Optimization 2010 Lecture 3 Maximum Flows Marc Uetz University of Twente m.uetz@utwente.nl Lecture 3: sheet 1 / 29 Marc Uetz Discrete Optimization Outline
More informationDirected Graphs (Digraphs) and Graphs
Directed Graphs (Digraphs) and Graphs Definitions Graph ADT Traversal algorithms DFS Lecturer: Georgy Gimel farb COMPSCI 220 Algorithms and Data Structures 1 / 74 1 Basic definitions 2 Digraph Representation
More informationNgày 20 tháng 7 năm Discrete Optimization Graphs
Discrete Optimization Graphs Ngày 20 tháng 7 năm 2011 Lecture 6: Graphs In this class we shall prove some simple, useful theorems about graphs. We start with very simple obseravations. Lecture 6: Graphs
More informationAlgorithms and Theory of Computation. Lecture 2: Big-O Notation Graph Algorithms
Algorithms and Theory of Computation Lecture 2: Big-O Notation Graph Algorithms Xiaohui Bei MAS 714 August 14, 2018 Nanyang Technological University MAS 714 August 14, 2018 1 / 20 O, Ω, and Θ Nanyang Technological
More informationSingle-tree GMM training
Single-tree GMM training Ryan R. Curtin May 27, 2015 1 Introduction In this short document, we derive a tree-independent single-tree algorithm for Gaussian mixture model training, based on a technique
More informationCS Data Structures and Algorithm Analysis
CS 483 - Data Structures and Algorithm Analysis Lecture VII: Chapter 6, part 2 R. Paul Wiegand George Mason University, Department of Computer Science March 22, 2006 Outline 1 Balanced Trees 2 Heaps &
More informationIntroduction to Algorithms
Introduction to Algorithms 6.046J/18.401J LECTURE 17 Shortest Paths I Properties of shortest paths Dijkstra s algorithm Correctness Analysis Breadth-first search Prof. Erik Demaine November 14, 005 Copyright
More informationLearning Algorithms with Unified and Interactive Web-Based Visualization
Learning Algorithms with Unified and Interactive Web-Based Visualization S T E V E N H A L I M ( L E C T U R E R @ S O C ) V I C T O R L O H B O H U A I ( N O W I N F A C E B O O K ) K O H ZI C H U N (
More informationCISC681/481 AI Midterm Exam
CISC681/481 AI Midterm Exam You have from 12:30 to 1:45pm to complete the following four questions. Use the back of the page if you need more space. Good luck! 1. Definitions (3 points each) Define the
More information