Problem Solving as State Space Search

Size: px
Start display at page:

Download "Problem Solving as State Space Search"

Transcription

1 Problem olving as tate pace earch rian. Williams pril 5 th, 00 lides adapted from: 6.0 Tomas Lozano Perez, Russell and Norvig IM rian Williams, pring 0

2 elf-iagnosing Explorers courtesy of JPL rian Williams, pring 0

3 In pace The Exception is the Rule courtesy of N POLLO Quintuple fault occurs (three shorts, tank-line and pressure jacket burst, panel flies off). Power limitations too severe to perform new mission.. Novel reconfiguration identified, exploiting LEM batteries for power. waggert & Lovell work on pollo emergency rig lithium hydroxide unit. rian Williams, pring 0

4 omplex missions must carefully: Plan complex sequences of actions chedule tight resources Monitor and diagnose behavior Repair or reconfigure hardware. Most utonomy problems, search through a space of options. We formulate as state space search. rian Williams, pring 0

5 Outline Problem encoding as state space search raphs and search trees epth and breadth-first search rian Williams, pring 0 5

6 stronaut oose rain Fox Rover an the astronaut get its produce safely across the Martian canal? stronaut + item allowed in the rover. oose alone eats rain Fox alone eats oose Early I: What are the universal problem solving methods? imple Trivial rian Williams, pring 0 6

7 Problem olving as tate pace earch Formulate oal Formulate Problem tates Operators enerate olution equence of states rian Williams, pring 0 7

8 Problem olving as tate pace earch Formulate oal stronaut, Fox, oose & rain across river Formulate Problem tates Location of stronaut, Fox, oose & rain at top or bottom river bank Operators Move rover with astronaut & or 0 items to other bank. rian Williams, pring 0 8

9 rian Williams, pring 0 9 stronaut oose rain Fox rain Fox stronaut oose stronaut rain Fox oose oose stronaut Fox rain stronaut oose rain Fox stronaut oose rain Fox rain stronaut oose Fox stronaut oose rain Fox Fox stronaut oose rain stronaut oose Fox rain oose Fox stronaut rain oose rain stronaut Fox stronaut rain oose Fox stronaut Fox oose rain oose rain Fox stronaut stronaut oose rain Fox

10 Example: 8-Puzzle tart oal tates: Operators: oal Test: integer location for each tile N move empty square up, down, left, right goal state as given rian Williams, pring 0 0

11 Outline Problem encoding as state space search raphs and search trees epth and breadth-first search rian Williams, pring 0

12 Problem Formulation: raph Operator Link (edge) tate Node (vertex) irected raph (one-way streets) Undirected raph (two-way streets) rian Williams, pring 0 5

13 Examples of raphs oston an Fran irline Routes Wash L allas Planning ctions (graph of possible states of the world) Put on Put on Put on Put on Put on rian Williams, pring 0 6

14 olution is a tate equence: Problem olving earches Paths Represent searched paths using a tree. rian Williams, pring 0 7

15 olution is a tate equence: Problem olving earches Paths Represent searched paths using a tree. rian Williams, pring 0 8

16 olution is a tate equence: Problem olving earches Paths Represent searched paths using a tree. rian Williams, pring 0 9

17 earch Trees Root Link (edge) Node (vertex) rian Williams, pring 0 0

18 earch Trees iblings Parent (ncestor) hild (escendant) rian Williams, pring 0

19 Outline Problem encoding as state space search raphs and search trees epth and breadth-first search epth first in lecture readth first at home rian Williams, pring 0

20 lasses of earch lind epth-first ystematic exploration of whole tree (uninformed) readth-first until the goal is found. Iterative-eepening Heuristic Hill-limbing Uses heuristic measure of goodness est-first of a node,e.g. estimated distance to. eam goal. Optimal ranch&ound Uses path length measure. Finds * shortest path. * also uses heuristic rian Williams, pring 0

21 lasses of earch lind epth-first ystematic exploration of whole tree (uninformed) readth-first until the goal is found. Iterative-eepening rian Williams, pring 0

22 epth First earch (F) Idea: Explore descendants before siblings Explore siblings left to right rian Williams, pring 0 5

23 rian Williams, pring 0 6 readth First earch (F) Idea: Explore relatives at same level before their children Explore relatives left to right

24 Elements of lgorithm esign escription: stylized pseudo code, sufficient to analyze and implement the algorithm. nalysis: oundness: is a solution returned by the algorithm guaranteed to be correct? ompleteness: is the algorithm guaranteed to find a solution when there is one? Optimality: is the algorithm guaranteed to find a best solution when there is one? Time complexity: how long does it take to find a solution? pace complexity: how much memory does it need to perform search? rian Williams, pring 0 7

25 Outline Problem encoding as state space search raphs and search trees epth and breadth-first search generic search algorithm epth-first search example Handling cycles readth-first search example (do at home) rian Williams, pring 0 8

26 imple earch lgorithm How do we maintain the earch tate? set of partial paths explored thus far. n ordering on which partial path to expand next (called a queue Q). earch repeatedly: elects next partial path Expands it. Terminates when goal found. rian Williams, pring 0 9

27 imple earch lgorithm Let denote the start node and a goal node. partial path is a path from to some node, e.g., ( ) The head of a partial path is the most recent node of the path, e.g.,. The Q is a list of partial paths, e.g. (( ) ( ) ). rian Williams, pring 0 0

28 imple earch lgorithm Let Q be a list of partial paths, Let be the start node and Let be the oal node.. Initialize Q with partial path (). If Q is empty, fail. Else, pick a partial path N from Q. If head(n) =, return N (goal reached!). Else: a) Remove N from Q b) Find all children of head(n) and create all the one-step extensions of N to each child. c) dd all extended paths to Q d) o to step. rian Williams, pring 0

29 Outline Problem encoding as state space search raphs and search trees epth and breadth-first search generic search algorithm epth-first search example Handling cycles readth-first search example (do at home) rian Williams, pring 0

