Graph Search Algorithms

Similar documents
Graph Search Algorithms CSE

Lecture 20: Minimum Spanning Trees (CLRS 23)

CMPS 2200 Fall Graphs. Carola Wenk. Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk

Graphs Depth First Search

Theorem 1. An undirected graph is a tree if and only if there is a unique simple path between any two of its vertices.

Weighted Graphs. Weighted graphs may be either directed or undirected.

Depth First Search. Yufei Tao. Department of Computer Science and Engineering Chinese University of Hong Kong

5/1/2018. Huffman Coding Trees. Huffman Coding Trees. Huffman Coding Trees. Huffman Coding Trees. Huffman Coding Trees. Huffman Coding Trees

Spanning Trees. BFS, DFS spanning tree Minimum spanning tree. March 28, 2018 Cinda Heeren / Geoffrey Tien 1

Planar convex hulls (I)

4.1 Interval Scheduling. Chapter 4. Greedy Algorithms. Interval Scheduling: Greedy Algorithms. Interval Scheduling. Interval scheduling.

Applications of trees

(Minimum) Spanning Trees

Improving Union. Implementation. Union-by-size Code. Union-by-Size Find Analysis. Path Compression! Improving Find find(e)

The University of Sydney MATH 2009

Minimum Spanning Trees (CLRS 23)

Graphs Breadth First Search

COMP 250. Lecture 29. graph traversal. Nov. 15/16, 2017

CS 103 BFS Alorithm. Mark Redekopp

Strongly connected components. Finding strongly-connected components

learning objectives learn what graphs are in mathematical terms learn how to represent graphs in computers learn about typical graph algorithms

Lecture II: Minimium Spanning Tree Algorithms

2 Trees and Their Applications

CMSC 451: Lecture 4 Bridges and 2-Edge Connectivity Thursday, Sep 7, 2017

Divided. diamonds. Mimic the look of facets in a bracelet that s deceptively deep RIGHT-ANGLE WEAVE. designed by Peggy Brinkman Matteliano

Closed Monochromatic Bishops Tours

On Hamiltonian Tetrahedralizations Of Convex Polyhedra

Graph Search (6A) Young Won Lim 5/18/18

CSE 332. Data Structures and Parallelism

CSE 332. Graphs 1: What is a Graph? DFS and BFS. Data Abstractions. CSE 332: Data Abstractions. A Graph is a Thingy... 2

L.3922 M.C. L.3922 M.C. L.2996 M.C. L.3909 M.C. L.5632 M.C. L M.C. L.5632 M.C. L M.C. DRIVE STAR NORTH STAR NORTH NORTH DRIVE

Cycles and Simple Cycles. Paths and Simple Paths. Trees. Problem: There is No Completely Standard Terminology!

In which direction do compass needles always align? Why?

Minimum Spanning Trees (CLRS 23)

23 Minimum Spanning Trees

Having a glimpse of some of the possibilities for solutions of linear systems, we move to methods of finding these solutions. The basic idea we shall

Single Source Shortest Paths (with Positive Weights)

Differentiation of allergenic fungal spores by image analysis, with application to aerobiological counts

SAMPLE CSc 340 EXAM QUESTIONS WITH SOLUTIONS: part 2

d e c b a d c b a d e c b a a c a d c c e b

MAT3707. Tutorial letter 201/1/2017 DISCRETE MATHEMATICS: COMBINATORICS. Semester 1. Department of Mathematical Sciences MAT3707/201/1/2017

V={A,B,C,D,E} E={ (A,D),(A,E),(B,D), (B,E),(C,D),(C,E)}

Platform Controls. 1-1 Joystick Controllers. Boom Up/Down Controller Adjustments

Computer Graphics. Viewing & Projections

V={A,B,C,D,E} E={ (A,D),(A,E),(B,D), (B,E),(C,D),(C,E)}

CSE 373: More on graphs; DFS and BFS. Michael Lee Wednesday, Feb 14, 2018

Shortest Paths in Graphs. Paths in graphs. Shortest paths CS 445. Alon Efrat Slides courtesy of Erik Demaine and Carola Wenk

CHELOURANYAN CALENDAR FOR YEAR 3335 YEAR OF SAI RHAVË

An undirected graph G = (V, E) V a set of vertices E a set of unordered edges (v,w) where v, w in V

Minimum Spanning Trees

Outline. 1 Introduction. 2 Min-Cost Spanning Trees. 4 Example

Priority Search Trees - Part I

