Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

INF 295 Forelesning 18 - kap 9 Aktivitetsgrafer

Liknende presentasjoner


Presentasjon om: "INF 295 Forelesning 18 - kap 9 Aktivitetsgrafer"— Utskrift av presentasjonen:

1 INF 295 Forelesning 18 - kap 9 Aktivitetsgrafer
Hans Fr. Nordhaug (Ola Bø)

2 Innhold Directed Acyclic Graphs(DAG) Aktivitetsgrafer Hendelsesgrafer
Dybde først søk Sammenhengende graf? Løkkepåvisning Grådige algoritmer

3 Directed Acyclic Graphs
Ny variant av Dijkstra: Velge nodene i en topologisk rekkefølge Når en node er valgt må den ha korteste avstand fordi den topologiske rekkefølge sikrer at det ikke er ukjente innkanter som kan forbedre resultatet. Virker også ved negative avstander Kjøretid: O(|V|+|E|)

4 V inngrad kjent avstand forgjenger v1 v2 v3 v4 v5 v6 v7 v8

5 Anvendelser Rutevalg nedover i alpinanlegg Innmaten i et regneark
Kritisk vei analyse i prosjektplanlegging Aktiviteter Grunnmuren tar 4 dager Veggene tar 5 dager Gulvet tar 4 dager Taket tar 3 dager Vinduene tar 2 dager Det elektriske anlegget tar 2 dager Vann og kloakk tar 4 dager Takrennene tar 1 dag Avhengigheter Grunnmur avhenger av vann og kloakk Veggene avhenger av grunnmuren Gulvet avhenger av grunnmuren Taket avhenger av veggene Vinduene avhenger av veggene El avhenger av gulv, vegger og tak Takrennene avhenger av taket

6 Aktivitetsgraf Opplysningene kan oppsummeres i en aktivitetsgraf
Aktivitetene er noder Varighet blir en variabel i noden Avhengighetene blir rettede kanter Kant fra v til w hvis w avhenger av v - grafen blir asyklisk

7 Prosjektplanlegging Hva vil man finne ut:
Er det gjennomførbart? Hva er minste tid Hvilke aktiviteter tåler å bli forsinket Hvor stor forsinkelse som tåles uten at prosjektet forsinkes kalles slakk Hvilke aktiviteter er kritiske - dvs. forsinkelse av kritiske aktiviteter forsinker hele prosjektet. Oblig 4 krever algoritmer som kan svare på dette for et oppgitt prosjekt.

8 Hendelsesgrafer Kantene blir aktiviteter.
Kantkostnaden blir tidsforbruket for aktiviteten Tillater bruk av korteste vei algoritmer Hver node representerer avslutning av en eller flere aktiviteter Dersom en aktivitet er avhengig av flere andre aktiviteter kan det bli nødvendig med hjelpekanter og -noder for å uttrykke avhengigheten.

9 Her er aktivitetsgrafen - hvordan blir hendelsesgrafen?

10 Tidligste avslutningstid er lengste vei fra første hendelse
Kan også finne tidligste slutt og seneste slutt uten forsinkelser Slakk(v,w) =seneste avslutning for w-tidligste avslutningstid for v-kostnad (v,w) Aktiviteter med slakk=0 er kritiske aktiviteter

11 Dybde først søk Rekursiv metode
Markerer noder som besøkes og kaller rekursivt videre bare noder som ikke er besøkt Eksempel

12 Sammenhengende graf? Hvis ikke kan vi ta nye dybde først søk fra ubesøkte noder En urettet graf er sammenhengende hviss et dybde først søk fra en tilfeldig node besøker alle noder NB hviss er ikke skrivefeil – betyr hvis og bare hvis En rettet graf er sterkt sammenhengende hviss vi fra alle noder klarer å besøke alle noder ved et dybde først søk.

13 Løkkeleting Kan bruke dybde først søk for å sjekke om grafen har løkker Bruker tilstandsvariable med tre verdier usett igang ferdig Bygger på at alle noder der kall er i gang alltid ligger på en rett vei fra startnoden. Gjøre nye startkall til metoden er kalt i alle noder. Alle løkker blir funnet


Laste ned ppt "INF 295 Forelesning 18 - kap 9 Aktivitetsgrafer"

Liknende presentasjoner


Annonser fra Google