30 epth First earch (F) epth-first: dd path extensions to front of Q Pick first element of Q For each search type, where do we place the children on the queue? rian Williams, pring 0

31 epth-first Pick first element of Q; dd path extensions to front of Q Q () 5 rian Williams, pring 0

32 epth-first Pick first element of Q; dd path extensions to front of Q Q () 5 rian Williams, pring 0 5

33 epth-first Pick first element of Q; dd path extensions to front of Q Q () ( ) 5 dded paths in blue rian Williams, pring 0 6

34 epth-first Pick first element of Q; dd path extensions to front of Q Q () ( ) ( ) 5 dded paths in blue rian Williams, pring 0 7

35 epth-first Pick first element of Q; dd path extensions to front of Q Q () ( ) ( ) 5 dded paths in blue rian Williams, pring 0 8

36 epth-first Pick first element of Q; dd path extensions to front of Q Q () ( ) ( ) 5 dded paths in blue rian Williams, pring 0 9

37 epth-first Pick first element of Q; dd path extensions to front of Q Q () ( ) ( ) ( ) ( ) ( ) 5 dded paths in blue rian Williams, pring 0 0

38 epth-first Pick first element of Q; dd path extensions to front of Q Q () ( ) ( ) ( ) ( ) ( ) 5 dded paths in blue rian Williams, pring 0

39 epth-first Pick first element of Q; dd path extensions to front of Q Q () ( ) ( ) ( ) ( ) ( ) 5 dded paths in blue rian Williams, pring 0

40 epth-first Pick first element of Q; dd path extensions to front of Q Q () ( ) ( ) ( ) ( ) ( ) 5 ( ) ( ) dded paths in blue rian Williams, pring 0

41 epth-first Pick first element of Q; dd path extensions to front of Q Q () ( ) ( ) ( ) ( ) ( ) 5 ( ) ( ) dded paths in blue rian Williams, pring 0

42 epth-first Pick first element of Q; dd path extensions to front of Q Q () ( ) ( ) ( ) ( ) ( ) 5 ( ) ( ) ( )( ) ( ) rian Williams, pring 0 5

43 epth-first Pick first element of Q; dd path extensions to front of Q Q () ( ) ( ) ( ) ( ) ( ) 5 ( ) ( ) ( )( ) ( ) rian Williams, pring 0 6

44 epth-first Pick first element of Q; dd path extensions to front of Q Q () ( ) ( ) ( ) ( ) ( ) 5 ( ) ( ) ( )( ) ( ) 6 ( )( ) rian Williams, pring 0 7

45 epth-first Pick first element of Q; dd path extensions to front of Q Q () ( ) ( ) ( ) ( ) ( ) 5 ( ) ( ) ( )( ) ( ) 6 ( )( ) rian Williams, pring 0 8

46 Outline Problem encoding as state space search raphs and search trees epth and breadth-first search generic search algorithm epth-first search example Handling cycles readth-first search example (do at home) rian Williams, pring 0 9

47 Issue: tarting at and moving top to bottom, will depth-first search ever reach? an effort be wasted in more mild cases? rian Williams, pring 0 50

48 epth-first Pick first element of Q; dd path extensions to front of Q Q () ( ) ( ) ( ) ( ) ( ) 5 6 ( ) ( ) ( )( ) ( ) ( )( ) visited multiple times Multiple paths to, & How much wasted effort can be incurred in the worst case? rian Williams, pring 0 5

49 How o We void Repeat Visits? Idea: Keep track of nodes already visited. o not place visited nodes on Q. oes it maintain correctness? ny goal reachable from a node that was visited a second time would be reachable from that node the first time. oes it always improve efficiency? uarantees each node appears at most once at the head of a path in Q. rian Williams, pring 0 5

50 imple earch lgorithm Let Q be a list of partial paths, Let be the start node and Let be the oal node.. Initialize Q with partial path () as only entry; set Visited = ( ). If Q is empty, fail. Else, pick some partial path N from Q. If head(n) =, return N (goal reached!). Else a) Remove N from Q b) Find all children of head(n) not in Visited and create all the one-step extensions of N to each child. c) dd to Q all the extended paths; d) dd children of head(n) to Visited e) o to step. rian Williams, pring 0 5

51 Outline Problem encoding as state space search raphs and search trees epth and breadth-first search generic search algorithm epth-first search example Handling cycles readth-first search example (do at home) rian Williams, pring 0 55

52 epth First earch (F) epth-first: dd path extensions to front of Q Pick first element of Q readth First earch (F) readth-first: dd path extensions to back of Q Pick first element of Q For each search type, where do we place the children on the queue? rian Williams, pring 0 56

53 readth-first Pick first element of Q; dd path extensions to end of Q Q () Visited 5 6 rian Williams, pring 0 58

54 readth-first Pick first element of Q; dd path extensions to end of Q Q () Visited 5 6 rian Williams, pring 0 59

55 readth-first Pick first element of Q; dd path extensions to end of Q Q () ( ) ( ) Visited,, 5 6 rian Williams, pring 0 60

56 readth-first Pick first element of Q; dd path extensions to end of Q Q () ( ) ( ) Visited,, 5 6 rian Williams, pring 0 6

57 readth-first Pick first element of Q; dd path extensions to end of Q Q () ( ) ( ) Visited,, ( ) ( ) ( ),,,, 5 6 rian Williams, pring 0 6

58 readth-first Pick first element of Q; dd path extensions to end of Q Q () ( ) ( ) Visited,, ( ) ( ) ( ),,,, 5 6 rian Williams, pring 0 6

59 readth-first Pick first element of Q; dd path extensions to end of Q Q () ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )* Visited,,,,,,,,,,, ( ) ( ) ( ),,,,,,,,,, rian Williams, pring 0 68

60 epth-first with visited list Pick first element of Q; dd path extensions to front of Q Q () ( ) ( ) ( ) ( ) ( ) Visited,,,,,, 5 5 ( ) ( ) ( ) ( ),,,,,,,,, rian Williams, pring 0 69

