Hvordan virker en rejseplanner?

Relaterede dokumenter
Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Reeksamen i Diskret Matematik

Oplæg og øvelser, herunder frugt og vand Gerth Stølting Brodal

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002

Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538)

P2-projektforslag Kombinatorik: grafteori og optimering.

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Danmarks Tekniske Universitet

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Et udtrykstrç med de ære regnearter, heltalskonstanter og variabler beskrives. Type Expr = Sumèplus, minus, times, div: Args, const: Int, name: Textè

Grafer og graf-gennemløb

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Danmarks Tekniske Universitet

Prioritetskøer og hobe. Philip Bille

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

.. if L(u) + w(u, v) < L(v) then.. begin... L(v) := L(u) + w(u, v)... F (v) := u.. end. med længde L(z)}

Grundlæggende køretidsanalyse af algoritmer

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Netværkslaget Rutning og sammenkobling

Funktionel afhængighed

Henrik Bulskov Styltsvig

Henrik Bulskov Styltsvig

Grafer og graf-gennemløb

02105 Eksamensnoter. Lasse Herskind S maj Sortering 3

Grafer og graf-gennemløb

Førsteårsprojekt F2008 Flere grafalgoritmer, og visualisering SØGES

Danmarks Tekniske Universitet

Undervisningsbeskrivelse

Opgave nr. 69 Tema: Hvor langt er der? Hvor lang tid tager det? Matematik

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Eksempel på muligt eksamenssæt i Diskret Matematik

Algoritmer og datastrukturer Course No Cheat Sheet May 15, 2012

Danmarks Tekniske Universitet

DM507 Eksamen Obligatorisk Opgave Rejseplanlægning

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Grafer og graf-gennemløb

Danmarks Tekniske Universitet

Hamilton-veje og kredse:

Henrik Bulskov Styltsvig

Programmering, algoritmik og matematik en nødvendig sammenblanding?

Mindste udspændende træ

Sammenhængskomponenter i grafer

Grafer og graf-gennemløb

Obligatorisk projekt 3.

Prioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer

Danmarks Tekniske Universitet

Prioritetskøer. Prioritetskøer Træer og hobe Repræsentation af hobe Algoritmer på hobe Hobkonstruktion Hobsortering. Philip Bille

Dynamisk programmering

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

KOLLEKTIV TRANSPORT I YDEROMRÅDER Serviceniveau, udbud og brug af kollektiv trafik

HIT projektet og KOS. Side 1 af 5

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Reeksamen i Diskret Matematik

Skriftlig Eksamen Algoritmer og sandsynlighed (DM538)

Korteste vej Jacob Ditlev Sørensen Studieretningsprojekt 2014

Danmarks Tekniske Universitet

Indholdsfortegnelse. Side 1 af 7

Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion

Kursus i formidling for ph.d studerende

Orienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet

P2-gruppedannelsen for Mat og MatØk

Danmarks Tekniske Universitet

Minimum udspændende Træer (MST)

Danmarks Tekniske Universitet

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Akkrediteringsrådet har godkendt humanistisk-teknologisk basisstudium ved Roskilde Universitetscenter.

Danmarks Tekniske Universitet

Mindste udspændende træ

Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion

Dynamisk programmering

Minimum udspændende Træer (MST)

Skriftlig eksamen i Datalogi

Sommeren 2001, opgave 1

Psykisk arbejdsmiljø Fremtidens ledelsesopgave

Perspektiverende Datalogi Klassiske Algoritmer

Prioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer

CS CHALLENGE MICHAEL I. SCHWARTZBACH MARTIN TOLDAM TORP INSTITUT FOR DATALOGI CS.AU.DK/CHALLENGE AARHUS UNIVERSITET

Normalisering, del 2

BACHELOR I SOFTWAREUDVIKLING IT-UNIVERSITETET I KØBENHAVN

Danmarks Tekniske Universitet

Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomielt tid Optimeringsproblemer kan ikke altid verificeres i polynomiel

Udtømmende søgning. Udtømmende søgning (kombinatorisk søgning) Problem med 4461 byer Udtømmende søgning i grafer. Find den korteste rundtur

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0.

Henrik Bulskov Styltsvig

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Udtømmende søgning 1

Transkript:

29. September 2004 Hvordan virker en rejseplanner? Henning Christiansen professor i datalogi, ph.d. http://www.ruc.dk/~henning Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.ruc.dk/dat

Præsentation Datalogi på RUC uddanner (bl.a.) Tværfaglig kanditater Basis + X + Datalogi = 5 år Datalogisk grundviden + kombi m. X Rejseplanner, hvordan virker den? Eksempel som kræver»grundviden«mine egne forskningsinteresser Logikbaserede systemer, logik. progr.,... Teknologier til analyse af naturligt sprog Databaser Forespørgselssystemer generelt Metoder til formidling af datalogi (univ.-niveau) Henning Christiansen: Rejseplanner... 2

Rejseplanner? http://www.rejseplanen.dk http://bahn.hafas.de/ Hvad skal der til for at det virker? Internet, tilgængelig webside Korrekte & fuldstændige køreplansdata (!!) Et program med en ret genial algoritme hvad er»en algoritme«? Henning Christiansen: Rejseplanner... 3

Det grundlæggende problem, kortest vej Matematiker taler om grafer, knuder + kanter Her: vejnet, byer/stationer, direkte forbindelser som sættes sammen til rejseruter Henning Christiansen: Rejseplanner... 4

Det grundlæggende problem, kortest vej Matematiker taler om grafer, knuder + kanter Her: vejnet, byer/stationer, direkte forbindelser som sættes sammen til rejseruter 5 4 8 3 2 4 2 Henning Christiansen: Rejseplanner... 4

