Page 1

tweemaandelijks blad van studievereniging via nummer veertien - juni 2005


R E D A C T I O N E E L

Van de redactie Koen van de Sande

Enkele maanden terug ontstond op de redactie van de Cavia het idee om een themanummer over games en puzzels te doen. Blij verrast waren wij enkele weken later toen ineens geruchten over een ‘gaming-master’ op de UvA de kop opstaken. Het was overduidelijk dat het idee bij ons vandaan kwam, maar leden van de redactie zijn allen op de hoogte van de buitengewone vertrouwelijkheid van onze plannen. Het doorzoeken van de VIA-kelder op afluisterapparatuur leverde niets op, maar dat zegt niet alles omdat we de vernieuwde MAME-kast niet uit elkaar mochten halen. Het vermoeden blijft daarom bestaan dat onze plannen via het AIVD-lek naar buiten zijn gekomen. Vergezocht? Jazeker, maar het doet niet onder voor de flinterdunne verhalen die in de meeste computergames te vinden zijn. In deze Cavia dus extra veel aandacht voor puzzels en games met een schaakpuzzel, een Go-puzzel, een Japanse puzzel, een artikel over het geautomatiseerd oplossen van mozaïekpuzzels, een gamereview en een artikel over games en informatiewetenschappen. Een artikel met meer informatie over de gaming master werd op het laatste moment afgezegd... zeer verdacht! Voor alle derdejaars die er nog niet uit zijn welke master ze willen doen raad ik aan het interview ‘Na de bachelor’ te lezen, want je hóeft natuurlijk helemaal geen aansluitmaster te doen! We hebben nog veel meer interessante artikelen, maar voor een compleet overzicht verwijs ik je naar de pagina hiernaast die hiervoor bedoeld is. Ik wil iedereen namelijk nog een mooie zomer wensen en aansporen om toch vooral mee te doen aan de verkeersbordenfotowedstrijd!

Van de voorzitter Daan Vreeswijk

Het studiejaar zit er alweer bijna op. Op dit moment zijn de meesten nog bezig met hun project, en daarna wacht een al dan niet welverdiende vakantie. Maar goed, zoals de laatste tijd gebruikelijk komt er op de faculteit op het laatste moment, in blessuretijd zogezegd, nog even een projectje langs. Ik hoop dat iedereen toch nog in staat is om op 16 juni onze fantastische ouwelullenborrel te bezoeken. En vergeet vooral ook niet de eindejaarsbarbecue op 29 juni, alwaar een gratis fust zal worden uitgedeeld. Bovendien gaan er geruchten over bodypaint... In het aankomende jaar zullen er natuurlijk door de VIA weer een hoop nieuwe (en oude) activiteiten georganiseerd worden. Denk bijvoorbeeld alleen al aan het EJW. Mocht je zin hebben om mee te helpen bij het opzetten van een activiteit, kom dan eens langs op de borrel en spreek een bestuurslid of coördinator aan (wellicht te herkennen aan hun blauwe truien). Het is erg leuk om te doen, en je bent van harte welkom! Rest mij om iedereen vanaf deze plaats een heerlijke vakantie toe te wensen, met veel zon, ontspanning, en lol, en ik hoop iedereen na de vakantie weer terug te zien. (En denk erom: veilig vrijen!) 2 C AV I A D E RT I E N


I N H O U D VIA-bestuur 2005 04 Het Ruben Boumans, secretaris hole in the wall project 05 The Frank van Cappelle perception networks 07 Distributed Gregor Pavlin wiskundige mogelijkheden om RSA te berekenen 10 De Joppe Bos PHP extension and application repository 13 Pear: Koen van de Sande 15 Rectificaties Tim van Erven is de projectenman? 16 Wie Koen van de Sande draad kwijt 18 De Column van Ivo Singer the jupiter incident 19 Nexus: Game review door Tonnie Wessling 21 Solaris Film review door Aziz Baibabaev 23 Griddler Puzzel van Janneke van der Zwaan

Cavia 13 is een uitgave van studievereniging VIA en wordt gratis verspreid. Deze uitgave is van april 2005. Adres Plantage Muidergracht 24, 1018 TV Amsterdam telefoon: (020) 525 5520, e-mail: c@via.uvastudent.org Redactie Koen van de Sande (hoofdredactie), Tim van Erven, Daan Vreeswijk, Aziz Baibabaev, Ruben Boumans, Ivo Tamboer Opmaak Martijn Stegeman voorkant: Dave van Soest, achterkant: Ruben Boumans Advertenties bel voor meer informatie met VIA, (020) 525 5520 Š 2005 Studievereniging VIA. De Cavia wordt opgemaakt met Pages op een  Macintosh.

C AV I A D E RT I E N 3


Wat doe je na de bachelor? Sinds de invoering van de BachelorMasterstructuur is het mogelijk om na een bachelor iets anders te gaan doen dan de bijbehorende aansluitmaster. Iemand die van deze mogelijkheid gebruik heeft gemaakt is Ivo Singer, die bij ons op de faculteit Informatica heeft gedaan. Wat heb je gestudeerd? Ik ben begonnen met een half jaar geneeskunde, maar dat beviel me niet goed. Ik wilde graag mensen helpen en de wereld verbeteren, maar toen ik de studie deed, merkte ik dat ik mezelf niet in een doktersjas zag rondlopen en dat ook het onderzoek waarschijnlijk minder spectaculair zou zijn dan ik had gedacht. Het jaar daarop wist ik eigenlijk niet wat ik wilde gaan studeren. Ik wilde toen ik klein was computerspellen maken, maar de studie Informatica leek mij erg saai. Na geneeskunde ben ik het toch een jaar gaan doen en heb ik mijn propedeuse gehaald. In het tweede jaar heb ik een aantal weken de opleiding Sustainable Moleculair Science and Technology (SMST) in Delft en Leiden gedaan. Deze opleiding was erg intensief en je hele week werd voor je volgepland. Op zich was de stof wel interessant en de leraren en de staf erg gemotiveerd, maar toch leek het me niets om deze studie voltijd te doen. Tijdens en na SMST heb ik het tweede jaar van Informatica gedaan. Na die twee jaar vond ik het zonde om daar niets mee te doen, dus heb ik de bachelor Informatica afgemaakt. Tijdens het afstudeerproject Informatica [een project van 5 maanden/21 ECTS, red] 4 C AV I A D E RT I E N