61 ummary Most problem solving tasks may be encoded as state space search. asic data structures for search are graphs and search trees. epth-first and breadth-first search may be framed, among others, as instances of a generic search strategy. ycle detection is required to achieve efficiency and completeness. rian Williams, pring 0 70

62 ppendix rian Williams, pring 0 7

63 readth-first (without Visited list) Pick first element of Q; dd path extensions to end of Q Q () ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )* ( ) ( ) ( ) ( ) ( ) ( ) ( ) 7 ( ) ( ) ( ) rian Williams, pring 0 78

Analysis of Uninformed Search Methods

Analysis of Uninformed Search Methods nalysis of Uninformed earch Methods rian. Williams 16.410-13 ep 21 st, 2004 lides adapted from: 6.034 Tomas Lozano Perez, Russell and Norvig IM rian Williams, Fall 04 1 ssignments Remember: Problem et

More information

Artificial Intelligence Methods. Problem solving by searching

Artificial Intelligence Methods. Problem solving by searching rtificial Intelligence Methods Problem solving by searching In which we see how an agent can find a sequence of actions that achieves its goals, when no single action will do. Dr. Igor Trajkovski Dr. Igor

More information

6.01: Introduction to EECS I. Optimizing a Search

6.01: Introduction to EECS I. Optimizing a Search 6.0: Introduction to CS I Optimizing a Search May 3, 0 Nano-Quiz Makeups Wednesday, May 4, 6-pm, 34-50. everyone can makeup/retake NQ everyone can makeup/retake two additional NQs you can makeup/retake

More information

Informed Search. Day 3 of Search. Chap. 4, Russel & Norvig. Material in part from

Informed Search. Day 3 of Search. Chap. 4, Russel & Norvig. Material in part from Informed Search Day 3 of Search Chap. 4, Russel & Norvig Material in part from http://www.cs.cmu.edu/~awm/tutorials Uninformed Search Complexity N = Total number of states B = Average number of successors

More information

Informed Search. Chap. 4. Breadth First. O(Min(N,B L )) BFS. Search. have same cost BIBFS. Bi- Direction. O(Min(N,2B L/2 )) BFS. have same cost UCS

Informed Search. Chap. 4. Breadth First. O(Min(N,B L )) BFS. Search. have same cost BIBFS. Bi- Direction. O(Min(N,2B L/2 )) BFS. have same cost UCS Informed Search Chap. 4 Material in part from http://www.cs.cmu.edu/~awm/tutorials Uninformed Search Complexity N = Total number of states B = Average number of successors (branching factor) L = Length

More information

Principles of AI Planning

Principles of AI Planning Principles of 5. Planning as search: progression and regression Malte Helmert and Bernhard Nebel Albert-Ludwigs-Universität Freiburg May 4th, 2010 Planning as (classical) search Introduction Classification

More information

Principles of AI Planning

Principles of AI Planning Principles of AI Planning 5. Planning as search: progression and regression Albert-Ludwigs-Universität Freiburg Bernhard Nebel and Robert Mattmüller October 30th, 2013 Introduction Classification Planning

More information

Math Models of OR: Branch-and-Bound

Math Models of OR: Branch-and-Bound Math Models of OR: Branch-and-Bound John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 12180 USA November 2018 Mitchell Branch-and-Bound 1 / 15 Branch-and-Bound Outline 1 Branch-and-Bound

More information

8: Splay Trees. Move-to-Front Heuristic. Splaying. Splay(12) CSE326 Spring April 16, Search for Pebbles: Move found item to front of list

8: Splay Trees. Move-to-Front Heuristic. Splaying. Splay(12) CSE326 Spring April 16, Search for Pebbles: Move found item to front of list : Splay Trees SE Spring 00 pril, 00 Move-to-Front Heuristic Search for ebbles: Fred Wilma ebbles ino Fred Wilma ino ebbles Move found item to front of list Frequently searched items will move to start

More information

Soundness and Completeness of State Space Search. Assignments

Soundness and Completeness of State Space Search. Assignments 7/2/11 Soundness and Completeness of State Space Search Sertac Karaman 16.410 13 Sept 20 th, 2010 1 Assignments Remember: Problem Set #2: Uninformed search Out last Wednesday, Due this Wednesday, September

More information

D1 Discrete Mathematics The Travelling Salesperson problem. The Nearest Neighbour Algorithm The Lower Bound Algorithm The Tour Improvement Algorithm

D1 Discrete Mathematics The Travelling Salesperson problem. The Nearest Neighbour Algorithm The Lower Bound Algorithm The Tour Improvement Algorithm 1 iscrete Mathematics The Travelling Salesperson problem The Nearest Neighbour lgorithm The Lower ound lgorithm The Tour Improvement lgorithm The Travelling Salesperson: Typically a travelling salesperson

More information

Problem solving and search. Chapter 3. Chapter 3 1

Problem solving and search. Chapter 3. Chapter 3 1 Problem solving and search Chapter 3 Chapter 3 1 eminders ssignment 0 due 5pm today ssignment 1 posted, due 2/9 Section 105 will move to 9-10am starting next week Chapter 3 2 Problem-solving agents Problem

More information

Part V. Matchings. Matching. 19 Augmenting Paths for Matchings. 18 Bipartite Matching via Flows

Part V. Matchings. Matching. 19 Augmenting Paths for Matchings. 18 Bipartite Matching via Flows Matching Input: undirected graph G = (V, E). M E is a matching if each node appears in at most one Part V edge in M. Maximum Matching: find a matching of maximum cardinality Matchings Ernst Mayr, Harald

More information

Markov Decision Processes

Markov Decision Processes Markov Decision Processes Lecture notes for the course Games on Graphs B. Srivathsan Chennai Mathematical Institute, India 1 Markov Chains We will define Markov chains in a manner that will be useful to

More information

Deterministic Planning and State-space Search. Erez Karpas

Deterministic Planning and State-space Search. Erez Karpas Planning and Search IE&M Technion to our Problem-solving agents Restricted form of general agent def Simple-Problem-Solving-Agent (problem): state, some description of the current world state seq, an action

More information

