Drop hier links of afbeeldingen om ze aan de editor toe te voegen.

Een schaakbord is onderverdeeld in 64 vierkante velden die gerangschikt staan in een $$8 \times 8$$ rooster met 8 rijen en 8 kolommen. De velden worden afwisselend licht en donker gekleurd. Bij een correcte plaatsing van het bord heeft elke speler een licht gekleurd veld in zijn rechter onderhoek. Elke schaakpartij start met onderstaande opstelling van de schaakstukken. We zullen echter de sterkte en de mobiliteit van de verschillende schaakstukken bestuderen zonder dat er andere schaakstukken op het bord staan.

schaakbord (algebraïsche notatie)

De FIDE-standaard gebruikt de algebraïsche notatie om velden op het schaakbord aan te duiden. Daarbij worden — vanuit het perspectief van wit — de kolommen van links naar rechts gelabeld met de letters a tot en met h, en de rijen van onder naar boven met de cijfers 1 tot en met 8. De positie van een veld wordt dan genoteerd als het kolomlabel gevolgd door het rijlabel (bijvoorbeeld d4 of g2).

Elk schaakstuk kan op een specifieke manier bewegen naar andere velden op het schaakbord. Zo beweegt een paard ofwel één veld horizontaal en twee velden verticaal, ofwel één veld verticaal en twee velden horizontaal. Een paard dat zich centraal op het schaakbord bevindt, kan naar acht mogelijke velden bewegen. Omdat schaakstukken altijd naar andere velden op het schaakbord bewegen, kan een paard mogelijks ook naar minder dan acht velden bewegen als het zich nabij de rand van het schaakbord bevindt. Hieronder zien we bijvoorbeeld dat een paard op veld d4 naar acht andere velden kan bewegen, terwijl een paard op veld g2 maar naar vier andere velden kan bewegen.

paard (d4)paard (g2)

Een loper kan uitsluitend in diagonale richting bewegen, maar kan dat wel doen tot aan de rand van het schaakbord. Hieronder zien we bijvoorbeeld dat een loper op veld d4 naar dertien andere velden kan bewegen, terwijl een loper op veld g1 maar naar zeven andere velden kan bewegen.

loper (d4)loper (g1)

In onderstaand schaakbord duiden we voor elk veld aan naar hoeveel andere velden een loper op dat veld kan bewegen. De sterkte van een loper bekomen we door al deze getallen in de 64 velden bij elkaar op te tellen: 560.

loper (groepen)

Alle velden waarop een loper naar evenveel andere velden kan bewegen, vormen een groep. We hebben alle velden van een groep dezelfde kleur gegeven. Staat een loper op een veld langs de rand van het schaakbord (blauwe groep), dan kan hij naar zeven andere velden bewegen. Staat een loper op één van de vier centrumvelden (paarse groep), dan kan hij naar dertien andere velden bewegen.

Een loper heeft vier groepen. Er is een groep (blauw) met 28 velden waar een loper naar 7 andere velden kan bewegen, een groep (roze) met 20 velden waar een loper naar 9 andere velden kan bewegen, een groep (geel) met 12 velden waar een loper naar 11 andere velden kan bewegen, en een groep (paars) met 4 velden waar een loper naar 13 andere velden kan bewegen. Samengevat noteren we deze mobiliteit van een loper als

28 × 7 + 20 × 9 + 12 × 11 + 4 × 13

Daarbij noteren we elke groep als het product van het aantal velden in de groep (linkerlid) en het aantal andere velden waarnaar het schaakstuk op een veld uit de groep kan bewegen (rechterlid). Deze producten worden in stijgende volgorde van hun rechterlid bij elkaar opgeteld. De vermenigvuldiging wordt aangeduid met × en de optelling met +. Elk van deze bewerkingen wordt voorafgegaan en gevolgd door één spatie. Merk op dat we de sterke van een schaakstuk ook bekomen door deze uitdrukking voor de mobiliteit van het schaakstuk uit te rekenen.

Opgave

We gebruiken twee manieren om een veld op het schaakbord aan te duiden. In eerste instantie als string (str) met twee karakters: het kolomlabel gevolgd door het rijlabel volgens de algebraïsche notatie (bijvoorbeeld d4 of g2). We noemen dit de FIDE-voorstelling van een veld (zie linker schaakbord hieronder).

schaakbord (algebraïsche notatie)schaakbord (coördinaten)

Alternatief worden de rijen van het schaakbord van boven naar onder genummerd met de cijfers 0 tot en met 7, en worden ook de kolommen van links naar rechts genummerd met de cijfers 0 tot en met 7 (zie rechter schaakbord hierboven). Op die manier kan een veld aangeduid worden met een tuple $$(r, k)$$ dat bestaat uit het rijnummer $$r$$ (int) en het kolomnummer $$k$$ (int). We noemen dit de coördinaten van het veld.

Een richting waarin een schaakstuk op veld $$(r, k)$$ kan bewegen, wordt voorgesteld als een tuple $$(\delta_r, \delta_k)$$ met $$\delta_r, \delta_k \in \mathbb{Z}$$ (int). Daarbij geldt dat $$\delta_r \neq 0$$ of $$\delta_k \neq 0$$. We maken onderscheid tussen richtingen waarin het schaakstuk eenmalig of herhaald kan bewegen:

