Nicole Dobrowolski. Keywords: State-space, Search, Maze, Quagent, Quake

Size: px
Start display at page:

Download "Nicole Dobrowolski. Keywords: State-space, Search, Maze, Quagent, Quake"

Transcription

1 The Applicability of Uninformed and Informed Searches to Maze Traversal Computer Science 242: Artificial Intelligence Dept. of Computer Science, University of Rochester Nicole Dobrowolski Abstract: There are many strategies for maze traversal: always keeping your right hand on the wall of the maze, using a string to escape the Greek labyrinth, and the relevant strategy here, state-space search. I implemented three java classes to explore the functionality of three different searches. The results of these searches, when applied to the traversal of a twodimensional maze, can be expanded to the three-dimensional realm of Quagents in the Quake II game using a Socket connection to generate an agent in Quake2UR. Keywords: State-space, Search, Maze, Quagent, Quake Background and Motivation: Mazes serve as a useful backdrop for state-space searching. An environment that is divided up into equally sized units can be used to simulate states. In the case of maze traversal, there are some states that cannot be accessed and others that lead to dead ends. When a specific start state and goal state are provided, the accuracy and efficiency of search algorithms can be tested. Russell and Norvig [1] define state space as the set of accessible states from a specified initial state. For a search algorithm, this means choosing a state or states from the set of accessible states and determining if the goal state is reachable from that state or states. I chose to explore the efficacy of two uninformed searches and one informed search. The Breadth-first and Depth-first searches are referred to as uninformed because they perform the same search no matter what the context. As applied to maze traversal, I would predict that these searches would be very inefficient. Depending on how many dead ends a maze possesses, an uninformed search would waste time exploring these dead ends. This wastefulness is especially true of the Breadth-first search which will explore every possible path and thereby take forever to run if not constrained. The Depth-first search could take equally long, but will in most instances perform better than the Breadth-first search. Depending on the goal's location in the Depth-first search tree, it could be found right away if it is on the outer branch of the tree being explored as deepest. The application of an informed search is much more promising. My informed search is the A* search. The A* search is a version of the best-first search wherein the evaluation function applied to each node is the sum of the estimated cost from the child's state to the goal (as determined by an appropriate heuristic) and the actual cost of traversing from the current state to its child. Using the Manhattan Distance heuristic, a move cost of 2 units, turn cost of 1 unit, I intend to show that the A* search is superior for maze traversal. In order to apply these findings to a more realistic scenario (as opposed to solving 2D mazes), I used the URQuake system to serve as a 3D maze exploration environment. The instructions generated by the above search types can be utilized by a Quagent to traverse a maze. The Quagent is an agent in the Quake world that can be instructed to perform actions using the protocol defined in [2]. Methods: I designed a program in the Java programming language that would take as input a text (*.txt) file and print output to both the command line console and a new text file. The input must specify the dimensions of the maze, followed by its structure and the coordinates of the start and goal. The structure of the maze is indicated using '1's and '0's where the zeros represent traversable space and the ones represent walls. Coordinates are on the two-dimensional axis of rows and columns with a third dimension of direction added to account for turning. See Appendix 1 for sample input. Once the map structure input is received by the program (MazeIO.java), it constructs its own map based on the grid of '1's and '0's. This map is in the form of a three-dimensional array. Access to the map is based on [row][column][direction]. However, although there are four directions allowed (north, south, east, and west), the third dimension of the array has a length of five. The added length is relevant as a time saving device. The row and column indices of the array represent a state. From each state, there are four possible directions. If there is no wall precluding traversal in a particular direction, that direction, as indicated by its corresponding integer index, is marked with a '0'. The directions are indicated as follows: north is represented by the integer 0,

