Discrete search algorithms

Size: px
Start display at page:

Download "Discrete search algorithms"

Transcription

1 Robot Autonomy (16-662, S13) Lecture#08 (Monday February 11) Discrete search algorithms Lecturer: Siddhartha Srinivasa Scribes: Kavya Suresh & David Matten I. INTRODUCTION These notes contain a detailed explanation of the algorithms involved in discrete search. In the following sections we describe, in detail, the piano movers problem, discrete feasible planning and the different forward searching methods. 1. Piano movers problem 2. Some basic terms 3. Discrete feasible planning a. Introduction of discrete feasible planning b. Discrete feasible planning algorithm model 4. Forward searching methods a. Breadth First b. Depth First c. Dijkstra s algorithm, d. A-Star e. Best First f. Iterative deepening II. PIANO MOVERS PROBLEM The piano movers problem is known as the classic path planning problem. Given an open subset in an n- dimensional space and two subsets, C 0 and C 1, of U, is it possible to move from C 0 to C 1 while remaining entirely inside U? (1) i.e. if you are given a rigid body and its obstacles, the goal is to find a collision free path from the initial configuration to the final configuration. The obstacles here are not moving and the planning is done offline i.e. the planning is done before implementation of the program. (2) In simple words, given a set of obstacles and the initial and final position of the robot, the goal is to find a path that moves the robot from the initial to the final position and simultaneously avoids obstacles. (1) No point in the robot should collide or come in contact with the obstacle. Doing so will cause the motion to fail. This demands that every point on the robot must be represented. This is called the configuration of the robot. The C space has the same dimensions as the degrees of freedom (DOF). In the case of the piano, the x,y,z position and roll, pitch and yaw represent the 6 DOFs. (2)

2 INTRODUCTION TO DISCRETE SEARCH The piano movers problem involves planning a path from an initial position, q i, to a final position, q f. In the continuous domain this problem is classified as PSPACE HARD. In order to simplify the problem, we shift C-space into the discrete spectrum. This is done by overlaying a discrete grid over the C-space and marking all discrete locations that overlap C obstacle as containing an obstacle. An example of this can be seen in. Figure 1: Converting from continuous C-space to discrete C-space, any cell that contains C- obstacle is made into an obstacle cell. This transition creates a finite and countable number of states, x, in the original state space X. There are actions, u, which can be performed on x, and can be represented as U(x). For a 2D discrete problem, some simple examples of u would be the commands move up, move right, move left and move down. For any given state x, there is a state transition function which converts x into a subsequent state, x, given an action and a current state. An example of a state transition function, f(x,u), where x are the coordinates (2, 1) and u is the command to move up such that U(x) is (0, 1), would be x = (2, 1) + (0, 1) = (2, 2). BASIC TERMINOLOGY 1. Work space: The workspace is defined as the space which contains obstacles where the robot is said to move. 2. Configuration space: The vector space that defined the system configuration is called as the configuration space or the C space. This is the space that contains the robot and its surroundings. (3) The C space contains the robot s current position, the forbidden space which is the region of collision of the robot with the obstacles and the free space which is the region as which the robot is at rest. (1) III. DISCRETE FEASIBLE PLANNING a. Introduction to discrete feasible planning (3) Each and every distinct situation in the world can be referred to as a state represented as x. The set of all states is called a state space and is represented as X. This set, X, must be finite and must not contain unwanted information as this can cause problems in planning. The planner chooses a set of actions represented as u, and these actions, when applied on a set of current states, produce a new state. A state transition equation is represented by f given by x = f(x,u), as mentioned above. An

3 action space is the set of all actions that can be applied, starting from x, to produce x. The set of all actions applied on all states is called U. U = U xϵx U(x). The discrete planning algorithm is defined as the set of actions which will cause the initial state x I to reach the final state x G. b. Discrete feasible planning algorithm model (3) 1. A nonempty state space X, which is a finite set of states. 2. For each state x ϵ X, a finite action space U(x). 3. A state transition function f that produces a state f(x, u) ϵ X for every x ϵ X and u ϵ U(x). The state transition equation is derived from f as x = f(x, u). 4. An initial state x I ϵ X. 5. A goal set X G C X. IV. FORWARD SEARCHING METHOD Given a starting state, x i, and an ending state, x g, the goal is to find a feasible path from x i to x g. One method of solving this problem is to perform a forward (or backward) search. A forward search starts from an initial position and probes until it enters the goal state. A simple algorithm that performs forward search can be seen in Figure 2. In this algorithm there is a priority queue (Q) which is a list of states (x) sorted based on a priority function. Q has two sub-functions, Q.insert(x) and Q.getfirst().Q.insert adds a state to the queue. For example in an assembly when people are standing in ascending order of height, when a tall person comes he/she is added to the last spot in the line. Q.getfirst() returns the first element from the queue, sticking to the same example, the output returned would be the shortest person (this depends on the queue). Q.insert(x i ) and mark x i as visited while Q is not empty do: x = Q.getfirst() if x ϵ x g : return success else for all u: x = f(x, u) if x not visited: mark x as visited Q.insert(x ) return failure Figure 2: The basic algorithm for a forward search. The algorithm depicted above runs as follows: While the queue is not empty, pop the topmost element from it. If x is within the goal then declare success. If x is not within the goal, for all the actions that are feasible for the element just popped out of the queue, compute x as f(x,u). This algorithm keeps track of all the states that have already been visited, marks unvisited states as visited, and inserts them into the Q. Despite completing all of the above steps, if the goal is not reached return failure. The forward search algorithm constantly pops elements out of the queue, checks if it is in the goal, and, if it isn t it computes

4 who the children are (by looking at actions that can be performed), and adds them into the Q. Manipulating the priority function provides different ways to solve the problem. By modifying the queue type the search is performed in different ways. Two basic queue forms which are used are the FIFO (First In First Out) and the LIFO (Last In First Out) structures. While these methods both produce results, the results aren t guaranteed to be optimal. Optimal planning algorithms exist which find the optimal path from q i to q g. BASIC TERMINOLOGY 1. Unvisited: The states that have not been visited even once are referred to as unvisited states. 2. Next: If x is the current state, x is the next state for which x = f(u,x) where u is an action that exists for this transformation. 3. Dead: A dead state is a state, along with the states following it, that have been visited and no suitable path could be found to reach the goal. 4. Alive: Alive states are states that have been visited but the next states have not been visited, leaving a possibility of finding a feasible plan. Alive states are always stored in a queue. The order with which the items of the queue are called out or accessed is determined algorithmically. (3) Explanation BREADTH FIRST Breadth first search utilizes a FIFO type queue. In a FIFO queue the first element that is added is the first element that is removed. FIFO produces an algorithm called breadth first. This queue structure is similar to a service line at a grocery store or cafeteria, where the first person in line is the first person to be served. This algorithm grows sub-trees in all directions and stops when it reaches the goal state. This algorithm can be slow in reaching the goal, but the path will generally be fairly short and branches will be fairly distributed in all directions. This method will generally look something like a bull s-eye, as seen in Figure 3Figure 5. Figure 3: General shape of a breadth first search. The search is done approximately equally in all directions. This approach asserts that the first solution that gets X I to X G is the shortest solution that makes use of least number of steps. This does not keep account of states that have been visited previously. This is said to be a systematic approach. (3)

