afkorting | naam - code | naam - gewoon | speler |
---|---|---|---|
k | Black | zwarte koning | gebruiker |
K | White | witte koning | computer |
N | Knight | wit paard | computer |
B | Bishop | witte loper | computer |
De representatie bestaat uit een rits variabelen, van elkaar gescheiden door een zelfgemaakte operator die in chess.pl staat:
op( 220, xfy, .. ),De stukken zijn in de notatie zoals omschreven bij Notatie.
Om het loper-en-paard eindspel kan enkel tot schaakmat leiden, indien
de koning van de tegenpartij in een een hoek an worden gedreven. Het
veld in deze hoek moet dan dezelfde kleur hebben als die van de velden
waarover de loper zich beweegt (zodat de loper de koning uiteindelijk
schaakmat kan zetten).
Zo ziet de eindsituatie eruit:
De zetten die tot deze eindsituatie zijn: 1.Ne7-d5 Kb8-a8 2.Nd5-b4 Ka8-b8 3.Nb4-a6+ Kb8-a8 4.Bf5-e4#
Wanneer dit werkt kan men het programma uitbreiden door er eerst voor
te zorgen dat de zwarte koning in een goede hoek wordt gedreven, daarna
treed dan het hierboven beschreven proces in werking.
Om een schaakmat te
kunnen afdwingen met een paard en een loper moet de zwarte koning naar
de hoek gedwongen worden waar de loper kan komen.
Omdat wij maar een week hebben is dat niet genoeg tijd
om vanuit elke stelling mat te kunnen zetten. Daarom zullen we in een
situatie beginnen van waaruit mat binnen een paar zetten gehaald kan
worden.
De tactieken die de toren en de
koningin gebruiken zijn bekend en lijken niet op de voor die van het
paard en de loper en kunnen daar ook niet voor gebruikt worden.
De tactieken die we wilden gebruiken
zijn die naar de hoek drijven zodat de zwarte koning nog maar twee
vakjes beweegruimte heeft. Die twee vakjes worden door de witte koning
en de loper dichtgehouden en vervolgens wordt door het paard vakje a6
gekozen (zie Probleem decompositie) en door de loper mat afgedwongen op
e4.
Uiteindelijk zijn we maar gekomen tot
het gebruik van 1 tactiek: het laten zoeken of er een mat afgedwongen
kan worden tot 3 zetten diepte. Dit is eigenlijk een beetje flauw maar
het werkt wel en in de tijd die we hebben is er niet meer haalbaar.
Computers op school in P126, i686 redhat linux
Thuis bij Wouter een acer aspire 1703SCi met fedora core 2
Thuis
bij Jan een Pentium 4 2.4GHz met Windows XP, Microsoft Visual Studio 6
(als editor) en SWI-Prolog versie 5.2.8 (als testomgeving)
We zijn niet zo ver gekomen als we maandag nog gedacht hadden. Dit kwam gedeeltelijk doordat we dinsdag pas de volledige code van Matthijs kregen en ik donderdag pas de goede prolog-bestanden ging gebruiken. (Deze waren volgens Jan gedurende de eerste week van de projectweek vervangen door nieuwere versies.
Nadat ik eindelijk de goede code tot mijn beschikking had en we in de gate hadden hoe alles werkte in de AL0-taal, dit is vanaf woensdag middag is ons project dan ook in een stroomversnelling geraakt en hebben we bijna alles herschreven. Maat nu genoeg gezeurd over tegenslagen.
De tactieken die we gebruiken zijn nog niet voldoende om vanaf elke willekeurige stelling mat te kunnen afdwingen.
Er moeten derhalve tactieken worden toegevoegd die bewerkstelligen
dat de zwarte koning vanuit iedere positie in de door ons
veronderstelde startpositie wordt gebracht. Van daaruit kunnen de oude
methoden het dan overnemen.