AI til kinaskak
JumpStar er verdens stærkeste AI-motor til kinaskak
Nu på iPhone JumpStar Kinaskak Spil mod den stærkeste AI offline, løs daglige opgaver, få hints og gem genafspilninger.Baggrund
Jeg byggede JumpStar til min mor. Projektet begyndte den 15. maj 2026 i Indiana, da jeg hjalp mine forældre med at flytte ud af det hjem, vi var vokset op i. Mens vi pakkede deres ting, fandt vi vores gamle kinaskakbræt og begyndte at mindes, hvor sjovt det havde været at spille sammen som familie.
Efter at min bror og jeg var flyttet hjemmefra for at studere, havde min mor prøvet at finde kinaskak-apps til iPhone, så hun kunne blive ved med at spille alene, men ingen af dem var gode. I lyset af succeserne med AlphaGo og Stockfish tænkte jeg, at der da måtte findes mange stærke open source-AI-motorer til kinaskak - men det gør der ikke. Trods sin popularitet og elegance havde kinaskak fået overraskende lidt opmærksomhed fra AI-miljøet. Det hul fik mig til at bygge JumpStar.
Mit mål var at bygge den første overmenneskelige AI-motor til kinaskak. En stærk computermodstander ville gøre det muligt for min mor at blive ved med at spille, også når min bror og jeg ikke var i nærheden. En overmenneskelig AI-motor kunne måske endda afdække smukke nye mønstre og strategier i spillet, som endnu ikke var almindeligt kendte.
Det er også derfor, projektet blev offentligt. En stærk privat motor er interessant, men den er svær for andre at vurdere eller forbedre. Det offentlige AI-benchmark for kinaskak gør arbejdet til noget, der kan efterprøves: et regelsæt, en protokol, en samling stillinger, referencemodstandere, logfiler og en navngiven JumpStar-model, som andre systemer kan udfordre.
Det smukke ved kinaskak
Kinaskak er et kapløb hen over et stjerneformet bræt med seks spidser. Hver spiller starter med ti brikker i en trekant og prøver at være den første til at flytte alle sine brikker over i den modsatte trekant. Spillet kan spilles af to, tre, fire eller seks spillere. Der er kun to slags bevægelser, skridt og spring, og ingen mulighed for at slå brikker. Det er en af grundene til, at brættet føles så levende: Enkle regler for bevægelse giver kompleks trafik, når spillerne prøver at bygge springkæder og forhindre modstanderne i at gøre det samme.
Trods det engelske navn Chinese Checkers („kinesisk dam“) stammer spillet ikke fra Kina, og det er egentlig heller ikke dam. Spillet føres som regel tilbage til Stern-Halma, eller stjernehalma, en tysk udgave af Halma på et stjerneformet bræt, udgivet i 1892. Det kendte engelske navn kom først senere gennem amerikansk markedsføring, og siden er det blevet et brætspil, der er populært over hele verden.
Sådan spiller du kinaskak
Når det er din tur, flytter du én af dine brikker. En brik kan tage et skridt til et tomt nabohul, eller den kan springe over et tilstødende optaget hul og ned i det tomme hul bagved. Spring kan sættes sammen i kæder, så et enkelt træk kan krydse en stor del af brættet, hvis afstandene passer. Brikker, der bliver sprunget over, bliver på brættet. De bliver ikke slået.
Målet er at flytte alle dine brikker over i den trekant, der ligger lige over for din starttrekant. Godt spil handler ikke kun om at storme frem. Du skal bygge nyttige stiger, undgå at blokere dine egne brikker, udnytte den tætpakkede midte godt og vurdere, hvornår et træk, der ser langsomt ud nu, vil skabe en hurtigere rute senere.
Har du brug for et samlet overblik, så læs de komplette regler for kinaskak. Når du er klar til at blive bedre, kan du fortsætte med JumpStars guide til strategi og taktik.
Hvorfor AI til kinaskak er interessant
Klassiske brætspil har været centrale for AI i årtier. IBM's Deep Blue besejrede verdensmesteren i skak Garri Kasparov i 1997. AlphaGo besejrede Lee Sedol i 2016. De spil blev milepæle, fordi stærkt computerspil ændrede den måde, folk forstod dem på.
Kinaskak har ikke haft det samme offentlige AI-økosystem. Sammenlignet med skak og go findes der langt færre motorer, benchmarks, ratinglister, offentlige partiarkiver og fælles forskningsværktøjer. Det hul er overraskende, for spillet har netop den slags struktur, som AI-systemer gerne vil studere: fuldstændig information, ingen tilfældighed, en klar sejrsbetingelse og et enormt antal mulige forløb.
Selv den rolige startstilling forgrener sig hurtigt. I JumpStars regelsæt for to spillere har startbrættet 14 lovlige første træk. Når hver side har trukket én gang, er der 196 mulige sekvenser på to halvtræk. Ved dybde tre er der 4.760 mulige træksekvenser fra startstillingen. Senere i spillet gør springkæder og tætte baner valgene langt mindre indlysende, end reglerne antyder.
Hvad JumpStar er
JumpStar er en kinaskakmotor trænet gennem self-play, bygget på en kompakt regel- og søgekerne i C++20, en neural policy/value-model og Monte Carlo-træsøgning. Dens stærkeste offentlige checkpoint, JumpStar_60, er den nuværende mester i benchmarket CCERL-2P10-v2. Det overraskende resultat er effektiviteten. Alle JumpStar-modeller er trænet på en MacBook M4 i stedet for på de store TPU/GPU-klynger, man forbinder med de banebrydende go- og skaksystemer.
Ambitionen er overmenneskeligt spil, men den offentlige påstand er bevidst testbar: JumpStar ser ud til at være overmenneskelig eller næsten overmenneskelig under regelprofilen for to spillere, og CCERL findes, så fremtidige motorer kan udfordre det resultat.
Systemet
JumpStar er ikke bare et modelcheckpoint. Det er en komplet motor- og benchmarkstak: repræsentation af brættet, regler, søgning, self-play, træningsdata, dommerværktøjer og offentlig dokumentation.
- Regler og søgning. JumpStar bruger en kompakt bitmaplignende repræsentation af stjernebrættet med 121 huller, strenge regler for to spillere, generering af lovlige skridt og træk med flere spring, låsning af målet, kontrol af slutstillinger, deterministisk hashing, referencebots og en indbygget kampafvikler. Regelimplementeringen er bevidst eksplicit, fordi kinaskakmotorer ellers kan udnytte grænsetilfælde: at slå lejr i start- eller måltrekanten, skabe kunstige blokader eller vinde på særheder i dommerprogrammet i stedet for ved bedre spil. JumpStars regelprofil skal belønne rent kapløb, stærk geometri og reproducerbar søgning frem for tricks omkring reglerne mod blokering.
- Træning gennem self-play. Self-play og genanalyse genererer brætstillinger, lovlige handlinger, MCTS-besøgstal, spilresultater og fremdriftstræk. Disse data træner en policy/value-model, der guider næste runde af søgningen.
JumpStar_60er engeometry_v1-MLP på512x4med cirka10.36Mparametre, trænet på et genanalyseret datasæt med1.8Meksempler. Det praktiske arbejde bestod i at gøre den løkke lille og hurtig nok til at køre igen og igen på lokal hardware. - Offentligt benchmark. Fordi kinaskak ikke allerede havde en moden offentlig rangliste for motorer, udviklede jeg
CCERL-2P10-v2sideløbende med JumpStar. CCERL fastlægger regelsættet, motorprotokollen, en låst samling stillinger, referencemotorer, udgivelsesartefakter og ratingmetoden. Benchmarket bruger parrede stillinger med byttede sider og offentliggør logfiler, så resultaterne kan gentages i stedet for blot at blive påstået. Det betyder, at fremtidige motorer kan udfordre JumpStar under den samme dommer i stedet for at sammenligne vage påstande om styrke.
Sådan spiller JumpStar kinaskak
En af de mest interessante kvalitative iagttagelser er, at JumpStar ofte ikke spiller som en simpel kapløbsheuristik. I stedet udvikler den raffinerede strategier som at bremse modstanderen, bevare nyttige blokerende brikker og bygge kompakte, trekantlignende formationer, der begrænser trafikken gennem vigtige korridorer.
Den stil er let at overse, hvis man kun ser kinaskak som et kapløb fremad. Fordi brikker aldrig bliver slået, kan en defensiv formation have betydning i mange træk: Den kan spærre en springstige, tvinge modstanderen til at finde vej uden om trængsel eller købe tid nok til, at modellens egne brikker kan nå i mål. Nogle af JumpStars stærkeste idéer handler derfor måske om at kontrollere geometrien og ikke bare om at rykke hurtigere frem.
Vindende åbningsmønster
| # | Spiller | Type | Træk |
|---|
Søge- og træningsløkken
Overordnet følger JumpStar AlphaZero-mønstret: Self-play giver MCTS-besøgstal som træningsmål, de mål træner en policy/value-model, og den stærkere model guider næste runde af søgningen.
self-play -> MCTS-besøgsmål -> policy/value-træning -> stærkere søgning -> self-play
Den praktiske styrke kom fra at gøre løkken billig nok til at køre igen og igen: indbyggede self-play-workers i C++, effektiv generering af træk, samlet evaluering af blade i batches, transpositioner, genbrug af deltræer, kompakte data og release-builds tunet til lokal Apple-hardware.
En stor del af den komprimering kom fra at bruge Codex med GPT-5.5 som partner til implementering og forskning. Codex hjalp med at gennemgå kodebasen, profilere flaskehalse, omskrive kritiske kodestier, analysere træningslogs, pakke benchmarkkørsler og holde flere eksperimentspor i gang på én gang. De vigtigste gevinster var praktiske: store hastighedsforbedringer i self-play og evaluering, en reduktion af hukommelsesforbruget i træningsdelen på omkring 98 %, så arbejdet kunne være på min lokale maskine, og nok automatisering til at blive ved med at forbedre motoren, mens jeg samtidig passede mit fuldtidsjob som CEO for Edia.
Projektet gik usædvanligt hurtigt, fordi løkken ikke kun var self-play for modellen; det var også en iterativ udviklingsløkke for systemet omkring den. Codex gjorde det muligt at køre et eksperiment, undersøge fejlen, optimere koden, køre benchmarket igen, opsummere resultatet og gøre det næste spørgsmål til en konkret patch. Den feedbackcyklus komprimerede arbejde, der ellers kunne have taget måneder med infrastruktur, værktøjer, frontend, benchmark og dokumentation, til omkring en uge fra fundet af det gamle bræt til den offentlige lancering.
Det lokale Codex-regnskab giver et groft billede af omfanget af samarbejdet. På tværs af de projekttråde, der er synlige i den lokale Codex-tilstandsdatabase, løb de registrerede tokens_used op i cirka 559.9M tokens. Tallene omfatter kontekst, værktøjsoutput, effekter af cachet kontekst, opgørelse af ræsonnement og output samt overlappende arbejdstråde, så de skal læses som et procesmål og ikke som en videnskabelig måling af regnekraft.
CCERL og det offentlige benchmark
Kinaskak har ikke en moden offentlig rangliste for motorer som skak og go, hvilket gør det svært at vurdere motorers styrke og fremskridt. CCERL udfylder det tomrum. CCERL er det første offentlige benchmark til at vurdere styrken af AI-motorer til kinaskak. Med udgangspunkt i lignende koncepter fra skak og go tilbyder CCERL faste regler, kontrollerede startstillinger, parrede sidebytter, logfiler, der kan downloades, og offentlige referencemodstandere.
Ud fra CCERL-benchmarks ser JumpStar ud til at være verdens stærkeste offentligt tilgængelige AI-motor til kinaskak - med stor margin.
Jeg mener, at JumpStar har nået en næsten overmenneskelig styrke i kinaskak under regelprofilen for to spillere, med regnekraft på niveau med en lokal MacBook. Endnu vigtigere giver CCERL alle fremtidige bidragydere et mål: Modificér JumpStar, byg en ny model, port en eksisterende motor mere trofast, tilføj bedre stillinger, eller indsend en udfordrer under den samme dommer.
Fremtidigt arbejde
JumpStar skal ikke bare være en privat bot. Projektet prøver at blive fire ting:
- En stærk offentlig AI-model. JumpStar har en åben licens, og denne hjemmeside er gratis. Alle kan spille mod JumpStar eller selv prøve at forbedre den. JumpStar er trænet udelukkende på en MacBook M4. Mere regnekraft vil helt sikkert forbedre præstationen.
- Offentlig benchmarkinfrastruktur. Skak og go har fællesskaber, hvor motorer kan testes, sammenlignes og forbedres. CCERL bringer den samme infrastruktur til kinaskak: klare regler, kampe, der kan gentages, offentlige logfiler og en vej for andre til at bygge deres egne modeller.
- Forskning i selve spillet. Stærk AI ændrer, hvad vi kan se. Jeg vil forstå, hvordan godt spil ser ud, hvordan åbninger udvikler sig, hvorfor tætpakkede brætter opfører sig, som de gør, og hvad der sker i spil med tre, fire og seks spillere, når midten af brættet bliver en trafikprop af muligheder.
- Varianter med flere spillere. Modellen for to spillere er kun begyndelsen. De vildere spørgsmål begynder, når brættet bliver mere trængt: tre spillere, fire spillere, seks spillere, skiftende alliancer, blokerede veje og mærkelige åbninger, der opstår af sig selv. Jeg vil finde ud af, hvordan stærkt spil ser ud der også, og på brætter, der er langt større end standard. De kompleksiteter og mønstre, der opstår, vil være fascinerende.
Jeg håber, at JumpStar får flere til at tænke over kinaskak, spille det, studere det og bygge videre på det.