5 Example An example of the algorithm, seen in Figure 2, running a breadth search first search, using a FIFO queue is seen in Figure 4. For this example, the order in which U(x) is performed is move down, move left, move up, move right q i 21 q g Figure 4: Breadth First Search Using a FIFO queue. 1. q i in queue. Run algorithm on q i. add 2 then 3 and then 4 to the queue. Q: {4,3,2} 2. Take the first item off of the queue (2) add 5 then 6 to the queue. Q: {6,5,4,3} 3. Take the first item off of the queue (3) add 7 to the queue. Q: {7,6,5,4} 4. Take the first item off of the queue (4) add 8 to the queue. Q: {8,7,6,5} 5. Take the first item off of the queue (5) add 9 then 10 to the queue. Q: {10,9,8,7,6} 6. Take the first item off of the queue (6) Q: {10,9,8,7} 8. Take the first item off of the queue (8) add 12 to the queue. Q: {12,11,10,9} 9. Take the first item off of the queue (9) Q: {12,11,10} 10. Take the first item off of the queue (10) add 13 to the queue. Q: {13,12,11} 11. Take the first item off of the queue (11) 12. Q: {13,12} Take the first item off of the queue (9) 13. This process is continued until the goal is removed from the queue. This occurs after step 25, where 29 is added to the queue. 7. Take the first item off of the queue (7) add 11 to the queue. Q: {11,10,9,8} After step 29 the items in the queue are: Q:{29,28,27,26,q g} At this point, q g is removed and the algorithm returns success. The way to compute the path is to keep track of the states parents, go from child to parent, and flip it to get the path. Each child has one parent but each parent can have multiple children

6 It is important to note that the path found happens to be the optimal path, even though almost the entire space needed to be explored. Although most of the space was explored, not all of it needed to be. The path traversed slowly, but was able to provide a solution. In order to return the path, the parent of each cell (which cell was used to get to which cell) was stored. Explanation DEPTH FIRST Depth first search utilizes a LIFO type queue. In a LIFO queue the last element that is added is the first element that is removed. This queue structure is similar to a stack of dishes, where the last dish added to the stack is the first dish to be removed. This algorithm grows a sub-tree in one directions and branches out until it reaches a dead end. At this point the sub tree back tracks and continues a new sub-tree from the point closest to the end. Like the breadth first search, the depth first search stops when it reaches the goal state. This algorithm can be fast in reaching the goal, but the path will generally be fairly long. This method will generally look something like a cone, as seen in Figure 5. Figure 5: General shape of a breadth first search. The search is done almost exclusively in a single direction. In the depth first approach, the Q functions as a stack. The last state to enter Q is the first one to leave. Here too, the revisited states are not accounted for. The algorithm proceeds in a for all loop and hence there is no control on the path taken. This approach is desirable when the count of X is finite. (3) Example An example of the algorithm, seen in Figure 2, running a depth search first search, using a LIFO queue is seen below. For this example, seen in Figure 6Figure 4, the order in which U(x) is performed is move up, move right, move down, and move right q i q g Figure 6: Depth First Search using a LIFO queue.

7 It is important to note that the path found was found in half the steps of the breadth first search, even though the path found was far from the optimal path. Although around half of the space was explored, this search method could easily end up exploring too far in one direction and being incredibly slow. Had the space in Figure 6 extended infinitely to the right, the path would have never encountered the goal. In the case of the breadth first search, even if the space was infinite, the path returned would still be the same as that seen in Figure 4. The path traversed quickly, but was unable to provide a near optimal solution. As in breadth first searching, the parent of each cell (which cell was used to get to which cell) was stored to allow the recovery of the final path. 1. qi in queue. Run algorithm on qi. add 2 then 3 and then 4 to the queue. Q: {4,3,2} 2. Take the last item off of the queue (4) add 5 then 6 to the queue. Q: {6,5,3,2} 3. Take the last item off of the queue (6) add 7 then 8 to the queue. Q: {8,7,5,3,2} 4. Take the last item off of the queue (8) add 9 to the queue. Q: {9,7,5,3,2} 5. Take the last item off of the queue (9) add 10 to the queue. Q: {10,7,5,3,2} 6. Take the last item off of the queue (10) Add 11 then 12 to the queue Q: {12,11,7,5,3,2} 7. Take the last item off of the queue (12) add 13 then 14 to the queue. Q: {14,13,11,7,5,3,2} 8. Take the last item off of the queue (14) add 15 then 16 to the queue. Q: {16,15,13,11,7,5,3,2} 9. Take the last item off of the queue (16) Add 17 to the queue Q: {17,15,13,11,7,5,3,2} 10. Take the last item off of the queue (17) add 18 to the queue. Q: {18,15,13,11,7,5,3,2} 11. Take the last item off of the queue (18) add 19 then 20 to the queue. Q: {20,19,15,13,11,7,5,3,2} 12. Take the last item off of the queue (20) add 21 then qg to the queue. Q: {qg,21,19,15,13,11,7,5,3,2} 13. Take the first item off of the queue (qg) return success.

