Snl Sour Sortst Pts (wt Postv Wts) Yuf To ITEE Unvrsty of Qunslnd
In ts ltur, w wll rvst t snl sour sortst pt (SSSP) problm. Rll tt w v lrdy lrnd tt t BFS lortm solvs t problm ffntly wn ll t ds v t sm wt. Tody w wll s ow to solv t problm n t mor nrl stuton wr t ds n v rbtrry postv wts. W wll dsuss two vrnts of t problm, dpndn on wtr t nput rp s DAG or not. T formr s lrly spl s of t lttr, nd s rsult, dmts fstr lortm.
Wtd Grps Lt G = (V, E) b drtd rp. Lt w b funton tt mps d n E to postv ntr vlu. Spflly, for E, w() s postv ntr vlu, w w ll t wt of. A drtd wtd rp s dfnd s t pr (G, w).
Exmpl 6 5 0 3 T ntr on d ndts ts wt. For xmpl, w(d, ) =, w(, f ) =, nd w(, ) = 0.
Sortst Pt Consdr drtd wtd rp dfnd by drtd rp G = (V, E) nd funton w. Consdr pt n G: (v, v ), (v, v 3 ),..., (v l, v l+ ), for som ntr l. W dfn t lnt of t pt s l w(v, v + ). = Rll tt w my lso dnot t pt s v v... v l+. Gvn two vrts u, v V, sortst pt from u to v s pt from u to v tt s t mnmum lnt mon ll t pts from u to v. If v s unrbl from u, tn t sortst pt dstn from u to v s.
Exmpl 6 5 0 3 T pt d s lnt. T pt b d f s lnt 8. T sond pt s sortst pt from to.
Snl Sour Sortst Pt (SSSP) wt Postv Wts Lt (G, w) wt G = (V, E) b drtd wtd rp, wr w mps vry d of E to postv vlu. Gvn vrtx s n V, t ol of t SSSP problm s to fnd, for vry otr vrtx t V \ {s}, sortst pt from s to t, unlss t s unrbl from s.
A Subsqun Proprty Lmm: If v v... v l+ s sortst pt from v to v l+, tn for vry, j stsfyn < j l +, v v +... v j s sortst pt from v to v j. Proof: Suppos tt ts s not tru. Tn, w n fnd sortr pt to o from v to v j. Usn ts pt to rpl t ornl pt from v to v j ylds sortr pt from v to v l+, w ontrdts t ft tt v v... v l+ s sortst pt.
Exmpl 6 5 0 3 Sn b d f s sortst pt, w know tt ny subsqun of of ts pt s lso sortst pt. For xmpl, b d must b sortst pt from b to.
Nxt, w wll frst xpln ow to solv t SSSP problm wn t nput rp G s DAG. Utlzn t subsqun proprty, our lortm wll output sortst pt tr tt nods ll t sortst pts from t sour vrtx s.
T Ed Rlxton Id For vry vrtx v V, w wll t ll tms mntn vlu dst(v) tt s urntd to b n uppr bound of t sortst pt dstn from s to v. At t nd of t lortm, w wll nsur tt vry dst(v) quls t prs sortst pt dstn from s to v. A or oprton n our lortm s lld d rlxton: Gvn n d (u, v), w rlx t s follows: - If dst(v) < dst(u) + w(u, v), do notn; - Otrws, rdu dst(v) to dst(u) + w(u, v).
T Rlxton Lmm Lmm: dst(v) s stll n uppr bound of t sortst pt dstn form s to v ftr t rlxton. Proof: It suffs to prov tt t sortst pt from s to v nnot v lnt rtr tn dst(u) + w(u, v). T vlu of dst(u) ndts t xstn of pt from s to u wos dstn s t most dst(u). W n trfor o from s to v by frst tkn tt pt to o to u, nd tn r v by rossn t d (u, v). Ts vs us pt from s to v wos dstn s t most dst(u) + w(u, v).
SSSP Alortm on DAG Obtn topolol ordr L on G St dst(s) = 0, nd dst(v) = for ll otr vrts v V 3 St prnt(v) = nl for ll vrts v V 4 Rmov ll t vrts n L tt r bfor s 5 Rpt t follown untl L s mpty: 5. rmov t frst vrtx u of L /* nxt w rlx ll t outon ds of u */ 5. for vry outon d (u, v) of u 5.. f dst(v) > dst(u) + w(u, v) tn st dst(v) = dst(u) + w(u, v), nd prnt(v) = u
Exmpl Suppos tt t sour vrtx s. 6 5 0 3 vrtx v dst(v) prnt(v) nl b nl 0 nl d nl nl f nl nl nl nl Frst, obtn n rbtrry topolol ordr,.., L = (, b,,, d,,, f, ). Intlz dst(v) nd prnt(v). Rmov ll vrts bfor n L, ftr w L = (,, d,,, f, ).
Exmpl Rlx ll t outon ds of. 6 5 0 3 vrtx v dst(v) prnt(v) nl b nl 0 nl d 0 f nl nl nl nl L = (, d,,, f, ).
Exmpl Rlx ll t outon ds of. 6 5 0 3 vrtx v dst(v) prnt(v) nl b nl 0 nl d 0 f nl nl nl nl L = (d,,, f, ).
Exmpl Rlx ll t outon ds of d. 6 5 0 3 vrtx v dst(v) prnt(v) nl b nl 0 nl d 7 d f nl 3 d nl nl L = (,, f, ).
Exmpl Rlx ll t outon ds of. 6 5 0 3 vrtx v dst(v) prnt(v) nl b nl 0 nl d 7 d f 5 3 d nl 4 L = (, f, ).
Exmpl Rlx ll t outon ds of. 6 5 0 3 vrtx v dst(v) prnt(v) nl b nl 0 nl d 7 d f 5 3 d nl 4 L = (f, ).
Exmpl Rlx ll t outon ds of f. 6 5 0 3 vrtx v dst(v) prnt(v) nl b nl 0 nl d 6 f f 5 3 d nl 4 L = ().
Exmpl Rlx ll t outon ds of. 6 5 0 3 vrtx v dst(v) prnt(v) nl b nl 0 nl d 6 f f 5 3 d nl 4 L = (). At ts pont, w v omputd t sortst pt dstns from to ll t otr vrts.
Construtn t Sortst Pt Tr For vry vrtx v, f u = prnt(v) s not nl, tn mk v ld of u. Exmpl 6 5 0 3 vrtx v b d f prnt(v) nl nl nl f d nl sortst pt tr f d
Tm Anlyss Stp (on Sld 30) n on n O( V + E ) tm (DFS). Stps -4 obvously tk O( V ) tm. Rrdn Stp 5, not tt vry outon d s rlxd only on. Sn rlxton tks only O() tm, w know tt Stp 5 n b mplmntd n O( V + E ) tm (O() tm spnt rmovn vrtx from L). Construtn t sortst pt tr t t nd obvously tks O( V ) tm. Ovrll t lortm runs n O( V + E ) tm (w s optml).
W now prov tt our lortm s orrt. In prtulr, w wll prov tt wn t lortm fnss, dst(v) olds t orrt sortst pt dstn from s to v. Strtly spkn, w lso nd to prov tt t flds of prnt(v) llow us to onstrut t sortst pt tr orrtly, but ts s ssntlly smpl orollry of t bov lm (nd s lft for you).
Corrtnss Not tt dst(v) wll nvr n ftr v s rmovd from L (nd s ts out-on ds rlxd). W wll prov: Lmm: Wn dst(v) s rmovd from L, dst(v) quls t sortst pt dstn from s to v. T lmm s suffnt for stblsn t orrtnss of our lortm.
Corrtnss Proof: Rll tt t t bnnn of t lortm, w drtly rmov ll t vrts v tt prd s n L, lvn dst(v) =. Ts s orrt bus non of tos vrts r rbl from s (by dfnton of topolol ordr). W wll prov tt t lmm lso olds for t otr vrts. W wll do so by nduton on t ordr tt vrts r rmovd from L, strtn from s. Bs Cs: Wn s s rmovd, dst(s) = 0, s rqurd by t lmm.
Corrtnss Proof (ont.): Indutv Cs: Suppos tt w r rmovn v from L, nd tt t lmm olds on ll t vrts rmovd bfor v. Lt π b sortst pt from s to v, nd u t vrtx on π mmdtly bfor v. It tus follows tt u must b bfor v n L, nd n, must v bn rmovd. It follows tt dst(u) must b t sortst pt dstn from s to u. Tus, by rlxn d (u, v), t lortm nsurs tt dst(v) nnot b r tn dst(u) + w(u, v), w s xtly t sortst pt dstn from s to v. Tn t lmm follows from t ft tt dst(v) lwys rmns n uppr bound of t sortst pt dstn (t rlxton lmm).
Nxt, w wll xtnd t bov lortm to solv t SSSP problm wn t nput rp G s nrl drtd rps (.., yls my xst). T mjor dffrn s t ordr tt vrts r prossd (rll tt yl rp s no topolol ordrs). T xtndd lortm s lld Djkstr s lortm.
T Ed Rlxton Id Sm d s bfor! For vry vrtx v V, w wll t ll tms mntn vlu dst(v) tt s urntd to b n uppr bound of t sortst pt dstn from s to v. At t nd of t lortm, w wll nsur tt vry dst(v) quls t prs sortst pt dstn from s to v. Ed rlxton: Gvn n d (u, v), w rlx t s follows: - If dst(v) < dst(u) + w(u, v), do notn; - Otrws, rdu dst(v) to dst(u) + w(u, v). T rlxton lmm stll olds.
Djkstr s Alortm St prnt(v) = nl for ll vrts v V St dst(s) = 0, nd dst(v) = for ll otr vrts v V 3 St S = V 4 Rpt t follown untl S s mpty: 5. Rmov from S t vrtx u wt t smllst dst(u). /* nxt w rlx ll t outon ds of u */ 5. for vry outon d (u, v) of u 5.. f dst(v) > dst(u) + w(u, v) tn st dst(v) = dst(u) + w(u, v), nd prnt(v) = u
Exmpl Suppos tt t sour vrtx s. 6 5 0 3 vrtx v dst(v) prnt(v) nl b nl 0 nl d nl nl f nl nl nl nl S = {, b,, d,, f,,, }.
Exmpl Rlx t out-on ds of (bus dst() s t smllst n S): 6 5 0 3 vrtx v dst(v) prnt(v) nl b nl 0 nl d 0 f nl nl nl nl S = {, b, d,, f,,, }. Not tt s bn rmovd!
Exmpl Rlx t out-on ds of d (bus dst(d) s t smllst n S): 6 5 0 3 vrtx v dst(v) prnt(v) 8 d b nl 0 nl d 0 f nl 3 d nl nl S = {, b,, f,,, }.
Exmpl Rlx t out-on ds of : 6 5 0 3 vrtx v dst(v) prnt(v) 8 d b nl 0 nl d 0 f 5 3 d nl 4 S = {, b,, f,, }.
Exmpl Rlx t out-on ds of : 6 5 0 3 vrtx v dst(v) prnt(v) 8 d b nl 0 nl d 0 f 5 3 d nl 4 S = {, b,, f, }.
Exmpl Rlx t out-on ds of f : 6 5 0 3 vrtx v dst(v) prnt(v) 8 d b nl 0 nl d 6 f f 5 3 d nl 4 S = {, b,, }.
Exmpl Rlx t out-on ds of : 6 5 0 3 vrtx v dst(v) prnt(v) 8 d b nl 0 nl d 6 f f 5 3 d nl 4 S = {, b, }.
Exmpl Rlx t out-on ds of : 6 5 0 3 vrtx v dst(v) prnt(v) 8 d b 9 0 nl d 6 f f 5 3 d nl 4 S = {b, }.
Exmpl Rlx t out-on ds of b: 6 5 0 3 vrtx v dst(v) prnt(v) 8 d b 9 0 nl d 6 f f 5 3 d nl 4 S = {}.
Exmpl Rlx t out-on ds of : 6 5 0 3 vrtx v dst(v) prnt(v) 8 d b 9 0 nl d 6 f f 5 3 d nl 4 S = {}. All t sortst pt dstns r now fnl.
Construtn t Sortst Pt Tr For vry vrtx v, f u = prnt(v) s not nl, tn mk v ld of u. Exmpl 6 5 0 3 vrtx v b d f prnt(v) d nl f d nl sortst pt tr f d b
Corrtnss nd Runnn Tm It wll b lft s n xrs for you to prov tt Djkstr s lortm s orrt (by xtndn t orrtnss of our DAG lortm). Just s qully nstrutv s n xrs for you to mplmnt Djkstr s lortm n O(( V + E ) lo V ) tm. You v lrdy lrnd ll t dt struturs for ts purpos. Now t s t tm to prt pplyn tm.
Ts onluds our dsusson on t SSSP problm. W v lrnd ow to solv t problm n 3 sttns: Unt wt for ll ds nd rbtrry rps: BFS, runnn tm O( V + E ). Arbtrry wts nd DAGs: T frst lortm n ts ltur, runnn tm O( V + E ). Postv wts nd rbtrry rps: Djkstr s, runnn tm O(( V + E ) lo V ). Rmrk: Usn n dvnd dt strutur (lld t Fbon Hp) tt wll not b ovrd n ts ours, w n tully mprov t runnn tm of Djkstr s lortm to O( V lo V + E ).