CS 331: Artificial Intelligence Local Search 1. Tough real-world problems

CS 331: Artificial Intelligence Local Search 1. Tough real-world problems S 331: rtificial Intelligence Local Search 1 1 Tough real-world problems Suppose you had to solve VLSI layout problems (minimize distance between components, unused space, etc.) Or schedule airlines Or

More information

AI Programming CS S-06 Heuristic Search

AI Programming CS S-06 Heuristic Search AI Programming CS662-2013S-06 Heuristic Search David Galles Department of Computer Science University of San Francisco 06-0: Overview Heuristic Search - exploiting knowledge about the problem Heuristic

More information

Bayes Nets III: Inference

Bayes Nets III: Inference 1 Hal Daumé III (me@hal3.name) Bayes Nets III: Inference Hal Daumé III Computer Science University of Maryland me@hal3.name CS 421: Introduction to Artificial Intelligence 10 Apr 2012 Many slides courtesy

More information

On the Relative Trust between Inconsistent Data and Inaccurate Constraints

On the Relative Trust between Inconsistent Data and Inaccurate Constraints On the Relative Trust between Inconsistent Data and Inaccurate Constraints George Beskales 1 Ihab F. Ilyas 1 Lukasz Golab 2 Artur Galiullin 2 1 Qatar Computing Research Institute 2 University of Waterloo

More information

Chapter 8 The Disjoint Sets Class

Chapter 8 The Disjoint Sets Class Chapter 8 The Disjoint Sets Class 2 Introduction equivalence problem can be solved fairly simply simple data structure each function requires only a few lines of code two operations: and can be implemented

More information

A* Search. 1 Dijkstra Shortest Path

A* Search. 1 Dijkstra Shortest Path A* Search Consider the eight puzzle. There are eight tiles numbered 1 through 8 on a 3 by three grid with nine locations so that one location is left empty. We can move by sliding a tile adjacent to the

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Chapter 5 AIMA2e Slides, Stuart Russell and Peter Norvig, Completed by Kazim Fouladi, Fall 2008 Chapter 5 1 Outline CSP examples Backtracking search for CSPs Problem structure

More information

Breadth First Search, Dijkstra s Algorithm for Shortest Paths

Breadth First Search, Dijkstra s Algorithm for Shortest Paths CS 374: Algorithms & Models of Computation, Spring 2017 Breadth First Search, Dijkstra s Algorithm for Shortest Paths Lecture 17 March 1, 2017 Chandra Chekuri (UIUC) CS374 1 Spring 2017 1 / 42 Part I Breadth

More information

Discrete Wiskunde II. Lecture 5: Shortest Paths & Spanning Trees

Discrete Wiskunde II. Lecture 5: Shortest Paths & Spanning Trees , 2009 Lecture 5: Shortest Paths & Spanning Trees University of Twente m.uetz@utwente.nl wwwhome.math.utwente.nl/~uetzm/dw/ Shortest Path Problem "#$%&'%()*%"()$#+,&- Given directed "#$%&'()*+,%+('-*.#/'01234564'.*,'7+"-%/8',&'5"4'84%#3

More information

Introduction to Probabilistic Reasoning. Image credit: NASA. Assignment

Introduction to Probabilistic Reasoning. Image credit: NASA. Assignment Introduction to Probabilistic Reasoning Brian C. Williams 16.410/16.413 November 17 th, 2010 11/17/10 copyright Brian Williams, 2005-10 1 Brian C. Williams, copyright 2000-09 Image credit: NASA. Assignment

More information

CSE 591 Foundations of Algorithms Homework 4 Sample Solution Outlines. Problem 1

CSE 591 Foundations of Algorithms Homework 4 Sample Solution Outlines. Problem 1 CSE 591 Foundations of Algorithms Homework 4 Sample Solution Outlines Problem 1 (a) Consider the situation in the figure, every edge has the same weight and V = n = 2k + 2. Easy to check, every simple

More information

CSE 473: Artificial Intelligence Spring 2014

CSE 473: Artificial Intelligence Spring 2014 CSE 473: Artificial Intelligence Spring 2014 Hanna Hajishirzi Problem Spaces and Search slides from Dan Klein, Stuart Russell, Andrew Moore, Dan Weld, Pieter Abbeel, Luke Zettelmoyer Outline Agents that

More information

Methods for finding optimal configurations

Methods for finding optimal configurations CS 1571 Introduction to AI Lecture 9 Methods for finding optimal configurations Milos Hauskrecht milos@cs.pitt.edu 5329 Sennott Square Search for the optimal configuration Optimal configuration search:

More information

Lecture 1 : Data Compression and Entropy

Lecture 1 : Data Compression and Entropy CPS290: Algorithmic Foundations of Data Science January 8, 207 Lecture : Data Compression and Entropy Lecturer: Kamesh Munagala Scribe: Kamesh Munagala In this lecture, we will study a simple model for

More information

Data Structures and Algorithms " Search Trees!!

Data Structures and Algorithms  Search Trees!! Data Structures and Algorithms " Search Trees!! Outline" Binary Search Trees! AVL Trees! (2,4) Trees! 2 Binary Search Trees! "! < 6 2 > 1 4 = 8 9 Ordered Dictionaries" Keys are assumed to come from a total

More information

Exact Inference: Variable Elimination

Exact Inference: Variable Elimination Readings: K&F 9.2 9. 9.4 9.5 Exact nerence: Variable Elimination ecture 6-7 Apr 1/18 2011 E 515 tatistical Methods pring 2011 nstructor: u-n ee University o Washington eattle et s revisit the tudent Network

More information

Priority queues implemented via heaps

Priority queues implemented via heaps Priority queues implemented via heaps Comp Sci 1575 Data s Outline 1 2 3 Outline 1 2 3 Priority queue: most important first Recall: queue is FIFO A normal queue data structure will not implement a priority

More information

ICS 252 Introduction to Computer Design

ICS 252 Introduction to Computer Design ICS 252 fall 2006 Eli Bozorgzadeh Computer Science Department-UCI References and Copyright Textbooks referred [Mic94] G. De Micheli Synthesis and Optimization of Digital Circuits McGraw-Hill, 1994. [CLR90]