2 east by 1, south by 2 and west by 3. The fifth slot in the array is marked with a 0 so long as any of the preceding slots are marked by a 0. If all of the preceding slots are marked by 1 and therefore are inaccessible, marking the fifth slot with a 1 allows the search algorithms to skip over that state and not bother to explore its obvious futility. This primary processor of input and output then calls on one of three search algorithms, as specified by the user in a command line argument following the specification of the text file. The Breadth, Depth, and Astar classes contain search methods to perform Breadth-first, Depth-first, and A* searches, respectively. All three of these classes call on the Maze class to retrieve successors, that is, to determine the state-space of the current state. The Maze class uses the map array created in the MazeIO class to determine the accessible states from the current state. The Maze class contains an additional method which is called upon by the Astar class to calculate the evaluation function for each node in the search tree. The nodes of the search tree are represented by instances of the TreeNode class. The TreeNode class assembles a node to briefly represent a state. The TreeNode has static variables which can be used to access the coordinates of the state as well as the estimated cost determined for that state by the evaluation function of the Maze class. A final class, Turn, contributes to the maze traversal by providing arrays which access the cost for turning from direction a to direction b and the String instructions for which direction to turn in order to get from direction a to direction b. The evaluation function uses the array of cost values for calculation and the MazeIO class uses the array of String directions to formulate the output. The output itself comes in two forms. The program prints directly to the command line the contents of the input text file and a list of one word instructions for traversal of the maze. It also prints output to a new text file with the added information of the number of nodes in the search tree visited by the chosen algorithm. See Appendix 2 for sample output. I was able to use Rotondo and Sloan's map generation program [3] to create Bitmap image files of several maps. In order to translate these maps into the proper input format, I wrote a program to examine the pixels of the image and print out the results to a text file. Unfortunately, I was unable to get this program to work for Bitmap image files and so had to save each file generated by the code available at [3] in.gif format. Once saved as a.gif image, the program is able to translate the image to text. I then used these randomly generated maps to test the three algorithms specified above. The second part of the experiment involved the actual Quagent application. By modifying example code from the URQuake build, I built a program which takes as input the output text file of the MazeIO program and uses it to send instructions to a Quagent. I was able to modify the code provided in the tarball at [4] and convert the DrunkenMaster class to a MazeRunner class. I also got rid of some of the unnecessary functionalities such as checking the Quagents well being because that didn't seem relevant for maze traversal. I also modified the code to account for this and also to allow for command line arguments. These arguments can be used to indicate which text file with search instructions to read and there is an optional argument where the user can specify their own distance (in Quake units) for the move command. The default is 64 Quake units, such as they are. Results: In order to test the Breadth-first, Depth-first, and A* algorithms, I took maps generated by [3] and saved them in the.gif file format. Then I ran them through my conversion program which created a text file of the proper input format. I tested each algorithm on a series of five 21x21 mazes. When I tried to test the Breadthfirst algorithm, I found that a half-hour later, the program was still running with no sign of an end in sight. I then proceeded to make another set of mazes with smaller dimensions in the hopes that Breadth-first would reach completion. However, when I tested Breadth-first search on the new 11x11 mazes, the same problem occurred. Interestingly enough, the Breadth-first search has little difficulty with a non-randomized map of dimensions 11x11. This map has a highly constrained setup wherein there are limited dead ends, if any. Basically, Breadth-first search does fine if there is only one possible path though it still examined 21,402 nodes where Depth-first and A* search examine 17. As a result of this difficulty getting the Breadth-first search to cooperate with randomized mazes, I instead focused on the comparison between Depth-first search and A* search. In the five 21x21 mazes tested, the A* search consistently performed better than the Depth-first search, as predicted. A* search visited approximately half the nodes that Depth-first search did in each instance with an average of 74 nodes visited per

3 maze. Depth-first search, though not bad in comparison to its uninformed search sibling Breadth-first search averaged nodes visited per maze. On a larger scale Depth-first search would most likely become time and space prohibitive. Nodes Visited maze1 maze2 21 x 21 Mazes maze3 Although the smaller mazes were created in an attempt to induce the Breadth-first algorithm to cooperate, they yield interesting data about the other two searches. Again, for the most part, A* search visits half as many nodes as Depth-first search, the fifth 11x11 maze had the surprising result wherein Depth-first search performed better than A* search. Because of this the averages are a little closer this time with A* search having an average of 26.8 nodes visited per search and Depth-first search having an average of 36.8 nodes visited per search. The Quagent implementation used the output of these searches to instruct a Quagent to navigate a maze in the Quake II environment. The transfer from single word commands from the MazeIO output to instructions for a Quagent were difficult mainly in terms of determining move distance. In my experimentation running the MazeRunner Quagent in David Sloan's build [5] I found that the Quagent had a tendency to travel an extra.8 Quake units. This addition of distance units does not occur reliably enough simply subtract from the total distance every time. In order to correct for this I set it up so that a subtraction of one would occur or not occur based on a random number generator. Unfortunately, I was unable to actually test the Quagent in a maze so I have no results to report on that. Discussion: The results of my search comparisons were as predicted. The informed search, A*, was found to be superior to the Depth-first and Breadth-first searches and the Depth-first search was found to be superior to the Breadth-first search. As it turns out, not only is the Breadth-first search inefficient for maze traversal, it is wholly inappropriate. It's insistence on searching every single node in every single branch may get the solution eventually, but not soon enough to be worth anything. The Breadth-first search is especially worthless in the presence of the Depth-first and A* searches. However, there are cases of Depth-first search which could perform just as badly as Breadth-first search. If, for example, the node representing the goal state were on the opposite side of the search tree from where the search started, it could take a very long time to find the goal. The havoc that goal location in the search tree can wreak on Depth-first search results is exemplified by the node code for the fifth 11x11 maze. In this instance, the Depth-first path stumbled across the goal state by exploring less nodes than even the A* search. This has more to do with the luck of the draw in that the solution maze4 maze5 Figure 1: A graph of the two algorithms, Depth-first and A* indicating how many nodes each visited in their search for a solution to each 21x21 maze. See Appendix 2 for maze input. Nodes Visited maze1 maze2 11 x 11 Mazes maze3 maze4 maze5 Figure 2: A graph of the two algorithms, Depth-first and A* indicating how many nodes each visited in their search for a solution to each 11x11 maze. See Appendix 2 for maze input. A* Depth-first A* Depth-first

