Lecture 5: Search Algorithms for Discrete Optimization Problems

Size: px
Start display at page:

Download "Lecture 5: Search Algorithms for Discrete Optimization Problems"

Transcription

1 Lecture 5: Search Algorithms for Discrete Optimization Problems

2 Definitions Discrete optimization problem (DOP): tuple (S, f), S finite set of feasible solutions, f : S R, cost function. Objective: find x opt => f(x opt ) f(x) for all x in S Examples of DOP: Scheduling Optimal layout of VLSI chips Robot motion planning Test-pattern generation for digital circuits DOP are NP-hard problems Need heuristic algorithms => suboptimal solutions

3 Example: 0/1 Integer-linear Programming A mxn, b mx1, c nx1 Objective: min f(x) = min c T x where x is a vector with elements in {0,1} subject to: Ax b S is the set of vectors x satisfying Ax b

4 Example: The 8-puzzle problem S: set of all sequences of moves from the initial to the final configuration Objective: find the shortest sequence of moves from the initial to the final configuration

5 Example: 0/1 Integer-linear Programming 5x 1 + 2x 2 + x 3 + 2x 4 8 x 1 - x 2 -x 3 + 2x 4 2 3x 1 + x 2 + x 3 + 3x 4 5 f(x) = 2x 1 + x 2 -x 3-2x 4 State space graph => Check: \sum {xj free} max{a[i,j], 0} + \sum {xj fixed} A[i,j]x j b i for i = 1,..,m Solution x = (1, 0, 1, 1)

6 Admissible Heuristic Heuristic estimate: the estimate of the cost to reach the goal state from an intermediate state h(x) heuristic estimate of reaching the goal state from x g(x) cost of reaching state x from s h is admissible if h(x) is a lower bound on the cost of reaching the goal state from x, for all x If h(x) admissible => l(x) = g(x) + h(x) is the lower bound on the cost of reaching the goal state from the initial state. Example: Manhattan distance is an admissible heuristic for the 8-puzzle M(i,j) = i - k + j l The sum of the M distances between the initial and final positions of all tiles is an estimate of the number of moves to reach the final positions.

7 Unfolding a State Graph into a Tree

8 Depth-First Search Algorithms solve DOP formulated as trees in each step expand the most recently generated node. If no successor node then backtrack. Simple backtracking: DFS that terminates after finding the first solution. DFS Branch-and-Bound: exhaustively searches the state space for optimal solutions it discards the inferior partial solutions

9 Depth-First Search: The 8-puzzle Successors are ordered as: up, down, left, and right.

10 Depth-First Search Algorithms Iterative Deepening DFS (ID-DFS): a bound is imposed on the depth to which DF searches if the node to be expanded is beyond the depth bound, the node is not expanded and the algorithm backtracks if solution is not found => search again with a larger depth bound Iterative Deepening A* (IDA*): uses l-values of the nodes to bound the depth => performs cost-bounded searches finds the optimal solution if the heuristic function is admissible

11 Representing a DFS Tree Search tree is represented as a stack. The storage cost is O(md) where m is storage for one state and d is the max. depth. Two variants: Untried alternatives only Untried alternatives along with their parent (useful for checking duplicate states)

12 Best-First Search Algorithms solve DOP formulated as both trees and graphs use heuristics to direct the search to portions of the search space likely to produce a solution maintains two lists: open and closed at each step the most promising node from the open list is expanded successors of the newly open node are placed in the open list if: 1) the successor is not in one of the lists 2) the successor is already in one of the lists but has a lower heuristic value. A* algorithm: uses l as a heuristic evaluation function A* finds an optimal solution if l is admissible

13 Best-First Search: the 8-puzzle

14 Best-First Search: the 8-puzzle

15 Search Overhead Factor Sources of overhead in parallel search: Communication overhead Idle time due to load imbalances Contention for shared data structures The amount of work done by the parallel algorithm (W p ) if often different from the that done by the sequential algorithm (W) Search overhead factor = W p /W Upper bound on the speedup: p (W/W p ) Superlinear speedup is possible!

16 Parallel Depth-First Search How to distribute the search space among the processors? Static distribution => load imbalance Solution?

