FIbot
Na naší fakultě (v Brně) se pravidelně pořádá programovací soutěž FIbot. V minulých ročnících se programoval tým (virtuálních) robotů chodících v bludišti a sbírajícíh poklady, případně zabírající území a soutěž trvala několik měsíců. Letos to bylo trochu jiné – motivem hry byla dražba a celá hra trvala jen 24 hodin. Protože nebylo potřeba se osobně účastnit, tak jsme spolu s Antoinem, kterého to taky zaujalo, vytvořili (jediný mezinárodní:) ) tým FrCzek.
Konkrétní pravidla ve stručnosti byla takováto: Hrací pole byla obdélníková mapa různé velikosti, skládající se ze čtverečků. Každou hru hrálo zároveň několik hráčů (typicky 5-6). Na začátku měl každý nějaký obnos peněz. V každém kole se dražilo jedno políčko, hráči (nezávisle na sobě), nabídli částku a ten s nejvyšším obosem ho získal. Hra končila v okamžiku, kdy všechny políčka byly prodány, nebo došly všem peníze. Pořadí se určilo podle velikosti souvislého území. Pro lepší pochopení se můžete podívat na záznam jednoho zápasu (jsme tým D – růžoví).
Úkolem týmů bylo vytvořit strategii (virtuálního hráče) do této hry. Soutěž začínala v úterý v 6 večer, v 11 hodin dopoledne ve středu byl kvalifikační turnaj, v 6 hodin večer potom závěrečný finálový turnaj. Celé soutěže se účastnilo 24 týmů, do kvalifikace něco odevzdalo 20, z nich 18 postoupilo do finále.
Naše strategie byla poměrně jednoduchá – první pole jsme brali víceméně kdekoliv. Když už jsme měli nějaké čtverečky, spočítali jsme si jejich těžiště a podle vzdálenosti od těžiště jsme dávali políčkům prioritu (asi od 0.5 do 1.5). Určili jsme si kolik chceme v daném kole zhruba utratit (podle počtu zbývajících volných polí a našeho kapitálu) a tuto hodnotu vynásobili prioritou – tedy jsme více dávali za políčka, která byla blízko našich a naopak méně za ty, co byly daleko. Na konci jsme přidali ještě mírný bonus, když políčko přímo sousedilo s nějakým naším.
Programovali jsme to v C, ale ani jeden z nás v něm není moc zběhlej, takže jsme párkrát řešili úplně hloupé chyby. Někdy ve dvě v noci nám někam uteklo pár ukazatelů a trvalo nám asi dvě hodiny, než jsme je zase našli:).
V pět ráno se nám to podařilo dostat do stavu, že už jsme poráželi (úplně hloupé) ukázkové strategie, tak jsme usoudili, že je dobrou investicí do budoucna se trochu prospat a dali jsme si na 5 hodin šlofíka.
V kvalifikaci jsme úplně nezazářili – ve skupině, kde bylo 5 týmů, jsme skončili třetí. Ale na postup to stačilo.
Zbývající čas do závěrečného turnaje jsme už ani moc nedělali nové featury, ale spíš ladili, co jsme měli. Stačila změna jedné konstanty o desetinky a hned se to chovalo trochu jinak. Bylo potřeba to dostat do stavu, abychom nezačínali utrácet ani moc brzo, ani moc pozdě, abychom nedávali ani moc a ani málo, abychom hráli blízko našich polí a zároveň se nebáli jít trochu dál, když to bylo levný… Vyzkoušeli jsme tak přes 30 různých verzí (myslím), se všema jsme hráli spoustu testovacích zápasů. Bylo to trochu úmorný. Na konec se to ale chovalo docela rozumně.
Závěrečnej turnaj byl dost napínavej. Byly tři skupiny po 6 týmech, v každé skupině se hrálo 30 zápasů, 2 nejlepší z každé skupiny postupovali do finálové skupiny, kde se hrálo dalších 30 zápasů (turnaj byl vyhodnocován automaticky, na internetu byly k dispozici průběžné výsledky).
V základní skupině jsme napřed byli docela špatní, ale postupně jsme se drali dopředu, až asi 5 zápasů před koncem jsme skočili na druhé místo a už se tam udrželi (jsme s Antoinem reloadovali co 20 vteřin a skákali nadšením:) ). Ve finále to bylo ještě víc nervy drásající. Napřed jsme byli zase docela špatní, postupně jsme se dostali ale na 4. místo a pomalu doháněli třetí. Tehdy jsme si říkali, že být třetí by bylo super. Pak jsme byli třetí a dotahovali se i na druhé. Asi deset zápasů před koncem jsme se dostali na druhé místo. Tam jsme se drželi, ale třetí byli pořád blízko. Před posledním zápasem nás dělil jediný bod. A předběhli nás (získali právě o 2 body víc než my) :). Jsme byli úplně na prášky, kam se hrabe nějakej hokej nebo fotbal…;)
Takže jsme skončili třetí. Taky super.
Celkově se mi 24 hodinová varianta líbila myslím i víc než dlouhodobá, bylo to takový intenzivnější. A přišlo mi fajn, že se změnilo prostředí. Tak díky organizátorovi (Radek Pelánek) za pěknou hru (i když si to asi nepřečte, ale aspoň něco, když už jsme nebyli na vyhlašování výsledků:) ).
Ale na tom odkazu pisou ze ste byli prvni???
Aha, ty myslíš v záznamu toho zápasu – jo ten jeden zápas jsme zrovna vyhráli (když už jsem sem dával nějakou ukázku, tak jsem si vybral takovou, kde jsme dopadli dobře:) ).
V každé skupině se hrálo 30 zápasů, takže jeden vyhranej zápas neznamená, že jsme vyhráli celkově.
Gratuluji alespon ke krasnemu 3.mistu. Hokej se hral a byl jeste vice nervove drasajici nez vase hra. Pac v prodlouzeni jsme odolali cele 2 minuty v oslabeni a nedostali jsme gola. Jen co prilezl z te trestne lavice tak sme inkasovali a odjeli domu :'( a nazaver jenom bych rad zduraznil ze zato muze brankar takze FUJ HNILICKA!!! 😀
gratulacezdar, vis jake metody, algoritmy (nebo jak tomu rikate) mely tymy, co vas porazily (myslim 1. a 2. misto v celkovym poradi)?