4 path must have been on the traversal of the outer edge of the search tree, whereas even with its heuristic, A* searched some dead ends and thereby visited more nodes. Although I did not time how long each search method took, the time-complexity, and the disparity between the Breadth-first search and the other two searches can be explained using big-oh notation. Because Breadth-first search explores every branch at each level of the search tree, if the goal is at depth d and the branching factor is b, then we know that Breadth-first search is O(b d+1 )[1]. Since we know the branching factor is at most four, for the four possible directions of travel, this means the search is O(4 d+1 ), which is still exponential and horrifyingly slow. In a worst-case scenario, Depth-first search is also exponential. If m is the depth of the search tree, even if d < m, it is still O(b m )[1]. Again, we know the branching factor to be limited by an upper bound of 4, which certainly beats a branching factor of greater magnitude, but is still unhelpful if the Depth-first search starts off down a path on the opposite side of the tree from the desired path. It is also the case that Depth-first search may not find the shortest solution to a maze, though for the most part, mazes tend not to have multiple solutions. Despite, the overall success of the A* search, it could be improved upon by using a better heuristic. However, it seems that the Manhattan Distance heuristic is particularly appropriate for maze traversal, perhaps more so than for the 8 square puzzle. Given that the agent traversing the maze can only move in four directions, the shortest path between two states while ignoring the walls is the Manhattan Distance. Though a quality maze, with quality corresponding to the degree of difficulty, would not have such a direct path, it is a possibility. When running the algorithms on text files and outputting instructions, the state-space problem solving aspect of maze traversal is abstracted away. However, once the results of these algorithms are applied to the Quagent's world, it is more obvious that each move takes the agent to a new space. From that space it is necessary to search the states that are reachable from that state. In this instance, this is done by offline search, but similar search techniques could be used for online searching. If the Quagent had some way of knowing what his goal was, such as when away teams on Star Trek follow a single they receive on their tricorders, the A* search would only need an altered evaluation function. Otherwise, exploration would have to in some way be uninformed or else the search could be done offline and the online exploration would be pointless. Although I was unable to test the MazeRunner program in an actual 3D maze, it should function fairly well so long as the inaccuracies inherent in the "WALKBY" command do not pile up. Hopefully, the practice of occasionally subtracting 1 unit from the total distance to be traveled will help account for that problem. References: [1] S. Russell and P. Norvig. Artificial Intelligence: A Modern Approach, Second Edition. New Jersey: Pearson Education, Inc, 2003 [2] C. Brown, P. Barnum, D. Costello, G. Ferguson, B. Hu, and M. Van Wie. "Quake II as a Robotic and Multi-Agent Platform." Robotics and Vision Technical Reports, [Digital Repository], (2004 Oct.), Available at HTTP: [3] M. Rotondo and D. Sloan. "Everything You Ever Wanted to Know About Randomly Generated Quake Mazes." [Online Document], [2005 Feb 8], Available at HTTP: [4] Available at HTTP: [5] D. Sloan. "Getting Started With Quagents, 2005." [Online Document], Jan. 2005, [2005 Feb 8], Available at HTTP:

5 Appendix 1 (Sample Input): maze1.txt: smallmaze5.txt

6 Appendix 2 (Sample Output): Output to command line console after command java MazeIO smallmaze4.txt -d: smallmaze3-asolution.txt: Nodes examined: 20

3 SOLVING PROBLEMS BY SEARCHING

3 SOLVING PROBLEMS BY SEARCHING 48 3 SOLVING PROBLEMS BY SEARCHING A goal-based agent aims at solving problems by performing actions that lead to desirable states Let us first consider the uninformed situation in which the agent is not

More information

CPS 170: Artificial Intelligence Search

CPS 170: Artificial Intelligence   Search CPS 170: Artificial Intelligence http://www.cs.duke.edu/courses/spring09/cps170/ Search Instructor: Vincent Conitzer Search We have some actions that can change the state of the world Change resulting

More information

Searching with Partial Information

Searching with Partial Information Searching with Partial Information Above we (unrealistically) assumed that the environment is fully observable and deterministic Moreover, we assumed that the agent knows what the effects of each action

More information

those items. We observed ratio measurements of size and color for objects from different angles

those items. We observed ratio measurements of size and color for objects from different angles 1 Title: Object Recognition Using Clustering, Classification, and Centroids Authors: Corey Proscia and Alexander Wang, CSC 242, University of Rochester Date: May 8, 2006 Abstract: Intelligent agents can

More information

Outline. Best-first search

Outline. Best-first search Outline Best-first search Greedy best-first search A* search Heuristics Admissible Heuristics Graph Search Consistent Heuristics Local search algorithms Hill-climbing search Beam search Simulated annealing

More information

4 INFORMED SEARCH AND EXPLORATION. 4.1 Heuristic Search Strategies

4 INFORMED SEARCH AND EXPLORATION. 4.1 Heuristic Search Strategies 55 4 INFORMED SEARCH AND EXPLORATION We now consider informed search that uses problem-specific knowledge beyond the definition of the problem itself This information helps to find solutions more efficiently

More information

CS 5522: Artificial Intelligence II

CS 5522: Artificial Intelligence II CS 5522: Artificial Intelligence II Search Algorithms Instructor: Wei Xu Ohio State University [These slides were adapted from CS188 Intro to AI at UC Berkeley.] Today Agents that Plan Ahead Search Problems

More information

Chapter 3: Solving Problems by Searching

Chapter 3: Solving Problems by Searching Chapter 3: Solving Problems by Searching Prepared by: Dr. Ziad Kobti 1 Problem-Solving Agent Reflex agent -> base its actions on a direct mapping from states to actions. Cannot operate well in large environments

More information

State-Space Search. Computer Science E-22 Harvard Extension School David G. Sullivan, Ph.D. Solving Problems by Searching

State-Space Search. Computer Science E-22 Harvard Extension School David G. Sullivan, Ph.D. Solving Problems by Searching State-Space Search Computer Science E- Harvard Extension School David G. Sullivan, Ph.D. Solving Problems by Searching A wide range of problems can be formulated as searches. more precisely, as the process