17 Parallel Depth-First Search Dynamic load balancing: when a processor runs out of work it gets more work from another processor that has work. Parallel DFS with dynamic load balancing: Each processor performs DFS on a disjoint part of the search space. When a processor finishes searching its part, it requests an unsearched part from other processors. When goal state is found => terminate (broadcast a message to all processes to terminate). If no solution => processors run out of work and terminate (needs a termination detection algorithm) At the beginning only one processor contains the whole state space. The space is distributed as the processors requests work. Donor and recipient processors. Problems: How to split the work? => work splitting strategies How to determine the donor? => load-balancing schemes

18 Parallel Depth-First Search

19 Work-Splitting Strategies Donor s stack is split into two stacks and one stack is sent to the recipient. If two little work is sent => recipient quickly becomes idle If two much work is sent => donor quickly becomes idle Ideal: split the stack into equal parts => half-split Nodes at the bottom of the stack => roots of bigger subtrees Nodes at the top of the stack => roots of smaller subtrees Nodes beyond a cutoff depth are not sent => Avoids sending to little work Strategies: 1. Send nodes near the bottom of the stack 2. Send nodes near the cutoff depth 3. Send half the nodes between the bottom of the stack and the cutoff depth. 1. and 3. work well for uniform strategy spaces 3. works well for irregular strategy spaces

20 Work-Splitting Strategies Splitting using strategy 3

21 Load-Balancing Schemes Asynchronous Round Robin (ARR): Donor is specified by target variable. When a processor runs out of work it attempts to get work from the processor whose label is target. target = target + 1, each time a request is made. Initially: target = ((label+1) mod p) Global Round Robin (GRR): target is a global variable (stored at P 0 ) Drawback: contention for access target. Random Polling (RP): When a processor becomes idle it randomly selects a donor.

22 Analysis of Parallel DFS Compute the overhead T o Overhead in load balancing: communication (sending and requesting work) idle time (waiting for work) termination detection contention for shared resources Analysis assumes that search overhead factor W p /W = 1 Communication time subsumes the idle time. Communication overhead is dominant.

23 Analysis of Parallel DFS Assumptions: the work at any processor can be partitioned into independent pieces if size > ε a reasonable work-splitting mechanism exist => α-splitting mechanism Work w can be partitioned into ψw and (1- ψ)w, 0 <= ψ <= 1 There exists α (0 < α <= 0.5) such that ψw > αw and (1- ψ)w > αw => both partitions have at least αw work.

24 Analysis of Parallel DFS Donor has w i work => after splitting: w j > αw i and w k > αw i, α < 0.5 After a work transfer, the donor and the recipient have work (1- α)w i Assume there are p pieces of work: w 0,w 1,, w p-1,and the largest piece is of size w. After splitting => 2p pieces: ψ 0 w 0, ψ 1 w 1,, ψ p-1 w p-1, (1- ψ 0 )w 0, (1- ψ 1 )w 1,, (1- ψ p-1 )w p-1 => the size of the largest piece is (1- α)w After V(p) work requests a processor receives at least one request => V(p) p Initially P 0 has W units of work After V(p) work requests => max work remaining at any processor < (1- α)w After 2V(p) => (1- α) 2 W After (log 1/(1- α) (W/ε))V(p) => max work < ε => Total number of requests O(V(p) log W) assuming α=0.5 ε = 1.

25 Analysis of Parallel DFS Assume that amount of data associated with a work transfer is constant T o = t comm V(p) log W E = 1/(1 + T o /W) = 1/(1 + t comm V(p) log W)/W Efficiency depends on: The architecture ( t comm ) Load balancing scheme ( V(p) )

26 Computation of V(p) Asynchronous Round Robin (ARR): Worst case when P p-1 has all the work and local counters of all other processors are 0 P p-1 receives a request after one processor issues (p-1) requests and the other (p-2) processors issue (p-2) requests => V(p) = (p-1) + (p-2)(p-2) = O(p 2 ) Global Round Robin (GRR): After p requests each processor has received one request => O(p) Random Polling (RP); Worst-case => unbounded Average case => O(p log p)

