De wedstrijden van Vincent Groenhuis


Dit ben ik: Vincent Groenhuis.

Naast het spelen van familiespellen (zoals hier Sieder=Kolonisten) had
ik dit jaar natuurlijk ook zin om aan het Windesheim-toernooi mee te
doen. Niet omdat ik de laatste twee keren 3e en 2e ben geworden, maar
gewoon omdat ik het een erg leuk toernooi vind.

Het grootste probleem in het programma was, dat ik niet wist welke
strategie het beste zou zijn. Het gaat vooral om het beoordelen van een
stelling: hoe beter een stelling gewaardeerd wordt na een bepaalde zet,
des te beter kun je die zet spelen.

Je kunt bijvoorbeeld kijken naar het aantal sterke en zwakke stenen,
het totale aantal vluchtvelden of verhouding daarvan, het aantal
stenen, het minimale aantal zetten dat nodig is om te winnen, de
aanvalsfactor, enzovoorts. Deze zijn niet allemaal even belangrijk. Er
is voor elk onderdeel een wegingsfactor nodig, die experimenteel
bepaald kan worden.

Die experimentele bepaling heb ik maar wat groot opgezet. Een
automatische toernooi-organisator maakt een lijst met verschillende
algoritmes, of liever verschillende combinaties van wegingsfactoren.
Elk algoritme speelt in een dubbelrondig toernooi tegen elk ander
algoritme. Na elke ronde wordt de verliezer bepaald, die gaat eruit. In
die plaats komt een algoritme met (andere) random instellingen erin.

Meestal werkt het toernooi-programma met zo'n 8 verschillende
deelnemers(=algoritmes) tegelijk. In een nacht kunnen dan tientallen
ronden gespeeld worden, even zoveel keer wordt een slecht algoritme
eruit gegooid, een random algoritme erbij gezet, en krijgen de beste 1
of 2 algoritmes steeds meer punten. De volgende dag schrijf ik dan op
welke algoritme(s) bovenaan zijn geeindigd, en na een paar dagen, wat
honderden toernooi-ronden met duizenden partijen betekent, bekijk ik
dan de verschillende toernooi-winnaars en vergelijk ik hun strategie
(=wegingsfactoren) met elkaar.

Daar kwamen enkele verrassende conclusies uit. Het belangrijkste was
dat de sterkste algoritmes het niet zo goed vonden om in het begin
meteen maar op een veilig veld te gaan staan, maar ze zetten liever
gewoon random een steen ergens op het bord, liefst dichtbij het
centrum. Dit werd de basis voor nader onderzoek en een fijnere
openingsstrategie. Waarom begint een sterk algoritme niet gewoon op een
veilig veld? Kijk maar naar de structuur: de veilige velden liggen niet
dicht bij elkaar, maar vormen afzonderlijke eilandjes. Een goed
algoritme bouwt liever meteen een sterk centrumgebied op, omdat de
stenen dan meer met elkaar samenhangen, elkaar beter kunnen dekken en
vanuit het centrum een sterkere positie inneemt.

Toen heb ik het programma zelf nog wat verbeterd. Er bleken namelijk
wat foutjes in te zitten, en het had nog erg veel tijd over. De tactiek
werd wat verbeterd door in bepaalde gevallen dieper vooruit te denken,
ook werd wat meer op de verschillende kleuren gelet bij het bepalen van
het aantal vluchtvelden.

Daarna ben ik de openingsstrategie wat aan het uitwerken. Ik kan me
voorstellen dat de meeste deelnemers de veilige velden (b2,b5,e2,e8,h2,h5)
goede velden vinden. Dus als ik deze velden niet ga bezetten in de
eerste 12 zetten, dan kan ik ervan uitgaan dat de tegenstander die
zes velden gaat bezetten. Zo kan ik van tevoren voorspellen hoe het
bord na 12 zetten er (meestal) uit ziet, en de strategie daarop aanpassen.

Goed, hier de openingsstrategie: het programma bezet in de eerste zes
zetten de velden c4,d3,f3,g4,f6 en d6, als de tegenstander de veilige
velden b2,e2,h2,h5,e8 en b5 bezet. Als het programma nu aan zet is, dan
zet die op e5 waarna hij een ijzersterk centrum krijgt. Als de
tegenstander aan zet is, dan is e5 het enige veld met meer dan 4
vluchtvelden. Een gemiddeld algoritme zoekt waarschijnlijk naar zetten
met zoveel mogelijk vluchtvelden, en zal in dit geval dus op e5 zetten.

In het laatste geval is er een vreemde stelling ontstaan: mijn
programma heeft een grote (open) ringstructuur opgebouwd, de
tegenstander heeft 7 losse eilandjes. Het middelste eilandje, de steen
op e5, staat bijzonder zwak omdat het op afstand volledig is ingesloten
door de stenen van mijn programma. Die steen probeert het programma dan
te pakken, omdat die ver van zijn eigen andere stenen af ligt en daarom
lastig is te verdedigen. Een goede tegenstander kan zijn steen op e5
echter wel redden, waarbij een leuke tactische partij kan ontstaan.
Maar een zwakke tegenstander wordt meteen afgemaakt, als die het nalaat
om zijn steen op e5 voldoende te dekken, of door een andere combinatie.

