Informatica in ons dagelijks leven: Routeplanner Gerard Tel (docent) Wat is informatica? In vrijwel alles zit informatica • mobiele telefoon, mp3-speler • navigatiesysteem • televisie, medische apparatuur Vrijwel niets werkt zonder Informatica • logistiek (planning) • entertainment (animaties) • het internet Voorbeeld: Computer Games • Zeer grote toepassingen • Meest moderne informatica technieken • Game Technologie is een van de richtingen van Informatica in Utrecht Voorbeeld: Routeplanner • Relatief eenvoudige toepassing • Combinatie van moderne informatica en andere beta disciplines • Grote Nederlandse invloed (Dijkstra, TomTom) Wat zit er in? • Miniatuur elektronica: processor, geheugen, antenne 1227.6MHz • Satellietontvanger (Nauwkeurig!) • Aanraakscherm • Batterij • Trigonometrie: driehoeksmeting • Kaart Europa (1 miljoen nuttige punten) • Bediening met pictogrammen en menu’s Trace op kaart Kortste weg (km) Afrit 18 Afrit 19 20 6 12 Toms huis Toren 3 Zwembad 4 2 Stadhuis 4 Kasteel 6 4 3 8 2 School Molen Edsger Wybe Dijkstra (1930-2002) • De eerste programmeur (in 1952!) • Hij vond in 1959 uit hoe een computer routes kan uitrekenen • Kortste Pad Algoritme van Dijkstra • Punten en wegstukjes met afstand Wat ziet de Computer? start = 0 end = 8 [Nodes] 0 "Toms huis" 1.62 11.94 1 "Toren" 7.01 11.75 2 "Stadhuis" 5.38 15 3 "Kasteel" 12.4 11.82 4 "School" 15.19 14.81 5 "Molen" 18.11 12.96 … [Edges] 0-1 3 0-2 4 0-6 6 1-3 6 1-2 2 … 5-8 4 6-7 20 7-8 3 Wat zien we echt? Voorlopige schattingen Dijkstra’s rekenmethode gebruikt voorlopige schattingen die later definitief worden De beste route om bij een blauw punt te komen is bekend, de afstand staat erbij (definitief). De schatting van een punt (school): Langs welk blauw buurpunt kun je het beste op school komen? En hoe ver is dat? Pretpark Molen: 13 Startpunt: 0 7 2 Via de Molen: 13 + 7 = 20 Via het Kasteel: 15 + 3 = 18 Het pretpark is niet blauw! School: ?? De schatting voor de school is 18 3 Kasteel: 15 Dijkstra’s methode 1. Maak eerst het beginpunt (Toms huis) blauw, met afstand 0 2. Welk punt heeft de laagste schatting? 1. Maak het blauw 2. De schatting wordt de afstand (definitief) 3. Herhaal steeds stap 2 4. Je bent klaar als het eindpunt (zwembad) blauw is Stellingen over schattingen • Pessimisme: schatting(v) ≤ afstand(v) • Doel: schatting(v) = afstand(v), v is AF • ALS uv op een kortst pad naar v, EN gerelaxeerd NADAT u AF was, DAN is v AF Weg met Algoritmiek • Ga naar geocaching.com • Zoek GC4PCZ7 (ff relaxen) • Extra Algoritmiek-goodies: Aan het werk met Wybe http://www.staff.science.uu.nl/~tel00101/Wybe/ Garmin PND • Fietshouder, batt 4h, spraak • Europakaart (Hm, “Europa”) • garmin.openstreetmap.nl – Gratis, Open, Parties – Bestand op μsD zetten – Kaarten per gebied of land – Veel PoI’s – Wit-Rusland – Texel Android app voor mobiel • • • • PND leveranciers zijn bijna out of business Heeft je mobiel GPS (= hardware!)? Google Maps: beperkt off-line Be-on-road: – Download per land OpenStreetMap – Volledig off-line gebruik – Auto, voet of heli, geen fiets! Hoe groot is de kaart? • Punten Europa: n = 50 miljoen • Als Graaf PLANAIR: m < 3n – Euler: n + f – m = 2 – Faces: 2m ≥ 3f (uitzondering?) – m ≤ 3n-6 • Kaart is niet plenair (bruggen) • Gemiddelde graad 1½: m = 70 miljoen Stap voor stap met Wybe • Snelheidsschuif naar links • Een stap per klik (op Play) • Probeer te bedenken wat er gebeurt bij de volgende klik Snelste Route • Zet kaartenkiezer op Tom (Snelst) • Wat zou de beste route zijn? Afrit 18 Afrit 19 12 4½ 9 Toms huis Toren 4½ Zwembad 6 3 Stadhuis 6 Kasteel 9 6 2¼ 12 3 School Molen Afrit 18 Afrit 19 3000 900 1800 Toms huis Toren 900 450 1200 Kasteel 1800 600 Zwembad 1200 Molen 600 1200 Stadhuis 2400 School Het moet nog beter! • • • • • Hoeveel wegen zijn er in Nederland? Europa? Reken (bijna) alleen met snelwegen Kun je rekenen met éénrichtingswegen? Werkt het voor fietsen of wandelen anders? Voor een vliegtuig? Is het product af? Doorgaande ontwikkeling! Afstudeerprojecten (Utrecht): • Integratie van databestanden Welke wegen zijn feitelijk dezelfde? • Dead reckoning Geen ontvangst? Koppel beweging aan kaart. • Weg-representatie met cirkelbogen Verminder het aantal punten in je kaart Navigatie op smartphone: app Interactie • de manier van interactie heeft een belangrijke invloed op gebruik • nieuwe technieken komen eraan: … Wii controller … gebaar herkenning … brein-machine interactie … Spraaksturing Vakken • Interaction Technology • Beeldverwerking Minor: Informatiekunde Algoritmiek • Gaat over het efficiënt uitvoeren van complexe berekeningen • Welke keuze is optimaal • Zoekruimte • Wat kan wel, wat kan niet • Hoe snel kan het Vakken • Datastructuren • Algoritmiek • Optimalisering en complexiteit De laagste schatting? • Dijkstra: “steeds alle punten bekijken” ExtractMin in Lineaire tijd (1959)!! Erg veel werk voor grote kaart • Kies Rooster 2 en Mens-wachtrij • Je moet steeds zelf de laagste schatting aanklikken • Hoe kun je dit goed automatiseren? De beste wachtrij Geen richtingsgevoel • Kies Klungelig (en boom-wachtrij) • Wybe “ziet” slimme dingen niet Negatieve kosten • Kan dat wel? • Kies Negatief gewicht • Mens-wachtrij: kan wel De Metro • Open Metro (Naief) • Van Zicin naar Haje: overstappen in Mustek en Muzeum • Van Cerny Most naar Skalka: enkele overstap in Mustek is sneller! • Algoritme aanpassen op overstapkosten? • Kaart corrigeren voor overstapkosten? • Open Metro (Splits) Combinatorische routes • Gewenst tussenpunt: – Snelste route komt niet langs PIN – Wat is de snelste route MET PIN? – Snelste van huis -> PIN plus Snelste van PIN -> Zwembad • Tussenpunt kost TWEE “normale” routeberekeningen Zwembad Quest • Tom heeft GELD en ZWEMBROEK nodig • GELD halen bij – PIN machine, 1 min – Oma, heeft ook zwembroek, 33 min – Vriend, 13 min • ZWEMBROEK bij – Huis, 22 min zoeken – Oma, ook geld, 33 min – Zeeman, 2 min, eerst GELD • HOEVEEL mogelijke routes? Quest als Routeprobleem • Per locatie vier knopen: -, G, Z, GZ • Start: [Toms Huis, -] Doel: [Zwembad, GZ] • Ruilen of krijgen: “lokaal wegstukje” met tijd Quest is 1 normale routeberekening Netwerk wordt vier keer zo groot Informatica • ontwerpen en bouwen van geautomatiseerde systemen • verbeteren van de werking van computers en programmatuur Informatiekunde • betekenis van ICT voor mens en maatschappij • functioneren van mensen en organisaties • ICT vanuit het perspectief van de gebruiker Meer weten over informatica als studie? • Een dagje studeren (aanmelden via UUsite) • Bekijk de website van het departement Informatica: www.cs.uu.nl/education/ met alle details van vakken, docenten en achtergronden • Richting Gametechnologie: www.gametechnologie.nl Informatica-techniek gericht op Games, simulatie, graphics.