Kalahi võistluse tulemused
Sisukord
Võistluse korraldus
Võistlus toimus 2008 jaanuari alguses jätkuna Kalahi praktikumitööle (seal kirjas ka nõuded programmidele). Osalesid kõik e-postiga võistlusele saadetud programmid: kõik kompileerusid ja töötasid ok. Matshid mängiti läbi T.Tammeti laptopil (protsessor amd turion 64 ml-32, 1.8Ghz,128K/512K cache) windows XP all Java versiooniga 1.6: kahe programmi aknad kõrvuti, käsitsi järjest programmide käike läbi tehes.
Osavõtjad
Suvalises järjekorras 14 programmi:
- Ehtla/Martsepp
- Korsunski/Kaev
- Lapushkin
- Põldma
- Sell/Umbleja
- Spiridonov
- Verhovtsov
- Guljajev
- Laks
- Pallas
- Sarviro
- Solovjov
- Trifonov
- Vunk
Lõpptulemus
- Esikoht ja 15 punkti kummalegi: Erki Ehtla, Margus Martsepp
- Teine koht ja 10 punkti: Rivo Laks
- Kolmas koht ja 5 punkti: Henrik Pallas
- Neljas koht: Aleksandr Guljajev
- Lohutusauhind 5 punkti: Janno Põldma
Ehtla/Martsepa esikohaprogramm oli teistest selgelt tugevam: kaotas ainsate partiidena veerandfinaalis kaks partiid Põldmale (Põldma alguse korral), kuid oli selles matshis skoori osas tugevalt üle. Teine koht - Laks - oli omakorda märgatavalt üle järgmistest programmidest, välja arvatud Põldma. Põldmat tabas paigutuse osas väike ebaõnn: veerandinaalis kaotus hilisemale võitjale Ehtla/Martsepale. Huvi pärast peetud mitteametlik matsh Põldma ja teise koha omaniku Laksiga lõppes 24-12 ja 19-17 võitudega Põldmale, sellegipoolest jääb teise koha omanikuks Laks, Põldma saab aga lohutusauhinnaks 5 punkti.
Järgnes grupp programme, mis ei erinenud tugevuselt omavahel kuigi palju. Kolmas ja neljas - Pallas ja Guljajev - olid üpris sarnase jõuga, Pallase võit omavahelises matshis väga napp. Veerandfinaalis oli Pallasele tugev konkurent Vunk, ka selles matshis võitis Pallas napi skooriga. Muuseas kaotas Pallas esimeses ringis finaali teise koha omanikule Laksile, ning pääses põhiturniirile tagasi tänu lohutusringi finaalis raskelt saadud skoorivõidule Korsunski üle.
Ehtla/Martsepa võiduprogramm töötas iteratiivse süvenemise ja alfa-betaga ning kasutas mitmeid otsingupuu piiramise nõkse, mh tuvastas ta olukorrad, kus ühel poolel oli kaotus/võit kindel (kuna nuppe kogumispesas oli igal juhul piisavalt) ja sealt enam edasi ei otsinud. Selle tulemusena suutis ta lõppmängus küllalt varakult mängu lõpuni välja analüüsida ja lõpus seega perfektselt mängida. Samuti rehkendas ta igas minimaxi-otsingusõlmes hakatuseks kiirelt välja ühe tõenäoliselt hea käigu (ilma süvitsi analüüsita) ja tegi süvitsi analüüsi siis kõigepealt selle käigu jaoks. Tüüpiliselt otsis programm sekundi jooksul ca 17-20 sügavuseni, tegi selle käigus ca 1 miljon seisuhinnangut ja kutsus minimaxi välja ca 1.5 miljonit korda.
Ehtla/Martsepa hindamisfunktsioonide kommentaarid ütlevad hindamisfunktsiooni kohta järgmist:
- 1. main counting spaces ratio
- 2. if over half of stones are taken, we know the winner
- 3. if one player has no more moves left, we know the result
- default value is given by rule 1, rules 2. and 3. overrule the rule 1.
Võistluse põhimõtted
Võistlus toimus turniirisüsteemis (kaotaja langeb välja), osalejad paigutatud suvalises (osaliselt tähestiku järgi, osaliselt juhuslikus) järjekorras. Allpool on külilipandud turniiritabel matshide tulemustega. Esimeses ringis kaotajate vahel toimus lohutusring, mille võitja sai otse põhiturniiri veerandfinaali. Kolmanda ja neljanda koha määras matsh poolfinaalis kaotajate vahel.
Iga üksik matsh toimus järgmiste põhimõtete järgi:
- esialgu mängiti 3 nupuga, kui see tulemust ei selgitanud, siis viie nupuga;
- esimene alustaja (st esimene käigukord) oli see, kes järjekorras allpool;
- esimeses ringis ja lohutusringis: kui esimene alustaja kohe kaotas, oli ta matshi kaotanud (sest alustajal eelis);
- hilisemates ringides ja muudel juhtudel: vaja oli kas
- võita 3 nupuga nii alustades kui mitte alustades, kui tulemus 1/1, siis:
- võita 5 nupuga nii alustades kui mitte alustades, kui tulemus 1/1, siis:
- võitja oli see, kel kokkuvõttes parem punktiskoor
Turniiritabel ja matshide tulemused
Põhiturniir ja kogutulemus:
Ring 1 Veerandfinaal Poolfinaal Finaal Ehtla Korsunski alustas, kaotas 16-20 Korsunski edasi Ehtla Põldma alustas, võitis 20-16, Ehtla alustas, võitis 29-7 5 nuppu: Põldma alustas, võitis 37-23 Ehtla alustas, võitis 44-16 edasi Ehtla Lapushkin Põldma alustas, võitis 28-8 Lapushkin alustas, Põldma võitis 23-13 Põldma edasi Põldma Guljajev alustas, Ehtla võitis 21-15 Ehtla alustas, Ehtla võitis 23-13 Edasi Ehtla Sell Spiridonov alustas, Sell lõpupoole hangus Sell alustas, Sell võitis 26-10 5 nuppu: Spiridonov alustas, Sell võitis 32-28 Spiridonov edasi Sell Guljajev alustas, võitis 22-14, Sell alustas, Guljajev võitis 19-17 edasi Guljajev Verhovtsov Guljajev alustas, võitis 24-12 Verhovtsov alustas, Guljajev võitis 26-10 Guljajev edasi Guljajev Laks alustas, Ehtla võitis 19-17 Ehtla alustas, Ehtla võitis 23-13 Esikoht: Ehtla Teine koht: Laks Laks Pallas alustas, kaotas 15-21 Pallas edasi Laks Solovjov alustas, Laks võitis 19-17 Laks alustas, Solovjov võitis 19-17 5 nuppu: Solovjov alustas, Laks võitis 31-29 Laks alustas, Laks võitis 42-18 Edasi Laks Sarviro Solovjov alustas, võitis 29-7 Sarviro alustas, Solovjov võitis 28-8 Solovjov edasi Solovjov Pallas alustas, Laks võitis 21-15 Laks alustas, Laks võitis 22-14 Edasi Laks Trifonov Vunk alustas, võitis 20-16, Trifonov alustas, Vunk võitis 20-16 Vunk edasi Vunk Pallas alustas, Vunk võitis 21-15 Vunk alustas, Pallas võitis 20-16 5 nuppu: Pallas alustas, Pallas võitis 42-18 Vunk alustas, Vunk võitis 39-21 Edasi Pallas Lohutusringist Pallas
Kolmanda ja neljanda koha matsh:
Guljajev Pallas alustas, Guljajev võitis 19-17 Guljajev alustas, Pallas võitis 22-14 5 nuppu: Pallas alustas, Pallas võitis 36-24 Guljajev alustas, Guljajev võitis 37-23 Kolmas koht: Pallas Neljas koht: Guljajev Pallas
Lohutusring (osalejateks põhiturniiri esimesest ringist väljakukkujad, võitja pääses põhiturniiri veerandfinaali, vt põhitabel üleval):
Korsunski Lapushkin alustas, Lapushkin võitis 21-15 Korsunski alustas, Korsunski võitis 30-6 5 nuppu: Lapushkin alustas, Lapushkin võitis 31-29 Korsunski alustas, Korsunski võitis 43-17 Lapushkin Edasi Korsunski Verhovtsov alustas, Korsunski võitis 28-8 Edasi Korsunski Spiridonov Verhotsov alustas, Verhovtsov võitis 24-12 Spiridonov alustas, Verhovtsov võitis 21-15 Verhovtsov Edasi Verhovtsov Pallas alustas, võitis 21-15, Korsunski alustas, võitis 26-10 5 nuppu: Pallas alustas, võitis 45-15 Korsunski alustas, Korsunski võitis 35-25 Edasi (põhiturniiri veerandfinaali) Pallas Pallas Sarviro alustas, Pallas võitis 28-8 Sarviro Edasi Pallas Trifonov alustas, Pallas võitis 20-16 Edasi Pallas Trifonov otse edasi