More information

CSE 326: Data Structures NP Completeness

CSE 326: Data Structures NP Completeness Announcements S 326: ata Structures NP ompleteness rian urless Spring 2008 enchmarking for project 3 due tonight Last homework due on riday at beginning of class inal next Thursday Scheduled for 8:30,

More information

CMPSCI 611: Advanced Algorithms

CMPSCI 611: Advanced Algorithms CMPSCI 611: Advanced Algorithms Lecture 12: Network Flow Part II Andrew McGregor Last Compiled: December 14, 2017 1/26 Definitions Input: Directed Graph G = (V, E) Capacities C(u, v) > 0 for (u, v) E and

More information

Appendix of Computational Protein Design Using AND/OR Branch and Bound Search

Appendix of Computational Protein Design Using AND/OR Branch and Bound Search Appendix of Computational Protein Design Using AND/OR Branch and Bound Search Yichao Zhou 1, Yuexin Wu 1, and Jianyang Zeng 1,2, 1 Institute for Interdisciplinary Information Sciences, Tsinghua University,

More information

Scribes: Po-Hsuan Wei, William Kuzmaul Editor: Kevin Wu Date: October 18, 2016

Scribes: Po-Hsuan Wei, William Kuzmaul Editor: Kevin Wu Date: October 18, 2016 CS 267 Lecture 7 Graph Spanners Scribes: Po-Hsuan Wei, William Kuzmaul Editor: Kevin Wu Date: October 18, 2016 1 Graph Spanners Our goal is to compress information about distances in a graph by looking

More information

Search Trees. Chapter 10. CSE 2011 Prof. J. Elder Last Updated: :52 AM

Search Trees. Chapter 10. CSE 2011 Prof. J. Elder Last Updated: :52 AM Search Trees Chapter 1 < 6 2 > 1 4 = 8 9-1 - Outline Ø Binary Search Trees Ø AVL Trees Ø Splay Trees - 2 - Outline Ø Binary Search Trees Ø AVL Trees Ø Splay Trees - 3 - Binary Search Trees Ø A binary search

More information

Shortest Path Algorithms

Shortest Path Algorithms Shortest Path Algorithms Andreas Klappenecker [based on slides by Prof. Welch] 1 Single Source Shortest Path 2 Single Source Shortest Path Given: a directed or undirected graph G = (V,E) a source node

More information

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11 Undirected Graphs Undirected graph. G = (V, E) V = nodes. E = edges between pairs of nodes. Captures pairwise relationship between objects. Graph size parameters: n = V, m = E. V = {, 2, 3,,,, 7, 8 } E

More information

CS 4407 Algorithms Lecture: Shortest Path Algorithms

CS 4407 Algorithms Lecture: Shortest Path Algorithms CS 440 Algorithms Lecture: Shortest Path Algorithms Prof. Gregory Provan Department of Computer Science University College Cork 1 Outline Shortest Path Problem General Lemmas and Theorems. Algorithms Bellman-Ford

More information

Constraint Satisfaction

Constraint Satisfaction Constraint Satisfaction CS 486/686 May 16, 2006 University of Waterloo 1 Outline What are CSPs? Standard search and CSPs Improvements Backtracking Backtracking + heuristics Forward checking 2 Introduction

More information

Search Trees. EECS 2011 Prof. J. Elder Last Updated: 24 March 2015

Search Trees. EECS 2011 Prof. J. Elder Last Updated: 24 March 2015 Search Trees < 6 2 > 1 4 = 8 9-1 - Outline Ø Binary Search Trees Ø AVL Trees Ø Splay Trees - 2 - Learning Outcomes Ø From this lecture, you should be able to: q Define the properties of a binary search

More information

On the Average Path Length of Complete m-ary Trees

On the Average Path Length of Complete m-ary Trees 1 2 3 47 6 23 11 Journal of Integer Sequences, Vol. 17 2014, Article 14.6.3 On the Average Path Length of Complete m-ary Trees M. A. Nyblom School of Mathematics and Geospatial Science RMIT University

More information

Divide-and-Conquer Algorithms Part Two

Divide-and-Conquer Algorithms Part Two Divide-and-Conquer Algorithms Part Two Recap from Last Time Divide-and-Conquer Algorithms A divide-and-conquer algorithm is one that works as follows: (Divide) Split the input apart into multiple smaller

More information

On the Complexity of Partitioning Graphs for Arc-Flags

On the Complexity of Partitioning Graphs for Arc-Flags Journal of Graph Algorithms and Applications http://jgaa.info/ vol. 17, no. 3, pp. 65 99 (013) DOI: 10.7155/jgaa.0094 On the Complexity of Partitioning Graphs for Arc-Flags Reinhard Bauer Moritz Baum Ignaz

More information

CS 161: Design and Analysis of Algorithms

CS 161: Design and Analysis of Algorithms CS 161: Design and Analysis of Algorithms Greedy Algorithms 3: Minimum Spanning Trees/Scheduling Disjoint Sets, continued Analysis of Kruskal s Algorithm Interval Scheduling Disjoint Sets, Continued Each

More information

CSE613: Parallel Programming, Spring 2012 Date: May 11. Final Exam. ( 11:15 AM 1:45 PM : 150 Minutes )

CSE613: Parallel Programming, Spring 2012 Date: May 11. Final Exam. ( 11:15 AM 1:45 PM : 150 Minutes ) CSE613: Parallel Programming, Spring 2012 Date: May 11 Final Exam ( 11:15 AM 1:45 PM : 150 Minutes ) This exam will account for either 10% or 20% of your overall grade depending on your relative performance

More information

Linear-Time Algorithms for Finding Tucker Submatrices and Lekkerkerker-Boland Subgraphs

Linear-Time Algorithms for Finding Tucker Submatrices and Lekkerkerker-Boland Subgraphs Linear-Time Algorithms for Finding Tucker Submatrices and Lekkerkerker-Boland Subgraphs Nathan Lindzey, Ross M. McConnell Colorado State University, Fort Collins CO 80521, USA Abstract. Tucker characterized