8 OPTIMAL PLANNING ALGORITHMS Although Breadth and Depth First Search methods both find a path to the object, Breadth First Search is slow and Depth First search doesn t find an efficient path. By changing the queue to select an element based on a certain criteria, the problem can be solved faster, with an optimal result. Now, a cost, C, is created for all values of x and u. The cost defined here could be an action cost or the amount of energy that is needed to go from x to x. Cost can also be determined by the distance to the nearest obstacle. Consider for example, a robot that has a noisy actuator. The goal would be to make sure it doesn t bump into obstacles. For every configuration, the distance to the nearest obstacle could be the cost-to-go. Finally, given a cost, the goal is to find a path such that the sum of the cost along a path, C(x), is minimized. This cost is created using a function, L(x, u), which takes in any x and produces the cost to perform an action U(x). Common L(x, u) functions are based on the distance to obstacles and the energy cost to make the given move. The goal of an optimal planning algorithm is to find a path such that C(x) for the entire path is minimized. DIJKSTRA S ALGORITHM For Dijkstra s Algorithm, the queue is sorted based on the estimated cost-to-come from x i to x, and is given by C(x). The goal of the algorithm is to find C*(x g ), or the minimal cost to get to the goal. This algorithm tries to find the optimum and feasible path. This is useful for finding the shortest path for a single source. Each and every edge (e ϵ E) can be thought of as a separate planning problem. Each edge has a cost, L(e), associated with it when an action is applied. The cost of applying an action, u, from state x is represented as L(x,u). The total cost is computed as the sum of costs for all edges starting from X I and going to X G. There are two types of costs, namely C(x) i.e. non optimal cost, and optimal cost C*(x). Q is sorted according to the cost-to-come function. For each and every state, C*(x) is defined by the optimal cost-to-come function. C*(x) = the sum of all edge cost values divided by the sum of path from x I to x. (3) The algorithm starts off with no estimate of the cost-to-come value (i.e. Initially C*(x) = 0), it then incrementally builds the cost-to-come function until it converges to the optimal cost. This uses the forward search algorithm and makes one modification to it. When a node x is taken, it is created by f(x, u). If x is not visited, then it is put into Q and the Q is sorted based on the cost-to-come. The cost to-come function is updated as the current cost-to-come, plus the cost that it takes to go from x to x (i.e. C(x ) = C*(x) + L(e)). C(x ) is known as the best cost-to-come. Updating the cost function takes place. (3) If a node is found that has already been visited, the cost is recalculated and compared to the originally listed cost. The minimum of these two compared costs is the new C(x ). In this algorithm the most computationally complicated step is the calculation of the C(x). A theorem exists pertaining to this algorithm that states that a state is only popped when its optimal cost is computed. This means that when the goal is popped that it is at its optimal cost. In other words, when a state becomes a dead state, the cost function associated with it is called the optimal cost-to-come. HEURISTIC PATH A heuristic path can be defined when the final destination is known. Dijkstra s algorithm can be modified when the final destination is known. In the example below (Figure 7), the robot is required to move from X I to X G and the blocks are the obstacles on the way. A function G is defined such that

9 G: x R +. G must underestimate the true cost-to-go. The path traversed by the robot when all the obstacles are removed is called the heuristic path. The associated cost is called the heuristic cost-togo. X I X G Figure 7: Example of a heuristic path A* ALGORITHM The A* algorithm computes the total cost that is used to get to the goal state and reduces the number of explored states. There are two main cost functions that are to be defined here: the cost-to-come, which is the cost C(x) from X I to x, and G(x), the cost-to-go from x to X G. The optimal cost-to-come, C*, and optimal cost-to-go, G*, differ in that C* can be estimated by incrementing it periodically but G* cannot be estimated. The goal is to compute an estimate (Ĝ*(x)) that is close enough and less than or equal to the original cost-to-go estimate. To accomplish this a heuristic path is chosen which is a straight path connecting the start to the end. This line is usually one which contains obstacles hence the cost-to-go function will be higher than this estimate. The contents of Q are sorted using the sum of C*(x ) + Ĝ*(x ). If Ĝ*(x ) is 0 the Dijkstra s algorithm will be implemented. In A*, Q is sorted based on the heuristic cost-to-go C(x) + G(x). It can be written as C(x) + ϵg(x). When ϵ = 0: Dijkstras algorithm i.e. C(x) When ϵ= : Breadth first algorithm i.e. G(x) When ϵ=1: A* algorithm i.e. C(x) + G(x) When ϵ=1.5: weighted A* i.e. C(x) + 1.5*G(x) This is no longer a heuristic pathway One disadvantage of the A* algorithm in comparison to best first algorithm is that it is slower. BEST FIRST SEARCH This is similar to A* wherein it is required to compute an estimate of the optimal cost-to-go function. In some cases however, this estimate exceeds the optimal cost-to-go function. The disadvantage of this system is that sometimes optimal solutions are not found. The advantage is that the execution and running times are much faster since fewer vertices are visited. This is a non-systematic search. ITERATIVE DEEPENING The iterative deepening method is used when the number of vertices in the next level is far more than the number in the current level. It does a breadth first search in a depth first way. It shoots out rays and stops till it reaches a particular depth. It is a cautious and efficient algorithm. This uses the depth first search to find all the states that are at a certain distance, let s say n (or less), from the initial state. If the goal is not found it starts over and searches for n+1 (or less). It starts from n=1 and proceeds

10 until the goal is reached. This algorithm doesn t have the space constraints that the breadth first algorithm has. V. REFERENCES 1. Lu Yang, Zhenbing Zeng, Symbolic Solution of a Piano Movers Problem with Four Parameters, In proceeding of: Automated Deduction in Geometry, 5th International Workshop ADG, Gainesville, Piotr Indyk, Lecture 11: Motion Planning by, March Steven M. LaValle, (2006), Planning Algorithms, Chicago: Cambridge University Press

ME/CS 132: Advanced Robotics: Navigation and Vision

ME/CS 132: Advanced Robotics: Navigation and Vision ME/CS 132: Advanced Robotics: Navigation and Vision Lecture #5: Search Algorithm 1 Yoshiaki Kuwata 4/12/2011 Lecture Overview Introduction Label Correcting Algorithm Core idea Depth-first search Breadth-first

More information

Other course stuff. CSCI 599: Coordinated Mobile Robotics Prof. Nora Ayanian

Other course stuff. CSCI 599: Coordinated Mobile Robotics Prof. Nora Ayanian Other course stuff CSCI 599: Coordinated Mobile Robotics Prof. Nora Ayanian Syllabus Change $ Grading:$$ $ %$of$final$grade$ Homework$ 0%$ Exercise$$Evaluation$ 5%$ Proposal$Presentation$evaluations$you$write$

More information

Class Overview. Introduction to Artificial Intelligence COMP 3501 / COMP Lecture 2: Search. Problem Solving Agents

Class Overview. Introduction to Artificial Intelligence COMP 3501 / COMP Lecture 2: Search. Problem Solving Agents Class Overview COMP 3501 / COMP 4704-4 Lecture 2: Search Prof. 1 2 Problem Solving Agents Problem Solving Agents: Assumptions Requires a goal Assume world is: Requires actions Observable What actions?

More information

Sub-Optimal Heuristic Search ARA* and Experience Graphs

Sub-Optimal Heuristic Search ARA* and Experience Graphs Robot Autonomy (16-662, S13) Lecture#09 (Wednesday Feb 13, 2013) Lecture by: Micheal Phillips Sub-Optimal Heuristic Search ARA* and Experience Graphs Scribes: S.Selvam Raju and Adam Lebovitz Contents 1

More information

Discrete Motion Planning