CSE 332. Graphs 1: What is a Graph? DFS and BFS. Data Abstractions. CSE 332: Data Abstractions. A Graph is a Thingy... 2

BASIC CAGE DETAILS SHOWN 3D MODEL: PSM ASY INNER WALL TABS ARE COINED OVER BASE AND COVER FOR RIGIDITY SPRING FINGERS CLOSED TOP

Sheet Title: Building Renderings M. AS SHOWN Status: A.R.H.P.B. SUBMITTAL August 9, :07 pm

Outline. Computer Science 331. Computation of Min-Cost Spanning Trees. Costs of Spanning Trees in Weighted Graphs

CSE 373. Graphs 1: Concepts, Depth/Breadth-First Search reading: Weiss Ch. 9. slides created by Marty Stepp

Preview. Graph. Graph. Graph. Graph Representation. Graph Representation 12/3/2018. Graph Graph Representation Graph Search Algorithms

BASIC CAGE DETAILS D C SHOWN CLOSED TOP SPRING FINGERS INNER WALL TABS ARE COINED OVER BASE AND COVER FOR RIGIDITY

23 Minimum Spanning Trees

I M P O R T A N T S A F E T Y I N S T R U C T I O N S W h e n u s i n g t h i s e l e c t r o n i c d e v i c e, b a s i c p r e c a u t i o n s s h o

Telecommunications BUILDING INTERCOM CALL BUTTON WITH 3/4"C AND PULL STRING TO ACCESSIBLE CEILING SPACE. MOUNT 48" AFF.

Graphs. Graphs. Graphs: Basic Terminology. Directed Graphs. Dr Papalaskari 1

Grade 7/8 Math Circles March 4/5, Graph Theory I- Solutions

An action with positive kinetic energy term for general relativity. T. Mei

w x a f f s t p q 4 r u v 5 i l h m o k j d g DT Competition, 1.8/1.6 Stainless, Black S, M, L, XL Matte Raw/Yellow

Exam 2 Solutions. Jonathan Turner 4/2/2012. CS 542 Advanced Data Structures and Algorithms

Paths. Connectivity. Euler and Hamilton Paths. Planar graphs.

Math 166 Week in Review 2 Sections 1.1b, 1.2, 1.3, & 1.4

, each of which is a tree, and whose roots r 1. , respectively, are children of r. Data Structures & File Management

CSC Design and Analysis of Algorithms. Example: Change-Making Problem

17 Basic Graph Properties

A ' / 1 6 " 5 ' / 4 " A4.2 48' - 0" 3 12' - 7" 13' - 11" 10' - 0" 9' - 0" 2' - 6" 1. 2: 12 INDICATES SHOW MELT TYP ABV ABV

Ash Wednesday. First Introit thing. * Dómi- nos. di- di- nos, tú- ré- spi- Ps. ne. Dó- mi- Sál- vum. intra-vé-runt. Gló- ri-

SAN JOSE CITY COLLEGE PHYSICAL EDUCATION BUILDING AND RENOVATED LAB BUILDING SYMBOL LIST & GENERAL NOTES - MECHANICAL

OpenMx Matrices and Operators

Minimum Spanning Trees

T h e C S E T I P r o j e c t

CS 461, Lecture 17. Today s Outline. Example Run

MINI POST SERIES BALUSTRADE SYSTEM INSTALLATION GUIDE PRODUCT CODE: MPS-RP

MATERIAL SEE BOM ANGLES = 2 FINISH N/A

Graphs. CSC 1300 Discrete Structures Villanova University. Villanova CSC Dr Papalaskari

0# E % D 0 D - C AB

12/3/12. Outline. Part 10. Graphs. Circuits. Euler paths/circuits. Euler s bridge problem (Bridges of Konigsberg Problem)

(2) If we multiplied a row of B by λ, then the value is also multiplied by λ(here lambda could be 0). namely

5/9/13. Part 10. Graphs. Outline. Circuits. Introduction Terminology Implementing Graphs

P a g e 5 1 of R e p o r t P B 4 / 0 9

Dental PBRN Study: Reasons for replacement or repair of dental restorations

Fuzzy Reasoning and Optimization Based on a Generalized Bayesian Network

CS 241 Analysis of Algorithms

Integration Continued. Integration by Parts Solving Definite Integrals: Area Under a Curve Improper Integrals

16.unified Introduction to Computers and Programming. SOLUTIONS to Examination 4/30/04 9:05am - 10:00am

The Constrained Longest Common Subsequence Problem. Rotem.R and Rotem.H