More information

A4B36ZUI - Introduction ARTIFICIAL INTELLIGENCE

A4B36ZUI - Introduction ARTIFICIAL INTELLIGENCE A4B36ZUI - Introduction to ARTIFICIAL INTELLIGENCE https://cw.fel.cvut.cz/wiki/courses/a4b33zui/start Michal Pechoucek, Branislav Bosansky, Jiri Klema & Olga Stepankova Department of Computer Science Czech

More information

CAP 4630 Artificial Intelligence

CAP 4630 Artificial Intelligence CAP 4630 Artificial Intelligence Instructor: Sam Ganzfried sganzfri@cis.fiu.edu 1 http://www.ultimateaiclass.com/ https://moodle.cis.fiu.edu/ 2 Solving problems by search 3 8-puzzle 4 8-queens 5 Search

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

Informed Search A* Algorithm

Informed Search A* Algorithm Informed Search A* Algorithm CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2018 Soleymani Artificial Intelligence: A Modern Approach, Chapter 3 Most slides have

More information

Outline. Best-first search

Outline. Best-first search Outline Best-first search Greedy best-first search A* search Heuristics Local search algorithms Hill-climbing search Beam search Simulated annealing search Genetic algorithms Constraint Satisfaction Problems

More information

Uninformed Search. Problem-solving agents. Tree search algorithms. Single-State Problems

Uninformed Search. Problem-solving agents. Tree search algorithms. Single-State Problems Uninformed Search Problem-solving agents Tree search algorithms Single-State Problems Breadth-First Search Depth-First Search Limited-Depth Search Iterative Deepening Extensions Graph search algorithms

More information

CSE151 Assignment 2 Markov Decision Processes in the Grid World

CSE151 Assignment 2 Markov Decision Processes in the Grid World CSE5 Assignment Markov Decision Processes in the Grid World Grace Lin A484 gclin@ucsd.edu Tom Maddock A55645 tmaddock@ucsd.edu Abstract Markov decision processes exemplify sequential problems, which are

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

CS 1567 Intermediate Programming and System Design Using a Mobile Robot Aibo Lab3 Localization and Path Planning

CS 1567 Intermediate Programming and System Design Using a Mobile Robot Aibo Lab3 Localization and Path Planning CS 1567 Intermediate Programming and System Design Using a Mobile Robot Aibo Lab3 Localization and Path Planning In this lab we will create an artificial landscape in the Aibo pen. The landscape has two

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

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

Informed search strategies (Section ) Source: Fotolia

Informed search strategies (Section ) Source: Fotolia Informed search strategies (Section 3.5-3.6) Source: Fotolia Review: Tree search Initialize the frontier using the starting state While the frontier is not empty Choose a frontier node to expand according

More information

Week 3: Path Search. COMP9414/ 9814/ 3411: Artificial Intelligence. Motivation. Example: Romania. Romania Street Map. Russell & Norvig, Chapter 3.

Week 3: Path Search. COMP9414/ 9814/ 3411: Artificial Intelligence. Motivation. Example: Romania. Romania Street Map. Russell & Norvig, Chapter 3. COMP9414/9814/3411 17s1 Search 1 COMP9414/ 9814/ 3411: Artificial Intelligence Week 3: Path Search Russell & Norvig, Chapter 3. Motivation Reactive and Model-Based Agents choose their actions based only

More information

Problem Solving & Heuristic Search

Problem Solving & Heuristic Search 190.08 Artificial 2016-Spring Problem Solving & Heuristic Search Byoung-Tak Zhang School of Computer Science and Engineering Seoul National University 190.08 Artificial (2016-Spring) http://www.cs.duke.edu/courses/fall08/cps270/

More information

Informed Search Algorithms

Informed Search Algorithms Informed Search Algorithms CITS3001 Algorithms, Agents and Artificial Intelligence Tim French School of Computer Science and Software Engineering The University of Western Australia 2017, Semester 2 Introduction

More information

CMPSCI 250: Introduction to Computation. Lecture #24: General Search, DFS, and BFS David Mix Barrington 24 March 2014

CMPSCI 250: Introduction to Computation. Lecture #24: General Search, DFS, and BFS David Mix Barrington 24 March 2014 CMPSCI 250: Introduction to Computation Lecture #24: General Search, DFS, and BFS David Mix Barrington 24 March 2014 General Search, DFS, and BFS Four Examples of Search Problems State Spaces, Search,

More information

PAC-MAN is one of the most popular game

PAC-MAN is one of the most popular game SCHOOL OF DATA SCIENCE 1 Assignment1. Search in Pacman Project Report Shihan Ran - 15307130424 Abstract This project is aimed at designing a intelligent Pacman agent that is able to find optimal paths

More information

(Refer Slide Time: 02.06)

(Refer Slide Time: 02.06) Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 27 Depth First Search (DFS) Today we are going to be talking

More information

6.034 Notes: Section 2.1

6.034 Notes: Section 2.1 6.034 Notes: Section 2.1 Slide 2.1.1 Search plays a key role in many parts of AI. These algorithms provide the conceptual backbone of almost every approach to the systematic exploration of alternatives.

More information

1 Introduction and Examples

1 Introduction and Examples 1 Introduction and Examples Sequencing Problems Definition A sequencing problem is one that involves finding a sequence of steps that transforms an initial system state to a pre-defined goal state for