Det grundlæggende problem, kortest vej Matematiker taler om grafer, knuder + kanter Her: vejnet, byer/stationer, direkte forbindelser som sættes sammen til rejseruter 5 4 3 8 2 4 2 Et menneske kan hurtigt regne sig frem til korteste vej her Men når landkortet bliver stort? hurtige og langsomme tog forklare princip så en dum computer kan forstå det! Henning Christiansen: Rejseplanner... 4

Klamphuggeralgoritmen Henning Christiansen: Rejseplanner... 5

Klamphuggeralgoritmen Generér samtlige mulige ruter [uden cirkler] Henning Christiansen: Rejseplanner... 5

Klamphuggeralgoritmen Generér samtlige mulige ruter [uden cirkler] Beregn længden for hver af dem (... +... +...) Henning Christiansen: Rejseplanner... 5

Klamphuggeralgoritmen Generér samtlige mulige ruter [uden cirkler] Beregn længden for hver af dem (... +... +...) Vælg den som har mindst længde Henning Christiansen: Rejseplanner... 5

Klamphuggeralgoritmen Generér samtlige mulige ruter [uden cirkler] Beregn længden for hver af dem (... +... +...) Vælg den som har mindst længde Voila! Henning Christiansen: Rejseplanner... 5

Klamphuggeralgoritmen Generér samtlige mulige ruter [uden cirkler] Beregn længden for hver af dem (... +... +...) Vælg den som har mindst længde Voila! Men Henning Christiansen: Rejseplanner... 5

Klamphuggeralgoritmen Generér samtlige mulige ruter [uden cirkler] Beregn længden for hver af dem (... +... +...) Vælg den som har mindst længde Voila! Men 12 ruter 184 ruter 8512 ruter 2 ruter Henning Christiansen: Rejseplanner... 5

Klamphuggeralgoritmen Generér samtlige mulige ruter [uden cirkler] Beregn længden for hver af dem (... +... +...) Vælg den som har mindst længde Voila! Men 12 ruter 184 ruter 8512 ruter 2 ruter Tidsforbrug antal ruter * gns. længde værre end eksponentielt!!!! Henning Christiansen: Rejseplanner... 5

E.W.Dijkstras algoritme til korteste rute [1959] Henning Christiansen: Rejseplanner... 6

E.W.Dijkstras algoritme til korteste rute [1959] Korteste vej fra X til Y. Henning Christiansen: Rejseplanner... 6

E.W.Dijkstras algoritme til korteste rute [1959] Korteste vej fra X til Y. Princip: generer korteste veje i»cirkler«væk fra X indtil vi har indfanget Y Henning Christiansen: Rejseplanner... 6

E.W.Dijkstras algoritme til korteste rute [1959] Korteste vej fra X til Y. Princip: generer korteste veje i»cirkler«væk fra X indtil vi har indfanget Y Datastruktur: Et vejnet med X og Y markeret Hver by kan huske afstand: lgd. af korteste, kendte rute; start:x = 0, alle andre = Forgænger: Hvor kom den rute fra (hvis relevant) Evt. mærke for»færdig«henning Christiansen: Rejseplanner... 6

E.W.Dijkstras algoritme til korteste rute [1959] X Korteste vej fra X til Y. Princip: generer korteste veje i»cirkler«væk fra X indtil vi har indfanget Y Datastruktur: Et vejnet med X og Y markeret Hver by kan huske afstand: lgd. af korteste, kendte rute; start:x = 0, alle andre = Forgænger: Hvor kom den rute fra (hvis relevant) Evt. mærke for»færdig«eksempel: Efter et stykke tid... 0 4 4 4 4 5 4 7 8 4 11... Y Henning Christiansen: Rejseplanner... 6

E.W.Dijkstras algoritme til korteste rute [1959] Vej fra X til Y i vejnet. 1. Sæt X afstand = 0 2. Lad A være by med mindst afst. blandt ikke- Sæt status for A til For alle A's naboer N som ikke er : Sæt afstand til mindste af evt. gammel afstand for N A's afstand + vejlængde A N Hvis A ikke var Y, gå til 2 Henning Christiansen: Rejseplanner... 7

Hvor effektiv? Henning Christiansen: Rejseplanner... 8

Hvor effektiv? Propertional med antal veje undersøgt op til Y: hver vej op til Y kun passeret 1 gang, (plus en lille sjat til at finde den»mindste«) Henning Christiansen: Rejseplanner... 8

Hvor effektiv? Propertional med antal veje undersøgt op til Y: hver vej op til Y kun passeret 1 gang, (plus en lille sjat til at finde den»mindste«) Det er ikke godt nok: Kvadratisk i rutens længde (suk) X Y Henning Christiansen: Rejseplanner... 8

Hvor effektiv? Propertional med antal veje undersøgt op til Y: hver vej op til Y kun passeret 1 gang, (plus en lille sjat til at finde den»mindste«) Det er ikke godt nok: Kvadratisk i rutens længde (suk) X Y Henning Christiansen: Rejseplanner... 8

Hvor effektiv? Propertional med antal veje undersøgt op til Y: hver vej op til Y kun passeret 1 gang, (plus en lille sjat til at finde den»mindste«) Det er ikke godt nok: Kvadratisk i rutens længde (suk) X YOptimering af Dijkstra's (Hafas o.a.) Tommelfingerregler om lyntog o.lign. Analysere landkort i forvejen, opdele i regioner... (Find selv artikler på nettet) Henning Christiansen: Rejseplanner... 8