DOCUMENT STATUS: RELEASE

DOCUMENT STATUS: MINTP0 E-ST5080, BASE, NO DISPLAY VENDOR: 15.5 INCH MATERIAL SEE BOM FINISH REVISION HISTORY ITEM NO. PART NUMBER DESCRIPTION

Solutions for HW11. Exercise 34. (a) Use the recurrence relation t(g) = t(g e) + t(g/e) to count the number of spanning trees of v 1

Maximum Matching Width: new characterizations and a fast algorithm for dominating set

Outlines: Graphs Part-4. Applications of Depth-First Search. Directed Acyclic Graph (DAG) Generic scheduling problem.

ADORO TE DEVOTE (Godhead Here in Hiding) te, stus bat mas, la te. in so non mor Je nunc. la in. tis. ne, su a. tum. tas: tur: tas: or: ni, ne, o:

T H E S C I E N C E B E H I N D T H E A R T

Transcription:

Grp Sr Aortms 1

Grp 2 No ~ ty or omputr E ~ ro or t Unrt or Drt A surprsny r numr o omputton proms n xprss s rp proms.

3 Drt n Unrt Grps () A rt rp G = (V, E), wr V = {1,2,3,4,5,6} n E = {(1,2), (2,2), (2,4), (2,5), (4,1), (4,5), (5,4), (6,3)}. T (2,2) s s-oop. () An unrt rp G = (V,E), wr V = {1,2,3,4,5,6} n E = {(1,2), (1,5), (2,5), (3,6)}. T vrtx 4 s sot. () T surp o t rp n prt () nu y t vrtx st {1,2,3,6}.

4 Trs Tr Forst Grp wt Cy A tr s onnt, y, unrt rp. A orst s st o trs (not nssry onnt)

5 Runnn Tm o Grp Aortms Runnn tm otn unton o ot V n E. For onvnn, rop t. n symptot notton,.. O(V+E).

6 Rprsnttons: Unrt Grps Sp ompxty: Tm to n nours o vrtx u : Tm to trmn ( uv, ) E: Any Lst θ ( V + E) θ(r( u)) θ(r( u)) Any Mtrx 2 θ( V ) θ ( V ) θ (1)

7 Rprsnttons: Drt Grps Sp ompxty: Tm to n nours o vrtx u : Tm to trmn ( uv, ) E: Any Lst θ ( V + E) θ(r( u)) θ(r( u)) Any Mtrx 2 θ( V ) θ ( V ) θ (1)

8 Brt-Frst Sr Go: To rovr t sortst pts rom sour no s to otr r nos v n rp. T nt o pt n t pts tmsvs r rturn. Nots: Tr r n xponnt numr o poss pts Ts prom s rr or nr rps tn trs us o ys!? s

9 Brt-Frst Sr Input: Grp G = ( V, E) (rt or unrt) n sour vrtx s V. Output: v [ ] = sortst pt stn δ( sv, ) rom sto v, v V. π[ v] = u su tt ( u, v) s st on sortst pt rom s to v. I: sn out sr wv rom s. Kp tr o prorss y oourn vrts: Unsovr vrts r oour Just sovr vrts (on t wvront) r oour r. Prvousy sovr vrts (n wvront) r oour ry.

s BFS Frst-In Frst-Out (FIFO) quu stors ust sovr vrts Not Hn Quu m 10

s BFS =0 m Not Hn Quu s =0 11

s BFS =0 =1 m Not Hn Quu =0 =1 12

s BFS =0 =1 m Not Hn Quu =1 13

s BFS =0 =1 m Not Hn Quu =2 =1 =2 14

s BFS =0 =1 m Not Hn Quu =2 m =1 =2 15

s BFS =0 =1 m Not Hn Quu =2 m =1 =2 16

s BFS =0 =1 m Not Hn Quu =2 m =1 =2 17

s BFS =0 =1 m Not Hn Quu =2 m =2 18

s BFS =0 =1 19 m =3 Not Hn Quu =2 m =2 =3

s BFS =0 =1 20 m =3 Not Hn Quu =2 m =2 =3

s BFS =0 =1 21 m =3 Not Hn Quu =2 =2 =3

s BFS =0 =1 22 m =3 Not Hn Quu =2 =2 =3

s BFS =0 =1 23 m =3 Not Hn Quu =2 =2 =3

s BFS =0 =1 24 m =3 Not Hn Quu =2 =3

s =4 BFS =0 =1 25 m =3 Not Hn Quu =2 =3 =4