Het programma is (helaas of gelukkig?) nog niet helemaal perfect. Soms
ziet hij een vervelend zetje over het hoofd, soms doet het zo'n rare
zet die een mens nooit zou doen, soms verliest het op eenvoudige wijze
van mij, maar meestal doet-ie het wel goed. Het belooft wel een leuk
toernooi te worden!

Ik zou het leuk vinden om met andere deelnemers te kunnen mailen
of chatten. Zo kun je me bereiken:

E-mail: v.groenhuis@home.nl
ICQ#: 42362087

Kies een wedstrijdverslag.

Vincent Groenhuis - Jan van der VegtJan van der Vegt - Vincent Groenhuis
Vincent Groenhuis - Roel en MartijnRoel en Martijn - Vincent Groenhuis
Vincent Groenhuis - Danny en WilmerDanny en Wilmer - Vincent Groenhuis
Vincent Groenhuis - Sander en JasperSander en Jasper - Vincent Groenhuis
Vincent Groenhuis - Jan Willem BrinksJan Willem Brinks - Vincent Groenhuis
Vincent Groenhuis - Tijmen en JelgerTijmen en Jelger - Vincent Groenhuis
Vincent Groenhuis - Erik en MartenErik en Marten - Vincent Groenhuis
Vincent Groenhuis - Lennart KatsLennart Kats - Vincent Groenhuis
Vincent Groenhuis - Laurens HolstLaurens Holst - Vincent Groenhuis
Vincent Groenhuis - ToevalligToevallig - Vincent Groenhuis
Vincent Groenhuis - Machiel van HoorenMachiel van Hooren - Vincent Groenhuis
Vincent Groenhuis - Eelco en NiekoEelco en Nieko - Vincent Groenhuis
Vincent Groenhuis - Dietger van AntwerpenDietger van Antwerpen - Vincent Groenhuis
Vincent Groenhuis - Harry VennikHarry Vennik - Vincent Groenhuis
Vincent Groenhuis - Menno ZuidemaMenno Zuidema - Vincent Groenhuis
Vincent Groenhuis - Olivier TielemanOlivier Tieleman - Vincent Groenhuis
Vincent Groenhuis - Nick MatthijssenNick Matthijssen - Vincent Groenhuis
Vincent Groenhuis - Wietse van DijkWietse van Dijk - Vincent Groenhuis
Vincent Groenhuis - Matthijs,Jasper,PeterMatthijs,Jasper,Peter - Vincent Groenhuis
Vincent Groenhuis - Hein PinckaertsHein Pinckaerts - Vincent Groenhuis
Vincent Groenhuis - Rene en NolanRene en Nolan - Vincent Groenhuis
Vincent Groenhuis - Helena en RemkoHelena en Remko - Vincent Groenhuis
Vincent Groenhuis - Gerard en RensGerard en Rens - Vincent Groenhuis
Vincent Groenhuis - Koen en ThomasKoen en Thomas - Vincent Groenhuis
Vincent Groenhuis - Robert en PeterRobert en Peter - Vincent Groenhuis
Vincent Groenhuis - Rene HuijsmanRene Huijsman - Vincent Groenhuis
Vincent Groenhuis - Bram en StevenBram en Steven - Vincent Groenhuis
Vincent Groenhuis - Jogchem de GrootJogchem de Groot - Vincent Groenhuis
Vincent Groenhuis - Bram KuijvenhovenBram Kuijvenhoven - Vincent Groenhuis
Vincent Groenhuis - Sjoerd HemmingaSjoerd Hemminga - Vincent Groenhuis
Vincent Groenhuis - Frederick v.d. WijckFrederick v.d. Wijck - Vincent Groenhuis
Vincent Groenhuis - Wouter en WilkeWouter en Wilke - Vincent Groenhuis
Vincent Groenhuis - Emil KraaikampEmil Kraaikamp - Vincent Groenhuis
Vincent Groenhuis - Jochem en TonJochem en Ton - Vincent Groenhuis
Vincent Groenhuis - Rudolf RoosRudolf Roos - Vincent Groenhuis
Vincent Groenhuis - Sander v. SchouwenburgSander v. Schouwenburg - Vincent Groenhuis
Vincent Groenhuis - Frits van BommelFrits van Bommel - Vincent Groenhuis
Vincent Groenhuis - Jaap en Marcel (doc.)Jaap en Marcel (doc.) - Vincent Groenhuis
Vincent Groenhuis - Christaan BootsmaChristaan Bootsma - Vincent Groenhuis
Vincent Groenhuis - Ton FleurenTon Fleuren - Vincent Groenhuis
Vincent Groenhuis - Raul KooterRaul Kooter - Vincent Groenhuis

Naar het speelschema
Naar het speleroverzicht