More information

Methods for finding optimal configurations

Methods for finding optimal configurations S 2710 oundations of I Lecture 7 Methods for finding optimal configurations Milos Hauskrecht milos@pitt.edu 5329 Sennott Square S 2710 oundations of I Search for the optimal configuration onstrain satisfaction

More information

22 Max-Flow Algorithms

22 Max-Flow Algorithms A process cannot be understood by stopping it. Understanding must move with the flow of the process, must join it and flow with it. The First Law of Mentat, in Frank Herbert s Dune (965) There s a difference

More information

Learning Decision Trees

Learning Decision Trees Learning Decision Trees Machine Learning Fall 2018 Some slides from Tom Mitchell, Dan Roth and others 1 Key issues in machine learning Modeling How to formulate your problem as a machine learning problem?

More information

IS 709/809: Computational Methods in IS Research Fall Exam Review

IS 709/809: Computational Methods in IS Research Fall Exam Review IS 709/809: Computational Methods in IS Research Fall 2017 Exam Review Nirmalya Roy Department of Information Systems University of Maryland Baltimore County www.umbc.edu Exam When: Tuesday (11/28) 7:10pm

More information

CS60007 Algorithm Design and Analysis 2018 Assignment 1

CS60007 Algorithm Design and Analysis 2018 Assignment 1 CS60007 Algorithm Design and Analysis 2018 Assignment 1 Palash Dey and Swagato Sanyal Indian Institute of Technology, Kharagpur Please submit the solutions of the problems 6, 11, 12 and 13 (written in

More information

2 GRAPH AND NETWORK OPTIMIZATION. E. Amaldi Introduction to Operations Research Politecnico Milano 1

2 GRAPH AND NETWORK OPTIMIZATION. E. Amaldi Introduction to Operations Research Politecnico Milano 1 2 GRAPH AND NETWORK OPTIMIZATION E. Amaldi Introduction to Operations Research Politecnico Milano 1 A variety of decision-making problems can be formulated in terms of graphs and networks Examples: - transportation

More information

What is current? cgrahamphysics.com Current

What is current? cgrahamphysics.com Current What is current? cgrahamphysics.com 2016 Current 9/4/2016 Do you know your circuit? Without talking to another or sharing any ideas draw a complete electrical circuit with symbols including... - two bulbs,

More information

Final Exam December 12, 2017

Final Exam December 12, 2017 Introduction to Artificial Intelligence CSE 473, Autumn 2017 Dieter Fox Final Exam December 12, 2017 Directions This exam has 7 problems with 111 points shown in the table below, and you have 110 minutes

More information

CS213d Data Structures and Algorithms

CS213d Data Structures and Algorithms CS21d Data Structures and Algorithms Heaps and their Applications Milind Sohoni IIT Bombay and IIT Dharwad March 22, 2017 1 / 18 What did I see today? March 22, 2017 2 / 18 Heap-Trees A tree T of height

More information

Sampling Rejection Sampling Importance Sampling Markov Chain Monte Carlo. Sampling Methods. Oliver Schulte - CMPT 419/726. Bishop PRML Ch.

Sampling Rejection Sampling Importance Sampling Markov Chain Monte Carlo. Sampling Methods. Oliver Schulte - CMPT 419/726. Bishop PRML Ch. Sampling Methods Oliver Schulte - CMP 419/726 Bishop PRML Ch. 11 Recall Inference or General Graphs Junction tree algorithm is an exact inference method for arbitrary graphs A particular tree structure

More information

Chapter 3 Deterministic planning

Chapter 3 Deterministic planning Chapter 3 Deterministic planning In this chapter we describe a number of algorithms for solving the historically most important and most basic type of planning problem. Two rather strong simplifying assumptions

More information

Chapter 7 Network Flow Problems, I

Chapter 7 Network Flow Problems, I Chapter 7 Network Flow Problems, I Network flow problems are the most frequently solved linear programming problems. They include as special cases, the assignment, transportation, maximum flow, and shortest

More information

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)}

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} Preliminaries Graphs G = (V, E), V : set of vertices E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) 1 2 3 5 4 V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} 1 Directed Graph (Digraph)

More information

Search and Lookahead. Bernhard Nebel, Julien Hué, and Stefan Wölfl. June 4/6, 2012

Search and Lookahead. Bernhard Nebel, Julien Hué, and Stefan Wölfl. June 4/6, 2012 Search and Lookahead Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 4/6, 2012 Search and Lookahead Enforcing consistency is one way of solving constraint networks:

More information

Chapter 10 Search Structures

Chapter 10 Search Structures Chapter 1 Search Structures 1 1.2 AVL Trees : 동기 Objective : maintain binary search tree structure for O(log n) access time with dynamic changes of identifiers (i.e., elements) in the tree. JULY APR AUG

More information

Graph Search Howie Choset

Graph Search Howie Choset Graph Search Howie Choset 16-11 Outline Overview of Search Techniques A* Search Graphs Collection of Edges and Nodes (Vertices) A tree Grids Stacks and Queues Stack: First in, Last out (FILO) Queue: First

More information

Outline. Fault Aware Systems: Model-based Programming and Diagnosis. Mars Polar Lander Failure. Descent Example. Deductive likely Controller

Outline. Fault Aware Systems: Model-based Programming and Diagnosis. Mars Polar Lander Failure. Descent Example. Deductive likely Controller Fault ware ystems: l-based Programming and iagnosis Outline Fault ware ystems hrough l-based Programming iagnosis as etective Work l-based iagnosis rian. Williams.4J/.84J March 8 th, 4 courtesy of JPL

More information

Bayesian Networks Representation and Reasoning

Bayesian Networks Representation and Reasoning ayesian Networks Representation and Reasoning Marco F. Ramoni hildren s Hospital Informatics Program Harvard Medical School (2003) Harvard-MIT ivision of Health Sciences and Technology HST.951J: Medical

More information