s =4 BFS =0 =1 26 m =3 Not Hn Quu =2 =3 =4

s =4 BFS =0 =1 27 m =3 Not Hn Quu =2 =3 =4

s =4 BFS =0 =1 28 m =3 Not Hn Quu =2 =4

s =4 BFS =0 =1 29 m =3 Not Hn Quu =2 =4 =5

30 Brt-Frst Sr Aortm Q s FIFO quu. BLACK E vrtx ssn nt vu t most on. RED Q ontns vrts wt vus {,,, +1,, +1} vus ssn r monotony nrsn ovr tm. BLACK RED GRAY

31 Brt-Frst-Sr s Gry Vrts r n: n orr o tr sovry (FIFO quu) Smst vus rst

Corrtnss 32 Bs Stps: s u v T sortst pt to u s nt & tr s n rom u to v Tr s pt to v wt nt +1.

33 Corrtnss Vrts r sovr n orr o tr stn rom t sour vrtx s. Wn w sovr v, ow o w now tr s not sortr pt to v? Bus tr ws, w wou ry v sovr t! s u v

Corrtnss 34 Input: Grp G = ( V, E) (rt or unrt) n sour vrtx s V. Output: v [ ] = stn rom sto v, v V. π[ v] = u su tt ( u, v) s st on sortst pt rom s to v. Two-stp proo: On xt: 1. v [ ] δ( sv, ) v V 2. v [ ] > δ( sv, ) v V

35 Cm 1. s nvr too sm: [ v] δ( s, v) v V Proo: Tr xsts pt rom s to v o nt [ v]. By Inuton: Suppos t s tru or vrts tus r sovr ( r n ry). v s sovr rom som nt vrtx u n n. v [ ] = u [ ] + 1 δ(, s u) + 1 δ(, sv) s u v sn vrtx v s ssn vu xty on, t oows tt o n xt, v [ ] δ ( s, v) v V.

36 Cm 1. s nvr too sm: [ v] δ( s, v) v V Proo: Tr xsts pt rom s to v o nt [ v]. BLACK RED s u v <LI>: v [ ] δ( sv, ) 'sovr' ( r or r y) v V BLACK RED δ(, su) + 1 δ(, sv) GRAY

37 Cm 2. s nvr too : [ v] δ( s, v) v V Proo y ontrton: Suppos on or mor vrts rv vu rtr tn δ. Lt v t vrtx wt mnmum δ( s, v) tt rvs su vu. Suppos tt v s sovr n ssn ts vu wn vrtx x s quu. Lt u v's prssor on sortst pt rom s to v. Tn δ (, s v ) < [] v δ(, s v) 1 < [] v 1 u [ ] < x [ ] s x [ ] = v [ ] 1 [ u] = δ( s, v) 1 x u v R : vrts r quu n nrsn orr o v u. u ws quu or x. [ v] = [ u] + 1 =δ( s, v) Contrton!

38 Corrtnss Cm 1. s nvr too sm: [ v] δ( s, v) v V Cm 2. s nvr too : [ v] δ( s, v) v V s ust rt: [ v] = δ( s, v) v V

Prorss? 39 On vry trton on vrtx s pross (turns ry). BLACK RED BLACK RED GRAY

40 Runnn Tm E vrtx s nquu t most on O( V) E ntry n t ny sts s snn t most on Tus run tm s OV ( + E). O(E) BLACK RED BLACK RED GRAY

41 Optm Sustrutur Proprty T sortst pt prom s t optm sustrutur proprty: Evry supt o sortst pt s sortst pt. sortst pt s u v sortst pt sortst pt T optm sustrutur proprty s mr o ot ry n ynm prormmn ortms. ows us to omput ot sortst pt stn n t sortst pts tmsvs y storn ony on vu n on prssor vu pr vrtx.

Rovrn t Sortst Pt 42 For no v, stor prssor o v n π(v). s u π(v) v Prssor o v s π(v) = u.

43 Rovrn t Sortst Pt PRINT-PATH( G, s, v ) Pronton: s n v r vrts o rp G Postonton: t vrts on t sortst pt rom s to v v n prnt n orr v = s tn prnt s s π[] v = NI L tn prnt " no pt rom" s "to" v "xsts" s PRINT-PATH( G, s, π[ v]) prnt v

Coours r tuy not rqur 44

45 Dpt Frst Sr (DFS) I: Contnu srn pr nto t rp, unt w t stu. I t s vn v v n xpor w tr to t vrtx rom w v ws sovr. Dos not rovr sortst pts, ut n usu or xtrtn otr proprts o rp,.., Topoo sorts Dtton o ys Extrton o strony onnt omponnts