27 Analysis of Load Balancing Schemes T o = O(V(p) log W) Asynchronous Round Robin (ARR): T o = O(p 2 log W) W=O(p 2 log W) = O(p 2 log (p 2 log W))= O(p 2 log p + O(p 2 log log W)) => Isoefficiency function O(p 2 log p) Global Round Robin (GRR): T o = O(p log W) W = O(p log W) = O(p log (p log W)) = O(p log p + O(p log log W)) => Isoefficiency due to communication O(p log p) The number of time the shared variable is accessed O(p log W) If the processors are used efficiently => execution time = O(W/p) W/p = O(p log W) => Isoefficiency due to contention O(p 2 log p) => overall isoefficiency O(p 2 log p) Random Polling (RP): T o = O(p log p log W) => Isoefficiency due to communication O(p log 2 p)

28 Dijkstra s Token Termination Detection Algorithm The ring algorithm: When idle P 0 sends a token to P 1 When idle P i-1 sends a token to P i When P 0 receives the token back all processors are idle. => Cannot be applied to parallel DFS (After becoming idle a processor my receive more work.)

29 Dijkstra s Token Termination Detection Algorithm Processors can be in two states: black or white. Initially all processors are white. The modified ring algorithm: When idle P 0 initiates the termination detection algorithm P 0 =white and P 0 w P 1 If P j sends work to P i and j > i => P j = black If P i has the token and is idle then it passes the token to P i+1. If P i == black => color of token = black before sending to P i+1 If P i == white pass token unchanged. After P i passes the token to P i+1 => P i = white The algorithm terminates when P 0 receives a white token and is itself idle. T = O(p)

30 Tree-Based Termination Detection Initially P 0 has all the work. Weights are associated with each processor When the weight of P 0 becomes 1 terminate Drawback: computers have finite precision and weight at P 0 may not become 1. Solution: use inverse of weight.

31 Parallel Depth-First Branch-and- Bound Search (DFBB) DFS Branch-and-Bound: exhaustively searches the state space for optimal solutions it discards the inferior partial solutions Parallel version of DFBB: modified parallel DFS => all processors are informed of the current best solution path Shared memory: store the best solution path and cost in the global memory. each time a processor finds a solution => compare its cost with the current cost if lower => replace the current best path with the current one. Message-passing: when a solution is found the processor broadcasts it => all processors update their current best cost. Small overhead added => similar performance as the parallel DFS

32 Parallel IDA* IDA* explores the search tree iteratively by increasing the cost bounds. Parallel IDA*: Executes each IDA* iteration by using parallel DFS. All processors use the same bound and searches its own space. Each processor stores the bound locally. After each iteration a selected processor computes the new bound for the next iteration. When the goal state is found the processor informs all processors. Performance similar to parallel DFS.

33 Parallel Best-First Search BFS: maintains two lists: open and closed at each step the most promising node (according to the l- value) from the open list is expanded Newly generated nodes are added to the open list. Parallel BFS: different processors concurrently expand different nodes form open list How to manage the open list? Centralized strategy: Each processor gets work from a single global open list.

34 Parallel Best-First Search (centralized strategy) Problems: Needs termination detection: check if the other nodes have found a better solution. Contention for the open list => limits the speedup

35 Parallel Best-First Search Avoid congestion due to global open list => Distribute the open list: each processor has its own local open list Initially the search space is statically distributed among processors by expanding some nodes Processors expand nodes concurrently No communication: some processors may explore unnecessary nodes => poor speedup Processors must communicate to increase efficiency. How much communication?

36 Parallel Best-First Search Communication strategies for Tree BFS: Communication allows nodes to be exchanged between open lists Goal: ensure that nodes with good l-values are distributed evenly. Random communication strategy: A processor periodically send some of its best nodes to a randomly selected processor If a processor stores a good part of the space => the others will get part of it If the communication cost is low => communicate after each node expansion

37 Parallel Best-First Search Ring communication strategy: Processors are mapped into a virtual ring Each processor periodically exchanges some of its best nodes with its neighbors Drawback: it takes a long time to distributed good nodes if the state space is not uniform

38 Parallel Best-First Search Blackboard communication strategy: After selecting the best node from its local open list a processor expands the node only if its l-value is within a tolerable limit of the best node on the blackboard If selected node is better than the best node on BB it sends some of its best nodes to BB before expanding it If selected node is worse that the processor retrieves some nodes from BB and selects one for expansion Drawback: suitable for shared memory only.