Discrete Motion Planning RBE MOTION PLANNING Discrete Motion Planning Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering http://users.wpi.edu/~zli11 Announcement Homework 1 is out Due Date - Feb 1 Updated

More information

Uninformed Search Methods

Uninformed Search Methods Uninformed Search Methods Search Algorithms Uninformed Blind search Breadth-first uniform first depth-first Iterative deepening depth-first Bidirectional Branch and Bound Informed Heuristic search Greedy

More information

Class Overview. Introduction to Artificial Intelligence COMP 3501 / COMP Lecture 2. Problem Solving Agents. Problem Solving Agents: Assumptions

Class Overview. Introduction to Artificial Intelligence COMP 3501 / COMP Lecture 2. Problem Solving Agents. Problem Solving Agents: Assumptions Class Overview COMP 3501 / COMP 4704-4 Lecture 2 Prof. JGH 318 Problem Solving Agents Problem Solving Agents: Assumptions Requires a goal Assume world is: Requires actions Observable What actions? Discrete

More information

6.141: Robotics systems and science Lecture 10: Implementing Motion Planning

6.141: Robotics systems and science Lecture 10: Implementing Motion Planning 6.141: Robotics systems and science Lecture 10: Implementing Motion Planning Lecture Notes Prepared by N. Roy and D. Rus EECS/MIT Spring 2011 Reading: Chapter 3, and Craig: Robotics http://courses.csail.mit.edu/6.141/!

More information

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano   tel: Marcello Restelli Dipartimento di Elettronica e Informazione Politecnico di Milano email: restelli@elet.polimi.it tel: 02 2399 3470 Path Planning Robotica for Computer Engineering students A.A. 2006/2007

More information

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space Lecturer: Nikolay Atanasov: natanasov@ucsd.edu Teaching Assistants: Tianyu Wang: tiw161@eng.ucsd.edu Yongxi Lu: yol070@eng.ucsd.edu

More information

Search Algorithms for Discrete Optimization Problems

Search Algorithms for Discrete Optimization Problems Search Algorithms for Discrete Optimization Problems Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar To accompany the text ``Introduction to Parallel Computing'', Addison Wesley, 2003. 1 Topic

More information

Lesson 1 Introduction to Path Planning Graph Searches: BFS and DFS

Lesson 1 Introduction to Path Planning Graph Searches: BFS and DFS Lesson 1 Introduction to Path Planning Graph Searches: BFS and DFS DASL Summer Program Path Planning References: http://robotics.mem.drexel.edu/mhsieh/courses/mem380i/index.html http://dasl.mem.drexel.edu/hing/bfsdfstutorial.htm

More information

Visibility Graph. How does a Mobile Robot get from A to B?

Visibility Graph. How does a Mobile Robot get from A to B? Robot Path Planning Things to Consider: Spatial reasoning/understanding: robots can have many dimensions in space, obstacles can be complicated Global Planning: Do we know the environment apriori? Online

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) Path Planning for Point Robots Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/mpa Class Objectives Motion planning framework Classic motion planning approaches 2 3 Configuration Space:

More information

CS4733 Class Notes. 1 2-D Robot Motion Planning Algorithm Using Grown Obstacles

CS4733 Class Notes. 1 2-D Robot Motion Planning Algorithm Using Grown Obstacles CS4733 Class Notes 1 2-D Robot Motion Planning Algorithm Using Grown Obstacles Reference: An Algorithm for Planning Collision Free Paths Among Poyhedral Obstacles by T. Lozano-Perez and M. Wesley. This

More information

Probabilistic Methods for Kinodynamic Path Planning

Probabilistic Methods for Kinodynamic Path Planning 16.412/6.834J Cognitive Robotics February 7 th, 2005 Probabilistic Methods for Kinodynamic Path Planning Based on Past Student Lectures by: Paul Elliott, Aisha Walcott, Nathan Ickes and Stanislav Funiak

More information

6.141: Robotics systems and science Lecture 10: Motion Planning III

6.141: Robotics systems and science Lecture 10: Motion Planning III 6.141: Robotics systems and science Lecture 10: Motion Planning III Lecture Notes Prepared by N. Roy and D. Rus EECS/MIT Spring 2012 Reading: Chapter 3, and Craig: Robotics http://courses.csail.mit.edu/6.141/!

More information

15-494/694: Cognitive Robotics

15-494/694: Cognitive Robotics 15-494/694: Cognitive Robotics Dave Touretzky Lecture 9: Path Planning with Rapidly-exploring Random Trees Navigating with the Pilot Image from http://www.futuristgerd.com/2015/09/10 Outline How is path

More information

Chapter 3. A problem-solving agent is a kind of goal-based agent. It decide what to do by finding sequences of actions that lead to desirable states.

Chapter 3. A problem-solving agent is a kind of goal-based agent. It decide what to do by finding sequences of actions that lead to desirable states. Chapter 3 A problem-solving agent is a kind of goal-based agent. It decide what to do by finding sequences of actions that lead to desirable states. A problem can be defined by four components : 1. The

More information

Can work in a group of at most 3 students.! Can work individually! If you work in a group of 2 or 3 students,!

Can work in a group of at most 3 students.! Can work individually! If you work in a group of 2 or 3 students,! Assignment 1 is out! Due: 26 Aug 23:59! Submit in turnitin! Code + report! Can work in a group of at most 3 students.! Can work individually! If you work in a group of 2 or 3 students,! Each member must

More information

Assignment 1 is out! Due: 9 Sep 23:59! Can work in a group of 2-3 students.! NO cheating!!!! Submit in turnitin! Code + report!

Assignment 1 is out! Due: 9 Sep 23:59! Can work in a group of 2-3 students.! NO cheating!!!! Submit in turnitin! Code + report! Assignment 1 is out! Due: 9 Sep 23:59! Submit in turnitin! Code + report! Can work in a group of 2-3 students.! Please register your group in the website linked from the assignment description before tomorrow

More information

Informed Search CS457 David Kauchak Fall 2011

Informed Search CS457 David Kauchak Fall 2011 Admin Informed Search CS57 David Kauchak Fall 011 Some material used from : Sara Owsley Sood and others Q3 mean: 6. median: 7 Final projects proposals looked pretty good start working plan out exactly

More information

An Appropriate Search Algorithm for Finding Grid Resources

An Appropriate Search Algorithm for Finding Grid Resources An Appropriate Search Algorithm for Finding Grid Resources Olusegun O. A. 1, Babatunde A. N. 2, Omotehinwa T. O. 3,Aremu D. R. 4, Balogun B. F. 5 1,4 Department of Computer Science University of Ilorin,

More information

UNIT 4 Branch and Bound

UNIT 4 Branch and Bound UNIT 4 Branch and Bound General method: Branch and Bound is another method to systematically search a solution space. Just like backtracking, we will use bounding functions to avoid generating subtrees