46 Dpt-Frst Sr Inp u t: Grp G = ( V, E) (rt or unrt ) Output: 2 tmstmps on vrtx: v [ ] = sovry tm. v [ ] = nsn tm. Expor vry, strtn rom rnt vrts nssry. As soon s vrtx sovr, xpor rom t. Kp tr o prorss y oourn vrts: B: unsovr vrts 1 v [ ] < v [ ] 2 V R: sovr, ut not ns (st xporn rom t) Gry: ns (oun vrytn r rom t).

DFS s Not: St s Lst-In Frst-Out (LIFO) Not Hn St <no,# s> 47 m

s 1 DFS Not Hn St <no,# s> 48 m s,0

2 s 1 DFS Not Hn St <no,# s> 49 m,0 s,1

2 s 1 DFS Not Hn St <no,# s> 3 50 m,0,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 4 51 m,0,1,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 4 5 52 m,0,1,1,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 Pt on St 4 Tr E 56 53 m,1,1,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 56 54 m,1,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 56 8 55 m,0,2,1 s,1

Cross E to n no: []<[] 3 47 2 8 56 s DFS 1 56 m Not Hn St <no,# s>,1,2,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 56 8 57 m,2,2,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 56 8 58 9 m,0,3,2,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 56 8 59 9 m,1,3,2,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 56 8 60 910 m,3,2,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 56 8 11 61 910 m,0,4,2,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 56 8 11 62 910 m 12,0,1,4,2,1 s,1

B E to no on St: 2 s 1 DFS Not Hn St <no,# s> 3 47 8 56 11 63 910 m 12,1,1,4,2,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 56 8 11 64 910 m 13 12 m,0,2,1,4,2,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 56 8 11 65 910 m 13 12 m,1,2,1,4,2,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 56 8 11 66 910 m 12 1314,2,1,4,2,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 56 8 11 67 910 m 1215 1314,1,4,2,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 56 8 1116 68 910 m 1215 1314,4,2,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 17 56 8 1116 69 910 m 1215 1314,0,5,2,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 17 56 8 1116 70 910 m 1215 1314,1,5,2,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 1718 56 8 1116 71 910 m 1215 1314,5,2,1 s,1

2 s 1 DFS Not Hn St <no,# s> 3 47 1718 56 819 1116 72 910 m 1215 1314,2,1 s,1

Forwr E 2 s 1 DFS Not Hn St <no,# s> 3 47 1718 56 819 1116 73 910 m 1215 1314,3,1 s,1

2 s 1 DFS Not Hn St <no,# s> 319 47 1718 56 819 1116 74 910 m 1215 1314,1 s,1

2 s 1 DFS Not Hn St <no,# s> 319 47 1718 56 819 1116 75 910 m 1215 1314,2 s,1

220 s 1 DFS Not Hn St <no,# s> 319 47 1718 56 819 1116 76 910 m 1215 1314 s,1

220 s 1 DFS Not Hn St <no,# s> 319 47 1718 56 819 21 1116 77 910 m 1215 1314,0 s,2

220 s 1 DFS Not Hn St <no,# s> 319 47 1718 56 819 21 1116 78 910 m 1215 1314,1 s,2

220 s 1 DFS Not Hn St <no,# s> 319 47 1718 56 819 21 1116 79 910 m 1215 1314,2 s,2

220 s 1 DFS Not Hn St <no,# s> 319 47 1718 56 819 21 1116 80 910 m 22 1215 1314,0,3 s,2

220 s 1 DFS Not Hn St <no,# s> 319 47 1718 56 819 21 1116 81 910 m 22 1215 1314,1,3 s,2

220 s 1 DFS Not Hn St <no,# s> 319 47 1718 56 819 21 1116 82 910 m 2223 1215 1314,3 s,2

220 s 1 DFS Not Hn St <no,# s> 319 47 1718 56 819 2124 1116 83 910 m 2223 1215 1314 s,2

220 s 1 DFS Not Hn St <no,# s> 319 47 1718 56 819 2124 1116 84 910 m 2223 1215 1314 s,3

220 s 1 DFS 25 Not Hn St <no,# s> 319 47 1718 56 819 2124 1116 85 910 m 2223 1215 1314,0 s,4

220 s 1 DFS 25 Not Hn St <no,# s> 319 47 1718 56 819 2124 1116 86 910 m 2223 1215 1314,1 s,4