Een paard kan eenmalig in acht mogelijke richtingen bewegen: $$(1, 2)$$, $$(2, 1)$$, $$(-1, 2)$$, $$(-2, 1)$$, $$(1, -2)$$, $$(2, -1)$$, $$(-1, -2)$$ en $$(-2, -1)$$. Het linker schaakbord hieronder toont dat een paard op veld d4 (coördinaten $$(4, 3)$$) in richting $$(1, 2)$$ kan bewegen naar het veld met coördinaten $$(4 + 1, 3 + 2) = (5, 5)$$. Dit veld ligt binnen het schaakbord en heeft FIDE-voorstelling f3.

paard (d4 → f3)loper (d4 → e3, f2, g1)

Een loper kan herhaald in vier mogelijke richtingen bewegen: $$(1, 1)$$, $$(1, -1)$$, $$(-1, 1)$$ en $$(-1, -1)$$. Het rechter schaakbord hierboven toont dat een loper op veld d4 (coördinaten $$(4, 3)$$) in richting $$(1, 1)$$ kan bewegen naar de velden met coördinaten $$(4 + 1 \times 1, 3 + 1 \times 1) = (5, 4)$$, $$(4 + 2 \times 1, 3 + 2 \times 1) = (6, 5)$$ en $$(4 + 3 \times 1, 3 + 3 \times 1) = (7, 6)$$. Deze velden liggen binnen het schaakbord en hebben resp. FIDE-voorstellingen e3, f2 en g1. Als de loper $$i = 4$$ stappen zou zetten, dan zou hij terechtkomen op het veld met coördinaten $$(4 + 4 \times 1, 3 + 4 \times 1) = (8, 7)$$ maar dat ligt buiten het schaakbord.

Alternatieve versies van schaken introduceren nieuwe schaakstukken die zowel richtingen hebben waarin ze eenmalig kunnen bewegen, als richtingen waarin ze herhaald kunnen bewegen. Een voorbeeld daarvan is musketierschaken waarin een aartsbisschop bijvoorbeeld de eenmalige richtingen van een paard combineert met de herhaalde richtingen van een loper.

Gevraagd wordt:

Voorbeeld

>>> fide2coordinaten('d4')
(4, 3)
>>> fide2coordinaten('g2')
(6, 6)
>>> fide2coordinaten('x9')
Traceback (most recent call last):
AssertionError: ongeldige positie

>>> coordinaten2fide(4, 3)
'd4'
>>> coordinaten2fide(6, 6)
'g2'
>>> coordinaten2fide(8, 7)
Traceback (most recent call last):
AssertionError: ongeldige positie

>>> zet('d4', (1, 2))                  # alle bewegingen van een paard zijn eenmalig
{'f3'}
>>> zet('d4', (1, 1), herhaald=True)   # alle bewegingen van een loper zijn herhaald
{'e3', 'f2', 'g1'}
>>> zet('x9', (1, 2))
Traceback (most recent call last):
AssertionError: ongeldige positie

>>> paard = {(1, 2), (2, 1), (-1, 2), (-2, 1), (1, -2), (2, -1), (-1, -2), (-2, -1)}
>>> zetten('d4', paard)
{'b3', 'b5', 'c2', 'c6', 'e2', 'e6', 'f3', 'f5'}
>>> zetten('g2', paard)
{'e1', 'e3', 'f4', 'h4'}
>>> zetten('x9', paard)
Traceback (most recent call last):
AssertionError: ongeldige positie
>>> groepsgrootte(paard)
{2: 4, 3: 8, 4: 20, 6: 16, 8: 16}
>>> sterkte(paard)
336
>>> mobiliteit(paard)
'4 × 2 + 8 × 3 + 20 × 4 + 16 × 6 + 16 × 8'

>>> loper = {(1, 1), (1, -1), (-1, 1), (-1, -1)}
>>> zetten('d4', herhaald=loper)
{'a1', 'a7', 'b2', 'b6', 'c3', 'c5', 'e3', 'e5', 'f2', 'f6', 'g1', 'g7', 'h8'}
>>> zetten('g1', herhaald=loper)
{'a7', 'b6', 'c5', 'd4', 'e3', 'f2', 'h2'}
>>> groepsgrootte(herhaald=loper)
{7: 28, 9: 20, 11: 12, 13: 4}
>>> sterkte(herhaald=loper)
560
>>> mobiliteit(herhaald=loper)
'28 × 7 + 20 × 9 + 12 × 11 + 4 × 13'

De sterkte en de mobiliteit van een paard kunnen afgeleid worden uit deze vijf groepen.

paard (groepen)

Epiloog

De titel van deze opgave verwijst naar een vaak gespeelde schaakopening die begint met de zetten d2d4, d7d5, en c2c4 aan de kant van het sterkste schaakstuk op het bord: de dame/koningin (sterkte: 1456).

damegambiet

Het damegambiet heet in het Engels the Queen's Gambit, waarnaar ook een zevendelige miniserie werd vernoemd die op 23 oktober 2020 werd uitgebracht op Netflix. De serie won een Golden Globe als beste miniserie. Anya Taylor-Joy kreeg een Golden Globe als beste hoofdrolspeelster in een miniserie.