merkte ik dat ik in die drie jaar wel wat heb opgestoken. Ik kan nu zelfstandig iets onderzoeken en ook daadwerkelijk maken. Het was een mooie afsluiting van mijn bachelor Informatica, die ik in juli 2004 heb gehaald. Wat doe je nu? Tijdens mijn bachelor Informatica en de bachelor Sustainable Molecular Science and Technology merkte ik dat de wetenschap mij eigenlijk niet zo trekt. Ik heb veel meer interesse in een kunstzinnige opleiding. Ik doe nu de bachelor Media en Cultuur aan de UvA: ik ben weer helemaal opnieuw begonnen. Deze opleiding ligt meer in de richting waarin ik in de toekomst ook echt iets wil gaan doen en waar ik later ook echt iets aan ga hebben. En om als huiswerk film en TV te kijken en te analyseren is natuurlijk ook niet verkeerd! Voordat er een verkeerde beeldvorming ontstaat over Media en Cultuur: wat doe je nog meer? Meer mensen krijgen een verkeerd beeld als je zegt dat je als huiswerk film en TV moet kijken. De studie bestaat eigenlijk uit drie onderdelen: film, televisie en nieuwe media. Om wat voorbeelden te geven van film. Ik heb bijvoorbeeld filmgeschiedenis gehad, van de eerste filmpjes tot de huidige bioscoopfilms. En ook filmtheorie (op welke manier kunnen we de film analyseren) en ook (in theorie) de elementen waaruit een film bestaat zoals editing, camerawerk, belichting. Verder worden in deze studie de al eerder genoemde media in de context van de samenleving belicht. Wat wil je in de toekomst gaan doen?


Ik probeer nu de theorie te doen bij mijn Wat vind je van de plannen van staatsopleiding en zelf in mijn eigen tijd de secretaris Rutte om na 5½ jaar studeren praktijk. Het duurt me te lang om nog het collegegeld te verdrievoudigen? aan de kunstacademie te beginnen, want Ik vind het erg rigoureus om ineens het om daarop toegelaten te worden moet je collegegeld te laten stijgen van een eerst een portfolio hebben, dat ik aan normaal niveau naar het drievoudige. Ik het begin van dit studiejaar nog niet heb er niet genoeg verstand van om te had. En om pas volgend jaar aan een kunnen zeggen of het terecht is of niet. vierjarige opleiding te beginnen, dat Veel mensen schreeuwen meteen dat het duurt me te lang‌ teveel collegegeld is, omdat het meer is Nu kan ik bij Media en Cultuur in twee dan nu, maar daar wil ik me niet bij jaar een bachelor halen vanwege vrijaansluiten. stellingen die mijn vorige studies geven, Wat ik wel wil opmerken is dat je niet in plaats van de drie jaar die normaal alleen driemaal zoveel collegegeld bevoor een bachelor staat. Daarna ga ik taalt, maar dat rond die tijd ook nog waarschijnlijk een aansluitmaster doen eens je studiefinanciering ophoudt en/of van een jaar, dan heb ik in ieder geval een lening wordt. Als je dat erbij rekent, een mastertitel. Als het me te theorekan het een enorm verschil maken. Ik tisch wordt, ga ik misschien proberen TNO Defensie_2x50_zw-w 15:53 hoop dat 10-03-2005 ik niet onder die regeling van werk te zoeken in de filmbranche. Rutte ga vallen in ieder geval!

De HiTecMasterclass. Aan het begin van je carrière al de kans krijgen om multidisciplinair te opereren. Op het snijvlak van theorie en praktijk. TNO en Defensie bieden twintig talentvolle (bijna) afgestudeerden in technische richtingen 8 weken de kans - betaald kennis te maken met deze twee hightech organisaties. Academici van negen universiteiten hebben met groot enthousiasme

aan dit programma deelgenomen. Vorig jaar hebben 13 deelnemers er na afloop een baan gevonden. Van 12 september tot en met 4 november 2005 vindt de vijfde editie plaats. Meer weten? Kijk op www.hitecmasterclass.nl

C AV I A T WA A L F 5

Pa


Mijn Spelen is Leren (cursief) Peter van Emde Boas

Mijn Spelen is Leren. Dit oude adagium van het montessorionderwijs komt bij mij op als ik denk aan het verzoek om een bijdrage te leveren aan deze Cavia aflevering over Games en Informatiewetenschappen. Ik zie het weer allemaal voor mijn ogen opdoemen: de Roze Toren en de Bruine Trap, de stokken waarmee de optelling van getallen onder de tien begrijpelijk wordt gemaakt voor vierjarigen, het vermenigvuldigbord en de deelbak, en bovenal de in 27 stukken gezaagde kubus, waarmee kleuters in mijn jeugd vertrouwd werden gemaakt met de volgende identiteit: FORMULE Het verhaal gaat dat de medeleerling die er niet in slaagde deze blokkendoos na gebruik weer in elkaar te zetten, naar ondergetekende of mijn latere echtgenote werd verwezen in plaats van naar de juf; het probleem van de lerares die de wiskunde niet machtig is deed zich rond 1950 ook al voor. Overigens ben ik van mening dat geen hedendaags computergestuurd onderwijs gereedschap kan tippen aan het klassieke montessorimateriaal als het gaat om het vroegtijdig aanleren van wiskundig inzicht. Ik ga er echter van uit dat de redactie van de Cavia ge誰ntersseerd is in mijn visie op de relatie tussen spelen en leren in de context van onze huidige studies informatiewetenschappen. In dit verband wil ik iets vertellen over het gebruik dat ik reeds jaren maak van entiteiten afkomstig uit computer- en andere spelen bij mijn onderwijs. Gegeven het huidige studieprogramma zullen de meeste propaedeuse en bache6 C AV I A D E RT I E N