220 s 1 DFS 25 Not Hn St <no,# s> 319 47 1718 56 819 2124 1116 87 910 m 2223 1215 1314,2 s,4

220 s 1 DFS 25 Not Hn St <no,# s> 319 47 1718 56 819 2124 1116 88 910 m 2223 1215 1314,3 s,4

220 s 1 DFS 2526 Not Hn St <no,# s> 319 47 1718 56 819 2124 1116 89 910 m 2223 1215 1314 s,4

319 47 Tr Es B Es Forwr Es Cross Es 220 1718 56 819 s 127 2124 DFS 1116 90 Fns! 910 2526 m Not Hn St <no,# s> 2223 1215 1314

Csston o Es n DFS 1. Tr s r s n t pt-rst orst G π. E (u, v) s tr v ws rst sovr y xporn (u, v). 2. B s r tos s (u, v) onntn vrtx u to n nstor v n pt-rst tr. 3. Forwr s r non-tr s (u, v) onntn vrtx u to snnt v n pt-rst tr. 4. Cross s r otr s. Ty n o twn vrts n t sm pt-rst tr, s on s on vrtx s not n nstor o t otr. 319 47 220 1718 56 819 s 127 2124 1116 2526 m 2223 1215 1314 91 910

Csston o Es n DFS 1. Tr s: E (u, v) s tr v ws wn (u, v) trvrs. 2. B s: (u, v) s v ws r wn (u, v) trvrs. 3. Forwr s: (u, v) s orwr v ws ry wn (u, v) trvrs n [v] > [u]. 4. Cross s (u,v) s ross v ws ry wn (u, v) trvrs n [v] < [u]. Cssyn s n p to nty proprts o t rp,.., rp s y DFS ys no s. 319 47 220 1718 56 819 s 127 2124 1116 2526 m 2223 1215 1314 92 910

93 Unrt Grps In pt-rst sr o n unrt rp, vry s tr tr or. Wy?

94 Unrt Grps Suppos tt (u,v) s orwr or ross n DFS o n unrt rp. (u,v) s orwr or ross wn v s ry n (ry) wn ss rom u. Ts mns tt vrts r rom v v n xpor. Sn w r urrnty nn u, u must r. Cry v s r rom u. Sn t rp s unrt, u must so r rom v. Tus u must ry v n n: u must ry. Contrton! u v

95 DFS(G) Dpt-Frst Sr Aortm BLACK BLACK DFS-Vst ( u ) Pronton: vrtx u s unsovr Postonton: vrts r rom u v n pross RED BLACK BLACK GRAY GRAY

96 DFS(G) Dpt-Frst Sr Aortm BLACK DFS-Vst ( u ) BLACK Pronton: vrtx u s unsovr tot wor = θ( V ) Tus runnn tm = θ ( V + E) Postonton: vrts r rom u v n pross RED BLACK BLACK tot wor = A [ v] = θ( E ) vv GRAY GRAY

Topoo Sortn (.., puttn tss n nr orr) An ppton o Dpt-Frst Sr

98 Lnr Orr unrwr sos pnts sos unrwr pnts sos sos sos unrwr pnts sos

99 Lnr Orr unrwr sos pnts sos Too mny vo ms?

Lnr Orr Pronton: A Drt Ay Grp (DAG) Post Conton: Fn on v nr orr Aortm: Fn trmn no (sn). Put t st n squn. Dt rom rp & rpt Θ(V) Θ(V 2 ) 100.. W n o ttr!

Lnr Orr A: DFS Not Hn St 101..

Lnr Orr A: DFS 102 Not Hn St Wn no s popp o st, nsrt t ront o nry-orr to o st. Lnr Orr:..

Lnr Orr A: DFS Not Hn St Lnr Orr: 103,

Lnr Orr A: DFS Not Hn St Lnr Orr: 104,,

Lnr Orr A: DFS Not Hn St Lnr Orr: 105,,,

Lnr Orr A: DFS Not Hn St Lnr Orr: 106,,,,

Lnr Orr A: DFS Not Hn St Lnr Orr: 107,,,,

Lnr Orr A: DFS Not Hn St Lnr Orr: 108,,,,,

Lnr Orr A: DFS Not Hn St Lnr Orr:,,,,,, 109

Lnr Orr A: DFS Not Hn St Lnr Orr:,,,,,,, 110

Lnr Orr A: DFS Not Hn St Lnr Orr:,,,,,,, 111

Lnr Orr A: DFS Not Hn St Lnr Orr:,,,,,,,, 112