Undirected Graphical Models 4 Bayesian Networks and Markov Networks. Bayesian Networks to Markov Networks

Undirected Graphical Models 4 Bayesian Networks and Markov Networks. Bayesian Networks to Markov Networks Undirected Graphical Models 4 ayesian Networks and Markov Networks 1 ayesian Networks to Markov Networks 2 1 Ns to MNs X Y Z Ns can represent independence constraints that MN cannot MNs can represent independence

More information

This lecture covers Chapter 5 of HMU: Context-free Grammars

This lecture covers Chapter 5 of HMU: Context-free Grammars This lecture covers Chapter 5 of HMU: Context-free rammars (Context-free) rammars (Leftmost and Rightmost) Derivations Parse Trees An quivalence between Derivations and Parse Trees Ambiguity in rammars

More information

: Advanced Compiler Design Compu=ng DF(X) 3.4 Algorithm for inser=on of φ func=ons 3.5 Algorithm for variable renaming

: Advanced Compiler Design Compu=ng DF(X) 3.4 Algorithm for inser=on of φ func=ons 3.5 Algorithm for variable renaming 263-2810: Advanced Compiler Design 3.3.2 Compu=ng DF(X) 3.4 Algorithm for inser=on of φ func=ons 3.5 Algorithm for variable renaming Thomas R. Gross Computer Science Department ETH Zurich, Switzerland

More information

Lecture 4 October 18th

Lecture 4 October 18th Directed and undirected graphical models Fall 2017 Lecture 4 October 18th Lecturer: Guillaume Obozinski Scribe: In this lecture, we will assume that all random variables are discrete, to keep notations

More information

Chapter 11. Min Cut Min Cut Problem Definition Some Definitions. By Sariel Har-Peled, December 10, Version: 1.

Chapter 11. Min Cut Min Cut Problem Definition Some Definitions. By Sariel Har-Peled, December 10, Version: 1. Chapter 11 Min Cut By Sariel Har-Peled, December 10, 013 1 Version: 1.0 I built on the sand And it tumbled down, I built on a rock And it tumbled down. Now when I build, I shall begin With the smoke from

More information

Combinatorial optimization problems

Combinatorial optimization problems Combinatorial optimization problems Heuristic Algorithms Giovanni Righini University of Milan Department of Computer Science (Crema) Optimization In general an optimization problem can be formulated as:

More information

AVL Trees. Manolis Koubarakis. Data Structures and Programming Techniques

AVL Trees. Manolis Koubarakis. Data Structures and Programming Techniques AVL Trees Manolis Koubarakis 1 AVL Trees We will now introduce AVL trees that have the property that they are kept almost balanced but not completely balanced. In this way we have O(log n) search time

More information

Optimization. Announcements. Last Time. Searching: So Far. Complete Searching. Optimization

Optimization. Announcements. Last Time. Searching: So Far. Complete Searching. Optimization Optimization urr H. ettles C-540, UW-Madison www.cs.wisc.edu/~cs540-1 ummer 2003 nnouncements Project groups and preliminary topic ideas will be due on 6/30 week from Monday e thinking about what you d

More information

Exam EDAF May Thore Husfeldt

Exam EDAF May Thore Husfeldt Exam EDAF05 29 May 13 Thore Husfeldt Instructions What to bring. You can bring any written aid you want. This includes the course book and a dictionary. In fact, these two things are the only aids that

More information

Game Engineering CS F-12 Artificial Intelligence

Game Engineering CS F-12 Artificial Intelligence Game Engineering CS420-2011F-12 Artificial Intelligence David Galles Department of Computer Science University of San Francisco 12-0: Artifical Intelligence AI in games is a huge field Creating a believable

More information

Sampling Rejection Sampling Importance Sampling Markov Chain Monte Carlo. Sampling Methods. Machine Learning. Torsten Möller.

Sampling Rejection Sampling Importance Sampling Markov Chain Monte Carlo. Sampling Methods. Machine Learning. Torsten Möller. Sampling Methods Machine Learning orsten Möller Möller/Mori 1 Recall Inference or General Graphs Junction tree algorithm is an exact inference method for arbitrary graphs A particular tree structure defined

More information

Chapter 6 Constraint Satisfaction Problems

Chapter 6 Constraint Satisfaction Problems Chapter 6 Constraint Satisfaction Problems CS5811 - Artificial Intelligence Nilufer Onder Department of Computer Science Michigan Technological University Outline CSP problem definition Backtracking search

More information

CS 4100 // artificial intelligence. Recap/midterm review!

CS 4100 // artificial intelligence. Recap/midterm review! CS 4100 // artificial intelligence instructor: byron wallace Recap/midterm review! Attribution: many of these slides are modified versions of those distributed with the UC Berkeley CS188 materials Thanks

More information

Final Exam December 12, 2017

Final Exam December 12, 2017 Introduction to Artificial Intelligence CSE 473, Autumn 2017 Dieter Fox Final Exam December 12, 2017 Directions This exam has 7 problems with 111 points shown in the table below, and you have 110 minutes

More information

Learning in State-Space Reinforcement Learning CIS 32

Learning in State-Space Reinforcement Learning CIS 32 Learning in State-Space Reinforcement Learning CIS 32 Functionalia Syllabus Updated: MIDTERM and REVIEW moved up one day. MIDTERM: Everything through Evolutionary Agents. HW 2 Out - DUE Sunday before the

More information

arxiv: v2 [cs.db] 24 Jul 2012

arxiv: v2 [cs.db] 24 Jul 2012 On the Relative Trust between Inconsistent Data and Inaccurate Constraints George Beskales 1 Ihab F. Ilyas 1 Lukasz Golab 2 Artur Galiullin 2 1 Qatar Computing Research Institute 2 University of Waterloo

More information

Algorithm Design Strategies V

Algorithm Design Strategies V Algorithm Design Strategies V Joaquim Madeira Version 0.0 October 2016 U. Aveiro, October 2016 1 Overview The 0-1 Knapsack Problem Revisited The Fractional Knapsack Problem Greedy Algorithms Example Coin