39 Parallel Best-First Search Communication strategies for Graph BFS: When searching graphs => must check for node duplication Idea: whenever a node is generated it is mapped to the same processor, which checks for replication Use a hash function h(node) = proc. label Algorithm: When a new node is generated => compute the hash => label Send the node to the processor indicate by label When the node is received the processor checks if it already exists in the local open or closed list. If not => insert into open list If yes and has better cost => replace it. Ensures an even distribution of nodes with good l- values.

40 Speedup Anomalies in Parallel Search Algorithms Acceleration anomalies => supralinear speedup

41 Speedup Anomalies in Parallel Search Algorithms Deceleration anomalies => sublinear speedup

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

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

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

Parallel Traveling Salesman. PhD Student: Viet Anh Trinh Advisor: Professor Feng Gu.

Parallel Traveling Salesman. PhD Student: Viet Anh Trinh Advisor: Professor Feng Gu. Parallel Traveling Salesman PhD Student: Viet Anh Trinh Advisor: Professor Feng Gu Agenda 1. Traveling salesman introduction 2. Genetic Algorithm for TSP 3. Tree Search for TSP Travelling Salesman - Set

More information

Search and Optimization

Search and Optimization Search and Optimization Search, Optimization and Game-Playing The goal is to find one or more optimal or sub-optimal solutions in a given search space. We can either be interested in finding any one solution

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

Exam Design and Analysis of Algorithms for Parallel Computer Systems 9 15 at ÖP3

Exam Design and Analysis of Algorithms for Parallel Computer Systems 9 15 at ÖP3 UMEÅ UNIVERSITET Institutionen för datavetenskap Lars Karlsson, Bo Kågström och Mikael Rännar Design and Analysis of Algorithms for Parallel Computer Systems VT2009 June 2, 2009 Exam Design and Analysis

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

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

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

Efficient memory-bounded search methods

Efficient memory-bounded search methods Efficient memory-bounded search methods Mikhail Simin Arjang Fahim CSCE 580: Artificial Intelligence Fall 2011 Dr. Marco Voltorta Outline of The Presentation Motivations and Objectives Background - BFS

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

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

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

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

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

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

Informed search. Soleymani. CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2016

Informed search. Soleymani. CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2016 Informed search CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2016 Soleymani Artificial Intelligence: A Modern Approach, Chapter 3 Outline Best-first search Greedy

More information

Informed Search Methods

Informed Search Methods Informed Search Methods How can we improve searching strategy by using intelligence? Map example: Heuristic: Expand those nodes closest in as the crow flies distance to goal 8-puzzle: Heuristic: Expand

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

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

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

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Information Systems and Machine Learning Lab (ISMLL) Tomáš Horváth 10 rd November, 2010 Informed Search and Exploration Example (again) Informed strategy we use a problem-specific

More information

Monte Carlo Methods; Combinatorial Search

Monte Carlo Methods; Combinatorial Search Monte Carlo Methods; Combinatorial Search Parallel and Distributed Computing Department of Computer Science and Engineering (DEI) Instituto Superior Técnico November 22, 2012 CPD (DEI / IST) Parallel and

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

Chapter3. Problem-Solving Agents. Problem Solving Agents (cont.) Well-defined Problems and Solutions. Example Problems.

Chapter3. Problem-Solving Agents. Problem Solving Agents (cont.) Well-defined Problems and Solutions. Example Problems. Problem-Solving Agents Chapter3 Solving Problems by Searching Reflex agents cannot work well in those environments - state/action mapping too large - take too long to learn Problem-solving agent - is one

More information

Solving Problems by Searching. Artificial Intelligence Santa Clara University 2016

Solving Problems by Searching. Artificial Intelligence Santa Clara University 2016 Solving Problems by Searching Artificial Intelligence Santa Clara University 2016 Problem Solving Agents Problem Solving Agents Use atomic representation of states Planning agents Use factored or structured

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

Scalable Algorithmic Techniques Decompositions & Mapping. Alexandre David

Scalable Algorithmic Techniques Decompositions & Mapping. Alexandre David Scalable Algorithmic Techniques Decompositions & Mapping Alexandre David 1.2.05 adavid@cs.aau.dk Introduction Focus on data parallelism, scale with size. Task parallelism limited. Notion of scalability

More information

INTRODUCTION TO HEURISTIC SEARCH

