Kapittel 5 — Guide Hvordan FIDE Dutch paringsalgoritme fungerer: kriterier C1-C19 forenklet, poenggrupper, farger, floatere. Oppdatert for FIDE 2026-regler. Inkluderer TRF-filguide.
Hver gang du klikker «Generer paringer» i en sveitsisk turnering, kjører en sofistikert algoritme på millisekunder bak kulissene. Å forstå hvordan den fungerer vil ikke bare tilfredsstille nysgjerrigheten din — det vil hjelpe deg å forklare «uvanlige» paringer til spillere, unngå vanlige konfigurasjonsfeil, og få mest mulig ut av paringsprogramvaren din. Dette kapittelet avmystifiserer FIDE Dutch-systemet, oppdatert for reglene gjeldende fra 1. februar 2026.
I de aller tidligste dagene av sjakkturneringer paret dommere spillere for hånd — ofte med et fysisk brett og fargede brikker. For 8 spillere over 5 runder er det overkommelig. For 200 spillere over 9 runder er det et logistisk mareritt som tar timer og er utsatt for feil.
Enda viktigere, manuell paring introduserer skjevhet. En dommer som kjenner spillerne kan (bevisst eller ubevisst) lage «interessante» oppgjør, favorisere visse spillere eller unngå visse kombinasjoner. En algoritme er deterministisk og transparent: gitt samme inndata produserer den alltid samme resultat, og hvem som helst kan verifisere resultatet.
FIDE Dutch-systemet er ikke en enkelt regel — det er et rangert hierarki av kriterier. Algoritmen forsøker å tilfredsstille kriteriene med høyest prioritet først, og slapper bare av på lavere prioriterte kriterier når det ikke er noen annen måte å fullføre rundens paringer på.
Den 1. februar 2026 satte FIDE i kraft en revidert versjon av de sveitsiske paringsreglene (C.04.1, C.04.2, C.04.3). Endringene er hovedsakelig presiseringer og omnummerering, men de er viktige for enhver FIDE-ratet turnering fra den datoen:
| Område | Før feb. 2026 | Fra feb. 2026 |
|---|---|---|
| Kriterienummerering | Diverse bokstav-/tallkoder (A1, B1…) | Samlet C1–C19-sekvens |
| Fargetildeling | Noe tvetydighet i grensetilfeller | Eksplisitte regler for alle grensetilfeller |
| Uspilte partier | Behandlet som seier med fullt poeng for fargehistorikk | Behandlet som ½ poeng for både farge- og Buchholz-formål |
| Burstein-systemet | Beskrevet i C.04.4 | Forblir i C.04.4, mindre presiseringer |
| Dobbelt-sveitsisk system | — | Nytt: C.04.5 (to parallelle sveitsiske grupper) |
| Baku-akselerasjon | C.04.5 | Omnummerert C.04.7 |
Den grunnleggende ideen bak det sveitsiske systemet er enkel: spillere med lik poengsum spiller mot hverandre. En poenggruppe er mengden av alle spillere som har samme antall poeng på et gitt tidspunkt i turneringen.
Innenfor hver poenggruppe rangeres spillerne etter seeding (som vanligvis er basert på ratinget før turneringen). Gruppen deles deretter i to halvdeler: den øvre halvdelen (høyere seedede spillere) og den nedre halvdelen (lavere seedede spillere). Spiller 1 i øvre halvdel møter spiller 1 i nedre halvdel, spiller 2 møter spiller 2, og så videre.
Etter runde 1 deler poenggruppene seg. Spillere som vant (1.0 poeng) danner toppgruppen. Spillere som spilte remis (0.5) danner mellomgruppen. Spillere som tapte (0.0) danner bunngruppen. Algoritmen forsøker deretter å pare innenfor hver gruppe — men ting blir raskt kompliserte, som vi vil se i Runde 2.
FIDE Dutch-systemet definerer 19 kriterier, ordnet etter prioritet. Når paringer genereres for en poenggruppe, forsøker algoritmen å finne en paring som tilfredsstiller så mange høyprioritetskriterier som mulig. Hvis tilfredsstillelse av C3 betyr brudd på C7, velger den C3 — med mindre C3 selv overstyres av C1 eller C2.
Her er de viktigste kriteriene forklart på vanlig språk:
Algoritmen optimaliserer ikke for «det beste sjakkoppgjøret» — den optimaliserer for overholdelse av kriteriehierarkiet. Noen ganger produserer dette paringer som ser merkelige ut for spillere. Seksjon 9 i dette kapittelet forklarer de vanligste «merkelige paring»-scenariene.
Fargetildeling er en av de mest misforståtte delene av sveitsisk paring. Spillere føler ofte at de får for mange svarte — og noen ganger har de rett, men vanligvis gjør algoritmen nøyaktig det reglene krever.
En spiller har en fargepreferanse hvis fargehistorikken deres er ubalansert (flere hvite enn svarte eller omvendt). De har en fargerett hvis de har hatt to påfølgende partier med samme farge — i så fall må de få motsatt farge neste gang, med mindre det er umulig å pare runden i det hele tatt.
Når to spillere med motstridende fargeretter pares sammen, må algoritmen bryte regelen for én av dem. Den velger spilleren med det svakeste kravet — typisk den hvis fargesekvens har vært mindre ubalansert totalt sett.
I Runde 1 har alle spillere lik fargehistorikk (ingen). Farger tildeles etter et generelt prinsipp: den høyere seedede spilleren (i øvre halvdel) får hvit, den lavere seedede spilleren får svart. Derfor spiller Fischer (S1) med hvit og Spassky (S5) med svart i Alekhin Memorial.
Når en poenggruppe har et oddetall spillere, kan én spiller ikke pares innenfor gruppen og må flyttes. Denne spilleren kalles en floater.
En nedfloater flyttes til neste lavere poenggruppe (f.eks. fra 3.0-poenggruppen til 2.5-poenggruppen). En oppfloater er spilleren i den lavere gruppen som mottar denne «gjesten» ovenifra.
Algoritmen forsøker å minimere floating (kriteriene C4–C5). Når floating er uunngåelig, følger den spesifikke regler om hvem som floater: den lavest rangerte spilleren i poenggruppen er den foretrukne nedfloateren, med mindre den spilleren allerede nedfloatet forrige runde eller har et særlig sterkt fargekrav som gjør paring i den lavere gruppen umulig.
Etter Runde 1: Fischer, Kasparov, Tal, Petrosian vant alle → 4 spillere med 1.0 poeng (jevn gruppe, ingen floater nødvendig).
Spassky, Karpov, Botvinnik, Lasker tapte alle → 4 spillere med 0.0 poeng (jevn gruppe, ingen floater nødvendig).
Runde 2 er ryddig: 1.0-gruppen pares internt, 0.0-gruppen pares internt.
Men tenk deg at Tal spilte remis i stedet for å vinne: da ville vi hatt 3 spillere med 1.0, 2 med 0.5 og 3 med 0.0. 0.5-gruppen har bare 2 spillere — noe som er greit (én paring). Men 1.0-gruppen har 3 spillere — én må nedfloate til 0.5-gruppen. Den lavest rangerte spilleren med 1.0 (Petrosian, S4) blir nedfloateren.
La oss følge den komplette paringen for Runde 1 steg for steg for vår turnering med 8 spillere.
Inndata: 8 spillere, alle med 0.0 poeng, rangert etter rating-seeding. Én poenggruppe: {Fischer, Kasparov, Tal, Petrosian, Spassky, Karpov, Botvinnik, Lasker}.
Steg 1 — Del i to: Øvre halvdel = Fischer, Kasparov, Tal, Petrosian (S1–S4). Nedre halvdel = Spassky, Karpov, Botvinnik, Lasker (S5–S8).
Steg 2 — Anvend kriteriene C1–C2: Ingen tidligere motstandere (første runde), så ingen begrensning. Ingen byes ennå.
Steg 3 — Ideell paring: S1↔S5, S2↔S6, S3↔S7, S4↔S8. Alle kriterier tilfredsstilt. Dette er paringen.
Steg 4 — Fargetildeling: Øvre halvdel får hvit som standard i Runde 1.
Etter resultatene i Runde 1 (Fischer 1–0 Spassky, Kasparov 1–0 Karpov, Tal 1–0 Botvinnik, Petrosian 1–0 Lasker) har vi to poenggrupper:
Gruppe A (1.0 p): Fischer, Kasparov, Tal, Petrosian — alle 4 vant.
Gruppe B (0.0 p): Spassky, Karpov, Botvinnik, Lasker — alle 4 tapte.
Paring av Gruppe A: Del i to → Fischer, Kasparov (øvre) vs Tal, Petrosian (nedre). Ideelt: Fischer↔Tal, Kasparov↔Petrosian. Sjekk C2: ingen har møtt hverandre ennå. ✓
Fargesteg: I Runde 1 hadde Fischer og Kasparov hvit. Nå trenger de svart. Tal og Petrosian hadde svart, nå trenger de hvit. Så: Tal (H) vs Fischer (S), Petrosian (H) vs Kasparov (S). ✓
Opprett en testturnering med 8 spillere og se algoritmen jobbe runde for runde.
Spillere og arrangører stiller ofte spørsmål ved visse paringer. Her er de vanligste situasjonene og den algoritmiske årsaken bak hver av dem.
Dette skjer når 3.0-poenggruppen har et oddetall spillere og noen må nedfloate. Algoritmen prøvde alle kombinasjoner innenfor 3.0-gruppen, men fant at alle mulige paringer bryter C1, C2 eller C5 (f.eks. alle 3.0-poengspillere har allerede møtt hverandre, eller har alvorlige fargekonflikter). Å nedfloate én spiller til 2.5-gruppen var det eneste gyldige alternativet.
Når en spiller nedfloater, må de ofte akseptere en farge de normalt ikke ville fått, fordi paringen i den lavere gruppen krever det. Dette er en kjent begrensning i det sveitsiske systemet — fargebalanseregelen har lavere prioritet enn C1–C5, så den kan overstyres.
Hvis begge lederne har samme poengsum, og algoritmen ikke finner noen annen gyldig paring innenfor deres poenggruppe (alle andre spillere i gruppen har enten allerede møtt dem, eller har motstridende fargeretter), parer algoritmen de to beste mot hverandre. Dette er korrekt oppførsel — kriteriehierarkiet krever det.
Burstein-systemet er en variant av Dutch-systemet med en annen tilnærming til poenggruppedannelse. I stedet for strenge poenggrupper med floatere, tillater det mer fleksible kryssgruppe-paringer samtidig som ratingnærhet innenfor par opprettholdes. Det brukes sjeldnere i FIDE-ratede turneringer, men er anerkjent som et alternativ.
Baku-akselerasjon brukes i svært store sveitsiske turneringer (typisk 200+ spillere) for å sikre at toppspillerne møter hverandre tidligere, i stedet for å møtes først i de siste rundene etter å ha vunnet flere enkle partier mot svak motstand.
Ideen: i de første rundene gis de høyest ratede spillerne et «virtuelt» halvpoeng forsprang, som plasserer dem i en høyere poenggruppe enn deres faktiske poengsum. Dette skaper tidligere konfrontasjoner mellom sterke spillere. Fra runde 3 eller 4 og utover fjernes de virtuelle poengene og normal sveitsisk paring gjenopptas.
TRF (Tournament Report File) er standard utvekslingsformat for sjakkturneringsdata. ChessPairings.org eksporterer både TRF-16 (eldre) og TRF-25 (nytt 2025-format). Slik ser en TRF-16-fil ut for vårt Alekhin Memorial etter Runde 1:
012 Alekhin Memorial Open 022 Club Room, Alessandria 032 2026-03-03 042 2026-03-03 052 Mikhail (Chief Arbiter) 062 5 072 1 082 Rapid 092 15+10 132 Buchholz Cut-1, Buchholz, Wins, Direct Encounter 001 No Name Rtg FID Pts R1 001 1 Fischer 2200 1234567 1.0 0000 W 5 1 001 2 Kasparov 2180 2345678 1.0 0000 W 6 1 001 3 Tal 2150 3456789 1.0 0000 W 7 1 001 4 Petrosian 2120 4567890 1.0 0000 W 8 1 001 5 Spassky 2080 5678901 0.0 0000 B 1 0 001 6 Karpov 2050 6789012 0.0 0000 B 2 0 001 7 Botvinnik 1990 7890123 0.0 0000 B 3 0 001 8 Lasker 1960 8901234 0.0 0000 B 4 0
Hver 001-linje er én spiller. Lest fra venstre til høyre: spillernummer, navn, rating,
FIDE-ID, total poengsum, deretter for hver runde: startrangering (0000 = ikke aktuelt), farge (W/B),
motstandernummer, resultat (1 = seier, 0 = tap, = = remis, H = halvpoengs bye, F = seier ved uteblivelse).
Du trenger aldri å redigere denne filen manuelt — ChessPairings.org genererer den automatisk. Men å vite hvordan du leser den hjelper når du verifiserer resultater eller importerer til annen programvare.
ChessPairings.org bruker bbpPairings som sin sveitsiske paringsmotor — en åpen kildekode C++-implementasjon av FIDE Dutch-systemet vedlikeholdt av sjakkprogrammeringsmiljøet. bbpPairings brukes av flere nasjonale forbund og turneringsstyringssystemer verden over.
For tiebreak-beregninger bruker ChessPairings.org en dedikert TieBreakServer-modul (Python), som implementerer alle 28 støttede tiebreak-systemer uavhengig av paringsmotoren. Denne separasjonen sikrer at paring- og tiebreak-logikken er uavhengig verifiserbar.
Begge motorene oppdateres når FIDE reviderer sine regler — regelendringene fra februar 2026 er fullt reflektert i gjeldende versjon av ChessPairings.org.
Det nederlandske paringsproblemet er matematisk ekvivalent med et vektet maksimalt matchingproblem i grafteori. Hver potensiell paring er en kant med en vekt som representerer hvor godt den tilfredsstiller kriteriehierarkiet. Algoritmen finner den perfekte matchingen med maksimal vekt — det er derfor den kan ta en brøkdel av et sekund selv for turneringer med 500 spillere.
FIDE 2026-kompatibel sveitsisk paring, 28 tiebreak-systemer, helt gratis.
Opprett gratis konto