| RoutePlanner | Kakuro | Politie | Stratego | Brandweer | ||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||
|
Inleiding Deze opdracht gaat over het maken van een routeplanner zoals TomTom of Garmin, zij het op beperkte schaal. Meegeleverd is een bestand met Nederlandse snelwegen. Basic 1) Maak een systeem met twee inputs: een beginplaats en een eindplaats. Na een druk op de knop geeft het systeem de te rijden route terug. Je mag dit op alle denkbare manieren doen. 2) Voeg afstanden toe in de data, en zorg nu dat het systeem de kortste route teruggeeft. 3) Voeg een optie “file” toe. Op een bepaald stuk weg, bijvoorbeeld de A2 tussen Amsterdam en Utrecht, staat een file. Dus, op het moment dat er een route wordt teruggeven kun je een file invoeren. Zorg ervoor dat het systeem dan een alternatieve route geeft, waar de file ook staat. Advanced 4) Files zijn er in twee klassen: een lichte file, waarbij de rijsnelheid 50% is, en een zware file, waarbij de rijsnelheid 25% is. Zorg ervoor dat het systeem de optimale route teruggeeft, zelfs als dit betekent dat er een stukje filegereden moet worden. 5) Moeilijk: geef vertrektijd, en tijden dat lichte en zware files ontstaan op wegdelen. Laat de routeplanner op ieder punt de optimale route opnieuw checken. |
Inleiding Kakuro’s zijn, net als sudoku’s, cijferpuzzels waarbij in een horizontaal of verticaal blok verschillende cijfers van 1 t/m 9 ingevuld moeten worden. Er zijn twee verschillen: 1) Kakuro’s kunnen rechthoekig zijn, net als sudoku’s, of onregelmatig. 2) Kakuro’s hebben in de kantlijn een getalletje staan: de som. De cijfers van het blok moeten opgeteld de som zijn. Kijk naar bijgevoegde plaatjes.
Figuur 1: Een rechthoekige kakuro. Op iedere rij en in iedere kolom moeten vier verschillende cijfers staan, die opgeteld het getal in de kantlijn vormen.
Figuur 2: Een onregelmatige kakuro. Nog steeds moet in ieder blok een aantal verschillende cijfers staan, die opgeteld het getal bovenin (of links) vormen. Nu is er in de praktijk vaak nog een verschil: bij een sudoku begin je met wat vooraf ingevulde cijfers; anders is ze niet oplosbaar. Dat kan bij een kakuro ook, maar in de meeste gevallen is een kakuro helemaal leeg. Deze opdracht gaat over kakuro, over de redeneringen van het oplossen van kakuro’s, en het bouwen van een systeem. Basic 1) Interview een kakuro-expert over hoe hij kakuro’s oplost. Denk goed na over hoe je dat doet, en hoe je het interview voorbereid. Wat voor elicitatietechnieken ga je toepassen? Kun je al een voorschotje nemen door een hypothese te vormen over hoe een expert een kakuro zou kunnen oplossen? 2) Breng, naar aanleiding van het interview, de redeneringen onder in een regelsysteem. Een diagram, een flowchart, een computerprogramma, alles mag, maar zorg dat het systeem de kakuro’s oplost. 3) Ga voor een tweede interview naar de expert, en leg je bevindingen aan hem of haar voor. Probeer te achterhalen waar jouw systeem afwijkt van de oplosmethode van de expert, en breng vooral ook de verschillen in kaart. 4) Finalize je systeem. Het belangrijkste is dat het kakuro’s oplost, het tweede belangrijkste is dat je de overeenkomsten en verschillen met de expert in kaart brengt. Advanced 5) Als je nog geen computerprogramma had: maak dat, eventueel met grafische interface. 6) Welke kakuro’s zijn makkelijk, en welke moeilijk? De moeilijkheid van een kakuro hangt af van de totale lengte van de benodigde regelset en rederneerchains. Hoe langer, hoe moeilijker. |
Inleiding De politie houdt databases bij van verdachten, slachtoffers en andere burgers. Als je je portemonee bent kwijtgeraakt, ooit aangifte hebt gedaan van je gejatte fiets of bent opgepakt voor openbare vernielingen sta je erin. En ondanks dat de politie vaak verloren portemonees terugbrengt gaat het natuurlijk vooral om het laatste: daderidentificatie door slachtoffers, zodat misdadigers herkend en gepakt kunnen worden. In deze opdracht gaan we een systeem maken waarmee je door een set van vragen kunt identificeren met wie we te maken hebben. “Wie is het?” dus, en het gelijknamige spelletje met de omklapluikjes is de basis van deze casus. Een spelletje als basis, maar dat maakt de zaak niet minder serieus. Het doel van deze opdracht is het maken van een systeem dat verdachten aan de hand van vragen identificeert, en er foto teruggeeft. Basic 1) Maak een tekstbestand met de karakters van “Wie is het”, het spelletje met de omklapluikjes. Op iedere regel staan de eigenschappen van één persoon, gescheiden door een komma. 2) Maak een systeem dat filtert op basis van vragen. “Is de persoon kaal?” – indien er “nee” geantwoord wordt, worden alle kale mensen weggefinkt. Het systeem stelt net zolang vragen tot er maar één persoon over is. 3) Zorg ervoor dat je systeem de vragen zo stelt, dat een verdachte met zo min mogelijk vragen achterhaald kan worden. 4) Maak een gradatiesysteem. Dat betekent dat de vraag “Is de persoon kaal?” vijf antwoorden kan opleveren: “Nee” , “Ik denk het niet”, “Weet ik niet zeker”, “Ik denk het wel” en “Ja”. Laat het systeem weer vragen stellen en de foto van een verdachte teruggeven. Advanced 5) Zorg ervoor dat je systeem de vragen zo stelt, dat een verdachte met zo min mogelijk vragen achterhaald kan worden. 6) Exploreer de mogelijkheden van een grotere database. Hoeveel mensen kan de database maximaal bevatten zodat hij betrouwbaar blijft? |
Waarschuwing Naar alle waarschijnlijkheid vereist deze casus enige programmeerervaring. Inleiding Stratego is een spel dat wordt gespeeld door twee spelers met elk veertig stukken op een bord van 10x10 vakjes. Het bord is dus behoorlijk vol, zeker omdat er ook nog eens acht vakjes door water onbegaanbaar zijn. Maar daar komt snel verandering in, want stukken mogen elkaar slaan. Daarbij wint het stuk dat het hoogst in rang is, met uitzondering van het hoogste stuk op het bord, de maarschalk, die enkel en alleen door het laagste stuk, de spion, geslagen kan worden. Ieder stuk mag één stapje lopen, behalve de verkenner, die mag er tien lopen, en de bom en de vlag bewegen helemaal niet. Ieder stuk dat op een bom loopt is dood, behalve de mineur die de bom kan ruimen. Wordt je vlag geslagen, dan heb je verloren. Uit voorgaande blijkt een niet onbelangrijk detail: de stukken van je tegenstander zijn "blind" totdat je ze slaat. Niettemin kun je met tellen, redeneren en puzzelen redelijk inschatten wat waar staat, en dat is meteen de eerste hint voor deze casus. Als Stratego nieuw voor je is duizelt het aantal regels je misschien een beetje. Speel het twee of drie keer, dan zul je zien dat het vrij eenvoudig is en toch best leuk. Voor de volledigheid nog de verdeling van de stukken in oplopende rang:
Zie eventueel ook het artikel op de Nederlandse wikipedia van het spel.
Stratego: het bordspel Basic 1) Maak een stratego-agent (een AI-programma dat stratego speelt. De speler kan zetten doen, de agent doet een random legale zet. 2) Breid de agent uit. Hij houdt nu een lijstje bij van de mogelijke rangen van de stukken van de speler, al hoeft hij daar nog niet slim mee om te gaan. 3) Breid de agent uit. Hij speelt nu om te winnen, en probeert stukken van de tegenspeler te slaan met hogere stukken. Advanced 4) Breid de agent uit. Laat de majoor en de kapitein maximaal twee stappen per beurt zetten, de luitenant, de sergeant en de mineur maximaal drie. 5) Breid de agent uit door een groter bord te gebruiken, of een niet-voporopgezette stukkenverdeling. Overleg met je docent. |
Stalled De brandweercasus is nog in ontwikkeling, maar tot nader order opgeschort voor 2011. |