Lnr Orr A: DFS Not Hn St Lnr Orr:,,,,,,,,, 113

Lnr Orr A: DFS Not Hn St Lnr Orr:,,,,,,,,, 114

Lnr Orr A: DFS Not Hn St Lnr Orr:,,,,,,,,,, 115

Lnr Orr A: DFS Not Hn St Lnr Orr:,,,,,,,,,,, Don! 116

Lnr Orr Proo: Consr Cs 1: u os on st rst or v. Bus o, v os on or u oms o v oms o or u oms o v os tr u n orr. Not Hn St v u u v 117 u v

Lnr Orr Proo: Consr Cs 1: u os on st rst or v. Cs 2: v os on st rst or u. v oms o or u os on. v os tr u n orr. Not Hn St v u u v 118 u v

Lnr Orr Proo: Consr Cs 1: u os on st rst or v. Cs 2: v os on st rst or u. v oms o or u os on. Cs 3: v os on st rst or u. u os on or v oms o. Pn: u os tr v n orr. Cy mns nr orr s mposs 119 Not Hn St u v T nos n t st orm pt strtn t s. u v v u

Lnr Orr A: DFS Anyss: Θ(V+E) Not Hn St Lnr Orr:,,,,,,,,,,, Don! 120

Sortst Pts Rvst

122 B to Sortst Pt BFS ns t sortst pts rom sour no s to vry vrtx v n t rp. Hr, t nt o pt s smpy t numr o s on t pt. But wt s v rnt osts? s δ (, sv) = 3 δ (, sv) = 12 v s 1 2 3 7 2 5 v

Sn-Sour (Wt) Sortst Pts

124 T Prom Wt s t sortst rvn rout rom Toronto to Ottw? (.. MAPQust, Goo Mps) Input: Drt Grp G = ( V, E) E wts w: E Wt o pt p =< v, v,..., v > = w( v, v) 0 1 1 = 1 Sortst-pt wt rom u to v : p δ ( uv, ) = mn{ w( p) : u L v} pt u L v, otrws. Sortst pt rom u to v s ny pt p su tt w( p) = δ( u, v).

125 Exmp Sn-sour sortst pt sr nus sr tr root t s. Ts tr, n n t pts tmsvs, r not nssry unqu.

126 Sortst pt vrnts Sn-sour sortst-pts prom: t sortst pt rom s to vrtx v. (.. BFS) Sn-stnton sortst-pts prom: Fn sortst pt to vn stnton vrtx t rom vrtx v. Sn-pr sortst-pt prom: Fn sortst pt rom u to v or vn vrts u n v. A-prs sortst-pts prom: Fn sortst pt rom u to v or vry pr o vrts u n v.

127 Ntv-wt s OK, s on s no ntv-wt ys r r rom t sour. I w v ntv-wt y, w n ust p on roun t, n t w(s, v) = or v on t y. But OK t ntv-wt y s not r rom t sour. Som ortms wor ony tr r no ntv-wt s n t rp.

128 Optm sustrutur Lmm: Any supt o sortst pt s sortst pt Proo: Cut n pst. Suppos ts pt p s sortst pt rom u to v. Tn δ ( uv, ) = w( p) = w( p ) + w( p ) + w( p ). Now suppos tr xsts sortr pt x L y. Tn w( pʹ ) < w( p ). xy Construt p ʹ : xy ux xy yv Tn w( pʹ ) = w( p ) + w( pʹ ) + w( p ) < w( p ) + w( p ) + w( p ) = w( p). ux xy yv So p wsn't sortst pt tr! ʹ p xy ux xy yv

129 Cys Sortst pts n t ontn ys: Ary ru out ntv-wt ys. Postv-wt: w n t sortr pt y omttn t y. Zro-wt: no rson to us tm ssum tt our soutons won t us tm.

130 Output o sn-sour sortst-pt ortm For vrtx v n V: [v] = δ(s, v). Inty, [v]=. Ru s ortm prorsss. But wys mntn [v] δ(s, v). C [v] sortst-pt stmt. π[v] = prssor o v on sortst pt rom s. I no prssor, π[v] = NIL. π nus tr sortst-pt tr.

131 Intzton A sortst-pts ortms strt wt t sm ntzton: INIT-SINGLE-SOURCE(V, s) or v n V o [v] [s] 0 π[v] NIL

132 Rxn n Cn w mprov sortst-pt stmt or v y on trou u n tn (u,v)? RELAX(u, v,w) [v] > [u] + w(u, v) tn [v] [u] + w(u, v) π[v] u