INTRODUCTION TO HEURISTIC SEARCH INTRODUCTION TO HEURISTIC SEARCH What is heuristic search? Given a problem in which we must make a series of decisions, determine the sequence of decisions which provably optimizes some criterion. What

More information

ARTIFICIAL INTELLIGENCE. Informed search

ARTIFICIAL INTELLIGENCE. Informed search INFOB2KI 2017-2018 Utrecht University The Netherlands ARTIFICIAL INTELLIGENCE Informed search Lecturer: Silja Renooij These slides are part of the INFOB2KI Course Notes available from www.cs.uu.nl/docs/vakken/b2ki/schema.html

More information

Combinatorial Search; Monte Carlo Methods

Combinatorial Search; Monte Carlo Methods Combinatorial Search; Monte Carlo Methods Parallel and Distributed Computing Department of Computer Science and Engineering (DEI) Instituto Superior Técnico May 02, 2016 CPD (DEI / IST) Parallel and Distributed

More information

Blind (Uninformed) Search (Where we systematically explore alternatives)

Blind (Uninformed) Search (Where we systematically explore alternatives) Blind (Uninformed) Search (Where we systematically explore alternatives) R&N: Chap. 3, Sect. 3.3 5 Slides from Jean-Claude Latombe at Stanford University (used with permission) Simple Problem-Solving-Agent

More information

Informed/Heuristic Search

Informed/Heuristic Search Informed/Heuristic Search Outline Limitations of uninformed search methods Informed (or heuristic) search uses problem-specific heuristics to improve efficiency Best-first A* Techniques for generating

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

Solving problems by searching

Solving problems by searching Solving problems by searching Chapter 3 Some slide credits to Hwee Tou Ng (Singapore) Outline Problem-solving agents Problem types Problem formulation Example problems Basic search algorithms Heuristics

More information

Informed search methods

Informed search methods Informed search methods Tuomas Sandholm Computer Science Department Carnegie Mellon University Read Section 3.5-3.7 of Russell and Norvig Informed Search Methods Heuristic = to find, to discover Heuristic

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

A.I.: Informed Search Algorithms. Chapter III: Part Deux

A.I.: Informed Search Algorithms. Chapter III: Part Deux A.I.: Informed Search Algorithms Chapter III: Part Deux Best-first search Greedy best-first search A * search Heuristics Outline Overview Informed Search: uses problem-specific knowledge. General approach:

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

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

Search Algorithms. Uninformed Blind search. Informed Heuristic search. Important concepts:

Search Algorithms. Uninformed Blind search. Informed Heuristic search. Important concepts: Uninformed Search Search Algorithms Uninformed Blind search Breadth-first uniform first depth-first Iterative deepening depth-first Bidirectional Branch and Bound Informed Heuristic search Greedy search,

More information

Blind (Uninformed) Search (Where we systematically explore alternatives)

Blind (Uninformed) Search (Where we systematically explore alternatives) Blind (Uninformed) Search (Where we systematically explore alternatives) R&N: Chap. 3, Sect. 3.3 5 1 Simple Problem-Solving-Agent Agent Algorithm 1. s 0 sense/read initial state 2. GOAL? select/read goal

More information

Block-Parallel IDA* for GPUs

Block-Parallel IDA* for GPUs Proceedings of the Tenth International Symposium on Combinatorial Search (SoCS 2017) Block-Parallel IDA* for GPUs Satoru Horie, Alex Fukunaga Graduate School of Arts and Sciences The University of Tokyo

More information

Informed search algorithms. Chapter 3 (Based on Slides by Stuart Russell, Dan Klein, Richard Korf, Subbarao Kambhampati, and UW-AI faculty)

Informed search algorithms. Chapter 3 (Based on Slides by Stuart Russell, Dan Klein, Richard Korf, Subbarao Kambhampati, and UW-AI faculty) Informed search algorithms Chapter 3 (Based on Slides by Stuart Russell, Dan Klein, Richard Korf, Subbarao Kambhampati, and UW-AI faculty) Intuition, like the rays of the sun, acts only in an inflexibly

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

Solving Problem by Searching. Chapter 3

Solving Problem by Searching. Chapter 3 Solving Problem by Searching Chapter 3 Outline Problem-solving agents Problem formulation Example problems Basic search algorithms blind search Heuristic search strategies Heuristic functions Problem-solving

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

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