More information

Data Structure. IBPS SO (IT- Officer) Exam 2017

Data Structure. IBPS SO (IT- Officer) Exam 2017 Data Structure IBPS SO (IT- Officer) Exam 2017 Data Structure: In computer science, a data structure is a way of storing and organizing data in a computer s memory so that it can be used efficiently. Data

More information

CS510 \ Lecture Ariel Stolerman

CS510 \ Lecture Ariel Stolerman CS510 \ Lecture02 2012-10-03 1 Ariel Stolerman Midterm Evan will email about that after the lecture, at least 2 lectures from now. The exam will be given in a regular PDF (not an online form). We will

More information

Discrete planning (an introduction)

Discrete planning (an introduction) Sistemi Intelligenti Corso di Laurea in Informatica, A.A. 2017-2018 Università degli Studi di Milano Discrete planning (an introduction) Nicola Basilico Dipartimento di Informatica Via Comelico 39/41-20135

More information

Heuristic Search and Advanced Methods

Heuristic Search and Advanced Methods Heuristic Search and Advanced Methods Computer Science cpsc322, Lecture 3 (Textbook Chpt 3.6 3.7) May, 15, 2012 CPSC 322, Lecture 3 Slide 1 Course Announcements Posted on WebCT Assignment1 (due on Thurs!)

More information

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena CS 4758/6758: Robot Learning Spring 2010: Lecture 9 Why planning and control? Video Typical Architecture Planning 0.1 Hz Control 50 Hz Does it apply to all robots and all scenarios? Previous Lecture: Potential

More information

Planning in Mobile Robotics

Planning in Mobile Robotics Planning in Mobile Robotics Part I. Miroslav Kulich Intelligent and Mobile Robotics Group Gerstner Laboratory for Intelligent Decision Making and Control Czech Technical University in Prague Tuesday 26/07/2011

More information

Mobile Robot Path Planning in Static Environments using Particle Swarm Optimization

Mobile Robot Path Planning in Static Environments using Particle Swarm Optimization Mobile Robot Path Planning in Static Environments using Particle Swarm Optimization M. Shahab Alam, M. Usman Rafique, and M. Umer Khan Abstract Motion planning is a key element of robotics since it empowers

More information

CS 310 Advanced Data Structures and Algorithms

CS 310 Advanced Data Structures and Algorithms CS 31 Advanced Data Structures and Algorithms Graphs July 18, 17 Tong Wang UMass Boston CS 31 July 18, 17 1 / 4 Graph Definitions Graph a mathematical construction that describes objects and relations

More information

Solving Problems by Searching