133 Gnr sn-sour sortst-pt strty 1. Strt y n INIT-SINGLE-SOURCE 2. Rx Es Aortms r n t orr n w s r tn n ow mny tms s rx.

134 Exmp: Sn-sour sortst pts n rt y rp (DAG) Sn rp s DAG, w r urnt no ntv-wt ys.

135 Aortm Tm: Θ ( V + E)

Exmp 136

Exmp 137

Exmp 138

Exmp 139

Exmp 140

Exmp 141

142 Corrtnss: Pt rxton proprty (Lmm 24.15) Lt p =< v, v,..., v > sortst pt rom s = v to v. 0 1 0 I w rx, n orr, ( v, v ), ( v, v ),..., ( v, v ), 0 1 1 2-1 vn ntrmx wt otr rxtons, tn v [ ] = δ( s, v).

143 Corrtnss o DAG Sortst Pt Aortm Bus w pross vrts n topooy sort orr, s o ny pt r rx n orr o pprn n t pt. Es on ny sortst pt r rx n orr. By pt-rxton proprty, orrt.

144 Exmp: Dstr s ortm Apps to nr wt rt rp (my ontn ys). But wts must non-ntv. Essnty wt vrson o BFS. Inst o FIFO quu, uss prorty quu. Kys r sortst-pt wts ([v]). Mntn 2 sts o vrts: S = vrts wos n sortst-pt wts r trmn. Q = prorty quu = V-S.

145 Dstr s ortm Dstr s ortm n vw s ry, sn t wys ooss t tst vrtx n V S to to S.

146 Dstr s ortm: Anyss Anyss: Usn mnp, quu oprtons ts O(oV) tm OV ( ) O(o V ) OV ( ) trtons O(o V ) O( E) trtons Runnn Tm s OE ( o V)

147 Exmp Ky: Wt Gry Not Hnn B Hn

Exmp 148

Exmp 149

Exmp 150

Exmp 151

Exmp 152

153 Corrtnss o Dstr s ortm Loop nvrnt: [v] = δ(s, v) or v n S. Intzton: Inty, S s mpty, so trvy tru. Trmnton: At n, Q s mpty S = V [v] = δ(s, v) or v n V. Mntnn: N to sow tt [u] = δ(s, u) wn u s to S n trton. [u] os not n on u s to S.

154 Corrtnss o Dstr s Aortm: Uppr Boun Proprty Uppr Boun Proprty: 1. v [ ] δ( sv, ) v V 2. On v [ ] = δ( sv, ), t osn't n Proo: By nuton. Bs Cs : v [ ] δ( sv, ) v V mmty tr ntzton, sn s [ ] = 0 = δ( ss, ) v [ ] = v s Inutv Stp: Suppos x [ ] δ( sx, ) x V Suppos w rx ( uv, ). I v [ ] ns, tn v [ ] = u [ ] + wuv (, ) δ(, su) + wuv (, ) δ(, sv)

155 Corrtnss o Dstr s Aortm C m : Wn u s to S, [ u] = δ( s, u) Proo y Contrton: Lt u t rst vrtx to S su tt u [ ] δ( su, ) wn us. Lt y rst vrtx n V S on sortst pt to u Lt x t prssor o y on t sortst pt to u C m: y [ ] = δ( sy, ) wn us to S. Proo: x [ ] = δ( sx, ), sn x S. ( xy, ) ws rx wn xws to S y [ ] = δ( sx, ) + wxy (, ) = δ( sy, ) Hn

156 Corrtnss o Dstr s Aortm Tus y [ ] = δ( sy, ) wn us to S. y [ ] = δ( sy, ) δ( su, ) u [ ] (uppr oun proprty) But u [ ] y [ ] wn u to S Tus y [ ] = δ( sy, ) = δ( su, ) = u [ ]! Tus wn u s to S, [ u] = δ( s, u) Consquns: Tr s sortst pt to u su tt t prssor o u π[ u] S wn u s to S. T pt trou y n ony sortst pt w[ p ] = 0. 2 Hn π [ u]

157 Corrtnss o Dstr s ortm Loop nvrnt: [v] = δ(s, v) or v n S. Mntnn: N to sow tt [u] = δ(s, u) wn u s to S n trton. [u] os not n on u s to S. Rx(u,v,w) n ony rs v [ ]. By t uppr oun proprty, v [ ] δ( sv, ). Tus on v [ ] = δ( sv, ), t w not n.?