lor studenten mij slechts kennen als de persoon die als voorzitter van de Examencommissie na het voltooien van het studieprogramma een handtekening mag plaatsen onder hun documenten, gesteld dat die mogen en kunnen worden uitgereikt. Later ontdekken een aantal master studenten dat ik ze onder de titel Game Theory for Information Sciences les geef over de nooit eindigende strijd tussen de Dwergenkoning Thorgrim Grudgebearer, en zijn Orc tegenstander Urgat. Mensen die reeds zeer lang rondlopen zullen wellicht nog weten dat een aantal jaargangen studenten Inleiding Databases zijn lastig gevallen met informatiemodellen voor de Warhammer wereld en de wereld van het computer spel Civilization, en op zoek naar obsolete links op mijn website kunt U nog steeds tegen een Desert Twister Spell aanlopen uit Magic the Gathering. Al deze spelen hebben gemeen dat het spelletjes zijn, die oorspronkelijk via mijn zonen het huis zijn binnengekomen, dat die daaraan een fortuin aan zakgeld hebben besteed en dat heden ten dage alleen vader nog belangstellend is voor deze artikelen, terwijl de zonen zelf hun interessen in andere richtingen hebben verschoven. Wat mij bij kennisname van deze spelletjes altijd interesseerde was er achter te komen hoe ze werken, en dat doe je het beste door hetzij de zonen in actie te observeren en de documentatie te lezen, hetzij door het zelf te spelen, met alle fatale gevolgen van dien (aan het spelen van Civilization besteed ik nog steeds te veel tijd).


