Shortest path with negative arc-costs allowed. Dijkstra?

Slides:



Advertisements
Verwante presentaties
Let me tell you about... (De Voltooid Tegenwoordige Tijd)
Advertisements

The stock market will go up De beurswaarden zullen stijgen YESNO JA NEEN Is Jefken a good person ? Is Jefken een goed mens ? YES NO JA NEEN Is Lonny a.
Leer de namen van de noten 1
Order placed Should be Nederland Netherlands can be removed here, just Scancorner Instead of ‘undefined’ -> ‘geen’ New logo should be displayed here. COUNTS.
Hoogwaardig internet voor hoger onderwijs en onderzoek Amsterdam, 23 November 2005 Walter van Dijk SURFnet Development of LCPM decision-making models and.
Workshop creatief brainstormen
Ronde (Sport & Spel) Quiz Night !
彩雲 錄製 Muziek:Tennessee Waltz Laat u wiegen door de muziek.
From: Julia larissa Ian and Maartje.. SCHOON WATER PROJECT Door Julia, larissa, Ian, en Maartje.
Datastructuren Analyse van Algoritmen en O
Leer de namen van de noten 2
EIE/06/075/SI From January 2007 to March 2009 Nationale Workshop Energiebesparing Introductie van E-BAG.
Copyright met toestemming gebruikt van Stichting Licentie © 1991 Heart Piercing Music / Maranatha! Music/CopyCare 1/16 THERE'S A RIVER (Malcolm duPlessis)
Destillatie.
Motion Planning in Games Pathfinding with A * Ronald Treur.
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
A South-African Building Renaissance Onderzoeksbespreking november 2004.
ontwik idee - keling dag 3 goals today Develop “criteria” to help you evaluate & select your ideas Some tools from Tassouls book to help you do this.
Neurale Netwerken Kunstmatige Intelligentie Rijksuniversiteit Groningen April 2005.
Probleem P 1 is reduceerbaar tot P 2 als  afbeelding  :P 1  P 2 zo dat: I yes-instantie van P 1   (I) yes-instantie van P 2 als ook:  polytime-algoritme,
Netwerk Algorithms: Shortest paths1 Shortest paths II Network Algorithms 2004.
Advanced Algorithms Groep: EII7AAb
Werken aan Intergenerationele Samenwerking en Expertise.
Breuken-Vereenvoudigen
CLICK THE END EINDE THE END May peace be with you EINDE Moge de vrede met jou zijn Next time I’ll present you the alphabet Volgende keer bied ik je het.
DB&SQL8- 1 VBA Visual Basics for Applications: eigen Office versie vanaf Office2000 gelijk voor alle applicaties Programmeren onder meer nodig voor Het.
Economische impact sluiting Ford Genk Ludo Peeters en Mark Vancauteren (Universiteit Hasselt)
Sorteeralgoritmen. Sorteren: aanpak 1 Hoe ga je een rij getallen sorteren met PC? Sorteren door selectie (= selection sort): Zoek de kleinste waarde Sorteer.
A H M F K EB C x 87 Afwenden bij A en C, openen en doorlaten (rechtshouden, 1e peloton, dames tussendoor).
A H M F K EB C x 91 Van hand veranderen voor de X splitsen en Rechangeren. Met de nieuwe partner op.
A H M F K EB C x 85 Korte zijde bij C 2 e secties volte 14 m en op afstand komen ( 0,5 rijbaan)
ZijActief Koningslust 10 jaar Truusje Trap
Deltion College Engels C1 Gesprekken voeren [Edu/004]/ thema: There are lies, damned lies and statistics... can-do : kan complexe informatie en adviezen.
Deltion College Engels B2 Schrijven [Edu/004] thema: (No) skeleton in the cupboard can-do: kan een samenhangend verhaal schrijven © Anne Beeker Alle rechten.
Deltion College Engels B1 En Spreken/Presentaties [Edu/007] Thema: Soap(s) can-do : kan met enig detail verslag doen van ervaringen, in dit geval, rapporteren.
Lange Termijn Jeugdwerkloosheid en Mismatch Inleiding Debat Prof. Dr. J. Konings KULeuven Workshop Jeugdwerkloosheid 21 mei 2013.
Writing exercise This one goes into your language portfolio!!! You have until the end of the week to hand it in… (So you have a little longer than it says.
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
TOPIC O: Pointers | pag. 1 Pointer = adres in het geheugen, is zelf geen geheugen! Expliciet geheugen aanvragen vóór gebruik.
All Right! 1 thv Unit 4 grammar 2.1 and 2.2.
Plan Coordination by Revision in Collective Agent Based Systems Adriaan ter Mors en Gijsbert Deelder Plan Coordination by Revision in Collective.
De financiële functie: Integrale bedrijfsanalyse©
Logistics: a driver for innovation Low costs High value Flexibility now and later Superior technology Timwood - T > No transport - I > No Inventory - M.
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
ZijActief Koningslust
Deltion College Engels B1 Lezen [no. 001] can-do : 2 products compared.
Deltion College Engels B1 Gesprekken voeren [Edu/008] theme: ‘I have to arrest you, you’ve stolen my heart’ … can-do : kan een eenvoudig face-to-face gesprek.
Deltion College Engels B1 Gesprekken voeren [Edu/006] thema: Look, it says ‘No smoking’… can-do : kan minder routinematige zaken regelen © Anne Beeker.
Om het maar niet te vergeten… Om het maar niet te vergeten… We will not forget We will not forget
Deltion College Engels C1 Spreken [Edu/002] thema: A book that deserves to be read can-do : kan duidelijke, gedetailleerde samenvatting geven van een gelezen.
Deltion College Engels B2 Gesprekken voeren [Edu/005]/subvaardigheid luisteren thema: ‘Pink pop and air-controllers on strike’ can-do : kan in een telefoongesprek.
Deltion College Engels B2 Lezen [Edu/004] thema: Scanning, a race against the time can-do: kan snel belangrijke detailinformatie vinden in lange en complexe.
Deltion College Engels B1 En Spreken/Presentaties [Edu/006] Thema: “The radio station“ can-do : kan een publiek toespreken, kan verzonnen gebeurtenissen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 6 Cees Witteveen.
Deltion College Engels B2 Spreken [Edu/001] thema: What’s in the news? can-do : kan verslag doen van een gebeurtenis en daarbij meningen met argumenten.
AWK A Pattern scanning and processing language made by Aho Weinberger Kernighan and explained by Albert Montijn.
Deltion College Engels B1 Spreken [Edu/001] thema: song texts can-do : kan een onderwerp dat mij interesseert op een redelijk vlotte manier beschrijven.
Deltion College Engels B2 Schrijven [Edu/005] thema: Writing a hand-out can-do: kan een begrijpelijke samenvatting schrijven © Anne Beeker Alle rechten.
Deltion College Engels B2 Gesprekken voeren [Edu/007] thema: ‘With this mobile you can…’ can-do : kan op betrouwbare wijze gedetailleerde informatie doorgeven.
Deltion College Engels B1 Luisteren [Edu/002] thema: A cyber listening lab can-do : kan eenvoudige, duidelijke informatie begrijpen © Anne Beeker / Randall.
Deltion College Engels B2 (telefoon)gesprekken voeren[Edu/002] /subvaardigheid lezen/schrijven thema: I am so sorry for you… can-do : kan medeleven betuigen.
Deltion College Engels C1 Lezen [Edu/002]/ subvaardigheid schrijven thema: Hwaet! (Old) English literature can-do: kan snel belangrijke detailinformatie.
Today: Chapter 2 Discuss SO 2 What to study for your test?
Modderdorp UNPLUGGED Bron: csunplugged.org.
Crohn’s Disease and medicinal cannabis oil A WORKING PROTOCOL
Modderdorp UNPLUGGED Bron: csunplugged.org.
Hebben we wel meer testautomatiseerders nodig?
Transcript van de presentatie:

Shortest path with negative arc-costs allowed. Dijkstra? " i>1: d[ i]:= ¥ ; S:= Æ Repeat u:=arg min {d[ i]| i Î N\S}, S:=S È {u} N\S: d[ i],d[u]+c[ u,i]} until S=N 1 2 3 4 5 6 7 8 9 14 13 16 12 -5 0,1 5,1 13,4 11,1 10,2 17,1 M,0 18,4 26,4 11 25,4 17 15 No! Better now Bellman-Ford:

Search(s: node); input A(i)’s of a (di)graph (N,A) [1]; node-labels pr(i)N; integer k(=0); output for j in component of s an s-j path begin  iN: pr(i):=0; pr(s):=s; LIST:=<s>; while LIST   do remove the first node from LIST, say i; k:=k+1; /* just counting the number of list-removals/scannings for all (i,j)A(i) with pr(j)=0 do pr(j):=i; put j on LIST; end; iN: pr(i)=0; compNr:=0; for all sN with pr(s)=0 do compNr:=compNr+1, Search(s) ; [1] if (N,A) is undirected then for any edge (i,j): (i,j)  A(i) and (j,i) A(j)

output topological numbering s.t. nr(i)<nr(j) for (i,j) reNumbering input A(i)’s of acyclic digraph (N,A); node-labels nr(i), indgr(i)Z; integer k(=0); output topological numbering s.t. nr(i)<nr(j) for (i,j) begin  iN: nr(i):=0; indgr(i):=|inA(I)|; LIST:=<s: with indegree(s)=0>; while LIST   do remove a node from LIST, say i; k:=k+1; nr(i):=k; /* here is a purpose withNr(k):=i for all (i,j)A(i) do indgr(j):=indgr(j)-1; if indgr(j)=0 then put j on LIST; end; DPshortestpaths s:=withNr[1]; d(s):=0; for k:=2 to n do i:=withNr[k], (j,i) inA(i) : if d(j)+c(j,i) < d(i) then d(i):= d(j)+c(j,i) ; k:=0; reNumbering; if k=n then write('graph is acyclic');

Search(s: node) input A(i)’s of a (di)graph G=(N,A); labels pr(i)N{0}; output for j in component of s an s-j path begin  iN: pr(i):=0; pr(s):=s; LIST:=<s>; while LIST   do remove a node from LIST, say i; for all (i,j)A(i) with pr(j)=0 do pr(j):=i; put j on LIST; end;

BreadthFirst(s: node); /* scan first nodes first: fifo list management input A(i)’s of a (di)graph G=(N,A); labels pr(i)N{0}, d(i) Z0; output for j in component of s an arc-minimal s-j path with d(j) arcs begin  iN: pr(i):=0, d(i):= ; pr(s):=s; LIST:=<s>; d(s):=0; while LIST   do remove the first node from LIST, say i; for all (i,j)A(i) with d(j)= do pr(j):=i, d(j):=d(i)+1; put j last on LIST; end;

Dijkstra(s: node); /* scan 'best' nodes first input A(i)’s of a (di)graph G=(N,A); labels pr(i)N{0}, d(i) Z0; output for j in component of s a minimal-cost s-j path of cost d(j) begin  iN: pr(i):=0, d(i):= ; pr(s):=s; LIST:=<s>; d(s):=0; while LIST   do remove the best node from LIST, say i with minimal d(i); for all (i,j)A(i) with d(j)>d(i)+c(i,j) do pr(j):=i, d(j):=d(i)+c(i,j) put j on LIST (if not yet in) end;

Complexiteitstheorie: YES\NO recognition problems TSP>=k Instance: netwerk (N,E,c) met c:EZ+ ; getal k Question: Is er een tour met lengte < k? Stel algoritme A lost op: yes-no versies TSP<=k in complexiteit tA(n) er is algoritme B voor TSPopt in complexiteit tB(n)= log(nC) · tA(n) algoritme B */ past bisectie toe met A U:=nC; */ C=max {cij| (i,j) in E} L:=0; */ U is boven- en L is ondergrens op z* Repeat k:=(U+L)/2; if algoritme A op TSP<=k returns YES then U:=k else L:=k ; /* opnieuw geldt: U is boven- en L is ondergrens op z* en het interval [L,U] is gehalveerd ! Until |U-L|< 1;

Voorbeelden YES\NO recognition problems Graph-Connectedness Instance: graph G=(V, E) Question: Is G connected? Satisfiability (informeel) Instance: Boolean expression Question: Kan deze expressie de waarde ‘true’ aannemen (is it satisfiable) Langste Pad Instance: netwerk (N,E,c) met c:EZ+ ; s,t N; getal k Question: Is er een s-t pad P met lengte > k? ILP LP Instance: (c,A,b) resp. n-vector, mxn matrix en m-vector; getal k Question: Is max{cx| xRn met Ax<=b} > k? Zn Graph-Isomorfisme (informeel) Instance: graphs G1=(V1, E1) en G2=(V1, E1) Question: Zijn G1 en G2 hetzelfde?

Graph-Connectedness Instance: graph G=(V, E) Question: Is G connected? MST Instance: graph G=(V, E,c); number k; Question: Is there a tree T spanning V of total weight <=k? Steiner tree Instance: graph G=(V, E,c); subset of nodes K; number k; Question: Is there a tree spanning K of length <=k? UFL Instance: clients i=1,…,m with unit demand, facilities j=1,…n with one-time fixed charge opening costs fj; costs cij for delivering the unit of i from j; number k; Question: Can we satisfy all demands at a total cost <=k?

DEFINITIONS the time complexity (function) tA of algorithm A for problem P is tA(n)= max {#operaties of A on instance I | over IP with |I|=n} P is polynomial solvable - notation P - if  algorithm A with tA(n) of O(nq) for some qZ+ P is non-deterministically polynomial solvable -notation P- if all I P with answer YES have a ‘-certificate’, checkable in polytime EXAMPLES    (if P is polynomial solvable then P is in ) TSP: Instance: network (N,E,c) with number kR Question:  tour of length <=k? a -certificate is a set of n edges; polytime checkable: tour of length <= k coTSP ?! Instance: netwerk (N,E,c) with number kR Question: Are all tours of length > k? no -certificate?!

Instance: netwerk (N,E,c) met c:EZ+ ; getal k TSP Instance: netwerk (N,E,c) met c:EZ+ ; getal k Question: Is er een tour met lengte < k? ShortestPath Instance: netwerk (N,E,c) met c:EZ+ ; s,t  N ; getal k Question: Is er een s-t path van lengte < k? TSP>=k Instance: netwerk (N,E,c) met c:EZ+ ; getal k Question: Is er een tour met lengte < k? 1 2 3 4 5 6 7 8 9 14 13 16 12 11 10 15

Transformatie-afbeelding van ITSP naar I':=(I)Kortste Pad - 1) Neem (N',E')=(N,E) met extra kopie n' van n ( dezelfde kanten als n); 2) c' verlaagt alle kantkosten met M 3) s=n en t=n'' 4 -M +c -M 2 ij 4) k'=-nM+k +16 9'' 7 9 1 5 Kortste 9 - 9'' pad bevat n -M +3 kanten - als mogelijk - 3 8 voor lengte - nM + tourlengte 6 I heeft TSP tour <= 63 desda I' heeft kortste 9-9'' pad <= -9M+63

probleem P1 is reduceerbaar tot P2 als  afbeelding :P1  P2 zo dat: I yes-instantie van P1  (I) yes-instantie van P2 als ook:  polytime-algoritme, zeg A, met inputs IP1 en outputs (I)P2 dan P1 is 'polynomial‑reducable' tot P2 , notatie: P1  P2 Theorem Cook (1971): SAT is -compleet, i.e.: each problem P of  is polynomial reducable to SAT Corollary If SAT can be solved by some polynomial algorithm A, then all problems P are polynomial solvable (=) Proof: IP P(I)SAT AP O(| |r) alg. A O(| |q) yes/no algoritme in O(|I|qr) time voor I in P: doe eerst AP /* geeft I' in SAT van size O(| |r) doe dan A