Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
PublisertMarkus Pettersen Endret for 9 år siden
1
INF 295 Forelesning 17 - kap 9 Korteste vei i grafer Hans Fr. Nordhaug (Ola Bø)
2
Korteste vei algoritmer Veid og uveid veilengde Korteste vei fra ett utgangspunkt-problemet Problemet med negative kostnader Negativ kostsyklus gir ubestemmelig korteste vei Mange anvendelser Algoritmer: Ingen eksisterende algoritmer som er raskere på en til en enn på en til alle Fire versjoner av problemet med korteste vei Uvektet graf O(|E|+|V|) Veid graf uten negative kanter O(|E|log|V|) Graf med negative kanter: enkelt, men O(|E|*|V|) Asyklisk graf: O(N)
4
Uveid korteste vei Spesialtilfelle av veid graf Algoritme 1. Starte med en node avstand 0 2. Deretter alle naboene avstand 1 3. Så ubesøkte naboer av dem igjen... Bredde først Trenger avstand, forgjenger, behandlet Veien finnes ved å gå tilbake fra enden
5
Algoritme 1
6
Algoritme 2
7
Veid graf uten negative kanter Dijkstras algoritme Samme ide som forrige algoritme Trenger Kjent Tentativ avstand d v : avstand bare via behandlede noder Forgjenger pv: siste node som endrer dv For hvert steg: velg noden v med lavest dv av de som ikke er kjent oppdater avstand hos alle ukjente naboer w av denne noden hvis det er kortere å gå via v Dijkstras er en grådig algoritme
8
Grådig (greedy) algoritmer Grådig algoritmer løser problem trinnvis ved å gjøre det som synes best for hvert trinn Vekslingsalgoritme Kan svikte i noen situasjoner Vekslingsalgoritme Skal gi tilbake 15 i færrest mulig mynter Valører: 1,5,10 – grådig gir 10+5 Valører: 1,5,10,12 – grådig gir 12+1+1+1
12
Kjøretid for Dijkstra Lete etter korteste dv: O(|E|+|V 2 |) OK for tette grafer der |E|=O(|V 2 |) Tynne (sparse) grafer trenger bedre løsninger priority queue: deleteMin og decreaseKey O(|E|log|V|+|V|log|V|))=O(|E|log|V|) Eller sette inn i heapen på nytt ved oppdatering Gir flere forekomster av samme node i heapen Hoppe over kjente noder Enkel og rask løsning, men plasskrevende
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.