Search EECS 395/495 Intro to Artificial Intelligence

Search EECS 395/495 Intro to Artificial Intelligence Search EECS 395/495 Intro to Artificial Intelligence Doug Downey (slides from Oren Etzioni, based on Stuart Russell, Dan Weld, Henry Kautz, and others) What is Search? Search is a class of techniques for

More information

Search EECS 348 Intro to Artificial Intelligence

Search EECS 348 Intro to Artificial Intelligence Search EECS 348 Intro to Artificial Intelligence (slides from Oren Etzioni, based on Stuart Russell, Dan Weld, Henry Kautz, and others) What is Search? Search is a class of techniques for systematically

More information

Heuristic Search. CPSC 470/570 Artificial Intelligence Brian Scassellati

Heuristic Search. CPSC 470/570 Artificial Intelligence Brian Scassellati Heuristic Search CPSC 470/570 Artificial Intelligence Brian Scassellati Goal Formulation 200 Denver 300 200 200 Chicago 150 200 Boston 50 1200 210 75 320 255 Key West New York Well-defined function that

More information

Parallel Interval Analysis for Chemical Process Modeling

Parallel Interval Analysis for Chemical Process Modeling arallel Interval Analysis for Chemical rocess Modeling Chao-Yang Gau and Mark A. Stadtherr Λ Department of Chemical Engineering University of Notre Dame Notre Dame, IN 46556 USA SIAM CSE 2000 Washington,

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

Lecture 2: Fun with Search. Rachel Greenstadt CS 510, October 5, 2017

Lecture 2: Fun with Search. Rachel Greenstadt CS 510, October 5, 2017 Lecture 2: Fun with Search Rachel Greenstadt CS 510, October 5, 2017 Reminder! Project pre-proposals due tonight Overview Uninformed search BFS, DFS, Uniform-Cost, Graph-Search Informed search Heuristics,

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

Informed search methods

Informed search methods CS 2710 Foundations of AI Lecture 5 Informed search methods Milos Hauskrecht milos@pitt.edu 5329 Sennott Square Announcements Homework assignment 2 is out Due on Tuesday, September 19, 2017 before the

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

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

Ar#ficial)Intelligence!!

Ar#ficial)Intelligence!! Introduc*on! Ar#ficial)Intelligence!! Roman Barták Department of Theoretical Computer Science and Mathematical Logic Problem Solving: Uninformed Search Simple reflex agent only transfers the current percept

More information

Solving problems by searching

Solving problems by searching Solving problems by searching Chapter 3 Systems 1 Outline Problem-solving agents Problem types Problem formulation Example problems Basic search algorithms Systems 2 Problem-solving agents Systems 3 Example:

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

Lecture 4: Informed/Heuristic Search

Lecture 4: Informed/Heuristic Search Lecture 4: Informed/Heuristic Search Outline Limitations of uninformed search methods Informed (or heuristic) search uses problem-specific heuristics to improve efficiency Best-first A* RBFS SMA* Techniques

More information

CS 380: Artificial Intelligence Lecture #3

CS 380: Artificial Intelligence Lecture #3 CS 380: Artificial Intelligence Lecture #3 William Regli Outline Problem-solving agents Problem types Problem formulation Example problems Basic search algorithms 1 Problem-solving agents Example: Romania

More information

ARTIFICIAL INTELLIGENCE LECTURE 3. Ph. D. Lect. Horia Popa Andreescu rd year, semester 5

