Oplossen van een doolhof

Slides:



Advertisements
Verwante presentaties
Sudoku puzzels: hoe los je ze op en hoe maak je ze?
Advertisements

Boss RC-50 Guide Beats laten horen Beats aanpassen Instructie voor leerlingen Guide is één van de mogelijkheden met de Boss RC-50.
Examenroute Zoetermeer
Een manier om problemen aan te pakken
ATLAS MUON COSMIC RAY TESTSTATION Martijn van PottelbergheReinier de Adelhart Toorop.
COMPETITIEREGLEMENT  De wedstrijden worden gespeeld op zaterdagmiddag van 13:00 uur – 17:30 uur  Iedereen wordt 15 minuten voor aanvang van de wedstrijd.
Graph Begrippen: knoop, vertices kant, zijde, edge
Project D2: Kempenland Sander Verkerk Christian Vleugels
Project D2: Kempenland Sander Verkerk Jeffrey van de Glind
Motion Planning in Games Pathfinding with A * Ronald Treur.
Een workshop over katten, muizen en nadenken in de Informatica
Dijkstra Kortste pad algoritme.
Extra vragen voor Havo 3 WB
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 Oplossing Langste Pad Probleem Cees Witteveen
Les 12 : MODULE 1 Snedekrachten (3)
AI21  Deel I: Terminologie Voorbeelden Zoekrichting (forward, backward)  Deel II: Zoekmethoden depth-first breadth-first iterative-deepening eigenschappen.
1 Complexiteit Bij motion planning is er sprake van drie typen van complexiteit –Complexiteit van de obstakels (aantal, aantal hoekpunten, algebraische.
Lokale zoekmethoden Goed in de praktijk:
Project OO-AD: Color Crazy Domien Nowicki, Bjorn Schobben.
ARVEVO Recreanten 3.
WMF Plaatjes bewerken In 2007.
Assembly-taal Namen:Danny van Waes Rohan Schenk Klas:EM4 Docent:Dhr. Ing. JA Verhage Embedded systems.
1 Datastructuren Een informele inleiding tot Skiplists Onderwerp 13.
Het rijgen van remnaafwielen met een stalen velg
H4 Differentiëren.
Planning With Nonholonomic Constraints By Jeroen Resoort & Ronald Treur.
Tafelcursus U-14 en hoger
Praktijk verkeersexamen basisschool St. Aloysius 2014.
Ladders Sport voor sport. Ladders Sport voor sport.
Project OO-AD: Color Crazy Domien Nowicki, Bjorn Schobben.
Rogier van der Linde & Davy De Winne, 2014
Representatie & Zoeken
Gevorderde PROGRAMMeer Les
 Zet voor elk groep een pion op ‘start’  Eerste groep gooit met dobbelsteen  Aantal ogen dobbelsteen bepaalt kleur kaartje  De groep beantwoordt de.
Boswandeling Groep 1&2 A, Groep 1&2 B.
Dirigeren Wat doet een dirigent?. inhoudsopgave Wie laat ik spelen? Ga ik aftellen? Welke opdrachten kan ik geven? Hoe laat ik ze stoppen?
Grafentheorie Graaf Verzameling knopen al dan niet verbonden door takken, bijv:
Recursie…. De Mandelbrot Fractal De werking… De verzameling natuurlijke getallen… 0 ∞-∞
Ukelele Akkoorden en tabs
Gitaar 1 Akkoorden, 2 tonen, 3 melodie als tab+noten 4 melodie als tab, 5 pentatonische toonladder.
Significante cijfers Wetenschappelijke notatie a • 10b
Examenroute Zoetermeer Startpunt: Zegwaartseweg PP Zoetermeer.
Woordjes leren.
Ukelele Snaar / positie Letter bij snaar / positie Akkoorden Akkoordenschema Tab.
Hoe maak je een werkstuk? Begin op tijd!!. Kies een leuk onderwerp  Denk aan een hobby, sport, beroep, stad of onderwerp uit een van de lesboeken van.
Praktijk verkeersexamen basisschool St. Aloysius 2016.
Brainstorming Rogier van der Linde, WAT & WAAROM BRAINSTORMEN 2 Genereren van ideeën of oplossingen voor één of meerdere problemen waar je normaal.
Doorzoeken van grafen Algoritmiek. Algoritmiek: Divide & Conquer2 Vandaag Methoden om door grafen te wandelen –Depth First Search –Breadth First Search.
Netwerkstroming Algoritmiek. 2 Vandaag Netwerkstroming: definitie en toepassing Het rest-netwerk Verbeterende paden Ford-Fulkerson algoritme Minimum Snede.
Divergeren Deze powerpoint ga je aan de slag met verschillende divergerende technieken. Hierbij bedenk je zoveel mogelijk ideeën. Bij een brainstormsessie.
Zelf een ruimte tekenen. Rechtsklik op een getal tussen de + en – – Pas de stap aan Of type de gewenste maat in en bevestig met enter of ga naar een.
Wiskunde G3 Samenvatting H2: Parabolen
Doorzoeken van grafen Algoritmiek.
BEGINNER EV3 PROGRAMMEER Les
Zelf routes maken Hoe je eenvoudig zelf een route kunt maken en op je navigatiesysteem kunt zetten.
Longboard rijden Board balance Tricks Tricks Tricks Board balance
Datastructuren voor graafrepresentatie
Verplaatsen met een rolstoel
A B C Training : 8 Teamfunctie : Verdedigen Doelstelling technisch
A B C Datum : Teamfunctie : Verdedigen
BEGINNER EV3 PROGRAMMeer Les
Sleutels, codes en aanwijzingen
Slim tellen.
Cursus kaartlezen voor vrouwen
Doolhof Bron: Bebras / Beverwedstrijd.
Slim tellen.
Doolhof. doolhof doolhof Maak een routine die de ‘hekken’ tussen de cellen weghaalt Maak een 2-dimensionale array met kolommen en rijen aangeklikt.
Leren programmeren met Scratch
Transcript van de presentatie:

Oplossen van een doolhof A.J.F. Kok

Oplossingsmethoden Minst-bezochte-vakje algoritme Rechterhand-aan-de-muur algoritme Kortste-pad algoritme ..

Minst-bezochte vakje Vanuit huidige punt Inspecteer alle buren Ga naar buurpunt dat minst bezocht is Als nieuwe punt = eindpunt  oplossing gevonden

Minst-bezochte vakje 1 Initialisatie Start vanuit startpunt Zet voor ieder veld waarde “aantal bezocht” op 0 Voor startpunt zet waarde op 1 1

Minst-bezochte vakje Tot eindpunt gevonden Zoek minst bezochte buur Ga naar buur en verhoog waarde “aantal bezocht” Voorkeursrichting in voorbeeld: rechts, onder, links, boven 1 2 2 1 3 1 2 1 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1

Minst-bezochte vakje Zeer eenvoudig algoritme Vindt gegarandeerd een pad Inefficiënt

Rechterhand-aan-de-muur Huid je rechterhand steeds aan de muur Kijk steeds vanuit huidige positie of je rechtsaf kunt Is dat mogelijk ga rechtsaf Is het niet mogelijk ga dan voorwaarts Is dat niet mogelijk ga dan linksaf Is dat niet mogelijk ga dan terug

Rechterhand-aan-de-muur Initialisatie Start vanuit startpositie Zet huidige richting zodanig dat een muur aan rechterhand zit Zet voor ieder veld waarde “bezocht” op 0 Voor startpunt zet waarde op 1 Opmerking: Waarde “bezocht” alleen gebruikt voor tekenen 1

Rechterhand-aan-de-muur Totdat eindpunt gevonden Als naar rechts bewogen kan worden, doe dat Anders draai op huidige positie kwartslag naar links totdat wel naar rechts bewogen kan worden, en ga dan naar rechts 1 1 1 1 1 1 1 1 1 1 1 1 1

Rechterhand-aan-de-muur Implementatie tip Definieer richtingen dx = {0, 1, 0, -1}, dy = {1, 0, -1, 0} Bepaling nieuwe richting (huidige richting + 3) mod 4 Zolang niet vrij tel steeds 1 op bij richting (mod 4) 1 2 3

Rechterhand-aan-de-muur Vrij eenvoudig algoritme Oplossing alleen gegarandeerd als doolhof aan bepaalde voorwaarden voldoet: Begin en eindpunt aan rand van doolhof Inefficiënt

Kortste-pad Zoek kortste pad met breadth-first search algoritme Zolang eindpunt niet gevonden Zoek alle nog niet eerder bezochte buurpunten en stop deze achter in lijst Huidige punt is eerste punt op lijst Als eindpunt is gevonden Reconstrueer kortste pad

a-b-e-c-g-h-l-i-n-j-m-k-o-f-p-d-q Kortste-pad a b c e l g n h j i k f m q d p o a b c d e f g h i j k l m n o p q a-b-e-c-g-h-l-i-n-j-m-k-o-f-p-d-q

Kortste-pad 1 Initialisatie Zet volgnummer (afstand) van alle velden op 0 Zet volgnummer van eerste veld op 1 Zet startpunt in lijst 1

Kortste-pad 1a 0b 0c 0d 0e 0f 0g 0h 0i 0j 0k 0l 0m 0n 0o 0p 0q 2b 2e Zolang eindpunt niet gevonden Haal punt van begin lijst Als punt is eindpunt dan stop Anders Bepaal alle nog niet bezochte buren Geef deze buren volgnummer + 1 Stop buren achter in lijst Reconstrueer kortste pad 1a 0b 0c 0d 0e 0f 0g 0h 0i 0j 0k 0l 0m 0n 0o 0p 0q 2b 2e 3c 9d 8f 4l 4h 3g 6j 6m 5i 7k 5n 7o 8p 9q [f,p] [p,d] [m,k] [o,f] [k,o] [h,l] [e,c] [b,e] [a] [c,g] [g] [i,n] [j,m] [l,i] [n,j,m]

Kortste-pad 1 2 3 9 8 4 5 6 7 Reconstructie Markeer kortste pad Start bij eindpunt en zoek pad waarbij volgnummer steeds 1 afneemt 1 2 3 9 8 4 5 6 7

Kortste pad Lastigste om te implementeren Vindt gegarandeerd oplossing via kortste pad