Podrobné informace

O co gou ?

Gomocup je soutěž ve hře zvané Piškvorky nebo také Gomoku. Soutěžícími však nejsou lidé, ale počítačové umělé inteligence(UI, brainy). Zůčastnit se tedy mohou jen amatérští programátoři, kteří umí takovouto umělou inteligenci vytvořit. Pokud mezi ně nepatříte, zkuste download pro stáhnutí několika zajímavých programů nebo zvolte odkazy a podívejte se na několik zajímavých adres. V opačném případě vás vyzýváme k účasti na soutěži. Vytvořené UI spolu soutěží v turnaji prostřednictvím manažeru – programu, který si můžete stáhnout. Komunikují mezi sebou přes standartní vstup a výstup nebo zápisem do souborů, takže je lze vytvořit v jakémkoli překladači, který generuje spustitelné soubory pro Windows nebo MS-DOS. Průběh zápasů se ukládá do souborů s replayem, které si můžete stáhnout a přehrát. Žebříček nejlepších UI je zobrazen na těchto stránkách. Žádné ceny pro vitěze bohužel zatím nemáme k dispozici, takže jedinou odměnou je publicita na naší stránce a dobrý pocit.

Pravidla piškvorek

Pokud náhodou neznáte pravidla hry piškvorky, rozhodně si přečtěte tento odstavec, protože tato hra je neocenitelným společníkem například při nudné vyučovací hodině ve škole nebo ještě nudnější přednášce. Piškvorky je hra pro dva hráče, která se hraje na čtverečkovaném papíře. Hráči střídavě umísťují na volné čtverečky své značky (jeden křížky a druhý kolečka) dokud se jednomu nepodaří postavit 5 nebo více svých značek za sebe(šikmo nebo rovně) a tím vyhraje.

Jak soutěžit ?

Pokud se chcete zůčatnit, vytvořte v jakémkoli programovacím jazyku umělou inteligenci(UI) – WIN32 spustitelný (z kompatibliních důvodů jsou do soutěže jsou akceptovány pouze 32bitové programy) soubor pro MS-DOS nebo WINDOWS, který může být skrz manažer (program GOMOTUR.EXE) propojen s jinou UI, nebo může být použit ve hře hrač proti UI.

Umělá inteligence komunikuje s manažerem v jednom ze dvou speciálních protokolů. První protokol je dnes už zastaralý, programy v něm komunikují přes dva soubory. Nový protokol používá standartní vstup a výstup, programy komunikují přes rouru(pipe). Důležité: Pbrain musí flushovat výstupy aby zabránil jejich bufferování. V pascalu je na to funkce flush, v céčku fflush(stdout). V downloadu najdete kostru brainu pro nový protokol ke stažení.

Pravidla turnaje

Turnaj se koná každý rok na jaře, soutěží všechny registrované funkční UI. Jeden autor smí do turnaje nasadit jen jeden program. Turnajový systém reflektuje počet zaslaných programů a obvykle vychází z minulého roku. Ve skupinách se hraje systémem každý s každým na sudý počet zápasů (dohromady jeden duel), může tedy dojít i k remíze. Pro omezení výhody začínajícího hráče používáme vyrovnaná zahájení. Hrací plocha má velikost 20 krát 20 polí. Zápas vyhrává UI, která vytvoří jako první pět nebo více značek v řadě. O umístění rozhodují body (3 za výhraný duel, 1 za remízu), skóre (poměr jednotlivých výher ku prohrám), při stejném počtu bodů i skóre vzájemný zápas a nakonec čas na tah. Dle počtu zaslaných programů se stanový turnajový systém, kdy z nižší skupiny postupují obvykle tři programy z prvních míst do vyšší skupiny. Přesná pravidla jsou stanovana včas před turnajem a obvykle vycházejí z loňského roku, pokud není stanoveno jinak. Zápasy finalistů, kteří se už střetli ve skupině, se opakují. Vítěz finále je vítězem celého turnaje.

Před spuštěním turnaje smí umělá inteligence (zazipovaná, včetně všech souborů, které potřebuje) zabírat nejvýše 2 megabajty místa na disku. Během turnaje si smí ukládat do souborů informace, které mohou přetrvat po dobu celého turnaje. Pro tyto soubory si vytvoří vlastní adresář se stejným jménem, jako je jméno brainu. Velikost všech souborů patřících jednomu brainu nesmí během turnaje překročit 20 megabajtů.

UI nesmí dále překročit časový limit na tah a na partii. Tyto limity jsou vyhlášeny před turnajem a nejsou přísnější než 30 vteřin na tah a 3 minuty na partii. S časem si musí UI hospodařit sama podle informací o tom, kolik času jí zbývá, které dostane od manažeru. Musí počítat s tím, že výkon PC není předem přesně znám, a musí se tedy umět přizpůsobit. UI dále nesmí v žádném okamžiku zabírat více operační paměti než povoluje limit, který je také stanoven před každým turnajem. Tento limit nebude nižší než 70 megabytů. UI nesmí nic měnit na obrazovce. UI nesmí během turnaje komunikovat po síti. Jsou povoleny pouze 32bitové aplikace.

Jak se zapsat?

Pokud máte hotový vlastní program a chcete ho zařadit do soutěže, napište mi prosím email s popisem programu na adresu gomocupzavinacgmail.com a program přidejte jako přílohu. Pozor, před odesláním musíte změnit koncovku souboru z *.exe na *.exx, protože gmail blokuje posílání exe souborů. Program bude otestován a pošlu vám potvrzení o zařazení. Děkujeme za účast a přejeme hodně stěstí !

Každý je zván! Přejeme hodně zdaru!!!

Kdo to má všechno na svědomí?

Tomáš Kubeš (Tomas_Kubeszavinacseznam.cz) – řízení turnaje, překlad webu do Angličtiny
Vojta Havránek (havranekzavinacwerewolf.wz.cz) – organizace prvních šesti turnajů, webmaster
Petr Laštovička (petr.lastovickazavinacseznam.cz) – autor manažeru, autor kostry brainu, správce protokolu
Jiří Fontán (jiri.fontanzavinacsofis.cz) – autor manažeru Gomotur
Martin Petříček (bilbozavinaccentrum.cz) – vznik nového protokolu
Jan Doležal (-zavinacemail.cz) – první manažer pro DOS
Na přípravě turnaje se dále podílel Václav Synáček, Petr Žižka a Jan Čurn.