FRITZ 5 & JUNIOR 5 - Shakkiohjelmien uusi sukupolviKirjoittaja Heikki-Pekka Innala |
Johdanto
Kotimikrojen prosessoritehon huima ja edelleen jatkuva nousu on tehnyt parhaista niihin tarjolla olevista shakkiohjelmista pelottavan vahvoja vastustajia kenelle tahansa myös pidemmillä miettimisajoilla. Niiden jatkuva taktinen vahvistuminen näkyy keskipelin lisäksi loppupeleissä. Ohjelmoijat ovat selvästi edistyneet myös niiden asemallisten taitojen kehittämisessä. Esimerkiksi maailman kolmospelaaja Vladimir Kramnik on äskettäin kehunut nimenomaan uutta Junior 5 ohjelmaa sen syvällisistä asemallisista ratkaisuista (ks. pelit Junior 5 - Kramnik ja Fritz 5 - Beljavski). Tässä kirjoituksessa käsitellään Fritz 5 ja Junior 5 ohjelmia - ei masentavan vahvoina vastustajina - vaan verrattomina harjoittelun ja analyysien apuvälineinä. Ne tarjoavat kohtuuhinnalla (esim. uusi J5 vain 300mk!) myös verraten kehittyneet pelitietokantaominaisuudet. Saksalainen Chessbase Fritz 5 ohjelmineen on kiistaton markkinajohtaja, sillä se on äskettäin kaapannut myös PC-ohjelmien maailmanmestarin 1997, israelilaisen Juniorin, siipiensä suojiin ja myös sellaiset huippuohjelmat kuin Hiarcs 6 ja Nimzo 98 esiintyvät sen analyysikoneina.
Laitevaatimuksista
Nämä uudet shakkiohjelmat toimivat parhaiten nopean Pentium prosessorin vauhdittamissa koneissa, joissa on tarpeeksi paljon RAM muistia. Myös välimuistilla on merkitystä ja tästä syystä halvemmat Celeron prosessorit eivät ole paras valinta shakkiohjelmien pyörittämiseen. Ehdoton minimivaatimus on 64 MB RAM, mutta 128 MB tai vieläkin enemmän ei suinkaan ole liioittelua. On vielä huomattava, että mitä nopeampi prosessori, sitä nopeammin se tuon muistin myös täyttää. Fritz 5 ohjelmaan pätee, että käytettävissä olevan muistin määrä ratkaisee kuinka syvälle analyysissä voidaan päästä. Mitä nopeampi prosessori, sitä lyhyemmässä ajassa tuo maksimisyvyys saavutetaan. Ja koska ainakaan shakinpelaajien budjetti ei kestä uuden prosessorin hankkimista kerran vuodessa, niin tämäkin korostaa muistin laajennusmahdollisuuden merkitystä varsinkin käytettäessä konetta vakaviin analyysitarkoituksiin.
Testituloksia
Tällä hetkellä ruotsalaisen shakkitietokoneyhdistyksen (SSDF) vahvuuslukulistan kärjessä on juuri Fritz 5 2574 pisteellä (prosessorina P200 MMX). Seuraavina tulevat Hiarcs 6 2538, Nimzo 98 2535, Rebel 9 2523 jne. SSDF:n puheenjohtaja Thoralf Karlssonin mukaan em. vahvuusluvut ovat kohtuullisen vertailukelpoisia myös inhimillisten ELO-pisteiden kanssa, sillä ohjelmia on peluutettu myös ruotsalaisissa turnauksissa. Tätä tukevat myös Aegon - turnauksesta (ihminen vastaan kone) saadut kokemukset. Fritz 5 esiintyy myös englantilaisen Selective search-lehden vahvuuslistan kärjessä . Se on huikeasti (reilusti toista sataa pistettä) vahvempi kuin edeltäjänsä Fritz 4, mikä lienee ainakin PC-ohjelmien kaikkien aikojen tulosparannus. Ei ole kuitenkaan vaikea ennustaa, että Junior 5 ottaa kärkipaikan heti, kun se listoille vain ilmestyy. Alustavien tulosten mukaan (ns. Nunn match J5 - F5 11.5 - 8.5 60 min ajoin P233 MMX prosessori) se on pidemmillä peliajoilla noin 50 pistettä vahvempi kuin 16-bittinen Fritz5, joka sekin ilmestyy pian (tällä tietoa marraskuun lopussa) 32-bittisenä ja entistä nopeampana markkinoille. Kannattaa myös mainita, että Junior ja Fritz ovat ainoat PC-ohjelmat, jotka onnistuivat 1995 MM-kilpailussa HongKongissa lyömään supertietokoneohjelmat. Internetin Shakkikerhon (ICC) vahvuuslistalla Junior (alias "ban") on kolmantena heti Kasparovin ja Shirovin jälkeen. Huippunopean serverin vauhdittama Fritz5 puolestaan voitti Frankfurtissa alkukesästä pelatun Ordix Open nopean shakin kilpailun tuloksella 9.5/11 mikä vastasi suoritustasoa 2780 ja pelasi useita hienoja pelejä (ks. esim. hienosti pelattu espanjalainen F5 - Beljavski). Taakse jäivät sellaiset suurmestarit kuten Ivanchuk, Beljavski, Korchnoi, Vaganjan jne. On myös opettavaista havaita, että enemmän shakkitietoon kuin nopeuteen perustuvan moninkertaisen ohjelmien maailmanmestarin Geniuksen tähti on viime aikoina ollut laskusuunnassa. Ruotsalaisella listalla sillä on "vain" 2495 pistettä. IBM:n Deep Blue - projektin voidaankin katsoa osoittaneen, että raaka laskuvoiman kasvattaminen tuottaa paremmin tulosta kuin selektiivisten strategioiden hiominen. Genius jää jälkeen siksi, koska sen vastustajat näkevät prosessoritehojen jatkuvasti kohotessa aina vain syvemmälle. Vastaava sisään ohjelmoidun shakkitiedon kasvattaminen on luonnollisesti mahdotonta. Kaikilla mainituilla vahvuuslistoilla ohjelmien tuloksiin vaikuttavat merkittävästi myös niiden avauskirjastot. Siksi suurmestari John Nunnin ehdottama tapa (yllä jo mainittu Nunn match) testata ohjelmien vahvuutta peluuttamalla niitä kymmenestä teorian perusasemasta lähtien molemmilla väreillä tuntuu luotettavimmalta. Nuo kymmenen asemaa (kolme sisilialaista, ranskalainen, espanjalainen, kuningatargambiitti, grünfeld, kuningatarintialainen, kuningasintialainen ja englantilainen) sisältävät erityyppisiä sotilasstruktuureja ja mikä tärkeintä nämä ottelut ovat toistettavissa eli vilpin mahdollisuudet on eliminoitu.
Fritz 5
Syksyllä 1997 markkinoille tullut Fritz 5 on hyvin monipuolinen ja liki satasivuisesta ohjekirjastaan huolimatta varsin helppokäyttöinen shakkiohjelma. Se sisältää myös useita harjoitus- tai sparraustasoja, joilla se tekee tarkoituksellisesti huonoja siirtoja. Mukana tulee myös edistyksellisessä puumuodossa oleva avauskirjasto, joka tunnistaa ongelmitta kaikki siirtovaihdot tai kääntövärit ja jonka kaikki siirrot ovat esiintyneet ihmisten välisissä peleissä. Sen millä todennäköisyydellä Fritz 5 pelaa tietyn avaussiirron määrää siirron esiintymisfrekvenssi ja menestys. Lisäbonuksena tulee vielä yli 300 000 pelin kokoelma sekä vähänappulaisten raskaiden upseerien loppupelien täydellisen pelin tietokanta. Tavalliselle pelaajalle pelitietokantaan liitetyt toiminnat riittävät vallan mainiosti korvaamaan kalliit Chess Assistant tai ChessBase ohjelmat. Hyödyllinen ominaisuus on myös ns. FritzMark-testi, jolla voi testata oman mikronsa suorituskyvyn shakkiohjelman pyörittäjänä. Se kertoo esimerkiksi miten monta asemaa F5 koneessasi analysoi sekunnissa ja antaa sen perusteella suorituslukuindeksin, johon vaikuttaa myös käytettävissä olevan muistin määrä.
Fritz 5:n analyysifunktiot
Tarjolla on manuaalisen analyysin lisäksi neljä vaihtoehtoa. Explain All Moves on tarkoitettu aloittelijoille. Se liittää lyhyen kielellisen kommentin jokaiseen mahdolliseen siirtoon ja listaa ne paremmuusjärjestyksessä. Yksittäistä siirtoa klikkaamalla esiin tulee koneen siihen liittämä päämuunnelma ja asema-arvio. Blundercheck on kätevä funktio, joka etsii pelistä tai siihen liitetyistä varianteista taktisia virheitä ja käyttämättä jääneitä mahdollisuuksia. Analyse Game funktio pyrkii jäljittelemään täydellisesti inhimillistä kommentaattoria. Se liittää täysautomaattisesti peliin omat analyysinsä sekä kielellisten kommenttien että muunnelmien muodossa ja siteeraa avaukseen muutamia esimerkkipelejä omasta suuresta pelitietokannastaan. Haluttaessa se myös luo analysoitavaan peliin liittyviä harjoitustehtäviä. Esitetyt taktiset variantit sisältävät myös kumouksia itse pelissä esiintymättömiin virhemahdollisuuksiin. Kohtuullisilla miettimisajoilla (60s tai enemmän, tietenkin prosessoritehosta riippuen) ne lienevät suurmestaritasoa. Kielellisillä kommenteillaan ohjelma pyrkii kuvailemaan pelitilanteisiin liittyviä suunnitelmia ja strategisia elementtejä. Periaatteessa se tuntee sellaiset käsitteet kuin aloite, kuningashyökkäys ja heikkojen sotilaiden painostaminen jne. Käytännössä sen kommentit menevät monesti ohi maalin. Ohjelmointiongelmana älykkään pelianalyysifunktion kehittäminen onkin paljon peliohjelman luomista vaikeampaa. Seuraavassa esimerkkinä yksi Fritz 5:n analysoima peli. (H.-P.Innala - U.Mäki ) Ilmeisistä puutteistaan huolimatta tämäkin funktio tarjoaa alustavan ihmisen korjailtavissa olevan perustan pelikommentaareille. Sellaisena se on huomattava edistysaskel verrattuna esim. Genius 5 ohjelman pelianalyysitoimintoon, joka vain liittää pelin siirtoihin muutamien puolisiirtojen mittaisen ohjelman parhaana pitämän variantin ja numeerisen asema-arvion. Ehdottomasti hyödyllisin F5:n tarjoama analyysitoiminto on Correspondence Analysis. Se luo tutkittavasta asemasta halutun syvyisen muunnelmapuun, jonka haarautumien määrä kolmen ensimmäisen puolisiirron aikana on niinikään vapaasti valittavissa. Tämä toiminto on erinomainen minkä tahansa shakkianalyysin apuväline. Aiemmissa ohjelmissa oli saatavissa vain yksi ainoa koneen parhaana pitämä jatko tiettyyn syvyyteen asti eikä vihjettäkään siitä miten muihin mahdollisiin siirtoihin olisi suhtauduttava. Nyt Fritz 5 generoi muutamassa tunnissa kokonaisen varianttipuun. Pelaaja voi myös harkintansa mukaan sulkea analyysistä pois asemallisesti heikkoja jatkoja varustamalla niihin johtavan puolisiirron yksinkertaisesti kysymysmerkillä. Tai sisällyttää analyysiin esim. jonkin uhrausmahdollisuuden korrektiuden tutkimisen vain alkusiirron (esim. Lxh6) kirjoittamalla. Puolisiirtoa kohden käytettävissä oleva miettimisaika on luonnollisesti asetettava käytössä olevan muistin sallimissa rajoissa. Tämän jälkeen ohjelma suorittaa analyysinsä ja järjestää variantit paremmuusjärjestykseen liittäen niiden loppuun numeerisen arvionsa ja analyysisyvyyden. Tämä funktio avaa aivan uusia mahdollisuuksia niin avausten, keskipelien ja loppupelien tutkimiseen ja harjoitteluun. Luonnollisesti näin eliminoituu myös monia tyypillisiä näköhorisontista johtuvia virheitä, joille vain yhden ainoan parhaana pidetyn muunnelman esittävät ohjelmat ovat erityisen alttiita . Eri analyysikoneilla (engines) saavutettuja tuloksia voidaan verrata keskenään mikä sekin karsii virhemahdollisuuksia.
Fritz 5:n ominaispiirteitä
Alankomaalaisen Frans Morschin kehittämä Fritz5 on nykyisistä PC-ohjelmista laskuvoimaltaan kaikkein nopein. Keskipeliasemissa se käy läpi lähes prosessoritehon osoittamaan määrän kilonoodeja sekunnissa eli siis P2 266Mhz koneessa 250 000 asemaa sekunnissa. Tällainen huikea nopeus (256 paralleeliprosessorin pyörittämä Kasparovin 1997 niukasti lyönyt Deep Blue on vain 800 kertaa nopeampi) perustuu ns. siirtovaihtotaulukoiden (hash tables) laajamittaiseen käyttöön. Käytyään läpi aseman eli noodin se sijoittaa arvionsa siitä muistiin, jolloin kohdatessaan mahdollisesti saman aseman myöhemmin siirtovaihtojen myötä se saa tuon arvion suoraan taulukostaan säästyen turhilta laskuoperaatioilta. Näiden siirtovaihto-taulukkojen täytyttyä ohjelma hidastuu merkittävästi. Taulukkojen vaatima muistin määrä kilobitteinä saadaan kaavasta HT= 2 x prosessoriteho (MHz) x miettimisaika sekunteina. Esimerkiksi turnauspeliajoilla (3min/siirto) vaaditaan siis 266 Mhz koneessa 2 x 266 x 180 kilobittiä eli yli 95 MB muistia. Em. taulukoiden täyttymisnopeus riippuu tietysti myös kulloisenkin aseman luonteesta. 100 MB taulukot täyttyvät em. koneessa käytännössä 4-6 minuutissa, joten sitä pidemmistä miettimisajoista ei ole juurikaan hyötyä. Sopiva siirtovaihtotaulukoille varattava muistin määrä on helppo saada selville myös sitä kautta, että Fritz 5 kertoo analysoidessaan kuinka monta prosenttia taulukoista on täynnä. F5 saavuttaa em. taulukoita hyödyntäen (tietysti asemasta riippuen) noin 13 puolisiirron syvyyden sekä tutkii tiettyjä vaarallisia tai pakottavia jatkoja jopa yli 40 puolisiirron syvyyteen. Avoimissa asemissa, joissa sen agressiivinen dynaaminen tyyli pääsee oikeuksiinsa, Fritz 5 on ihmisten kannalta masentavan vahva. Tyypillinen peli sitä vastaan varsinkin lyhyillä peliajoilla päättyy ihmisen taktiseen virheeseen jo 20-30 siirron kohdalla, kun ohjelma nappulansa kehitettyään on saanut luotua ensimmäiset uhkauksensa. Paras keino (mutta helpommin sanottu kuin tehty - onnistuu vain sellaisilta huipuilta kuten Anand, ks. peli F5 - Anand ) menestykseen sitä vastaan on strateginen loppupeli, joissa laskuvoiman merkitys on vähäinen.
Junior 5
Israelilainen puhtaalla harrastuspohjalla kehitetty Junior5 tuli markkinoille lokakuun alussa. Sen käyttöliittymä on 32-bittinen versio Fritz 5:n vastaavasta. Käytännössä siis ainoa ero edellä kuvattuun F5:een on siinä, että analyysikoneena on J5 (ja myös sen aikaisempi vuoden 1997 MM-versio 4.6 joittenkin eriskummallisten netissä levitettävien shakkiohjelmien Crafty ja EXchess) ohella. Jos omistat myös F5 CD:n, niin saat senkin toimimaan J5 ohjelmassa. Junior 5 CD ei sisällä pelikokoelmaa tai loppupelitietokantaa, mutta hyväksyy F5:n vastaavat. Luonnollisesti käytössä ovat kaikki edellä kehutut analyysitoiminnot.
Junior 5:n ominaispiirteitä
Junior 5 on hiukan hitaampi kuin F5. Sen toiminta ei perustu siirtovaihtotaulukoiden yhtä ratkaisevaan merkitykseen, minkä havaitsee siitä, että se ei hidastu miettimisajan funktiona läheskään yhtä nopeasti kuin F5. Erästä keskipeliasemaa miettiessään se oli 70 minuutissa käynyt läpi jo huikeat 1054 miljoonaa noodia, kun taas F5 käytännössä pysähtyi vartin ja 116 miljoonan noodin kohdalla. Myös monet sen tarjoamat variantit ovat useita puolisiirtoja pidempiä kuin Fritzin, joten sen täytyy olla muunnelmia laskiessaan selektiivisempi kuin F5. Tämän huomaa myös siitä, että J5 käyttää huonoimpina pitämiinsä listan loppupään siirtoihin vähemmän aikaa kuin F5. Asemallisilta kyvyiltään se näyttäisi olevan selkeästi Fritzin edellä. Näiden kykyjen kehittämiseksi sen eri versioita onkin jo vuosia peluutettu Israelin joukkueliigassa ja sikäläisissä turnauksissa. Esimerkiksi käy vaikkapa 10 min ajoin (vastaa 20 min P200 MMX prosessorilla) pelattu peli J5-Kramnik, jossa ohjelma vie pisteen aivan kramnikmaiseen tyyliin keskustasotilaillaan edeten. Kramnikin arviot ohjelmasta on nähtävissä CD:n mukana tulevalla videohaastattelupätkällä.
Ohjelmien heikkouksista
Huikeasta laskuvoimastaan huolimatta J5 ja F5 eivät silti kykene edes kaikkien niiden näkösyvyydessä olevien sommitelmien ratkaisemiseen. Selitys on siinä, että niiden ilmoittama brute force-syvyys on todellisuudessa kuitenkin selektiivistä. Päästäkseen niinkin syvälle kuin ne nykyisin pääsevät niiden on jotenkin karsittava eksponentiaalisesti kasvavaa muunnelmapuuta ja tällöin joitakin uhrauksiin perustuvia sommittelumahdollisuuksia jää väkisin löytymättä. Esimerkkinä seuraava sommitelma, jota mikään PC-ohjelma ei tiettävästi ole vielä ratkaissut (eikä esim. J5 löydä sitä edes "suosi uhrauksia" - moodissaan), mutta jonka vahvat pelaajat kyllä löytävät kohtuullisessa ajassa. (sommitelma 1613) Vaikea pala on myös Botvinnikin kuuluisa sommitelma Capablancaa vastaan AVRO-turnauksesta vuodelta 1938, jota F5 ei löydä (se pitää 30.La3!! siirtoa vain tasapeliin johtavana), mutta jonka J5 ratkaisee omassa koneessani reilussa kuudessa minuutissa. Botvinnik muuten mainosti erästä varhaista neuvostoliittolaista shakkiohjelmaa sillä, että se muka ratkaisi kyseisen sommitelman, mutta kun ajatellaan miten hitaita tietokoneet 60-70-luvulla olivat, niin tuon väitteen on täytynyt olla puhdasta propagandaa. Suurmestari Yrjö Rantasen aikoinaan Geniuksen päänmenoksi kehittämä pirullinen näköhorisonttiin perustuva avausansa (1.c4 e5 2.b3 Lc5 3.a3!? houkutuksena Lxf2+? ja mustan kuningatar jää kiinni jatkossa 4.Kxf2 Dh4+ 5.g3 Dd4+ 6.e3 Dxa1 7.Dc2 Rf6 8.Lb2 Re4+ 9.Kg2 Da2 10.Re2 ja seuraavaksi Rc1 ) näyttää sekin yhä tepsivän myös uusimpia ohjelmia vastaan. Tosin korkeintaan kerran, sillä ne kykenevät oppimaan tuollaisista virheistään (tämä nimenomainen ansa on eliminoitu myös avauskirjaston avulla). Myös monet lopputehtävät ovat niille edelleen liian vaikeita. J5 ei esim. toistaiseksi hallitse pienkorotuksia, koska kehittäjänsä Amir Banin mukaan niiden osuus käytännön peleissä on häviävän pieni. Ohjelmien vanha perisynti ahneus ei sekään ole helposti korjattavissa, mutta periaatteessa kaikki laskunopeuden parannukset kyllä vähentävät sitä. Vaikeita asemia koneille ovat esim. sisilialaisen Velimirovicin hyökkäyksen (B89) tilanteet, joissa kolmekin valkean kevyttä upseeria saattaa olla yhtä aikaa lyötävissä. Niin Fritz 5 kuin Junior 5 pyrkivät niissä valkeilla purkamaan materiaalin menetykset välittömillä vaihdoilla sen sijaan, että jatkaisivat lupaavaa hyökkäystä. Syynä on tietenkin se, että valkean kompensaatio uhratusta materiaalista on niiden näköhorisontin tuolla puolen. Correspondence Analysis funktiolla näistäkin asemista voi saada jotakin irti sulkemalla hätiköidyt vaihdot ja uhrausten vastaanottamiset tutkittavien mahdollisuuksien joukosta ja asettamalla muunnelmien pituuden riittäväksi. Fritz 5:n tyypillinen vika on, että se ei osaa riittävästi varoa nappuloidensa jäämistä paitsioon (ks. peli F5 - Djuric).
Tulevaisuudennäkymiä
Edellä jo mainitun SSDF:n mukaan pelkkä prosessoritehon kaksinkertaistuminen lisää ohjelmien pelivahvuutta noin 70 ELO-pistettä. Tarkoittaako tämä sitä, että 800-1000 Mhz Pentiumin tullessa lähitulevaisuudessa markkinoille, parhaat ohjelmat saavuttavat jo maagisen 2700 pisteen rajan turnauspeliajoilla jää nähtäväksi. Luulen, että kehitys ei jatku aivan näin suoraviivaisesti. Shakkiohjelmilla on edelleen tiettyjä lähinnä asemallisia heikkouksia, joita parhaat pelaajat pystyvät käyttämään hyväkseen. Toisaalta Kasparovin ja Deep Bluen viimeisin ottelu osoitti, että voittaakseen parhaimmankin ihmisen koneen ei suinkaan tarvitse pelata erityisen loistokasta shakkia kunhan sillä on takanaan riittävä taktinen iskukyky inhimillisten heikkouksien (väsymys, aikapula ja väistämättä tietyllä frekvenssillä esiintyvät laskuvirheet) hyödyntämiseksi. Avausteoria tulee myös kehittymään vahvistuvien ohjelmien helppokäyttöisten analyysitoimintojen myötä kovaa vauhtia. Kasparovin alkuvuodesta kovalla kohulla mainostama "edistynyt shakki" (Advanced Chess), jossa pelaajat saavat pelin aikana hyödyntää tietokoneidensa avaustietokantoja ja shakkiohjelmien taktisia kykyjä, lienee sen sijaan jo kokenut remissikuoleman. Kasparov nimittäin onnistui koeottelussaan Topalovia vastaan voittamaan vasta lyhennetyin ajoin käydyssä uusintapelissä, jossa koneen käyttö ei ollut enää sallittua. Yhtä tasainen oli hänen harjoitusottelunsa sekundanttiaan Dohojania vastaan. Voidaan siis päätellä, että huippupelaajien asemallisissa taidoissa ei juuri ole eroa, vaan avausten ja taktisten yksityiskohtien hallinta ratkaisevat heidän pelimenestyksensä.
Pelejä
Esimerkkipelit java-ohjelmalla
|