At line 3 changed one line |
Ohjelmaa testattiin "tositoimissa" ensimmäistä kertaa KenraaliKutosessa. Tällöin paljastui puute paritusalgoritmin back-trackissä. Algoritmi selviytyi suht nätisti Kani6:n parituksesta viikkoa myöhemmin. Seuraavana maanantaina algoritmi muutettiin täysin back-trackääväksi rekursiota hyväksikäyttäen. |
Ohjelma sai alkunsa ToiGon juhannusleirillä 2003, kun muut pelasivat bonusturnausta. Minä sain ajatuksen round robin -paritusohjelmasta, joka hanskaisi myös bonusturnaukset. Kun RR-puolelle ei keksitty enää uusia ominaisuuksia, päätin toteuttaa McMahon-parituksen. |
At line 5 changed 7 lines |
!Kuriositeettina nopeustestejä |
Data saattaa muuttua, koska paritusalgoritmiin tehdään muutoksia. Ajat sekunteina. Pelaajadatan luokitusjakauman pitäisi olla suht tasainen, jos Perlin satunnaislukugeneraattoriin on uskominen. |
Suoritus = ohjelman käynnistys, McMahon-ryhmien luonti, parituksen ajo, parituksen tulostaminen tiedostoon ja ohjelman lopetus. |
||Pelaajamäärä||Muistinkulutus||P2/350MHz||AMD Athlon/1GHz||P4/2.4GHz |
|200 | n. 0,5Mt | 10s | 3,4s | 1,7s |
|600 | n. 4,5Mt | 2min50s | tulossa | 28s |
|2000 | n.48Mt | 72min | tulossa | 11min47s |
Ohjelmaa testattiin "tositoimissa" ensimmäistä kertaa KenraaliKutosessa 17.-18.1.2004. Korjattu versio selviytyi suht nätisti Kani6:n parituksesta viikkoa myöhemmin. Takapotkussa ohjelma toimi pääosin hyvin, vaikka viimeisellä kierroksella törmättiin bugiin, jota testitapauksissa ei oltu löydetty. Kyseinen bugi on nyt korjattu. |
At line 13 changed one line |
Joku voisi mittailla Gerlachin vemputtimella vastaavia aikoja ja muistinkulutuksia. |
Ohjelma on tekstipohjainen. Konsolilta ohjelma vaatii aika reilusti, vaakasuunnassa kokoa saisi olla 100 merkkiä ja pystysuunnassa niin paljon kuin näytölle vaan mahtuu. Käytännössä tämä tarkoittaa sitä, että ajoympäristö on *NIX tai Windows-käyttäjille [Cygwin|http://www.cygwin.com/]. Softa on kehitetty x86-Linuxissa ja se on testattu toimivaksi Cygwinissä. |
At line 9 added 21 lines |
Ohjelman C++-lähdekoodit eivät (ainakin kehittäjälle ymmärrettävistä syistä) ole julkiset, mutta kääntelen binäärejä niitä tarvitseville. Ainakin Solaris/Sparc, Linux/Alpha ja Linux/i386 luonnistuvat. Cygwin-binäärejä en tarjoa, koska Cygwinin lisenssi vaatii lähdekoodin levittämisen, jos ohjelma on linkattu Cygwinin kirjastoja vasten. |
|
EPM (versio 1) on tällä hetkellä jäissä. Ohjelmaan tehdään kriittisiä bugikorjauksia, jos tarvetta ilmenee, mutta lisäominaisuuksia ei kehitetä. [EPM2]:n kehitystyö on alkanut. EPM2 kirjoitetaan nollasta uusiksi Javalla (ei Perlillä, ei C++:lla, älä kysy). En suosittele pidättelemään hengitystä. |
|
!Avainominaisuudet |
*McMahon- ja RR-paritus |
*Tasa-avaus-, tasoitus- ja vajaatasoitusturnaukset |
*Bonusturnaukset (vain RR-moodissa) |
*Tekijä muokkaa ohjelmaansa esitettyjen ehdotusten pohjalta |
|
!Todo |
Osa kiireellisempiä kuin muut. Näitä toteutetaan vasta uudelleenkirjoitusta tehdessä. |
*I18N |
*Konfiguraatiotiedosto paritusparametreille |
*Virhetarkastelut |
*Tulosrivien tulostus LK-ystävällisessä formaatissa. (voittojen määrän mukaan lajiteltuna muodossa 5k+ 4k- 5k+ 4k+ 3k-) |
|
!Kiitokset |
*Suvi Leppänen, Markku Jantunen, Tuomo Salo ja muutama muu tamperelainen - Kannustuksesta |
*Olli Lounela - Kannustuksesta ja monista parannusehdotuksista |
|
At line 33 added 9 lines |
|
__Q:__ Saaks sitä kokeilla?\\ |
__A:__ Kyllä saa, erikseen kauniisti pyytämällä. |
|
__Q:__ Saako siitä tulokset ulos EGF luokituslistan [formaatissa|http://www.european-go.org/rating/format.html]? [Matti]\\ |
__A:__ Formaattimuunnokseen EPM->EGF on tehty erillinen Perl-skripti, eli käytännössä vastaus kysymykseen on kyllä. Update 2004-09-09: Ohjelma osaa EGF-formaatin jo ihan itse. Myös väridata välittyy. |
|
__Q:__ Onko ohjelmasta saatavilla 64 bittistä versiota?\\ |
Epävirallinen __A:__ Luultavasti toimii Ubuntussa kun asentaa paketin ia32-libs. En nyt kuitenkaan kokeillut. -- DonOlli |