CSE Alorihm Rihr Anron Dijkr lorihm Sinl Sor Shor Ph Prolm Gin rph n r r Drmin in o ry r rom Iniy hor ph o h r Epr onily hor ph r Eh r h poinr o pror on hor ph Conr Shor Ph Tr rom Wrmp - - I P i hor ph rom o, n i i on h ph P, h mn rom o i hor ph wn n WHY? Am ll h non-ni o Dijkr Alorihm Siml Dijkr lorihm (rrin rom ) on h rph S = {}; [] = 0; [] = ininiy or!= Whil S!= V Choo in V-S wih minimm [] A o S For h w in h nihorhoo o [w] = min([w], [] + (, w)) y 0 z Ron Vr A
Dijkr Alorihm ry lorihm Elmn ommi o h olion y orr o minimm in Corrn Proo Elmn in S h h orr ll Ky o proo: whn i o S, i h h orr in ll. y Proo L r in V-S wih minimm [] L P ph o lnh [], wih n (,) L P om ohr ph o. Sppo P ir l S on h (, y) P = P + (,y) + P y y Ln(P ) + (,y) >= [y] Ln(P y ) >= 0 Ln(P) >= [y] + 0 >= [] Ni Co E Drw mll mpl ni o n how h Dijkr lorihm il on hi mpl Bolnk Shor Ph Din h olnk in or ph o h mimm o lon h ph Comp h olnk hor ph - -
How o yo p Dijkr lorihm o hnl olnk in Do h orrn proo ill pply? Who w Dijkr? Wh wr hi mjor onriion? hp://www.../r/ewd/ Er Wy Dijkr w on o h mo inlnil mmr o ompin in' onin nrion. Amon h omin in whih hi inii onriion r nmnl r lorihm in prormmin ln prorm in oprin ym iri proin orml piiion n riiion in o mhmil rmn Shor Ph Ni Co E Dijkr lorihm m poii o For om ppliion, ni o mk n Shor ph no wll in i rph h ni o yl - - - Ni Co E Priw Topoloil Sor n or olin h hor ph prolm in ir yli rph Bllmn-For lorihm in hor ph in rph wih ni o (or rpor h in o ni o yl). Dijkr Alorihm Implmnion n Rnim S = {}; [] = 0; [] = ininiy or!= Whil S!= V Choo in V-S wih minimm [] A o S For h w in h nihorhoo o [w] = min([w], [] + (, w)) y HEAP OPERATIONS n Er Min m Hp Up z E o r m o non-ni
Bolnk Shor Ph Din h olnk in or ph o h mimm o lon h ph Comp h olnk hor ph - - Dijkr Alorihm or Bolnk Shor Ph S = {}; [] = ni ininiy; [] = ininiy or!= Whil S!= V Choo in V-S wih minimm [] A o S For h w in h nihorhoo o [w] = min([w], m([], (, w))) y z Minimm Spnnin Tr Inro Prolm Dmonr hr irn ry lorihm Proi proo h h lorihm work Minimm Spnnin Tr 0 0 8 Gry Alorihm or Minimm Spnnin Tr En r y inlin h hp o oin A h hp h join ijoin omponn Dl h mo pni h o no ionn h rph 0 8
Gry Alorihm Prim Alorihm En r y inlin h hp o oin Gry Alorihm Krkl Alorihm A h hp h join ijoin omponn Conr h MST wih Prim lorihm rin rom r Ll h in orr o inrion 0 0 8 Conr h MST wih Krkl lorihm Ll h in orr o inrion 0 0 8 Gry Alorihm Rr-Dl Alorihm Dl h mo pni h o no ionn h rph Conr h MST wih h rrl lorihm Ll h in orr o rmol 0 0 8 Why o h ry lorihm work? For impliiy, m ll o r iin L S o V, n ppo = (, ) i h minimm o o E, wih in S n in V-S i in ry minimm pnnin r Proo Sppo T i pnnin r h o no onin A o T, hi r yl Th yl m h om = (, ) wih in S n in V-S Opimliy Proo Prim Alorihm omp MST Krkl Alorihm omp MST T = T { } + {} i pnnin r wih lowr o Hn, T i no minimm pnnin r
Rr-Dl Alorihm Lmm: Th mo pni on yl i nr in minimm pnnin r Dlin wih h mpion o no ql wih For h wih o iin A mll qnii o h wih Gi i rkin rl or ql wih Dijkr Alorihm or Minimm Spnnin Tr S = {}; [] = 0; [] = ininiy or!= Whil S!= V Choo in V-S wih minimm [] A o S For h w in h nihorhoo o [w] = min([w], (, w)) y z Minimm Spnnin Tr 0 0 8 Unir Grph G=(V,E) wih wih Gry Alorihm or Minimm Spnnin Tr [Prim] En r y inlin h hp o oin [Krkl] A h hp h join ijoin omponn [RrDl] Dl h mo pni h o no ionn h rph 0 8 Why o h ry lorihm work? For impliiy, m ll o r iin
E inlion lmm i h minimm o wn S n V-S Proo L S o V, n ppo = (, ) i h minimm o o E, wih in S n in V-S i in ry minimm pnnin r o G Or qilnly, i i no in T, hn T i no minimm pnnin r Sppo T i pnnin r h o no onin A o T, hi r yl Th yl m h om = (, ) wih in S n in V-S S V - S S V - S T = T { } + {} i pnnin r wih lowr o Hn, T i no minimm pnnin r Opimliy Proo Prim Alorihm omp MST Krkl Alorihm omp MST Show h whn n i o h MST y Prim or Krkl, h i h minimm o wn S n V-S or om S. Prim Alorihm S = { }; T = { }; whil S!= V hoo h minimm o = (,), wih in S, n in V-S o T o S Pro Prim lorihm omp n MST Show n i in h MST whn i i o T Krkl Alorihm L C = {{ }, { },..., { n }}; T = { } whil C > L = (, ) wih in C i n in C j h minimm o joinin iin in C Rpl C i n C j y C i U C j A o T
Pro Krkl lorihm omp n MST Show n i in h MST whn i i o T Rr-Dl Alorihm Lmm: Th mo pni on yl i nr in minimm pnnin r Dlin wih h mpion o no ql wih For h wih o iin A mll qnii o h wih Gi i rkin rl or ql wih Appliion: Clrin Gin ollion o poin in n r- imnionl p, n n inr K, ii h poin ino K h r lo ohr Din lrin Dii ino lr Dii h ino K o mimiz h in wn ny pir o i (S, S ) = min {i(, y) in S, y in S }
Dii ino lr Dii ino lr Din Clrin Alorihm K-lrin L C = {{ }, { },..., { n }}; T = { } whil C > K L = (, ) wih in C i n in C j h minimm o joinin iin in C Rpl C i n C j y C i U C j