More information

Algorithms for Data Structures: Uninformed Search. Phillip Smith 19/11/2013

Algorithms for Data Structures: Uninformed Search. Phillip Smith 19/11/2013 lgorithms for Data Structures: Uninformed Search Phillip Smith 19/11/2013 Representations for Reasoning We know (at least) two models of a world: model of the static states of the world model of the effects

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

Problem Solving as Search. CMPSCI 383 September 15, 2011

Problem Solving as Search. CMPSCI 383 September 15, 2011 Problem Solving as Search CMPSCI 383 September 15, 2011 1 Today s lecture Problem-solving as search Uninformed search methods Problem abstraction Bold Claim: Many problems faced by intelligent agents,

More information

CS 188 Introduction to Artificial Intelligence Fall 2018 Note 1

CS 188 Introduction to Artificial Intelligence Fall 2018 Note 1 CS 188 Introduction to Artificial Intelligence Fall 2018 Note 1 These lecture notes are heavily based on notes originally written by Nikhil Sharma. Agents In artificial intelligence, the central problem

More information

Informed search algorithms

Informed search algorithms Artificial Intelligence Topic 4 Informed search algorithms Best-first search Greedy search A search Admissible heuristics Memory-bounded search IDA SMA Reading: Russell and Norvig, Chapter 4, Sections

More information

Artificial Intelligence (Heuristic Search)

Artificial Intelligence (Heuristic Search) Artificial Intelligence (Heuristic Search) KR Chowdhary, Professor & Head Email: kr.chowdhary@acm.org Department of Computer Science and Engineering MBM Engineering College, Jodhpur kr chowdhary heuristic

More information

Searching. Assume goal- or utilitybased. Next task to achieve is to determine the best path to the goal

Searching. Assume goal- or utilitybased. Next task to achieve is to determine the best path to the goal Searching Assume goal- or utilitybased agents: state information ability to perform actions goals to achieve Next task to achieve is to determine the best path to the goal CSC384 Lecture Slides Steve Engels,

More information

4. Solving Problems by Searching

4. Solving Problems by Searching COMP9414/9814/3411 15s1 Search 1 COMP9414/ 9814/ 3411: Artificial Intelligence 4. Solving Problems by Searching Russell & Norvig, Chapter 3. Motivation Reactive and Model-Based Agents choose their actions

More information

MITOCW watch?v=zm5mw5nkzjg

MITOCW watch?v=zm5mw5nkzjg MITOCW watch?v=zm5mw5nkzjg The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

CS 4700: Foundations of Artificial Intelligence. Bart Selman. Search Techniques R&N: Chapter 3

