Kiinanšakin tekoäly
JumpStar on maailman vahvin kiinanšakin tekoälymoottori
Nyt iPhonelle JumpStar Kiinanšakki Pelaa vahvinta tekoälyä ilman verkkoyhteyttä, ratkaise päivittäisiä tehtäviä, pyydä vihjeitä ja tallenna pelejä uudelleen katsottaviksi.Tausta
Rakensin JumpStarin äidilleni. Projekti alkoi 15. toukokuuta 2026 Indianassa, kun autoin vanhempiani muuttamaan pois lapsuudenkodistamme. Heidän tavaroitaan pakatessamme löysimme vanhan kiinanšakkilautamme ja aloimme muistella, kuinka hauskaa oli pelata koko perheen kesken.
Kun veljeni ja minä lähdimme opiskelemaan, äitini oli yrittänyt etsiä iPhonelle kiinanšakkisovelluksia voidakseen jatkaa pelaamista yksin, mutta yksikään niistä ei ollut hyvä. AlphaGon ja Stockfishin menestyksen jälkeen ajattelin, että kiinanšakkiin on varmasti olemassa monta vahvaa avoimen lähdekoodin tekoälymoottoria – mutta niitä ei ole. Suosiostaan ja eleganssistaan huolimatta kiinanšakki oli saanut tekoälyyhteisöltä yllättävän vähän huomiota. Juuri tämä aukko sai minut rakentamaan JumpStarin.
Tavoitteeni oli rakentaa ensimmäinen yli-inhimillinen kiinanšakin tekoälymoottori. Vahva tietokonevastustaja antaisi äidilleni mahdollisuuden jatkaa pelaamista silloinkin, kun veljeni ja minä emme olleet lähellä. Yli-inhimillinen tekoälymoottori voisi jopa paljastaa pelistä kauniita uusia kuvioita ja strategioita, jotka eivät vielä olleet laajalti tunnettuja.
Siksi projektista tuli myös julkinen. Vahva yksityinen moottori on kiinnostava, mutta muiden on vaikea arvioida tai parantaa sitä. Julkinen kiinanšakin tekoälyjen vertailutesti tekee työstä tarkastettavaa: siihen kuuluvat sääntökokoelma, protokolla, asemakokoelma, vertailumoottorit, lokit ja nimetty JumpStar-malli, jonka muut järjestelmät voivat haastaa.
Kiinanšakin kauneus
Kiinanšakki on kilpajuoksu kuusisakaraisen, tähden muotoisen laudan poikki. Jokainen pelaaja aloittaa kymmenen nappulan ryhmällä yhdessä kolmiossa ja yrittää siirtää kaikki nappulansa ensimmäisenä vastakkaiseen kolmioon. Peliä voi pelata kaksi, kolme, neljä tai kuusi pelaajaa. Liikkeitä on vain kaksi, askel ja hyppy, eikä nappuloita voi syödä. Se on yksi syy siihen, miksi lauta tuntuu niin elävältä: yksinkertaiset liikkumissäännöt synnyttävät monimutkaista liikennettä, kun pelaajat yrittävät rakentaa hyppyketjuja ja estää vastustajia tekemästä samaa.
Nimestään huolimatta kiinanšakki ei ole peräisin Kiinasta, eikä se oikeastaan ole edes tammipeli. Pelin juuret jäljitetään yleensä Stern-Halmaan eli tähtihalmaan, saksalaiseen tähtilaudalle sovitettuun halman muunnelmaan, joka julkaistiin vuonna 1892. Tuttu englanninkielinen nimi Chinese Checkers syntyi myöhemmin amerikkalaisen markkinoinnin myötä, ja sittemmin pelistä on tullut maailmanlaajuisesti suosittu lautapeli.
Näin pelaat kiinanšakkia
Omalla vuorollasi siirrät yhtä nappulaasi. Nappula voi ottaa askeleen viereiseen tyhjään reikään tai hypätä viereisen varatun reiän yli sen takana olevaan tyhjään reikään. Hyppyjä voi ketjuttaa, joten yksi siirto voi ylittää suuren osan laudasta, jos välit ovat oikeat. Nappulat, joiden yli hypätään, jäävät laudalle. Niitä ei syödä.
Tavoitteena on siirtää kaikki nappulasi kolmioon, joka on suoraan aloituskolmiotasi vastapäätä. Hyvä peli ei ole pelkkää eteenpäin ryntäämistä. Sinun on rakennettava hyödyllisiä tikkaita, vältettävä omien nappuloidesi tukkimista, käytettävä ruuhkaista keskustaa taitavasti ja päätettävä, milloin nyt hitaalta näyttävä siirto luo myöhemmin nopeamman reitin.
Tiiviin yleiskatsauksen saat lukemalla kiinanšakin täydelliset säännöt. Kun olet valmis kehittämään peliäsi, jatka JumpStarin strategia- ja taktiikkaoppaaseen.
Miksi kiinanšakin tekoäly on kiinnostava
Klassiset lautapelit ovat olleet tekoälytutkimuksen ytimessä vuosikymmeniä. IBM:n Deep Blue voitti shakin maailmanmestarin Garri Kasparovin vuonna 1997. AlphaGo voitti Lee Sedolin vuonna 2016. Näistä peleistä tuli virstanpylväitä, koska vahva tietokonepeli muutti sitä, miten ihmiset ne ymmärsivät.
Kiinanšakilla ei ole ollut samanlaista julkista tekoälyekosysteemiä. Shakkiin ja go-peliin verrattuna moottoreita, vertailutestejä, rankinglistoja, julkisia pelitallenteita ja yhteisiä tutkimustyökaluja on paljon vähemmän. Aukko on yllättävä, koska pelissä on juuri sellainen rakenne, jota tekoälyjärjestelmät tutkivat mielellään: täydellinen informaatio, ei sattumaa, selkeä voittoehto ja valtava määrä mahdollisia tulevaisuuksia.
Jo rauhallinen aloitusasema haarautuu nopeasti. JumpStarin kahden pelaajan sääntöjen mukaan aloituslaudalla on 14 sallittua ensimmäistä siirtoa. Kun kumpikin puoli on siirtänyt kerran, mahdollisia kahden puolisiirron sarjoja on 196. Kolmannella syvyydellä aloitusasemasta on 4 760 mahdollista siirtosarjaa. Myöhemmin pelissä ketjutetut hypyt ja ruuhkaiset kaistat tekevät valinnoista paljon vähemmän ilmeisiä kuin säännöt antavat ymmärtää.
Mikä JumpStar on
JumpStar on itsepelillä koulutettu kiinanšakkimoottori, joka perustuu kompaktiin C++20-kieliseen sääntö- ja hakuytimeen, neuroverkkopohjaiseen policy/value-malliin ja Monte Carlo -puuhakuun. Sen vahvin julkinen tarkistuspiste, JumpStar_60, on CCERL-2P10-v2-vertailutestin nykyinen mestari. Yllättävintä on tehokkuus. Kaikki JumpStar-mallit koulutettiin MacBook M4:llä eikä suurilla TPU/GPU-klustereilla, joihin go- ja shakkijärjestelmien merkkipaalut yhdistetään.
Kunnianhimona on yli-inhimillinen peli, mutta julkinen väite on tarkoituksella testattavissa: JumpStar vaikuttaa olevan yli-inhimillinen tai lähes yli-inhimillinen kahden pelaajan sääntöprofiilissa, ja CCERL on olemassa, jotta tulevat moottorit voivat haastaa tämän tuloksen.
Järjestelmä
JumpStar ei ole pelkkä mallin tarkistuspiste. Se on kokonainen moottori- ja vertailutestikokonaisuus: laudan esitystapa, säännöt, haku, itsepeli, koulutusaineisto, tuomarityökalut ja julkinen näyttö.
- Säännöt ja haku. JumpStar käyttää 121-reikäisestä tähtilaudasta kompaktia bittikarttatyyppistä esitystapaa, tiukkoja kahden pelaajan sääntöjä, sallittujen askelten ja monihyppyisten siirtojen generointia, maalin lukitusta, pelin päättymisen tarkistuksia, deterministisiä tiivisteitä, perustason botteja ja natiivia otteluajuria. Sääntöjen toteutus on tarkoituksella eksplisiittinen, koska kiinanšakkimoottorit voivat muuten hyödyntää reunatapauksia: leiriytyä koti- tai maalikolmioon, luoda keinotekoisia saartoja tai voittaa tuomariohjelman erikoisuuksien ansiosta paremman pelin sijaan. JumpStarin sääntöprofiili on tarkoitettu palkitsemaan puhdasta kilpajuoksua, vahvaa geometriaa ja toistettavaa hakua tukkimiskikkojen sijaan.
- Itsepeliin perustuva koulutus. Itsepeli ja uudelleenanalyysi tuottavat lauta-asemia, sallittuja siirtoja, MCTS-käyntimääriä, pelien tuloksia ja etenemistä kuvaavia piirteitä. Näillä tiedoilla koulutetaan policy/value-malli, joka ohjaa seuraavaa hakukierrosta.
JumpStar_60ongeometry_v1,512x4MLP, jossa on noin10.36Mparametria ja joka on koulutettu1.8Mesimerkin uudelleenanalysoidulla aineistolla. Käytännön työ oli tehdä tästä silmukasta niin pieni ja nopea, että sitä voi ajaa yhä uudelleen omalla laitteistolla. - Julkinen vertailutestaus. Koska kiinanšakilla ei ollut valmiiksi kypsää julkista moottorien rankinglistaa, kehitin
CCERL-2P10-v2:n JumpStarin rinnalla. CCERL määrittelee sääntökokoelman, moottoriprotokollan, jäädytetyn asemakokoelman, vertailumoottorit, julkaisuartefaktit ja luokitusmenetelmän. Vertailutesti käyttää asemapareja, joissa puolet vaihdetaan, ja julkaisee lokit, jotta tulokset ovat toistettavissa eivätkä pelkkiä väitteitä. Näin tulevat moottorit voivat haastaa JumpStarin saman tuomarin alaisuudessa sen sijaan, että vertailtaisiin epämääräisiä väitteitä vahvuudesta.
Näin JumpStar pelaa kiinanšakkia
Yksi kiinnostavimmista laadullisista havainnoista on, että JumpStar ei useinkaan pelaa kuin yksinkertainen kilpajuoksuheuristiikka. Sen sijaan se kehittää kehittyneitä strategioita, kuten vastustajan hidastamista, hyödyllisten tukkijanappuloiden säilyttämistä ja tiiviiden, kolmiomaisten muodostelmien rakentamista, jotka rajoittavat liikennettä tärkeiden käytävien läpi.
Tämä tyyli jää helposti huomaamatta, jos kiinanšakkia pitää pelkkänä eteenpäin etenevänä kilpajuoksuna. Koska nappuloita ei koskaan syödä, puolustava muodostelma voi vaikuttaa monen vuoron ajan: se voi estää hyppytikkaat, pakottaa vastustajan kiertämään ruuhkan tai ostaa tarpeeksi aikaa mallin omille nappuloille päästä maaliin. Osa JumpStarin vahvimmista ideoista saattaakin siis liittyä geometrian hallintaan eikä pelkästään nopeampaan etenemiseen.
Voittava avauskuvio
| # | Pelaaja | Tyyppi | Siirto |
|---|
Haku- ja koulutussilmukka
Yleisellä tasolla JumpStar noudattaa AlphaZero-mallia: itsepeli tuottaa MCTS-käyntitavoitteita, niillä koulutetaan policy/value-malli, ja vahvempi malli ohjaa seuraavaa hakukierrosta.
itsepeli -> MCTS-käyntitavoitteet -> policy/value-koulutus -> vahvempi haku -> itsepeli
Käytännön vahvuus syntyi siitä, että silmukasta tehtiin niin kevyt, että sitä voitiin ajaa yhä uudelleen: natiivit C++-itsepelityöprosessit, tehokas siirtojen generointi, lehtisolmujen eräarviointi, transpositiot, alipuiden uudelleenkäyttö, kompakti aineisto ja paikalliselle Apple-laitteistolle viritetyt julkaisuversiot.
Suuri osa tästä tiivistämisestä syntyi käyttämällä Codexia ja GPT-5.5:tä toteutus- ja tutkimuskumppanina. Codex auttoi tutkimaan koodikantaa, profiloimaan pullonkauloja, kirjoittamaan kriittisiä koodipolkuja uudelleen, analysoimaan koulutuslokeja, paketoimaan vertailuajoja ja pitämään useita kokeilulinjoja käynnissä samanaikaisesti. Tärkeimmät hyödyt olivat käytännöllisiä: suuret nopeutukset itsepelissä ja arvioinnissa, noin 98 %:n muistinsäästö koulutusputkessa, jotta työ mahtui omalle koneelleni, ja tarpeeksi automaatiota moottorin kehittämisen jatkamiseen samalla, kun hoidin päivätyötäni Edian toimitusjohtajana.
Projekti eteni poikkeuksellisen nopeasti, koska silmukka ei ollut vain mallin itsepeliä; se oli myös iteratiivinen insinöörisilmukka sitä ympäröivälle järjestelmälle. Codexin avulla pystyin ajamaan kokeen, tutkimaan, miten se epäonnistui, optimoimaan koodin, ajamaan vertailutestin uudelleen, tiivistämään tuloksen ja muuttamaan seuraavan kysymyksen konkreettiseksi korjaukseksi. Tämä palautesykli tiivisti työn, joka olisi muuten voinut viedä kuukausia infrastruktuurin, työkalujen, käyttöliittymän, vertailutestien ja kirjoittamisen parissa, noin viikkoon siitä, kun lauta löytyi, julkiseen julkaisuun.
Codexin paikallinen käyttökirjanpito antaa karkean kuvan yhteistyön mittakaavasta. Paikallisessa Codex-tilatietokannassa näkyvissä projektiketjuissa kirjattu tokens_used oli yhteensä noin 559.9M tokenia. Luvut sisältävät kontekstin, työkalujen tulosteet, välimuistiin tallennetun kontekstin vaikutukset, päättelyn ja tulosteen kirjanpidon sekä päällekkäiset työketjut, joten niitä tulee pitää prosessimittarina eikä tieteellisenä laskentatehon mittauksena.
CCERL ja julkinen vertailutesti
Kiinanšakilla ei ole shakin ja go-pelin kaltaista kypsää julkista moottorien rankinglistaa, minkä vuoksi moottorien vahvuutta ja kehitystä on vaikea arvioida. CCERL täyttää tämän aukon. CCERL on ensimmäinen julkinen vertailutesti kiinanšakin tekoälymoottorien vahvuuden arvioimiseen. Shakin ja go-pelin vastaavien käsitteiden pohjalta CCERL tarjoaa kiinteät säännöt, tarkastetut aloitusasemat, parittaiset puolten vaihdot, ladattavat pelilokit ja julkiset vertailumoottorit.
CCERL-vertailutestien perusteella JumpStar vaikuttaa olevan selvällä erolla maailman vahvin julkisesti saatavilla oleva kiinanšakin tekoälymoottori.
Uskon, että JumpStar on saavuttanut lähes yli-inhimillisen tason kiinanšakissa kahden pelaajan sääntöprofiilissa käyttäen MacBook-luokan paikallista laskentatehoa. Vielä tärkeämpää on, että CCERL antaa kaikille tuleville kehittäjille tavoitteen: muokkaa JumpStaria, rakenna uusi malli, siirrä olemassa oleva moottori uskollisemmin, lisää parempia asemia tai lähetä haastaja saman tuomarin arvioitavaksi.
Tuleva työ
JumpStarin ei ole tarkoitus olla pelkkä yksityinen botti. Projekti pyrkii olemaan neljä asiaa:
- Vahva julkinen tekoälymalli. JumpStarilla on avoin lisenssi, ja tämä verkkosivusto on ilmainen. Kuka tahansa voi pelata JumpStaria vastaan tai yrittää parantaa sitä itse. JumpStar koulutettiin kokonaan MacBook M4:llä. Lisälaskentateho parantaa suorituskykyä varmasti.
- Julkinen vertailutestien infrastruktuuri. Shakilla ja go-pelillä on yhteisöjä, joissa moottoreita voidaan testata, vertailla ja parantaa. CCERL tuo saman infrastruktuurin kiinanšakkiin: selkeät säännöt, toistettavat ottelut, julkiset lokit ja mahdollisuuden muille rakentaa omia mallejaan.
- Itse pelin tutkimus. Vahva tekoäly muuttaa sitä, mitä pystymme näkemään. Haluan ymmärtää, miltä hyvä peli näyttää, miten avaukset kehittyvät, miksi täydet laudat käyttäytyvät niin kuin käyttäytyvät ja mitä tapahtuu kolmen, neljän ja kuuden pelaajan peleissä, kun laudan keskustasta tulee mahdollisuuksien liikenneruuhka.
- Moninpelimuunnelmat. Kahden pelaajan malli on vasta alkua. Villeimmät kysymykset alkavat, kun lauta täyttyy: kolme pelaajaa, neljä pelaajaa, kuusi pelaajaa, vaihtuvat liittoumat, tukitut reitit ja oudot, itsestään syntyvät avaukset. Haluan selvittää, miltä vahva peli näyttää myös niissä ja laudoilla, jotka ovat paljon vakiokokoa suurempia. Esiin nousevat monimutkaisuudet ja kuviot tulevat olemaan lumoavia.
Toivon, että JumpStar innostaa yhä useampia ajattelemaan kiinanšakkia, pelaamaan sitä, tutkimaan sitä ja rakentamaan sen ympärille.