AI för kinaschack
JumpStar är världens starkaste AI-motor för kinaschack
Nu på iPhone JumpStar Kinaschack Spela mot den starkaste AI:n offline, lös dagliga pussel, få tips och spara uppspelningar.Bakgrund
Jag byggde JumpStar åt min mamma. Projektet började den 15 maj 2026 i Indiana, när jag hjälpte mina föräldrar att flytta från huset där vi växte upp. När vi packade deras saker hittade vi vårt gamla kinaschackbräde och började minnas hur roligt det var att spela tillsammans som familj.
När min bror och jag hade flyttat hemifrån för att studera försökte min mamma hitta kinaschackappar till iPhone så att hon kunde fortsätta spela själv, men ingen av dem var bra. Med tanke på framgångarna för AlphaGo och Stockfish trodde jag att det säkert fanns många starka AI-motorer med öppen källkod för kinaschack - men det gör det inte. Trots sin popularitet och elegans hade kinaschack fått förvånansvärt lite uppmärksamhet från AI-världen. Den luckan fick mig att bygga JumpStar.
Mitt mål var att bygga den första övermänskliga AI-motorn för kinaschack. En stark datormotståndare skulle göra det möjligt för min mamma att fortsätta spela även när min bror och jag inte fanns i närheten. En övermänsklig AI-motor skulle till och med kunna avslöja vackra nya mönster och strategier i spelet som ännu inte var allmänt kända.
Det är också därför projektet blev offentligt. En stark privat motor är intressant, men den är svår för andra att utvärdera eller förbättra. Det offentliga AI-benchmarket för kinaschack gör arbetet granskningsbart: ett regelverk, ett protokoll, en samling ställningar, referensmotståndare, loggar och en namngiven JumpStar-modell som andra system kan utmana.
Det vackra med kinaschack
Kinaschack är en kapplöpning över ett stjärnformat bräde med sex spetsar. Varje spelare börjar med tio pjäser i en triangel och försöker vara först med att flytta alla sina pjäser till den motsatta triangeln. Spelet kan spelas av två, tre, fyra eller sex spelare. Det finns bara två sorters förflyttningar, steg och hopp, och inga möjligheter att slå pjäser. Det är ett skäl till att brädet känns så levande: enkla regler för förflyttning ger komplex trafik när spelarna försöker bygga hoppkedjor och hindra motståndarna från att göra detsamma.
Trots det engelska namnet Chinese Checkers (”kinesisk dam”) kommer spelet inte från Kina, och det är egentligen inte heller dam. Spelet brukar härledas till Stern-Halma, eller stjärnhalma, en tysk variant av Halma på ett stjärnformat bräde som gavs ut 1892. Det välkända engelska namnet kom senare genom amerikansk marknadsföring, och sedan dess har det blivit ett brädspel som är populärt över hela världen.
Så spelar du kinaschack
När det är din tur flyttar du en av dina pjäser. En pjäs kan ta ett steg till ett tomt grannhål, eller hoppa över ett intilliggande upptaget hål till det tomma hålet bakom. Hopp kan kedjas ihop, så ett enda drag kan korsa en stor del av brädet om avstånden stämmer. Pjäser som hoppas över blir kvar på brädet. De slås inte.
Målet är att flytta alla dina pjäser till triangeln rakt mittemot din starttriangel. Bra spel handlar inte bara om att rusa framåt. Du behöver bygga användbara stegar, undvika att blockera dina egna pjäser, utnyttja den trånga mitten väl och avgöra när ett drag som ser långsamt ut nu skapar en snabbare väg senare.
Vill du ha en samlad översikt kan du läsa alla regler för kinaschack. När du är redo att bli bättre kan du fortsätta med JumpStars guide till strategi och taktik.
Varför AI för kinaschack är intressant
Klassiska brädspel har varit centrala för AI i årtionden. IBM:s Deep Blue besegrade världsmästaren i schack Garri Kasparov 1997. AlphaGo besegrade Lee Sedol 2016. De spelen blev milstolpar eftersom starkt datorspel förändrade hur människor förstod dem.
Kinaschack har inte haft samma offentliga AI-ekosystem. Jämfört med schack och go finns det betydligt färre motorer, benchmarks, rankinglistor, offentliga partiarkiv och gemensamma forskningsverktyg. Den luckan är förvånande, eftersom spelet har precis den sortens struktur som AI-system gärna studerar: fullständig information, ingen slump, ett tydligt vinstvillkor och ett enormt antal möjliga förlopp.
Även den lugna startställningen förgrenar sig snabbt. I JumpStars regeluppsättning för två spelare har startbrädet 14 tillåtna första drag. När båda sidor har flyttat en gång finns det 196 möjliga sekvenser på två halvdrag. På djup tre finns det 4 760 möjliga dragsekvenser från startställningen. Senare i partiet gör hoppkedjor och trånga banor valen mycket mindre självklara än reglerna antyder.
Vad JumpStar är
JumpStar är en kinaschackmotor tränad genom self-play, byggd på en kompakt regel- och sökkärna i C++20, en neural policy/value-modell och Monte Carlo-trädsökning. Dess starkaste offentliga checkpoint, JumpStar_60, är den nuvarande mästaren i benchmarket CCERL-2P10-v2. Det överraskande resultatet är effektiviteten. Alla JumpStar-modeller tränades på en MacBook M4 i stället för på de stora TPU/GPU-kluster som förknippas med banbrytande go- och schacksystem.
Ambitionen är övermänskligt spel, men det offentliga påståendet är medvetet testbart: JumpStar verkar vara övermänsklig eller nästan övermänsklig under regelprofilen för två spelare, och CCERL finns för att framtida motorer ska kunna utmana det resultatet.
Systemet
JumpStar är inte bara en modellcheckpoint. Det är en komplett motor- och benchmarkstack: representation av brädet, regler, sökning, self-play, träningsdata, domarverktyg och offentliga belägg.
- Regler och sökning. JumpStar använder en kompakt bitmappsliknande representation av stjärnbrädet med 121 hål, strikta regler för två spelare, generering av tillåtna steg och drag med flera hopp, låsning av målet, kontroll av slutställningar, deterministisk hashning, referensbottar och en inbyggd matchkörare. Regelimplementeringen är medvetet explicit, eftersom kinaschackmotorer annars kan utnyttja gränsfall: att slå läger i start- eller måltriangeln, skapa konstgjorda blockader eller vinna på domarens egenheter i stället för genom bättre spel. JumpStars regelprofil är tänkt att belöna ren kapplöpning, stark geometri och reproducerbar sökning snarare än knep kring reglerna mot blockering.
- Träning genom self-play. Self-play och omanalys genererar brädställningar, tillåtna handlingar, MCTS-besöksantal, partiresultat och framstegsegenskaper. Dessa data tränar en policy/value-modell som styr nästa sökomgång.
JumpStar_60är engeometry_v1-MLP med storleken512x4och ungefär10.36Mparametrar, tränad på en omanalyserad datamängd med1.8Mexempel. Det praktiska arbetet bestod i att göra den loopen liten och snabb nog att köras om och om igen på lokal hårdvara. - Offentlig benchmarking. Eftersom kinaschack inte redan hade en mogen offentlig rankingstege för motorer utvecklade jag
CCERL-2P10-v2parallellt med JumpStar. CCERL definierar regelverket, motorprotokollet, en fryst samling ställningar, referensmotorer, releaseartefakter och ratingmetoden. Benchmarket använder parade ställningar med bytta sidor och publicerar loggar så att resultaten kan återskapas i stället för att bara påstås. Det innebär att framtida motorer kan utmana JumpStar under samma domare i stället för att jämföra vaga påståenden om styrka.
Så spelar JumpStar kinaschack
En av de mest intressanta kvalitativa iakttagelserna är att JumpStar ofta inte spelar som en enkel kapplöpningsheuristik. I stället utvecklar den sofistikerade strategier som att bromsa motståndaren, behålla användbara blockerande pjäser och bygga kompakta, triangelliknande formationer som begränsar trafiken genom viktiga korridorer.
Den stilen är lätt att missa om man bara ser kinaschack som en kapplöpning framåt. Eftersom pjäser aldrig slås kan en defensiv formation spela roll under många drag: den kan stänga en hoppstege, tvinga motståndaren att ta omvägar runt trängsel eller köpa tillräckligt med tid för att modellens egna pjäser ska hinna i mål. Några av JumpStars starkaste idéer kan därför handla om att kontrollera geometrin, inte bara om att avancera snabbare.
Vinnande öppningsmönster
| # | Spelare | Typ | Drag |
|---|
Sök- och träningsloopen
Översiktligt följer JumpStar AlphaZero-mönstret: self-play ger MCTS-besöksantal som träningsmål, de målen tränar en policy/value-modell, och den starkare modellen styr nästa sökomgång.
self-play -> MCTS-besöksmål -> policy/value-träning -> starkare sökning -> self-play
Den praktiska styrkan kom från att göra loopen billig nog att köras om och om igen: inbyggda self-play-workers i C++, effektiv draggenerering, batchad utvärdering av lövnoder, transpositioner, återanvändning av delträd, kompakta data och release-byggen anpassade för lokal Apple-hårdvara.
En stor del av den komprimeringen kom från att använda Codex med GPT-5.5 som partner för implementering och forskning. Codex hjälpte till att granska kodbasen, profilera flaskhalsar, skriva om kritiska kodvägar, analysera träningsloggar, paketera benchmarkkörningar och hålla flera experimentspår igång samtidigt. De viktigaste vinsterna var praktiska: stora hastighetsökningar i self-play och utvärdering, minskad minnesanvändning i träningsflödet med ungefär 98 % så att arbetet fick plats på min lokala dator, och tillräckligt med automatisering för att fortsätta förbättra motorn samtidigt som jag hade mitt heltidsjobb som vd för Edia.
Projektet gick ovanligt snabbt eftersom loopen inte bara var self-play för modellen; det var också en iterativ utvecklingsloop för systemet runt den. Codex gjorde det möjligt att köra ett experiment, undersöka felet, optimera koden, köra benchmarket igen, sammanfatta resultatet och göra nästa fråga till en konkret patch. Den återkopplingscykeln komprimerade arbete som annars kunde ha tagit månader av infrastruktur, verktyg, frontend, benchmark och dokumentation till ungefär en vecka från det att brädet hittades till den offentliga lanseringen.
Den lokala Codex-redovisningen ger en ungefärlig bild av samarbetets omfattning. Över de projekttrådar som syns i den lokala Codex-tillståndsdatabasen uppgick registrerade tokens_used till ungefär 559.9M tokens. Siffrorna omfattar kontext, verktygsutdata, effekter av cachad kontext, redovisning av resonemang och utdata samt överlappande arbetstrådar, så de ska läsas som ett processmått snarare än som en vetenskaplig mätning av beräkningskraft.
CCERL och det offentliga benchmarket
Kinaschack har ingen mogen offentlig rankingstege för motorer som schack och go, vilket gör det svårt att utvärdera motorers styrka och framsteg. CCERL fyller det tomrummet. CCERL är det första offentliga benchmarket för att utvärdera styrkan hos AI-motorer för kinaschack. Med utgångspunkt i liknande koncept från schack och go erbjuder CCERL fasta regler, granskade startställningar, parade sidbyten, nedladdningsbara partiloggar och offentliga referensmotståndare.
Enligt CCERL-benchmarken verkar JumpStar med stor marginal vara världens starkaste offentligt tillgängliga AI-motor för kinaschack.
Jag tror att JumpStar har nått en nästan övermänsklig styrka i kinaschack under regelprofilen för två spelare, med beräkningskraft i nivå med en lokal MacBook. Ännu viktigare är att CCERL ger alla framtida bidragsgivare ett mål: modifiera JumpStar, bygg en ny modell, porta en befintlig motor mer troget, lägg till bättre ställningar eller skicka in en utmanare under samma domare.
Framtida arbete
JumpStar är inte tänkt att bara vara en privat bot. Projektet försöker bli fyra saker:
- En stark offentlig AI-modell. JumpStar har öppen licens, och den här webbplatsen är gratis. Vem som helst kan spela mot JumpStar eller själv försöka förbättra den. JumpStar tränades helt på en MacBook M4. Mer beräkningskraft kommer säkert att förbättra prestandan.
- Offentlig benchmarkinfrastruktur. Schack och go har gemenskaper där motorer kan testas, jämföras och förbättras. CCERL ger kinaschack samma infrastruktur: tydliga regler, reproducerbara matcher, offentliga loggar och en väg för andra att bygga egna modeller.
- Forskning om själva spelet. Stark AI förändrar vad vi kan se. Jag vill förstå hur bra spel ser ut, hur öppningar utvecklas, varför trånga bräden beter sig som de gör, och vad som händer i partier med tre, fyra och sex spelare när mitten av brädet blir en trafikstockning av möjligheter.
- Varianter för flera spelare. Modellen för två spelare är bara början. De vildare frågorna börjar när brädet blir trängre: tre spelare, fyra spelare, sex spelare, skiftande allianser, blockerade vägar och märkliga öppningar som uppstår av sig själva. Jag vill ta reda på hur starkt spel ser ut även där, och på bräden som är mycket större än standard. Komplexiteten och mönstren som uppstår kommer att vara fascinerande.
Jag hoppas att JumpStar får fler att fundera på kinaschack, spela det, studera det och bygga vidare på det.