More information

Fundamental Algorithms 11

Fundamental Algorithms 11 Technische Universität München WS 2013/14 Institut für Informatik Worksheet Scientific Computing in Computer Science 20.01.2014 Fundamental Algorithms 11 Exercise 1 Hypergraphs A hypergraph extends the

More information

CS Data Structures and Algorithm Analysis

CS Data Structures and Algorithm Analysis CS 483 - Data Structures and Algorithm Analysis Lecture VII: Chapter 6, part 2 R. Paul Wiegand George Mason University, Department of Computer Science March 22, 2006 Outline 1 Balanced Trees 2 Heaps &

More information

Dijkstra s Single Source Shortest Path Algorithm. Andreas Klappenecker

Dijkstra s Single Source Shortest Path Algorithm. Andreas Klappenecker Dijkstra s Single Source Shortest Path Algorithm Andreas Klappenecker Single Source Shortest Path Given: a directed or undirected graph G = (V,E) a source node s in V a weight function w: E -> R. Goal:

More information

arxiv: v2 [cs.ds] 3 Oct 2017

arxiv: v2 [cs.ds] 3 Oct 2017 Orthogonal Vectors Indexing Isaac Goldstein 1, Moshe Lewenstein 1, and Ely Porat 1 1 Bar-Ilan University, Ramat Gan, Israel {goldshi,moshe,porately}@cs.biu.ac.il arxiv:1710.00586v2 [cs.ds] 3 Oct 2017 Abstract

More information

Nowhere 0 mod p dominating sets in multigraphs

Nowhere 0 mod p dominating sets in multigraphs Nowhere 0 mod p dominating sets in multigraphs Raphael Yuster Department of Mathematics University of Haifa at Oranim Tivon 36006, Israel. e-mail: raphy@research.haifa.ac.il Abstract Let G be a graph with

More information

Sampling Methods. Bishop PRML Ch. 11. Alireza Ghane. Sampling Rejection Sampling Importance Sampling Markov Chain Monte Carlo

Sampling Methods. Bishop PRML Ch. 11. Alireza Ghane. Sampling Rejection Sampling Importance Sampling Markov Chain Monte Carlo Sampling Methods Bishop PRML h. 11 Alireza Ghane Sampling Methods A. Ghane /. Möller / G. Mori 1 Recall Inference or General Graphs Junction tree algorithm is an exact inference method for arbitrary graphs

More information

CMU Lecture 4: Informed Search. Teacher: Gianni A. Di Caro

CMU Lecture 4: Informed Search. Teacher: Gianni A. Di Caro CMU 15-781 Lecture 4: Informed Search Teacher: Gianni A. Di Caro UNINFORMED VS. INFORMED Uninformed Can only generate successors and distinguish goals from non-goals Informed Strategies that can distinguish

More information

Artificial Intelligence Bayes Nets: Independence

Artificial Intelligence Bayes Nets: Independence Artificial Intelligence Bayes Nets: Independence Instructors: David Suter and Qince Li Course Delivered @ Harbin Institute of Technology [Many slides adapted from those created by Dan Klein and Pieter

More information

Extended breadth-first search algorithm in practice

Extended breadth-first search algorithm in practice Proceedings of the 9 th International Conference on Applied Informatics Eger, Hungary, January 29 February 1, 2014. Vol. 1. pp. 59 66 doi: 10.14794/ICAI.9.2014.1.59 Extended breadth-first search algorithm

More information

NP-Completeness. Andreas Klappenecker. [based on slides by Prof. Welch]

NP-Completeness. Andreas Klappenecker. [based on slides by Prof. Welch] NP-Completeness Andreas Klappenecker [based on slides by Prof. Welch] 1 Prelude: Informal Discussion (Incidentally, we will never get very formal in this course) 2 Polynomial Time Algorithms Most of the

More information

Algorithms: Lecture 12. Chalmers University of Technology

Algorithms: Lecture 12. Chalmers University of Technology Algorithms: Lecture 1 Chalmers University of Technology Today s Topics Shortest Paths Network Flow Algorithms Shortest Path in a Graph Shortest Path Problem Shortest path network. Directed graph G = (V,

More information

CSE 431/531: Analysis of Algorithms. Dynamic Programming. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo

CSE 431/531: Analysis of Algorithms. Dynamic Programming. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo CSE 431/531: Analysis of Algorithms Dynamic Programming Lecturer: Shi Li Department of Computer Science and Engineering University at Buffalo Paradigms for Designing Algorithms Greedy algorithm Make a

More information

Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths

Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths Matroids Shortest Paths Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths Marc Uetz University of Twente m.uetz@utwente.nl Lecture 2: sheet 1 / 25 Marc Uetz Discrete Optimization Matroids

More information

Equivalence Relations. Equivalence Classes. A new question. Building Equivalence Classes. CSE 326: Data Structures Disjoint Union/Find

Equivalence Relations. Equivalence Classes. A new question. Building Equivalence Classes. CSE 326: Data Structures Disjoint Union/Find Equivalence Relations CE : Data tructures Disjoint Union/Find Relation R : For every pair of elements (a, b) in a set, a R b is either true or false If a R b is true, then a is related to b An equivalence

More information

Decision Trees. CS 341 Lectures 8/9 Dan Sheldon

Decision Trees. CS 341 Lectures 8/9 Dan Sheldon Decision rees CS 341 Lectures 8/9 Dan Sheldon Review: Linear Methods Y! So far, we ve looked at linear methods! Linear regression! Fit a line/plane/hyperplane X 2 X 1! Logistic regression! Decision boundary

More information

Chapter Landscape of an Optimization Problem. Local Search. Coping With NP-Hardness. Gradient Descent: Vertex Cover

Chapter Landscape of an Optimization Problem. Local Search. Coping With NP-Hardness. Gradient Descent: Vertex Cover Coping With NP-Hardne Chapter 12 Local Search Q Suppoe I need to olve an NP-hard problem What hould I do? A Theory ay you're unlikely to find poly-time algorithm Mut acrifice one of three deired feature

More information