CS 4700: Foundations of Artificial Intelligence. Bart Selman. Search Techniques R&N: Chapter 3 CS 4700: Foundations of Artificial Intelligence Bart Selman Search Techniques R&N: Chapter 3 Outline Search: tree search and graph search Uninformed search: very briefly (covered before in other prerequisite

More information

Today. Informed Search. Graph Search. Heuristics Greedy Search A* Search

Today. Informed Search. Graph Search. Heuristics Greedy Search A* Search Informed Search [These slides were created by Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley. All CS188 materials are available at http://ai.berkeley.edu.] Today Informed Search Heuristics

More information

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 18 All-Integer Dual Algorithm We continue the discussion on the all integer

More information

521495A: Artificial Intelligence

521495A: Artificial Intelligence 521495A: Artificial Intelligence Informed Search Lectured by Abdenour Hadid Adjunct Professor, CMVS, University of Oulu Slides adopted from http://ai.berkeley.edu Today Informed Search Heuristics Greedy

More information

Problem Solving Agents Solving Problems through Search CIS 32

Problem Solving Agents Solving Problems through Search CIS 32 Problem Solving Agents Solving Problems through Search CIS 32 Today: Behavior Based AI Functionally Next Class - In 2 Wednesdays (Could Meet on Tuesday Next Week) No Thursday Office Hours (any more) -

More information

State Space Search. Many problems can be represented as a set of states and a set of rules of how one state is transformed to another.

State Space Search. Many problems can be represented as a set of states and a set of rules of how one state is transformed to another. State Space Search Many problems can be represented as a set of states and a set of rules of how one state is transformed to another. The problem is how to reach a particular goal state, starting from

More information

Computer Game Programming Basic Path Finding

Computer Game Programming Basic Path Finding 15-466 Computer Game Programming Basic Path Finding Robotics Institute Path Planning Sven Path Planning needs to be very fast (especially for games with many characters) needs to generate believable paths

More information

Uninformed Search. (Textbook Chpt 3.5) Computer Science cpsc322, Lecture 5. May 18, CPSC 322, Lecture 5 Slide 1

Uninformed Search. (Textbook Chpt 3.5) Computer Science cpsc322, Lecture 5. May 18, CPSC 322, Lecture 5 Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.5) May 18, 2017 CPSC 322, Lecture 5 Slide 1 Recap Search is a key computational mechanism in many AI agents We will study the basic

More information

Problem Solving and Search

Problem Solving and Search Artificial Intelligence Problem Solving and Search Dae-Won Kim School of Computer Science & Engineering Chung-Ang University Outline Problem-solving agents Problem types Problem formulation Example problems

More information

Intelligent Control System for Collection, Survival, and Mapping

Intelligent Control System for Collection, Survival, and Mapping Intelligent Control System for Collection, Survival, and Mapping Michael Silverman Department of Computer Science University of Rochester msilver3@mail.rochester.edu March 10, 2006 Abstract To implement

More information

CPSC 320 Sample Solution, Playing with Graphs!

CPSC 320 Sample Solution, Playing with Graphs! CPSC 320 Sample Solution, Playing with Graphs! September 23, 2017 Today we practice reasoning about graphs by playing with two new terms. These terms/concepts are useful in themselves but not tremendously

More information

The following content is provided under a Creative Commons license. Your support

The following content is provided under a Creative Commons license. Your support MITOCW Lecture 8 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To make a donation

More information

CSCI 446: Artificial Intelligence

CSCI 446: Artificial Intelligence CSCI 446: Artificial Intelligence Informed Search Instructor: Michele Van Dyne [These slides were created by Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley. All CS188 materials are available

More information

COMP9414: Artificial Intelligence Informed Search

COMP9414: Artificial Intelligence Informed Search COMP9, Monday 9 March, 0 Informed Search COMP9: Artificial Intelligence Informed Search Wayne Wobcke Room J- wobcke@cse.unsw.edu.au Based on slides by Maurice Pagnucco Overview Heuristics Informed Search

More information

Artificial Intelligence

Artificial Intelligence University of Cagliari M.Sc. degree in Electronic Engineering Artificial Intelligence Academic Year: 07/08 Instructor: Giorgio Fumera Exercises on search algorithms. A -litre and a -litre water jugs are

More information

CS 8520: Artificial Intelligence

CS 8520: Artificial Intelligence CS 8520: Artificial Intelligence Solving Problems by Searching Paula Matuszek Spring, 2013 Slides based on Hwee Tou Ng, aima.eecs.berkeley.edu/slides-ppt, which are in turn based on Russell, aima.eecs.berkeley.edu/slides-pdf.

More information

C S C A RTIF I C I A L I N T E L L I G E N C E M I D T E R M E X A M

C S C A RTIF I C I A L I N T E L L I G E N C E M I D T E R M E X A M C S C 0 A RTIF I C I A L I N T E L L I G E N C E M I D T E R M E X A M SECTION 1 PRO F. FRANZ J. KURFESS CAL POL Y, COMPUTER SCIENCE DE PARTMENT This is the midterm exam for the CSC 0 Artificial Intelligence

More information

Search. (Textbook Chpt ) Computer Science cpsc322, Lecture 2. May, 10, CPSC 322, Lecture 2 Slide 1

Search. (Textbook Chpt ) Computer Science cpsc322, Lecture 2. May, 10, CPSC 322, Lecture 2 Slide 1 Search Computer Science cpsc322, Lecture 2 (Textbook Chpt 3.0-3.4) May, 10, 2012 CPSC 322, Lecture 2 Slide 1 Colored Cards You need to have 4 colored index cards Come and get them from me if you still

More information

Solving Problems by Searching

Solving Problems by Searching Solving Problems by Searching Berlin Chen 2004 Reference: 1. S. Russell and P. Norvig. Artificial Intelligence: A Modern Approach. Chapter 3 1 Introduction Problem-Solving Agents vs. Reflex Agents Problem-solving

More information

Artificial Intelligence (part 4a) Problem Solving Using Search: Structures and Strategies for State Space Search

Artificial Intelligence (part 4a) Problem Solving Using Search: Structures and Strategies for State Space Search Artificial Intelligence (part 4a) Problem Solving Using Search: Structures and Strategies for State Space Search Course Contents Again..Selected topics for our course. Covering all of AI is impossible!

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

Uninformed Search. Reading: Chapter 4 (Tuesday, 2/5) HW#1 due next Tuesday

Uninformed Search. Reading: Chapter 4 (Tuesday, 2/5) HW#1 due next Tuesday Uninformed Search Reading: Chapter 4 (Tuesday, 2/5) HW#1 due next Tuesday 1 Uninformed Search through the space of possible solutions Use no knowledge about which path is likely to be best Exception: uniform

More information

Problem Solving and Search in Artificial Intelligence

Problem Solving and Search in Artificial Intelligence Problem Solving and Search in Artificial Intelligence Uninformed Search Strategies Nysret Musliu Database and Artificial Intelligence Group Institut für Informationssysteme, TU-Wien Introduction Many classic

More information

CS 520: Introduction to Artificial Intelligence. Review

CS 520: Introduction to Artificial Intelligence. Review CS 520: Introduction to Artificial Intelligence Prof. Louis Steinberg Lecture 2: state spaces uninformed search 1 What is AI? A set of goals Review build an artificial intelligence useful subgoals A class

More information

Search and Games. Adi Botea. ANU Summer Schools in Logic and Learning February, 2009

Search and Games. Adi Botea. ANU Summer Schools in Logic and Learning February, 2009 Search and Games Adi Botea ANU Summer Schools in Logic and Learning February, 2009 Outline 1 Introduction 2 Problem Representation 3 Uninformed Search 4 Informed Search 5 Hierarchical Abstraction Outline

More information

Potential Midterm Exam Questions

Potential Midterm Exam Questions Potential Midterm Exam Questions 1. What are the four ways in which AI is usually viewed? Which of the four is the preferred view of the authors of our textbook? 2. What does each of the lettered items

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

N N Sudoku Solver. Sequential and Parallel Computing

N N Sudoku Solver. Sequential and Parallel Computing N N Sudoku Solver Sequential and Parallel Computing Abdulaziz Aljohani Computer Science. Rochester Institute of Technology, RIT Rochester, United States aaa4020@rit.edu Abstract 'Sudoku' is a logic-based

More information

Lecture 4: Search 3. Victor R. Lesser. CMPSCI 683 Fall 2010

Lecture 4: Search 3. Victor R. Lesser. CMPSCI 683 Fall 2010 Lecture 4: Search 3 Victor R. Lesser CMPSCI 683 Fall 2010 First Homework 1 st Programming Assignment 2 separate parts (homeworks) First part due on (9/27) at 5pm Second part due on 10/13 at 5pm Send homework

More information

CS 343: Artificial Intelligence

CS 343: Artificial Intelligence CS 343: Artificial Intelligence Informed Search Prof. Scott Niekum University of Texas at Austin [These slides based on ones created by Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley.

More information

For searching and sorting algorithms, this is particularly dependent on the number of data elements.

For searching and sorting algorithms, this is particularly dependent on the number of data elements. Looking up a phone number, accessing a website and checking the definition of a word in a dictionary all involve searching large amounts of data. Searching algorithms all accomplish the same goal finding

More information

Backward Real Time Heuristic Search in Grid World Pathfinding

Backward Real Time Heuristic Search in Grid World Pathfinding Backward Real Time Heuristic Search in Grid World Pathfinding David M. Bond Department of Computer Science University of New Hampshire Durham, NH 03824 USA dmf5@unh.edu Abstract The A* algorithm works

More information

Outline. Informed Search. Recall: Uninformed Search. An Idea. Heuristics Informed search techniques More on heuristics Iterative improvement

Outline. Informed Search. Recall: Uninformed Search. An Idea. Heuristics Informed search techniques More on heuristics Iterative improvement Outline Informed Search ECE457 Applied Artificial Intelligence Fall 2007 Lecture #3 Heuristics Informed search techniques More on heuristics Iterative improvement Russell & Norvig, chapter 4 Skip Genetic

More information

Artificial Intelligence Informed Search

Artificial Intelligence Informed Search Artificial Intelligence Informed Search Instructors: David Suter and Qince Li Course Delivered @ Harbin Institute of Technology [Many slides adapted from those created by Dan Klein and Pieter Abbeel for

More information

Solving Problems by Searching

Solving Problems by Searching INF5390 Kunstig intelligens Solving Problems by Searching Roar Fjellheim Outline Problem-solving agents Example problems Search programs Uninformed search Informed search Summary AIMA Chapter 3: Solving

More information

A4B36ZUI - Introduction to ARTIFICIAL INTELLIGENCE https://cw.fel.cvut.cz/wiki/courses/

A4B36ZUI - Introduction to ARTIFICIAL INTELLIGENCE https://cw.fel.cvut.cz/wiki/courses/ A4B36ZUI - Introduction to ARTIFICIAL INTELLIGENCE https://cw.fel.cvut.cz/wiki/courses/ Michal Pechoucek & Jiri Klema Department of Computer Science Czech Technical University in Prague In parts based

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

Lecture 14: March 9, 2015

Lecture 14: March 9, 2015 324: tate-space, F, F, Uninformed earch. pring 2015 Lecture 14: March 9, 2015 Lecturer: K.R. howdhary : Professor of (VF) isclaimer: These notes have not been subjected to the usual scrutiny reserved for

More information

CS188 Fall 2018 Section 2: Graph Search + CSPs

CS188 Fall 2018 Section 2: Graph Search + CSPs CS88 Fall 08 Section : Graph Search + CSPs Search and Heuristics Imagine a car-like agent wishes to exit a maze like the one shown below: The agent is directional and at all times faces some direction

More information

Heaps and Priority Queues

Heaps and Priority Queues Heaps and Priority Queues Computer Science E-22 Harvard University David G. Sullivan, Ph.D. Priority Queue A priority queue (PQ) is a collection in which each item has an associated number known as a priority.

More information

Computer Science 136 Spring 2004 Professor Bruce. Final Examination May 19, 2004

Computer Science 136 Spring 2004 Professor Bruce. Final Examination May 19, 2004 Computer Science 136 Spring 2004 Professor Bruce Final Examination May 19, 2004 Question Points Score 1 10 2 8 3 15 4 12 5 12 6 8 7 10 TOTAL 65 Your name (Please print) I have neither given nor received

More information

Heuristic (Informed) Search

Heuristic (Informed) Search Heuristic (Informed) Search (Where we try to choose smartly) R&N: Chap., Sect..1 3 1 Search Algorithm #2 SEARCH#2 1. INSERT(initial-node,Open-List) 2. Repeat: a. If empty(open-list) then return failure

More information

Using Genetic Algorithms to Solve the Box Stacking Problem

Using Genetic Algorithms to Solve the Box Stacking Problem Using Genetic Algorithms to Solve the Box Stacking Problem Jenniffer Estrada, Kris Lee, Ryan Edgar October 7th, 2010 Abstract The box stacking or strip stacking problem is exceedingly difficult to solve

More information

CS-171, Intro to A.I. Mid-term Exam Fall Quarter, 2017

CS-171, Intro to A.I. Mid-term Exam Fall Quarter, 2017 CS-171, Intro to A.I. Mid-term Exam Fall Quarter, 2017 YOUR NAME: YOUR ID: ID TO RIGHT: ROW: SEAT: Please turn off all cell phones now. The exam will begin on the next page. Please, do not turn the page

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Search Marc Toussaint University of Stuttgart Winter 2015/16 (slides based on Stuart Russell s AI course) Outline Problem formulation & examples Basic search algorithms 2/100 Example:

More information

Assignment 4: CS Machine Learning

Assignment 4: CS Machine Learning Assignment 4: CS7641 - Machine Learning Saad Khan November 29, 2015 1 Introduction The purpose of this assignment is to apply some of the techniques learned from reinforcement learning to make decisions

More information

Heuristic (Informed) Search

Heuristic (Informed) Search Heuristic (Informed) Search (Where we try to choose smartly) R&N: Chap. 4, Sect. 4.1 3 1 Recall that the ordering of FRINGE defines the search strategy Search Algorithm #2 SEARCH#2 1. INSERT(initial-node,FRINGE)

More information

Solving Problems by Searching

Solving Problems by Searching INF5390 Kunstig intelligens Sony Vaio VPC-Z12 Solving Problems by Searching Roar Fjellheim Outline Problem-solving agents Example problems Search programs Uninformed search Informed search Summary AIMA

More information

CS 188: Artificial Intelligence

CS 188: Artificial Intelligence CS 188: Artificial Intelligence Today Informed Search Informed Search Heuristics Greedy Search A* Search Instructor: Marco Alvarez University of Rhode Island (These slides were created/modified by Dan

More information

ARTIFICIAL INTELLIGENCE (CSC9YE ) LECTURES 2 AND 3: PROBLEM SOLVING

ARTIFICIAL INTELLIGENCE (CSC9YE ) LECTURES 2 AND 3: PROBLEM SOLVING ARTIFICIAL INTELLIGENCE (CSC9YE ) LECTURES 2 AND 3: PROBLEM SOLVING BY SEARCH Gabriela Ochoa http://www.cs.stir.ac.uk/~goc/ OUTLINE Problem solving by searching Problem formulation Example problems Search

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

Why Search. Things to consider. Example, a holiday in Jamaica. CSE 3401: Intro to Artificial Intelligence Uninformed Search

Why Search. Things to consider. Example, a holiday in Jamaica. CSE 3401: Intro to Artificial Intelligence Uninformed Search CSE 3401: Intro to Artificial Intelligence Uninformed Search Why Search Required Readings: R & N Chapter 3, Sec. 1-4. Lecture slides adapted from those of Fahiem Bacchus. Successful Success in game playing

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence CSC348 Unit 3: Problem Solving and Search Syedur Rahman Lecturer, CSE Department North South University syedur.rahman@wolfson.oxon.org Artificial Intelligence: Lecture Notes The

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

COMP9414: Artificial Intelligence Informed Search

COMP9414: Artificial Intelligence Informed Search COMP9, Wednesday March, 00 Informed Search COMP9: Artificial Intelligence Informed Search Wayne Wobcke Room J- wobcke@cse.unsw.edu.au Based on slides by Maurice Pagnucco Overview Heuristics Informed Search

More information

CS 331: Artificial Intelligence Informed Search. Informed Search

CS 331: Artificial Intelligence Informed Search. Informed Search CS 331: Artificial Intelligence Informed Search 1 Informed Search How can we make search smarter? Use problem-specific knowledge beyond the definition of the problem itself Specifically, incorporate knowledge

More information

CS 331: Artificial Intelligence Informed Search. Informed Search

CS 331: Artificial Intelligence Informed Search. Informed Search CS 331: Artificial Intelligence Informed Search 1 Informed Search How can we make search smarter? Use problem-specific knowledge beyond the definition of the problem itself Specifically, incorporate knowledge

More information

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between MITOCW Lecture 10A [MUSIC PLAYING] PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between all these high-level languages like Lisp and the query

More information

WACC Report. Zeshan Amjad, Rohan Padmanabhan, Rohan Pritchard, & Edward Stow

WACC Report. Zeshan Amjad, Rohan Padmanabhan, Rohan Pritchard, & Edward Stow WACC Report Zeshan Amjad, Rohan Padmanabhan, Rohan Pritchard, & Edward Stow 1 The Product Our compiler passes all of the supplied test cases, and over 60 additional test cases we wrote to cover areas (mostly

More information

Artificial Intelligence

Artificial Intelligence COMP224 Artificial Intelligence The Meaning of earch in AI The terms search, search space, search problem, search algorithm are widely used in computer science and especially in AI. In this context the

More information

521495A: Artificial Intelligence

521495A: Artificial Intelligence 521495A: Artificial Intelligence Search Lectured by Abdenour Hadid Associate Professor, CMVS, University of Oulu Slides adopted from http://ai.berkeley.edu Agent An agent is an entity that perceives the

More information

Today s s lecture. Lecture 3: Search - 2. Problem Solving by Search. Agent vs. Conventional AI View. Victor R. Lesser. CMPSCI 683 Fall 2004

Today s s lecture. Lecture 3: Search - 2. Problem Solving by Search. Agent vs. Conventional AI View. Victor R. Lesser. CMPSCI 683 Fall 2004 Today s s lecture Search and Agents Material at the end of last lecture Lecture 3: Search - 2 Victor R. Lesser CMPSCI 683 Fall 2004 Continuation of Simple Search The use of background knowledge to accelerate

More information