Onze visitatiecommissie zal het niet erg waarderen als wij Warhammer en Magic the Gathering als studieonderdelen in ons programma gaan opvoeren. Dat deze thema's toch optreden in mijn onderwijs heeft dan ook een indirecte oorzaak: mijn opvatting dat de conceptuele werelden die schuil gaat achter deze redelijk complexe spelletjes zich uitstekend lenen om als voorbeelden te worden behandeld bij het echte onderwerp van het college, onafhankelijk of het hier nu gaat over speltheorie of over gegevensbanken. Ik begin met het gebruik van de wereld van het spel Civilization als voorbeeld voor het maken van informatiemodellen. De traditionele modellen van organisaties (Employee's, Departments, Managers, etc.) of ziekenhuizen of bibliotheken verveelden mij reeds voordat ik een enkel college gegevensbanken had gegeven. Als je, zoals ondergetekende, meent dat een correcte en volledige beschrijving van het bedrijfsleven te vinden is bij Dilbert, dan is verdere evidentie niet meer van node voor het onderbouwen van de opvatting dat een alternatief voorbeeld gezocht dient te worden. Achter Civilization gaat echter een niet triviale wereld schuil, waarover het een en ander te ontdekken valt. De wereld ligt vast - als bepaald door de programmatuur van het spel, maar is onvolledig beschreven in documentatie en help files, zij het dat tegenwoordig via een website als die van de Civfanatics (http://civfanatics.com/) veel van de ontbrekende informatie valt te achterhalen. De wereld is interessant genoeg om te worden bekeken door studenten, anders zouden zij het spel ook niet willen spelen. En je kunt er dingen van leren: informatie opgeslagen in figuren die er

uitzien als tabellen zijn niet automatisch te vertalen naar tabellen in een relationele gegevensbank. En voor personen die geïnteresseerd zijn in object modellen vormt de introductie van het concept upgrading zoals geïntroduceerd via Leonardo's Workshop een interessante uitdaging voor het ontwerpen van een object-hiërarchie van de juiste granulariteit. Ook het verschil tussen een gemakkelijk en een onhanteerbaar probleem laat zich goed illustreren aan de tech-tree van Civilization II. Deze tech-tree beschrijft de volgorde waarin de in dit spel zo belangrijke technologieën kunnen worden verworven door middel van onderzoek. Het diagram in de meegeleverde documentatie waarin deze techtree wordt uitgelegd aan de legale gebruiker van het spel is echter een ondoorzichtige kluwen met achterwaarts lopende of indirect aangegeven afhankelijkheden. Opgave is de afbeelding van deze tech-tree te fatsoeneren. Ervoor zorgen dat de verschillende techs op hun juiste niveau in de hiërarchie terecht komen is een makkelijk oplosbaar probleem (via het Topological Sort algoritme); om vervolgens iedere laag in deze hiërarchie zo te ordenen en in de toegewezen kolom te plaatsen dat het aantal elkaar in de afbeelding kruisende afhankelijkheden wordt geminimaliseerd is een instantie van een probleem dat inmiddels is bewezen NP-volledig te zijn. De figuren Thorgrim en Urgat zijn geïntroduceerd in mijn college Speltheorie als afschrikwekkend tegenvoorbeeld tegen het advies wat ik meende te hebben gelezen in het door mij gebruikte boek Fun and Games van Binmore: gebruik geen personificaties voor spelers in de te analyseren spelletjes die C AV I A D E RT I E N 7


ook maar enige vorm van empathy kunnen oproepen. In de speltheorie bestuderen wij tenslotte het gedrag van de perfecte rationele agent. Helaas geeft het concept van rationaliteit aanleiding tot vele diepgaande problemen, en studie van het recente proefschrift van onze ILLC promovendus Boudewijn de Bruin (Explaining games: on the Logic of Game Theoretic Explanations) leert ons hoe lastig deze problemen zich laten oplossen. Een mathematische beschrijving van de irrationele of de door en door slechte agent lijkt echter een geheel onontgonnen onderzoeksgebied te zijn. Ik ben echter nog steeds te zeer tegendraads om zoals de rest van de wereld mijn agenten aan te willen duiden als Alice en Bob, of, nog gruwelijker, als Speler 1 en Speler 2. Het advies van Binmore is overigens wel degelijk relevant; de indruk blijft hangen dat de perceptie van de problemen met achterwaartse inductie bij Binmore's Rups-spelen wordt be誰nvloed door de Warhammer Saga's die ik in mijn college daaraan ophang; een interessant fenomeen dat echter duidelijk op het werkterrein van anderen dan informatici en wiskundigen thuishoort. De Magic kaart Game of Chaos was oorspronkelijk slechts bedoeld als illustratie op de titelslide van het hoofdstuk over tweepersoons spelen met probabilistische zetten. Pas later is mij gebleken dat deze kaart en haar gebruiksmogelijkheden zich goed laten analyseren met de Von Neumann-Morgenstern Utiliteits-theorie, en deze analyse vormt inmiddels een regulier onderdeel van het college. Lezers die nooit een van mijn colleges hebben gevolgd en die met de meer technische aspecten van dit verhaal niet uit de voeten kunnen, verwijs ik naar 8 C AV I A D E RT I E N

mijn website voor het vak Game Theory for Information Sciences, http://staff.science.uva.nl/~peter/teachin g/gtis05.html, waar links naar presentaties en artikelen over deze onderwerpen te vinden zijn (meestal onder het kopje extra materiaal). Ik zie wel een nadeel van het gebruik van dit soort voorbeelden: ze leveren geen bijdrage aan de oplossing van het probleem dat onze studierichtingen als onaantrekkelijk worden ervaren bij studenten van buiten de kringen van de jeugdige tech-nerds, en ze zullen dus niet helpen om de broodnodige dames voor onze opleiding te werven. Toen ik dit thema zes jaar geleden aan de orde stelde kon ik nog hopen op de opkomst van een generatie computerspelen die ook voor vrouwen aantrekkelijk zijn, maar op dat gebied is er in de wereld in zes jaar weinig veranderd. Wat blijft staan is echter het inzicht dat ook het hedendaagse speelgoed goed kan worden gebruikt als voorbeeld ter lehringe ende vermaeck bij het onderwijs.


I N T E R V I E W

Geautomatiseerd oplossen van mozaïekpuzzels Koen van de Sande

Een mozaïekpuzzel is een puzzel die qua stijl het beste vergeleken kan worden met een Japanse puzzel: doel is het inkleuren van de gehele puzzel zodat deze aan de aangegeven voorwaarden voldoet. In figuur 1 zijn voorbeelden van mozaïekpuzzels te zien afkomstig van de website van ConceptisTech. De getallen geven aan hoeveel vakjes er gekleurd moeten worden; daarbij gaat het om het vakje met het getal zelf en de acht aangrenzende vakjes. Als de puzzel is opgelost, dan vormen de ingekleurde vakjes een plaatje. Voorbeelden van opgeloste puzzels vind je later in dit artikel. Als AI-student heeft het mij altijd gefascineerd hoe je puzzels door een computer zou kunnen laten oplossen (deze neiging werd vooral sterk als ik weer eens vastzat in een puzzel). Toen ik bij een mozaïekpuzzel alles met uitzondering van de laatste 12 vakjes kon inkleuren, werd het tijd om het geautomatiseerd oplossen ook echt te gaan implementeren. Het aansturen van een robotarm met camera die de puzzel daadwerkelijk inkleurt valt niet binnen mijn definitie van een oplossing implementeren: we gaan het alleen over de puzzel zelf hebben.

Representatie vakjes Het eerste waar je bij een AI-probleem over na moet denken is welke representatie je gebruikt. Bij een mozaïekpuzzel is de eerste ‘ontdekking’ die we doen dat een vakje niet alleen gekleurd en ongekleurd kan zijn, maar ook dat een vakje leeg moet blijven. In de represen-

tatie zijn er dan ook 3 toestanden per vakje: Unknown (toestand van het vakje is nog niet bekend), Off (vakje moet leeg blijven), On (vakje is gekleurd). Constraints Ieder getalletje in de puzzel is een constraint (beperking) op een aantal vakjes. Als één van die vakjes van toestand verandert, dan is dat mogelijk van invloed op de constraint: misschien kan er nu wel meer afgeleid worden. In de Python-implementatie die bij dit artikel hoort, heeft ieder vakje een lijst van methodes die aangeroepen moeten worden als het vakje verandert. Iedere constraint ‘luistert’ dan ook naar wijzigingen door een methode bij zijn vakjes te registreren. Meer details over de implementatie zal ik hier niet geven; aan het eind van dit artikel staat een link naar de implementatie. Met de waarden van alle buurvakjes van een constraint (dit zijn er 4, 6 of 9, afhankelijk van de positie ten opzichte van de rand van de puzzel) en zijn getal (het aantal vakjes dat de toestand On moet krijgen) willen we afleiden of we nog meer buren kunnen invullen. Het eerste triviale geval is dat het getal van de constraint gelijk is aan het aantal buren: ze kunnen allemaal worden ingekleurd (worden On). Het tweede triviale geval is dat het getal van de constraint 0 is: alle buren moeten ongekleurd blijven (worden Off). Met behulp van deze triviale gevallen kunnen er meer ‘triviale’ gevallen ontstaan: als er 1 buurvakje gekleurd is, en het getal van de constraint is 1, dan C AV I A D E RT I E N 9


I N T E R V I E W moet de rest Off worden, als er 2 gekleurd zijn en het getal is 2, dan moet de rest Off worden, etc. Deze gevallen geven aanleiding tot een algemene regel. Als n het aantal buurcellen is, c het getal van de constraint, #On het aantal buurcellen is dat gekleurd is, #Off het aantal buurcellen waarvan zeker is dat ze ongekleurd moeten blijven en #Unknown het aantal cellen dat nog onbekend is, dan geldt dat: #On + #Off + #Unknown = n #On ≤ c Gelden deze voorwaarden niet voor een constraint, dan is er sprake van een contradictie: er is geen oplossing (of er is een fout gemaakt). Uit bovenstaande voorwaarden kunnen we afleiden wanneer we buurcellen kunnen inkleuren: als #On = c (de rest moet dan wel Off zijn) of als n – #Off = c (de rest moet dan wel On zijn). Deze regel is genoeg om het eerste voorbeeld uit figuur 1 geautomatiseerd op te lossen (zie figuur 2). Het tweede voorbeeld kan slechts gedeeltelijk worden opgelost. Waarom kon de eerste wel worden opgelost en de tweede niet? Een bijzonder flauw antwoord hierop is dat de eerste puzzel uit de categorie ‘basic logic’ mozaïekpuzzels kwam, waarbij slechts één constraint tegelijk bekeken hoeft te worden, wat vrij eenvoudig is. De tweede komt uit de ‘advanced logic’ categorie, waarin situaties voorkomen waarbij meerdere constraints tegelijk in beschouwing moeten worden genomen.

Advanced logic puzzels We kunnen de moeilijke puzzel met brute kracht proberen op te lossen (alle onbekende vakjes met On en Off proberen), maar aangezien er nog 116 vakjes 10 C A V I A D E R T I E N

open zijn, zou dit betekenen dat we 2116 mogelijkheden moeten proberen. In plaats daarvan combineren we brute kracht met een heuristiek: in het ergste geval moeten we nog steeds alle mogelijkheden proberen, maar omdat de heuristiek geïnformeerd het volgende vakje om te proberen kiest, is de verwachting dat dit niet nodig is. Bij het kiezen van de heuristiek maken we gebruik van een eigenschap van de voor mensen bedoelde puzzels: ze zijn uniek oplosbaar. Oftewel, de complete puzzel kan slechts op één manier worden ingekleurd zonder contradicties te hebben. Als er nu een aantal vakjes nog onbekend is, en op deze vakjes precies dezelfde constraints van toepassing zijn, dan moeten deze vakjes dezelfde waarde krijgen. Zouden ze een verschillende waarde hebben, dan zou je deze kunnen omwisselen om ook een oplossing van de puzzel te krijgen, maar dat is in tegenspraak met de unieke oplosbaarheid. Groepen vakjes die dezelfde waarde moeten krijgen, zijn bijzonder interessant om als eerste te proberen, omdat deze het aantal overgebleven mogelijkheden sneller reduceren dan de andere vakjes. Door de heuristiek worden deze dan ook eerst geprobeerd. Zodra een vakje een waarde krijgt, wordt ook de eerder afgeleide regel weer toegepast op de puzzel, omdat een extra waarde er vaak voor zorgt dat er weer meer afgeleid kan worden. Ontstaat er een ongeldige situatie (het aantal vakjes dat nog On of Off moet worden, wordt negatief), dan wordt er gebacktrackt en worden er andere waarden geprobeerd. Als er geen groepen vakjes meer over zijn, dan worden de dan nog overgebleven vakjes geprobeerd, in de volgorde waarin ze in het raster voorkomen. Door die volgorde worden vakjes die


I N T E R V I E W dicht bij elkaar in de buurt liggen snel na elkaar geprobeerd. Deze spatiele coherentie leidt mogelijk sneller tot contradicties bij onjuiste keuzes, maar eigenlijk werd dit alleen maar gedaan omdat de implementatie het eenvoudigst was. Het tweede voorbeeld uit figuur 1 blijkt met de heuristiek in 10.000 pogingen op te lossen (zie figuur 3). Dit duurt ongeveer 1 seconde en dat is een stuk beter dan brute force 2116 mogelijkheden proberen. Op de website van ConceptisTech staat als voorbeeld ook nog een Einsteinpuzzel van 25 bij 25, die na het toepassen van de eenvoudige afleidingsregel nog 375 vakjes openlaat. Deze kan opgelost worden met ongeveer 50 miljoen pogingen (dat duurt 10 minuten op een normale PC). In figuur 3 staat ook de oplossing van de Einsteinpuzzel. De gebruikte puzzels zijn voorbeelden van de website van ConceptisTech: HYPERLINK "http://www.conceptistech.com" http://www.conceptistech.com De implementatie is te downloaden vanaf HYPERLINK "http://www.tibed.net/files/mozaiekCavi a.py" http://www.tibed.net/files/mozaiekCavi a.py Bijschriften figuren (opmerking voor Martijn: deze kan je ook weglaten, ze zijn niet echt nodig): Figuur 1: Links een eenvoudige mozaïekpuzzel, rechts een ‘advanced logic’ mozaïekpuzzel. Figuur 2: Oplossingen van de puzzels uit figuur 1 met alleen de afleidingsregel. Grijze vakjes zijn nog onbekend. Figuur 3: Links de oplossing van de ‘advanced logic’ puzzel uit figuur 1,

rechts de oplossing van de Einsteinpuzzel.

C A V I A D E R T I E N 11


G A M E

R E V I E W

Fotowedstrijd: het leukste verkeersbord In de vakantie zwerft iedereen uit over de aardbol en onderweg kom je de gekste dingen tegen. Als jij ergens een leuk verkeersbord ziet, maak er dan een foto van, want dan kun je meedoen aan de Cavia-fotowedstrijd! Het leukste verkeersbord wordt beloond met een bioscoopbon voor 2 van €15 en wordt opgehangen in de VIA-kelder. De tweede prijs is een bierpakket en (heel toevallig) de derde prijs ook! Dus grijp je fototoestel en ga op pad! Iedereen kan zijn of haar foto van een leuk verkeersbord insturen onder de volgende voorwaarden: Het is verboden foto’s te bewerken met Photoshop (tenzij dit zo goed gebeurt dat de jury het niet ziet). Alleen originele foto’s: de jury wil behalve een foto van het verkeersbord ook een foto van jezelf met het verkeersbord. Het ideale excuus om mensen lastig te vallen! Lukt het niet om zelf met het verkeersbord op de foto te gaan, dan graag een aannemelijke uitleg waarom dit niet gelukt is (bijvoorbeeld: “het bord hangt boven de snelweg en toen ik probeerde uit te stappen raakte de auto bijna een deur kwijt”). De redactieleden van de Cavia zijn niet uitgesloten van deelname, tenzij ze zitting nemen in de (onafhankelijke) jury. Inzendingen worden mogelijk afgedrukt in de volgende Cavia, daarom worden inzendingen op een zeer lage resolutie (lager dan 1500x1000) niet beoordeeld. Foto’s van jouw verkeersbord kun je sturen naar c@via.uvastudent.org

12 C A V I A T W A A L F


G A M E

R E V I E W

Schaak

Dave van Soest Wit is aan zet en zet zwart schaakmat in 2 zetten.

Wit is aan zet en zet zwart schaakmat in 3 zetten.

C A V I A T W A A L F 13


Boeiende pagina’s volgens een arbitraire definitie Frank van Waveren

memepool http://www.memepool.com/ Links naar de curiosa van het web. Soms grappig, soms boeiend, soms helemaal niks. Een van de oudere weblogs (sinds '98), maar zonder comments en lange verhalen; alleen maar links.

movielens http://movielens.umn.edu/ Voorspelt op basis van welke films je leuk vond, naar welke je ook zou moeten kijken. Een onderzoeksproject van de Universiteit van Minnesota. Zeker niet perfect, maar toch een goede manier om boeiende films te vinden.

Onelook reverse dictionary http://www.onelook.com/reverse-dictio nary.shtml Kan je even niet op een (Engels) woord komen? Voer de omschrijving in en je krijgt een lijst van mogelijkheden.

Dodgeit http://www.dodgeit.com/ Sites die verificatie e-mails sturen voor ze je laten inloggen, kun je een throwaway Hotmail account voeren, maar dit is minder moeite: vul <iets willekeurigs>@dodgeit.com in en bekijk de mails die ze je sturen via de homepage van dodgeit.

London review of Books personals http://www.lrb.co.uk/classified/index.ph p#PERSONALS Vooral de personals sectie is zeer de moeite waard. Contactadvertenties die

door het literaire publiek van het blad net een beetje origineler zijn dan elders. "Some chances are once in a lifetime. Not this one, I've been in the last 12 issues. Either I strike gold this time or I become a lesbian. - Man, 43."

del.icio.us http://del.icio.us/ "Community bookmarking". Eenvoudig cross-browser dingen bookmarken en taggen om ze makkelijk terug te vinden. Niet voor dingen die je dagelijks gebruikt maar meer voor die grote stapel "dat wil ik later nog eens terug vinden" links. Door het grote aantal gebruikers komen in de "populaire links" sectie een hoop boeiende dingen boven drijven.

The wayback machine http://web.archive.org/collections/web.h tml Snapshots van websites op allerlei tijden in het recente en minder recente verleden. Handig als sites verdwenen zijn en ook niet meer in de Google cache zitten.

Science now http://sciencenow.sciencemag.org/ Dagelijks vers nieuws over natuurkundig en biologisch onderzoek.

The Complexity Zoo http://www.complexityzoo.com/ Was het nou BQP of NQP? Houd je de complexiteitsklasses niet meer uit elkaar? Deze site geeft alle veelgebruikte (en veel minder gebruikte) complexiteitsklasses, en hun relaties tot elkaar.


P U Z Z E L "Please do not feed oracles to the complexity classes! These classes require a specially balanced diet to ensure proper relativization."

The Onion http://www.theonion.com/ Satirische krant, wekelijks nieuwe editie. Begonnen in '88 op papier, en sinds

'96 online. De horoscoop is meestal erg aardig. "Libra: (Sept. 23-Oct. 23) Everyone takes a while to adjust to new surroundings, but unfortunately, you only have eight minutes before the fissure begins to fill with magma."

AI game player programming contest Dave van Soest

Al enige tijd ben ik samen met een aantal mensen bezig om een wedstrijd te organiseren waarbij de deelnemers AIagents programmeren voor een computerspel, om die vervolgens tegen elkaar te laten strijden. In eerste instantie was ons oog gevallen op het in de VIA-kelder ooit zo populaire spel "Tetris Attack". Daarvan bestaat namelijk ook een open source implementatie voor op de PC, genaamd "Crack Attack". Het bleek echter te veel werk om met een paar mensen en hun beschikbare uren dit binnen redelijke tijd (lees: voor de zomer) af te krijgen. Maar omdat ik erg veel enthousiaste reacties heb gehad, zou ik het toch erg zonde vinden om het helemaal af te blazen. Ondertussen werd mij aangeraden eens naar het spel "Zoo Keeper" te kijken. Dit spel is eigenlijk een clone van "Bejewelled" en is eerst als een Flash-spel uitgebracht (even Googlen...) en later op de Nintendo DS. Het spel heeft een aantal overeenkomsten met Tetris Attack en lijkt mij ook erg geschikt om een AI-competitie mee te houden. Uiteindelijk zou het, denk ik, het leukst zijn om de AI-spelers tegen elkaar te laten strijden, i.p.v. slechts te proberen een zo hoog mogelijke score neer te

zetten. Daarom zit ik nu met het idee te worstelen om een spel te gebruiken waarbij alle spelers in eenzelfde grote arena opdrachten moeten uitvoeren, zoals in Robo-Rally, of dat je elkaar moet uitschakelen. Het spel moet echter wel aan bepaalde eisen voldoen. Zo moeten de regels zo simpel mogelijk zijn, zodat de drempel om mee te doen niet zo hoog is, maar toch moet het spel wel ongelimiteerd gecompliceerde tactische mogelijkheden toestaan. Zoals je wel zult begrijpen staat er nog weinig vast en kan ik alle input gebruiken. Dus maak ik nu van de gelegenheid gebruik om te vragen om reacties op vooral het volgende punt: Welk/wat voor soort spel zou je het leukst vinden om zo'n wedstrijd mee te houden? Verder kan ik alle hulp gebruiken bij de implementatie, de PR (website e.d.) en het testen. Dus als je je geroepen voelt... reageer! Uiteindelijk zal in de eerste helft van komend studiejaar de wedstrijd moeten gaan plaatsvinden. Waarschijnlijk zal deelname opengesteld worden voor iedereen. Reacties kunnen gestuurd worden naar dsoest-at-science. C A V I A D E R T I E N 15


P U Z Z E L

Dungeon Lords Tonnie Wessling

Het is weer tijd voor een game review. Zelf ben ik wat minder gaan gamen de laatste tijd vanwege het feit dat ik begonnen ben met afstuderen, maar toch doe ik bijna elke dag nog wel wat. Vaak is dat nog steeds World of Warcraft, maar ook wel eens “for old times sake” Sacred en, sinds kort, Dungeon Lords. Ik had zin in een spel met wat meer verhaal, en dit leek me wel een geschikte kandidaat. Dungeon Lords speelt in een 3D-wereld waarin je allerlei sub-quests kunt doen, waardoor er steeds meer een wereld van mysterie en verraad onthuld wordt – een beetje à la Morrowind (die titel zullen de meesten van jullie wel kennen). Vaak moet je, uiteraard, een dungeon in, om daar een item te halen voor een quest, of items voor jezelf natuurlijk. Niet alleen in dungeons is er combat, dat krijg je overal en nergens. Als je ergens te lang stil staat, spawnt er vanzelf wel iets in de buurt. Verder zijn er van die pseudo-random spawns als je aan het wandelen bent van plek naar plek, die getriggered worden doordat je ergens loopt. Niet heel random dus, maar ik denk dat het erom gaat dat je niet te lang in een gebied of dungeon blijft rondbanjeren. Het hele concept van het spel en het verhaal is dus niet origineel, maar de invulling is wel redelijk. De gameplay zelf is behoorlijk als een fps, en je kijkt van achter op je character, net zoals in WoW. Klikken is slaan/ spell casten, en de blokfunctie (met je schild dus) zit (bij mij dan) op de rechtermuisknop. Die blokfunctie is erg belangrijk in DL, heb ik gemerkt! Kilo’s pijlen, messen en, jaja, zelfs ballista-pijlen en spells kun je met je schild 16 C A V I A D E R T I E N

blokken. Dat is misschien een beetje overdreven, maar het kan wel vaak je leven redden. Dungeon Lords is namelijk niet het makkelijkste spel om zonder dood te gaan te spelen. In DL krijg je uiteraard ook experience voor elke kill die je maakt, en die wordt op twee manieren gebruikt. De ene manier is de gebruikelijke teller, om levels omhoog te gaan – daar kun je weinig aan veranderen. De andere manier is dat die punten ook opgespaard kunnen worden om bepaalde skills te kopen of te upgraden, waardoor je harder gaat slaan, meer intelligence krijgt, of zonder penalty een beter armor of wapen kunt gebruiken. Je kunt dus kiezen voor een heel breed georienteerd character, maar je kunt je ook specialiseren. Een advies: als je mage bent, is het in het begin vrijwel ondoenlijk om met alleen maar spells te werken. Je hebt nl. geen mana, maar een maximale hoeveelheid van de spells die je op dat moment kent. Je moet dus even wachten totdat je een aantal spells hebt, en die kun je dan opgebruiken. Daarna moet je weer even wachten tot de spells weer aangevuld zijn. Het is een beetje te vergelijken met mana, maar ook weer niet helemaal. Je kunt namelijk twintig keer dezelfde spell vinden; dan kun je die spell dus twintig keer vaker casten voordat hij op is. Daarna kan je uiteraard wel met een andere spell verder gaan. Dat moet je dus wel even onder de knie krijgen, maar daarna gaat het wel. Spells doen wel relatief veel damage namelijk. De graphics zijn best okee, maar niet spectaculair. De omgeving is niet supergedetailleerd, maar wel prettig om naar te kijken. De bewegingen van je


F I L M character zijn ook wel mooi en vloeiend, maar het gezicht van je character verandert niet. En het is best een maf gezicht om een heel blij blond meisje voortdurend vreselijk te zien glimlachen, maar goed, je kijkt toch van achter op je poppetje, dus veel zal je daarvan niet zien.

Al met al is het een redelijk standaard game, met standaard graphics. Het enige opvallende aan dit spel vind ik de manier waarop je je experience-punten ook kunt gebruiken om skills te kopen/ upgraden. De verhaallijn is ook wel okee, en ik denk dat aardig wat mensen zich toch een tijd kunnen vermaken met dit spel, omdat het wat meer inhoud heeft dan Diablo of WoW.

Problemen met leven en dood Emil Nijhuis

Go is een mooi spel om te spelen, maar ook om te bestuderen. Probleempjes oplossen is dan ook een goede methode om het spel beter te begrijpen. Zwart is telkens aan zet. In haakjes is aangegeven hoeveel zetten voor de oplossing nodig zijn. makkelijk, 3 zetten

moeilijk, 3 zetten

lastig, 5 zetten

hersenbreker, ? zetten

C A V I A D E R T I E N 17


G A M E

R E V I E W

What the bleep do we know!? Ivo Singer

De originele filmtitel van deze film doet het hart van een groot deel van de informatiewetenschappers in spé onder ons ongetwijfeld sneller kloppen. Een titel met Griekse letters erin en met wiskundige versieringen, dat schept natuurlijk hoge verwachtingen! Daarom trok ik er op uit om eens te gaan kijken of deze film ook daadwerkelijk de verwachtingen waarmaakt. In de bioscoop aangekomen leek het een kwartier voor aanvang nog alsof ik getrakteerd zou worden op een privévoorstelling. Echter tien minuten voor het begin van de film kwam een oudere man met een “wat is het rustig, hè?” binnen en ging ergens achter me zitten. Met deze man achter me, in het donker een film te gaan zien, deed enkele horrorscenario’s in mijn hoofd opkomen. Maar gelukkig, even later brachten twee duo’s vrouwen de sfeer weer op een gemoedelijk Libelleniveau. De uitleg dat je in een bekerhouder een beker kon zetten, deed mijn hartslag weer dalen en mijn ademhaling weer op gang brengen. Gelukkig wisselde het andere duo nog even Oud-Hollandse oplossingen tegen oorpijn uit, waardoor we helemaal klaar waren om de film te gaan beleven. De film is een mengeling van een aantal stijlen. Ten eerste bevat het een documentaire waarin wetenschappers en andere aparte figuren hun visie geven op zaken die wij als klootjesvolk als heel normaal beschouwen. Quantummechanica, parallelle universa en spirituele thema’s noem het maar op en ze hebben er wel wat over te vertellen. Daarnaast zien we driedimensionale animaties waarin concepten uitgelegd of geïllustreerd worden, vaak met een 18 C A V I A T W A A L F

hoog entertainment gehalte, maar mij hoor je niet klagen. Deze twee stijlen worden verbonden door middel van een fictieverhaal over een dove fotografe die in allemaal aparte situaties terecht komt die weer te maken hebben met wat er besproken wordt door de geïnterviewden. Dit klinkt misschien niet zwaar boeiend, maar het is filmtechnisch mooi in elkaar verweven en heeft een hoog filosofisch karakter. Niveau zal ik niet zeggen, want ik heb geen flauw benul van het wetenschappelijk gehalte van deze film (what the bleep do I know!? in dit geval dus). Wel kan ik zeggen dat het niet alleen mooi is, maar ook in een ander opzicht een boeiende film, doordat het de fantasie prikkelt. De geïnterviewden spreken op enthousiaste wijze in beeldende taal, die ook nog eens vaak met beelden wordt ondersteunt. Daardoor is deze film ook nog eens zeer licht verteerbaar. Mocht deze beschrijving je aanspreken, ga dan even naar de website van de film. De trailer die daar te zien is, vind ik zeer representatief. Ga je er heen en ben je dit soort films niet echt gewend, dan zou ik je wel willen aanraden om je hersenen eerst even voor te bereiden op het feit dat dit geen Star Wars is of Kingdom of Heaven. De toon is echter wel minder serieus dan het Discovery Channel. Het is kortweg infotainment in optima forma. Trailers & meer informatie over de film op: http://www.whatthebleep.com/


G A M E

R E V I E W

De hartstochtelijke rationalist Jeroen Kools

De Hartstochtelijke Rationalist zat op een stoel. Hij dacht nergens aan. Of, beter gezegd, hij dacht aan nergens. Nergens, dacht hij, is niet ergens waar ik veel van weet. Algemener gezegd, maar van minder belang, is het niet ergens. Toch is ‘niet ergens’ ook wel een aanduiding van plaats, waardoor het weer wel ergens is. Waar is binnen? Niet buiten. Waar is het donker? Niet in het licht. Waar is nergens? Niet ergens. Hij ging er heen. De Hartstochtelijke Rationalist was nergens en keek om zich heen. Nergens bood een oogverblindend uitzicht op Niks, Nooit en op Niemand in het Bijzonder. Niemand in het Bijzonder stapte op de Hartstochtelijke Rationalist af en zei niks. “Wie ben je?”, vroeg onze geliefde denker. “Ik ben Niemand”, zei de ander, “Niemand in het Bijzonder.” “Dat klinkt zo… nietig”, zei de een. “Waarom stel je jezelf niet voor als: Bijzonder, Niemand in het Bijzonder”? “Komt op hetzelfde neer”, antwoordde Niemand in het Bijzonder. Stilte. “Heb jij ambities?”, vroeg Niemand in het Bijzonder plots aan de Hartstochtelijke Rationalist. “Niet bewust”, was het antwoord. “Weet je wat de grootst mogelijke ambitie is?”, vroeg Niemand in het Bijzonder met een raadselachtig glimlachje. “Drie keer raden…” De Hartstochtelijke Rationalist peinsde. En peinsde.

“Het Heelal vernietigen?”, suggereerde hij. Niemand in het Bijzonder bulderde van het lachen en vernietigde tegelijkertijd het Heelal door middel van een kleine, handzame Heelalvernietiger die hij al die tijd al bij zich droeg, maar die de Hartstochtelijke Rationalist nog niet had opgemerkt. De populaire denker ervoer geen bijzondere emoties bij het zien van deze specifieke heelalvernietiging uiteraard vanwege zijn Rationele aard – maar hij beredeneerde wel dat hij min of meer verantwoordelijk was voor een hoop narigheid. Door dit feit en door nieuw gepeins kwam hij tot zijn tweede poging. “Het Heelal herscheppen?” En Niemand in het Bijzonder herschiep het Heelal. De Hartstochtelijke Rationalist, zelfs hij, kon niet ontkennen zich enigszins opgelucht te voelen toen hij het bekende Heelal weer zag verschijnen. “Moeilijker, maar nog steeds zo… enkelvoudig”, zei Niemand in het Bijzonder. De geniale geest begreep dat dit een aanwijzing was, en dat het de enige was die hij zou krijgen. Het is ambitieus, dacht hij, tenminste, in de zin zoals Niemand in het Bijzonder het woord gebruikt, om een bepaald probleem op te willen lossen. En hij piekerde: wat is nu het grootst mogelijke oplosbare probleem? Na een tijd wist hij het en toen besteedde hij nog 931 jaar aan de juiste formulering. De Hartstochtelijke Rationalist zei trots tegen Niemand in het Bijzonder, die redelijk geduldig had gewacht en slechts af en toe uit verveling was verpulverd: “De oplossing C A V I A T W A A L F 19


G A M E

R E V I E W

vinden voor het Probleem van Problemen in het algemeen.” De ogen van Niemand in het Bijzonder werden vervuld van verbazing en het hart van onze held werd vervuld van ambitie, wat nieuw voor hem was. “Dat klopt!”, riep Niemand in het Bijzonder en verdween terwijl de Verstandelijke Romanticus oftewel de Hartstochtelijke Rationalist nadacht over het

Probleem van Problemen in het algemeen. “Paradoxaal”, zei de Hartstochtelijke Rationalist over het Probleem van Problemen in het algemeen, en was het gedeeltelijk met zichzelf eens. “Toch is het tevens geheel verklaarbaar”, voegde hij toe, en stak zich zonder aanwijsbare reden neer.

Japans

Janneke van der Zwaan

De oplossing van de vorige Japanse puzzel was de kop van een roofvogel. De bioscoopbon van € 7,50 is gewonnen door Areej Mahdi. Zij heeft haar prijs intussen in ontvangst genomen. Vanwege de fotowedstrijd is er deze keer met de Japanse puzzel geen prijs te winnen. In alle rijen en kolommen moet het 1 aangegeven aan1 1 1 1 tal vakjes inge1 1 1 1 1 1 1 2 1 1 1 1 1 kleurd worden. 2 3 6 3 2 1 1 2 1 1 3 1 1 Eén getal bete2 2 2 4 8 7 5 7 2 1 2 2 2 2 1 1 1 1 7 4 3 3 3 9 1 1 9 2 3 3 7 1 3 7 1 2 1 3 1 kent dat er één 3 6 5 2 1 1 1 1 1 1 1 3 1 1 2 3 3 1 3 4 2 2 4 4 groep ingekleurd 1 2 10 6 2 2 2 3 3 3 4 4 5 1 1 2 1 1 1 1 1 1 1 1 1 moet worden. 6 6 Meerdere getallen 5 geven aan dat er 6 6 6 3 meerdere groepen 8 2 ingekleurd moe9 6 ten worden. De 11 2 2 5 2 3 groepen zijn van 2 2 4 7 elkaar gescheiden 3 2 2 2 1 3 3 door minimaal 5 2 1 1 1 9 1 1 1 2 één wit vakje. De 9 1 1 1 2 volgorde van de 3 4 2 2 4 2 4 2 1 2 getallen geeft ook 4 1 1 2 2 1 de volgorde van 8 1 1 1 2 de groepen aan. 4 1 2 2 4 4

2

1

3

2

10

2

3

2

11

4

6

2 6 10

20 C A V I A T W A A L F

Cavia 14  

Cavia 14 van VIA