Solving Problems by Searching Solving Problems by Searching 1 Terminology State State Space Initial State Goal Test Action Step Cost Path Cost State Change Function State-Space Search 2 Formal State-Space Model Problem = (S, s, A,

More information

UNINFORMED SEARCH. Announcements Reading Section 3.4, especially 3.4.1, 3.4.2, 3.4.3, 3.4.5

UNINFORMED SEARCH. Announcements Reading Section 3.4, especially 3.4.1, 3.4.2, 3.4.3, 3.4.5 UNINFORMED SEARCH Announcements Reading Section 3.4, especially 3.4.1, 3.4.2, 3.4.3, 3.4.5 Robbie has no idea where room X is, and may have little choice but to try going down this corridor and that. On

More information

LECTURE 11 TREE TRAVERSALS

LECTURE 11 TREE TRAVERSALS DATA STRUCTURES AND ALGORITHMS LECTURE 11 TREE TRAVERSALS IMRAN IHSAN ASSISTANT PROFESSOR AIR UNIVERSITY, ISLAMABAD BACKGROUND All the objects stored in an array or linked list can be accessed sequentially

More information

Motion Planning, Part III Graph Search, Part I. Howie Choset

Motion Planning, Part III Graph Search, Part I. Howie Choset Motion Planning, Part III Graph Search, Part I Howie Choset Happy President s Day The Configuration Space What it is A set of reachable areas constructed from knowledge of both the robot and the world

More information

Basic Search Algorithms

Basic Search Algorithms Basic Search Algorithms Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 Abstract The complexities of various search algorithms are considered in terms of time, space, and cost

More information

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI. Department of Computer Science and Engineering CS6301 PROGRAMMING DATA STRUCTURES II

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI. Department of Computer Science and Engineering CS6301 PROGRAMMING DATA STRUCTURES II DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI Department of Computer Science and Engineering CS6301 PROGRAMMING DATA STRUCTURES II Anna University 2 & 16 Mark Questions & Answers Year / Semester: II / III

More information

Lecture 3. Brute Force

Lecture 3. Brute Force Lecture 3 Brute Force 1 Lecture Contents 1. Selection Sort and Bubble Sort 2. Sequential Search and Brute-Force String Matching 3. Closest-Pair and Convex-Hull Problems by Brute Force 4. Exhaustive Search

More information

Motion Planning for a Point Robot (2/2) Point Robot on a Grid. Planning requires models. Point Robot on a Grid 1/18/2012.

Motion Planning for a Point Robot (2/2) Point Robot on a Grid. Planning requires models. Point Robot on a Grid 1/18/2012. Motion Planning for a Point Robot (/) Class scribing Position paper 1 Planning requires models Point Robot on a Grid The Bug algorithms are reactive motion strategies ; they are not motion planners To

More information

Algorithm Design (8) Graph Algorithms 1/2

Algorithm Design (8) Graph Algorithms 1/2 Graph Algorithm Design (8) Graph Algorithms / Graph:, : A finite set of vertices (or nodes) : A finite set of edges (or arcs or branches) each of which connect two vertices Takashi Chikayama School of

More information

Lecture 3 - States and Searching

Lecture 3 - States and Searching Lecture 3 - States and Searching Jesse Hoey School of Computer Science University of Waterloo January 15, 2018 Readings: Poole & Mackworth Chapt. 3 (all) Searching Often we are not given an algorithm to

More information

EE631 Cooperating Autonomous Mobile Robots

EE631 Cooperating Autonomous Mobile Robots EE631 Cooperating Autonomous Mobile Robots Lecture 3: Path Planning Algorithm Prof. Yi Guo ECE Dept. Plan Representing the Space Path Planning Methods A* Search Algorithm D* Search Algorithm Representing

More information

mywbut.com Informed Search Strategies-I

mywbut.com Informed Search Strategies-I Informed Search Strategies-I 1 3.1 Introduction We have outlined the different types of search strategies. In the earlier chapter we have looked at different blind search strategies. Uninformed search

More information

Algorithm Design Techniques (III)

Algorithm Design Techniques (III) Algorithm Design Techniques (III) Minimax. Alpha-Beta Pruning. Search Tree Strategies (backtracking revisited, branch and bound). Local Search. DSA - lecture 10 - T.U.Cluj-Napoca - M. Joldos 1 Tic-Tac-Toe

More information

Search Algorithms for Discrete Optimization Problems

Search Algorithms for Discrete Optimization Problems Search Algorithms for Discrete Optimization Problems Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar To accompany the text ``Introduction to Parallel Computing'', Addison Wesley, 2003. Topic

More information

DIT411/TIN175, Artificial Intelligence. Peter Ljunglöf. 19 January, 2018

DIT411/TIN175, Artificial Intelligence. Peter Ljunglöf. 19 January, 2018 DIT411/TIN175, Artificial Intelligence Chapter 3: Classical search algorithms CHAPTER 3: CLASSICAL SEARCH ALGORITHMS DIT411/TIN175, Artificial Intelligence Peter Ljunglöf 19 January, 2018 1 DEADLINE FOR

More information

Pathfinding Algorithms and Implementations on Grid Map

Pathfinding Algorithms and Implementations on Grid Map Pathfinding Algorithms and Implementations on Grid Map Steven Andrew / 13509061 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

More information

CMU-Q Lecture 2: Search problems Uninformed search. Teacher: Gianni A. Di Caro

CMU-Q Lecture 2: Search problems Uninformed search. Teacher: Gianni A. Di Caro CMU-Q 15-381 Lecture 2: Search problems Uninformed search Teacher: Gianni A. Di Caro RECAP: ACT RATIONALLY Think like people Think rationally Agent Sensors? Actuators Percepts Actions Environment Act like

More information

HW#1 due today. HW#2 due Monday, 9/09/13, in class Continue reading Chapter 3

HW#1 due today. HW#2 due Monday, 9/09/13, in class Continue reading Chapter 3 9-04-2013 Uninformed (blind) search algorithms Breadth-First Search (BFS) Uniform-Cost Search Depth-First Search (DFS) Depth-Limited Search Iterative Deepening Best-First Search HW#1 due today HW#2 due

More information

Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning

Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning Sören Schwertfeger / 师泽仁 ShanghaiTech University ShanghaiTech University - SIST - 10.05.2017

More information

ROOT A node which doesn t have a parent. In the above tree. The Root is A. LEAF A node which doesn t have children is called leaf or Terminal node.

ROOT A node which doesn t have a parent. In the above tree. The Root is A. LEAF A node which doesn t have children is called leaf or Terminal node. UNIT III : DYNAMIC STORAGE MANAGEMENT Trees: Binary tree, Terminology, Representation, Traversals, Applications. Graph: Terminology, Representation, Traversals Applications - spanning trees, shortest path.

More information

Analysis of Algorithms

Analysis of Algorithms Algorithm An algorithm is a procedure or formula for solving a problem, based on conducting a sequence of specified actions. A computer program can be viewed as an elaborate algorithm. In mathematics and

More information

Algorithms and Path Planning

Algorithms and Path Planning Algorithms and Path Planning Topics Simple Search Depth First Search Breadth First Search Dijkstra s Search Greedy Search A* Search Classes of interest ECE400: Computer Systems Programming CS4700: Foundations

More information

Navigation and Metric Path Planning

Navigation and Metric Path Planning Navigation and Metric Path Planning October 4, 2011 Minerva tour guide robot (CMU): Gave tours in Smithsonian s National Museum of History Example of Minerva s occupancy map used for navigation Objectives

More information

Lecture Notes. char myarray [ ] = {0, 0, 0, 0, 0 } ; The memory diagram associated with the array can be drawn like this

Lecture Notes. char myarray [ ] = {0, 0, 0, 0, 0 } ; The memory diagram associated with the array can be drawn like this Lecture Notes Array Review An array in C++ is a contiguous block of memory. Since a char is 1 byte, then an array of 5 chars is 5 bytes. For example, if you execute the following C++ code you will allocate

More information

The wolf sheep cabbage problem. Search. Terminology. Solution. Finite state acceptor / state space

The wolf sheep cabbage problem. Search. Terminology. Solution. Finite state acceptor / state space Search The wolf sheep cabbage problem What is search? Terminology: search space, strategy Modelling Uninformed search (not intelligent ) Breadth first Depth first, some variations omplexity space and time

More information

6.141: Robotics systems and science Lecture 9: Configuration Space and Motion Planning

6.141: Robotics systems and science Lecture 9: Configuration Space and Motion Planning 6.141: Robotics systems and science Lecture 9: Configuration Space and Motion Planning Lecture Notes Prepared by Daniela Rus EECS/MIT Spring 2011 Figures by Nancy Amato, Rodney Brooks, Vijay Kumar Reading:

More information

Lecture 3: Motion Planning (cont.)

Lecture 3: Motion Planning (cont.) CS 294-115 Algorithmic Human-Robot Interaction Fall 2016 Lecture 3: Motion Planning (cont.) Scribes: Molly Nicholas, Chelsea Zhang 3.1 Previously in class... Recall that we defined configuration spaces.

More information

Search Algorithms. IE 496 Lecture 17

Search Algorithms. IE 496 Lecture 17 Search Algorithms IE 496 Lecture 17 Reading for This Lecture Primary Horowitz and Sahni, Chapter 8 Basic Search Algorithms Search Algorithms Search algorithms are fundamental techniques applied to solve

More information

Artificial Intelligence Prof. Deepak Khemani Department of Computer Science and Engineering Indian Institute of Technology, Madras

Artificial Intelligence Prof. Deepak Khemani Department of Computer Science and Engineering Indian Institute of Technology, Madras Artificial Intelligence Prof. Deepak Khemani Department of Computer Science and Engineering Indian Institute of Technology, Madras (Refer Slide Time: 00:17) Lecture No - 10 Hill Climbing So, we were looking

More information

Planning, Execution and Learning Application: Examples of Planning for Mobile Manipulation and Articulated Robots

Planning, Execution and Learning Application: Examples of Planning for Mobile Manipulation and Articulated Robots 15-887 Planning, Execution and Learning Application: Examples of Planning for Mobile Manipulation and Articulated Robots Maxim Likhachev Robotics Institute Carnegie Mellon University Two Examples Planning

More information

CS301 - Data Structures Glossary By

CS301 - Data Structures Glossary By CS301 - Data Structures Glossary By Abstract Data Type : A set of data values and associated operations that are precisely specified independent of any particular implementation. Also known as ADT Algorithm

More information

Search : Lecture 2. September 9, 2003

Search : Lecture 2. September 9, 2003 Search 6.825: Lecture 2 September 9, 2003 1 Problem-Solving Problems When your environment can be effectively modeled as having discrete states and actions deterministic, known world dynamics known initial

More information

Advanced Robotics Path Planning & Navigation

Advanced Robotics Path Planning & Navigation Advanced Robotics Path Planning & Navigation 1 Agenda Motivation Basic Definitions Configuration Space Global Planning Local Planning Obstacle Avoidance ROS Navigation Stack 2 Literature Choset, Lynch,

More information

Topics. Trees Vojislav Kecman. Which graphs are trees? Terminology. Terminology Trees as Models Some Tree Theorems Applications of Trees CMSC 302

Topics. Trees Vojislav Kecman. Which graphs are trees? Terminology. Terminology Trees as Models Some Tree Theorems Applications of Trees CMSC 302 Topics VCU, Department of Computer Science CMSC 302 Trees Vojislav Kecman Terminology Trees as Models Some Tree Theorems Applications of Trees Binary Search Tree Decision Tree Tree Traversal Spanning Trees

More information

Chapter 12. Path Planning. Beard & McLain, Small Unmanned Aircraft, Princeton University Press, 2012,

Chapter 12. Path Planning. Beard & McLain, Small Unmanned Aircraft, Princeton University Press, 2012, Chapter 12 Path Planning Beard & McLain, Small Unmanned Aircraft, Princeton University Press, 212, Chapter 12: Slide 1 Control Architecture destination, obstacles map path planner waypoints status path

More information

Chapter 3 Solving problems by searching

Chapter 3 Solving problems by searching 1 Chapter 3 Solving problems by searching CS 461 Artificial Intelligence Pinar Duygulu Bilkent University, Slides are mostly adapted from AIMA and MIT Open Courseware 2 Introduction Simple-reflex agents

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Informed Search and Exploration Chapter 4 (4.1 4.2) A General Search algorithm: Chapter 3: Search Strategies Task : Find a sequence of actions leading from the initial state to

More information

Motion Planning. COMP3431 Robot Software Architectures

Motion Planning. COMP3431 Robot Software Architectures Motion Planning COMP3431 Robot Software Architectures Motion Planning Task Planner can tell the robot discrete steps but can t say how to execute them Discrete actions must be turned into operations in

More information

FORTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLIGY- MARCH, 2012 DATA STRUCTURE (Common to CT and IF) [Time: 3 hours

FORTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLIGY- MARCH, 2012 DATA STRUCTURE (Common to CT and IF) [Time: 3 hours TED (10)-3071 Reg. No.. (REVISION-2010) (Maximum marks: 100) Signature. FORTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLIGY- MARCH, 2012 DATA STRUCTURE (Common to CT and IF) [Time: 3 hours PART

More information

Module 2: Classical Algorithm Design Techniques

Module 2: Classical Algorithm Design Techniques Module 2: Classical Algorithm Design Techniques Dr. Natarajan Meghanathan Associate Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu Module

More information

A2 Uninformed Search

A2 Uninformed Search 2 Uninformed Search Hantao Zhang http://www.cs.uiowa.edu/ hzhang/c145 The University of Iowa Department of omputer Science rtificial Intelligence p.1/82 Example: The 8-puzzle 2 8 3 1 7 6 4 5 It can be

More information

Example: The 8-puzzle. A2 Uninformed Search. It can be generalized to 15-puzzle, 24-puzzle, or. (n 2 1)-puzzle for n 6. Department of Computer Science

Example: The 8-puzzle. A2 Uninformed Search. It can be generalized to 15-puzzle, 24-puzzle, or. (n 2 1)-puzzle for n 6. Department of Computer Science 2 Uninformed Search Hantao Zhang http://www.cs.uiowa.edu/ hzhang/c145 The University of Iowa Department of omputer Science rtificial Intelligence p.1/82 Example: The 8-puzzle 2 1 7 8 3 6 4 5 It can be

More information

CS8391-DATA STRUCTURES QUESTION BANK UNIT I

CS8391-DATA STRUCTURES QUESTION BANK UNIT I CS8391-DATA STRUCTURES QUESTION BANK UNIT I 2MARKS 1.Define data structure. The data structure can be defined as the collection of elements and all the possible operations which are required for those

More information

Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences

Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences : A rule of thumb, simplification, or educated guess that reduces

More information

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li Parallel Physically Based Path-tracing and Shading Part 3 of 2 CIS565 Fall 202 University of Pennsylvania by Yining Karl Li Jim Scott 2009 Spatial cceleration Structures: KD-Trees *Some portions of these

More information

Robotics Tasks. CS 188: Artificial Intelligence Spring Manipulator Robots. Mobile Robots. Degrees of Freedom. Sensors and Effectors

Robotics Tasks. CS 188: Artificial Intelligence Spring Manipulator Robots. Mobile Robots. Degrees of Freedom. Sensors and Effectors CS 188: Artificial Intelligence Spring 2006 Lecture 5: Robot Motion Planning 1/31/2006 Dan Klein UC Berkeley Many slides from either Stuart Russell or Andrew Moore Motion planning (today) How to move from

More information

CMU-Q Lecture 4: Path Planning. Teacher: Gianni A. Di Caro

CMU-Q Lecture 4: Path Planning. Teacher: Gianni A. Di Caro CMU-Q 15-381 Lecture 4: Path Planning Teacher: Gianni A. Di Caro APPLICATION: MOTION PLANNING Path planning: computing a continuous sequence ( a path ) of configurations (states) between an initial configuration

More information

MEV 442: Introduction to Robotics - Module 3 INTRODUCTION TO ROBOT PATH PLANNING

MEV 442: Introduction to Robotics - Module 3 INTRODUCTION TO ROBOT PATH PLANNING MEV 442: Introduction to Robotics - Module 3 INTRODUCTION TO ROBOT PATH PLANNING THE PATH PLANNING PROBLEM The robot should find out a path enables the continuous motion of a robot from an initial configuration

More information

Route planning / Search Movement Group behavior Decision making

Route planning / Search Movement Group behavior Decision making Game AI Where is the AI Route planning / Search Movement Group behavior Decision making General Search Algorithm Design Keep a pair of set of states: One, the set of states to explore, called the open

More information

Trees and Tree Traversal

Trees and Tree Traversal Trees and Tree Traversal Material adapted courtesy of Prof. Dave Matuszek at UPENN Definition of a tree A tree is a node with a value and zero or more children Depending on the needs of the program, the

More information

Chapter 3: Search. c D. Poole, A. Mackworth 2010, W. Menzel 2015 Artificial Intelligence, Chapter 3, Page 1

Chapter 3: Search. c D. Poole, A. Mackworth 2010, W. Menzel 2015 Artificial Intelligence, Chapter 3, Page 1 Chapter 3: Search c D. Poole, A. Mackworth 2010, W. Menzel 2015 Artificial Intelligence, Chapter 3, Page 1 Searching Often we are not given an algorithm to solve a problem, but only a specification of

More information

Chapter 9. Priority Queue

Chapter 9. Priority Queue Chapter 9 Priority Queues, Heaps, Graphs Spring 2015 1 Priority Queue Priority Queue An ADT in which only the item with the highest priority can be accessed 2Spring 2015 Priority Depends on the Application

More information

Graphs vs trees up front; use grid too; discuss for BFS, DFS, IDS, UCS Cut back on A* optimality detail; a bit more on importance of heuristics,

Graphs vs trees up front; use grid too; discuss for BFS, DFS, IDS, UCS Cut back on A* optimality detail; a bit more on importance of heuristics, Graphs vs trees up front; use grid too; discuss for BFS, DFS, IDS, UCS Cut back on A* optimality detail; a bit more on importance of heuristics, performance data Pattern DBs? General Tree Search function

More information

ME512: Mobile Robotics Path Planning Algorithms. Atul Thakur, Assistant Professor Mechanical Engineering Department IIT Patna

ME512: Mobile Robotics Path Planning Algorithms. Atul Thakur, Assistant Professor Mechanical Engineering Department IIT Patna ME512: Mobile Robotics Path Planning Algorithms Atul Thakur, Assistant Professor Mechanical Engineering Department IIT Patna Path Planning Problem Given Robot state Obstacle positions Robot capabilities

More information

Motion Planning 2D. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Motion Planning 2D. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo Motion Planning 2D Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo Tratto dai corsi: CS 326A: Motion Planning ai.stanford.edu/~latombe/cs326/2007/index.htm Prof. J.C. Latombe Stanford

More information

Set 2: State-spaces and Uninformed Search. ICS 271 Fall 2015 Kalev Kask

Set 2: State-spaces and Uninformed Search. ICS 271 Fall 2015 Kalev Kask Set 2: State-spaces and Uninformed Search ICS 271 Fall 2015 Kalev Kask You need to know State-space based problem formulation State space (graph) Search space Nodes vs. states Tree search vs graph search

More information

9/17/2015 7:56 AM. CSCE 625 Programing Assignment #1 due: Tues, Sep 22 (by start of class) Objective

9/17/2015 7:56 AM. CSCE 625 Programing Assignment #1 due: Tues, Sep 22 (by start of class) Objective CSCE 625 Programing Assignment #1 due: Tues, Sep 22 (by start of class) Objective The goal of this assignment is to implement and compare the performance of Breadth-first search (BFS), Depth-First Search

More information

Search: Advanced Topics and Conclusion

Search: Advanced Topics and Conclusion Search: Advanced Topics and Conclusion CPSC 322 Lecture 8 January 24, 2007 Textbook 2.6 Search: Advanced Topics and Conclusion CPSC 322 Lecture 8, Slide 1 Lecture Overview 1 Recap 2 Branch & Bound 3 A

More information

Notes. Video Game AI: Lecture 5 Planning for Pathfinding. Lecture Overview. Knowledge vs Search. Jonathan Schaeffer this Friday

Notes. Video Game AI: Lecture 5 Planning for Pathfinding. Lecture Overview. Knowledge vs Search. Jonathan Schaeffer this Friday Notes Video Game AI: Lecture 5 Planning for Pathfinding Nathan Sturtevant COMP 3705 Jonathan Schaeffer this Friday Planning vs localization We cover planning today Localization is just mapping a real-valued

More information

CHAPTER SIX. the RRM creates small covering roadmaps for all tested environments.

CHAPTER SIX. the RRM creates small covering roadmaps for all tested environments. CHAPTER SIX CREATING SMALL ROADMAPS Many algorithms have been proposed that create a roadmap from which a path for a moving object can be extracted. These algorithms generally do not give guarantees on

More information

UNIT 5 GRAPH. Application of Graph Structure in real world:- Graph Terminologies:

UNIT 5 GRAPH. Application of Graph Structure in real world:- Graph Terminologies: UNIT 5 CSE 103 - Unit V- Graph GRAPH Graph is another important non-linear data structure. In tree Structure, there is a hierarchical relationship between, parent and children that is one-to-many relationship.

More information

Search in discrete and continuous spaces

Search in discrete and continuous spaces UNSW COMP3431: Robot Architectures S2 2006 1 Overview Assignment #1 Answer Sheet Search in discrete and continuous spaces Due: Start of Lab, Week 6 (1pm, 30 August 2006) The goal of this assignment is

More information

Chapter 11 Search Algorithms for Discrete Optimization Problems

Chapter 11 Search Algorithms for Discrete Optimization Problems Chapter Search Algorithms for Discrete Optimization Problems (Selected slides) A. Grama, A. Gupta, G. Karypis, and V. Kumar To accompany the text Introduction to Parallel Computing, Addison Wesley, 2003.

More information

CS 512: Comments on Graph Search 16:198:512 Instructor: Wes Cowan

CS 512: Comments on Graph Search 16:198:512 Instructor: Wes Cowan CS 512: Comments on Graph Search 16:198:512 Instructor: Wes Cowan 1 General Graph Search In general terms, the generic graph search algorithm looks like the following: def GenerateGraphSearchTree(G, root):

More information

TIE Graph algorithms

TIE Graph algorithms TIE-20106 1 1 Graph algorithms This chapter discusses the data structure that is a collection of points (called nodes or vertices) and connections between them (called edges or arcs) a graph. The common

More information

GRAPHICAL ALGORITHMS. UNIT _II Lecture-12 Slides No. 3-7 Lecture Slides No Lecture Slides No

GRAPHICAL ALGORITHMS. UNIT _II Lecture-12 Slides No. 3-7 Lecture Slides No Lecture Slides No GRAPHICAL ALGORITHMS UNIT _II Lecture-12 Slides No. 3-7 Lecture-13-16 Slides No. 8-26 Lecture-17-19 Slides No. 27-42 Topics Covered Graphs & Trees ( Some Basic Terminologies) Spanning Trees (BFS & DFS)

More information

Learning Objectives. c D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.2, Page 1

Learning Objectives. c D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 3.2, Page 1 Learning Objectives At the end of the class you should be able to: demonstrate how depth-first search will work on a graph demonstrate how breadth-first search will work on a graph predict the space and

More information

Parallel Programming. Parallel algorithms Combinatorial Search

Parallel Programming. Parallel algorithms Combinatorial Search Parallel Programming Parallel algorithms Combinatorial Search Some Combinatorial Search Methods Divide and conquer Backtrack search Branch and bound Game tree search (minimax, alpha-beta) 2010@FEUP Parallel

More information