ARTIFICIAL INTELLIGENCE LECTURE 3. Ph. D. Lect. Horia Popa Andreescu rd year, semester 5 ARTIFICIAL INTELLIGENCE LECTURE 3 Ph. D. Lect. Horia Popa Andreescu 2012-2013 3 rd year, semester 5 The slides for this lecture are based (partially) on chapter 4 of the Stuart Russel Lecture Notes [R,

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

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Information Systems and Machine Learning Lab (ISMLL) Tomáš Horváth 16 rd November, 2011 Informed Search and Exploration Example (again) Informed strategy we use a problem-specific

More information

Chapter 2. Blind Search 8/19/2017

Chapter 2. Blind Search 8/19/2017 Chapter 2 1 8/19/2017 Problem-solving agents Problem types Problem formulation Example problems Basic search algorithms 8/19/2017 2 8/19/2017 3 On holiday in Romania; currently in Arad. Flight leaves tomorrow

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

Solving Problems by Searching (Blindly)

Solving Problems by Searching (Blindly) Solving Problems by Searching (Blindly) R&N: Chap. 3 (many of these slides borrowed from Stanford s AI Class) Problem Solving Agents Decide what to do by finding a sequence of actions that lead to desirable

More information

Lecture 3: Sorting 1

Lecture 3: Sorting 1 Lecture 3: Sorting 1 Sorting Arranging an unordered collection of elements into monotonically increasing (or decreasing) order. S = a sequence of n elements in arbitrary order After sorting:

More information

S A E RC R H C I H NG N G IN N S T S A T T A E E G R G A R PH P S

S A E RC R H C I H NG N G IN N S T S A T T A E E G R G A R PH P S LECTURE 2 SEARCHING IN STATE GRAPHS Introduction Idea: Problem Solving as Search Basic formalism as State-Space Graph Graph explored by Tree Search Different algorithms to explore the graph Slides mainly

More information

Solving problems by searching

Solving problems by searching Solving problems by searching CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2014 Soleymani Artificial Intelligence: A Modern Approach, Chapter 3 Outline Problem-solving

More information

Branch & Bound (B&B) and Constraint Satisfaction Problems (CSPs)

Branch & Bound (B&B) and Constraint Satisfaction Problems (CSPs) Branch & Bound (B&B) and Constraint Satisfaction Problems (CSPs) Alan Mackworth UBC CS 322 CSP 1 January 25, 2013 P&M textbook 3.7.4 & 4.0-4.2 Lecture Overview Recap Branch & Bound Wrap up of search module

More information

Announcements. Today s Menu

Announcements. Today s Menu Announcements 1 Today s Menu Finish up (Chapter 9) IDA, IDA* & RBFS Search Efficiency 2 Related Algorithms Bi-Directional Search > Breadth-First may expand less nodes bidirectionally than unidirectionally

More information

APHID: Asynchronous Parallel Game-Tree Search

APHID: Asynchronous Parallel Game-Tree Search APHID: Asynchronous Parallel Game-Tree Search Mark G. Brockington and Jonathan Schaeffer Department of Computing Science University of Alberta Edmonton, Alberta T6G 2H1 Canada February 12, 1999 1 Running

More information

Search I. slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig

Search I. slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig Search I slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig Problem-Solving Agents Intelligent agents can solve problems by searching a state-space State-space Model the agent s model of

More information

Advanced A* Improvements

Advanced A* Improvements Advanced A* Improvements 1 Iterative Deepening A* (IDA*) Idea: Reduce memory requirement of A* by applying cutoff on values of f Consistent heuristic function h Algorithm IDA*: 1. Initialize cutoff to

More information

ITCS 6150 Intelligent Systems. Lecture 5 Informed Searches

ITCS 6150 Intelligent Systems. Lecture 5 Informed Searches ITCS 6150 Intelligent Systems Lecture 5 Informed Searches Informed Searches We are informed (in some way) about future states and future paths We use this information to make better decisions about which

More information

Solving problems by searching

Solving problems by searching Solving problems by searching 1 C H A P T E R 3 Problem-solving agents Problem types Problem formulation Example problems Basic search algorithms Outline 2 Problem-solving agents 3 Note: this is offline

More information

Principles of Parallel Algorithm Design: Concurrency and Mapping

Principles of Parallel Algorithm Design: Concurrency and Mapping Principles of Parallel Algorithm Design: Concurrency and Mapping John Mellor-Crummey Department of Computer Science Rice University johnmc@rice.edu COMP 422/534 Lecture 3 17 January 2017 Last Thursday

More information

Lecture 9. Heuristic search, continued. CS-424 Gregory Dudek

Lecture 9. Heuristic search, continued. CS-424 Gregory Dudek Lecture 9 Heuristic search, continued A* revisited Reminder: with A* we want to find the best-cost (C ) path to the goal first. To do this, all we have to do is make sure our cost estimates are less than

More information

Search: Advanced Topics and Conclusion

Search: Advanced Topics and Conclusion Search: Advanced Topics and Conclusion CPSC 322 Lecture 8 January 20, 2006 Textbook 2.6 Search: Advanced Topics and Conclusion CPSC 322 Lecture 8, Slide 1 Lecture Overview Recap Branch & Bound A Tricks

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

Lecture 5 Heuristics. Last Time: A* Search

Lecture 5 Heuristics. Last Time: A* Search CSE 473 Lecture 5 Heuristics CSE AI Faculty Last Time: A* Search Use an evaluation function f(n) for node n. f(n) = estimated total cost of path thru n to goal f(n) = g(n) + h(n) g(n) = cost so far to

More information

Outline. Solving problems by searching. Problem-solving agents. Example: Romania

Outline. Solving problems by searching. Problem-solving agents. Example: Romania Outline Solving problems by searching Chapter 3 Problem-solving agents Problem types Problem formulation Example problems Basic search algorithms Systems 1 Systems 2 Problem-solving agents Example: Romania

More information

CS 380: Artificial Intelligence Lecture #4

CS 380: Artificial Intelligence Lecture #4 CS 380: Artificial Intelligence Lecture #4 William Regli Material Chapter 4 Section 1-3 1 Outline Best-first search Greedy best-first search A * search Heuristics Local search algorithms Hill-climbing

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

Parallel Algorithms. Single Agent Search COMP 3705/4705. Parallel Search - Simple approaches. Dovetailing

Parallel Algorithms. Single Agent Search COMP 3705/4705. Parallel Search - Simple approaches. Dovetailing Parallel Algorithms Single Agent Search COMP 3705/4705 Prof. Nathan Sturtevant Lecture 15 For many years it looked like our problems would be solved by increases in processor speed Moore s law predicts

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

Load Balancing Part 1: Dynamic Load Balancing

Load Balancing Part 1: Dynamic Load Balancing Load Balancing Part 1: Dynamic Load Balancing Kathy Yelick yelick@cs.berkeley.edu www.cs.berkeley.edu/~yelick/cs194f07 10/1/2007 CS194 Lecture 1 Implementing Data Parallelism Why didn t data parallel languages

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

Integrating Machine Learning in Parallel Heuristic Search

Integrating Machine Learning in Parallel Heuristic Search From: Proceedings of the Eleventh International FLAIRS Conference. Copyright 1998, AAAI (www.aaai.org). All rights reserved. Integrating Machine Learning in Parallel Heuristic Search R. Craig Varnell Stephen

More information

Solving problems by searching

Solving problems by searching Solving problems by searching CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2017 Soleymani Artificial Intelligence: A Modern Approach, Chapter 3 Outline Problem-solving

More information

Lecture 4: Graph Algorithms

Lecture 4: Graph Algorithms Lecture 4: Graph Algorithms Definitions Undirected graph: G =(V, E) V finite set of vertices, E finite set of edges any edge e = (u,v) is an unordered pair Directed graph: edges are ordered pairs If e

More information

ARTIFICIAL INTELLIGENCE. Pathfinding and search

ARTIFICIAL INTELLIGENCE. Pathfinding and search INFOB2KI 2017-2018 Utrecht University The Netherlands ARTIFICIAL INTELLIGENCE Pathfinding and search Lecturer: Silja Renooij These slides are part of the INFOB2KI Course Notes available from www.cs.uu.nl/docs/vakken/b2ki/schema.html

More information

Uninformed Search. Chapter 3

Uninformed Search. Chapter 3 Uninformed Search Chapter 3 (Based on slides by Stuart Russell, Subbarao Kambhampati, Dan Weld, Oren Etzioni, Henry Kautz, Richard Korf, and other UW-AI faculty) Agent s Knowledge Representation Type State

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 771 Artificial Intelligence. Problem Solving by Searching Uninformed search

CS 771 Artificial Intelligence. Problem Solving by Searching Uninformed search CS 771 Artificial Intelligence Problem Solving by Searching Uninformed search Complete architectures for intelligence? Search? Solve the problem of what to do. Learning? Learn what to do. Logic and inference?

More information

Uniformed Search (cont.)

Uniformed Search (cont.) Uniformed Search (cont.) Computer Science cpsc322, Lecture 6 (Textbook finish 3.5) Sept, 16, 2013 CPSC 322, Lecture 6 Slide 1 Lecture Overview Recap DFS vs BFS Uninformed Iterative Deepening (IDS) Search

More information