Portál AbcLinuxu, 28. května 2024 22:23


Začíná další kolo programátorské soutěže RedBot

Vykasat plachty a vyplouváme. Dnes startuje 3. kolo studentské programátorské soutěže RedBot. Tentokrát se hraje modifikovaná verze hry Lodě. Moře je klidné, vaše flotila čeká na rozkazy. Nikdy nevíte jesti váš protivník nekotví už za nejbližším obzorem.

27.2.2013 20:47 | jhutar | Zajímavý projekt


Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

Jakub Lucký avatar 27.2.2013 21:52 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
Odpovědět | Sbalit | Link | Blokovat | Admin
Nemám na to čas a sílu, ale přemýšlím, jestli by s těmito pravidly nevyplatila skoro-náhodná strategie. Random command, jen spočítat, jestli to netrefí moje (nebo nestřílím na místa, co už jsem trefil)
If you understand, things are just as they are; if you do not understand, things are just as they are.
27.2.2013 22:04 ertwertwe
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
v normalnich lodich svoje lode nemuzes sestrelit, moje a protivnikovy lode jsou na samostatnych plochach. je ovsem pravda, ze jsem ze zadani nepochytil zda je to tak i zde, nebo jsou obe lodstva na jedine plose a muzu tak zabit i svoji lod. to uz by pak ohnostroj nebyl tak vyhodny. zase bych ze svojeho rozlozeni mohl lepe odhadnout pozice nepritele. a pokud se jeste navic nesmi dotykat na jedne plose, tak ja zaberu 113 policek a pro nepritele zbyva 196-113=83 policek, coz teda nejde. takze to budou dve samostatne plochy.
28.2.2013 13:49 kuka
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
Ohnostroj by nemel na dvou plochach zadny smysl. Pisou, ze lode budou rozmisteny nahodne, takze hre na jedne plose nic nebrani. Pocty obsazenych policek jsou uplne jine nez pises, takze v tom problem neni. A ano, urcite jeden z aspektu strategie bude odhad pozice nepritele z pozice tvych lodi.
28.2.2013 14:05 aesrwerqwr
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
ad pocty obsazenych policek. ja jsem zapocital cele obaly u lodi, ale obaly se protknout mohou. tak odhaduju, ze jeden hrac zabere lodma a obaly na mezery tak 50 policek. jo, tak dva se tam vlezou.

tak to uz ohnostroj neni tak vyhodny, kdyz prozradi i moji lod.
D.A.Tiger avatar 2.3.2013 09:47 D.A.Tiger | skóre: 8 | Brno
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
v normalnich lodich svoje lode nemuzes sestrelit, moje a protivnikovy lode jsou na samostatnych plochach. je ovsem pravda, ze jsem ze zadani nepochytil zda je to tak i zde, nebo jsou obe lodstva na jedine plose a muzu tak zabit i svoji lod. to uz by pak ohnostroj nebyl tak vyhodny.
No... pokud se držím držet striktně pravidel na tom webu, tak tam nepíšou nic o tom že nemůžeš zasáhnout vlastní loď. Navíc by musely specifikovat jak se v takovém případě bude chovat takové torpédo (bude "ignorovat" vlastni loď a poletí dál?). A podle toho obrázku u ohňostroje a textu za ním my taky vyplývá, že musím počítat s tím, že jestli jej budu odpalovat z větší lodě, tak si můžu dát nějaký ten zásah...
Radost z toho, že někdo objeví něco nového, je omyl starý 6000 let... (Jean Paul) | anthill inside
27.2.2013 21:54 ertwertwe
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
Odpovědět | Sbalit | Link | Blokovat | Admin
je to pekne hracka, skoda, ze si nemuzou zahrat i nestudenti :-)

ja bych udelal strategii, ze bych na zacatek vystrilel vetsi cas specialnich strel jako ohnostroj, cimz se da rychle zmapovat herni plocha. pak to dokoncit uz presnejsimi normalnimi strelami.
28.2.2013 10:56 jehovista
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
Mozna by to chtelo dat do titulku zpravicky "...studentske souteze...".
28.2.2013 18:48 Delaunay | skóre: 17 | blog:
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
je to pekne hracka, skoda, ze si nemuzou zahrat i nestudenti
Bohužel ne všichni studenti si budou moci zahrát, protože v pravidlech se mimojiné píše:
Každá strategie musí na standardní výstup odpovědět do 2 sekund
Takže studenti mající zkušenosti pouze s Javou jsou automaticky mimo hru :-D

28.2.2013 19:09 jehovista
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
Soudis podle sebe?
28.2.2013 19:31 aesrwerqwr
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
uz mam plan na vikend, ze si sam pohraju a udelam si strategie, ktere nejprve nepritele otestujou pomoci torped a ohnostroju.

uvazuju ze ohnostroj bude vhodne odpalit na takove vlastni lodi, ktera je dale od ostatnich vlastnich lodi. zaroven by to nemela byt podle me ta nejvetsi 1x5 ani nejmensi 1x2 lod.

torpedo je treba odpalovat tak aby mohlo skoncit na okraji plochy, ale aby nemohlo vrazit do vlastni lode.

pak to nekam dam na verejne misto.

taky byste se do toho mohli pustit :-) kdo to napise v shell skriptu :-)
28.2.2013 21:18 karelI
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
Takže studenti mající zkušenosti pouze s Javou jsou automaticky mimo hru :-D
Pokud je to vtip tak ok, pokud to myslis vazne tak - ucastnil jsem se nejmenovane souteze kde muj java program vracel vysledky do sekundy a programy jinych ucastniku v jinych jazycich nekoncily za 15 minut. V tomhle pripade by bylo neco spatne kdyby to chroustali vic nez 100ms.
28.2.2013 22:25 Delaunay | skóre: 17 | blog:
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
Jasně že to bylo myšleno jako vtip. Proto byl na konci ten ksichtogram.
3.3.2013 13:03 Martin
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
To časové omezení je tam zřejmě kvůli evolučním algoritmům. V prvním ročníku soutěže tuším jeden takový vyhrál.
1.3.2013 08:53 Yenya
Rozbalit Rozbalit vše Alternativa pro nestudenty
Včera mi přišlo oznámení o hře/soutěži, která není omezená jen na studenty: www.deadline24.pl - možná by si to zasloužilo taky zprávičku. Kvalifikace je přes Internet, soutěž je podle strejdy Googla asi 2.5 hodiny od Brna.

-Yenya, http://www.fi.muni.cz/~kas/blog/
1.3.2013 10:08 aesrwerqwr
Rozbalit Rozbalit vše Re: Alternativa pro nestudenty
taky maji zajimave ukoly, akorat zadani minulych rocniku je jen polsky. zajimave ukoly: skladani ruznych kostek do krabice, analyza obrazku....
27.2.2013 22:07 ertwertwe
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
Odpovědět | Sbalit | Link | Blokovat | Admin
muzeme si to zahrat i nezavisle, treba dejte svoje herni zdrojaky na ulozto nebo pastebin.
D.A.Tiger avatar 2.3.2013 09:52 D.A.Tiger | skóre: 8 | Brno
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
Odpovědět | Sbalit | Link | Blokovat | Admin
Chápu to dobře, že cílem je naprogramovat v podstatě boota, který bude hrát s tou hrou místo hráče? To je docela jakože výzva. Asi si to stáhnu a vyzkouším alespoň sám pro sebe :)
Radost z toho, že někdo objeví něco nového, je omyl starý 6000 let... (Jean Paul) | anthill inside
2.3.2013 14:46 zdsafgtsergt
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
tak to pak nekde dej, svoje zdrojaky, ja si s tim tez hraju, pak to pustime proti sobe :-) ulozto, nebo pastebin.....
28.3.2013 21:06 jhutar | skóre: 2
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
Úplně základní možnost hrát online jsme se pokusili implementovat: Což to zkusit online?
7.3.2013 18:51 Delaunay | skóre: 17 | blog:
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
Mě to tedy nakonec nedalo. Přestože si na podobné hry běžně netroufám, protože jsem jen trochu lepší programátorská "lopata" (tj. žádnej nabušenej matfyzák), tak jsem jednoho bota se "selskou logikou" porodil.

Ostatně jsem nikdy nechápal, proč se podobným soutěžím říká "programátorské", když to s programováním má společného jen to, že se jako prostředek k reprezentaci výsledků z pochopitelných důvodů použije počítač :-).

Protože by asi nebylo do doby uzavření soutěže ohleduplné vůči soutěžícím zveřejňovat zdrojáky, tak zatím posílám pouze statistiky ze 200 her běžících oproti primitivní strategii, která střílí náhodně pouze jednoduché střely do volných pozic.

Ona primitivní strategie je zde:

http://www.psika.cz/files/redbot/random.cpp

Překládá se takto:
g++ --std=c++0x random.cpp -o random
Pracovně mé strategii říkám "blitzkrieg", protože na začátku dělá na ploše solidní bordel (bomby, torpéda i nějaké ty prskavky), ale s koncovkou je to už o něco horší. Nemá dokonce ani žádnou pojistku před sebevraždou ;-) Ale zase by mohla v průměru vyhrávat alespoň na body. Výraznější slabinou je, že neumí třeba odhalovat torpédové pozice nepřítele. Nejspíš těch slabin bude ale více.

Napsal jsem to ze strachu z náročnosti algoritmu v C++, ale obával jsem se dost zbytečně, běh trvá pouze jednotky milisekund.
1.game -> me =  25 , opp =  6
2.game -> me =  25 , opp =  8
3.game -> me =  25 , opp =  4
4.game -> me =  25 , opp =  7
...
198.game -> me =  25 , opp =  4
199.game -> me =  25 , opp =  6
200.game -> me =  25 , opp =  6

GAME STATISTICS
- games count: 200
- points: me =  5000 , opp =  1213
- wins:  200
- losses: 0
- draws: 0
- max win points = 25
- max loss points =  13
- rounds max =  43
- rounds min =  25
- rounds avg =  33.87
- rounds =  6774
Našel jsem zároveň nepodstatnou chybu ve vyhodnocovacím programu (nehlásí potopené lodě) a ve strategii strilej.c (chybná randomizace).
28.3.2013 21:17 jhutar | skóre: 2
Rozbalit Rozbalit vše Re: Začíná další kolo programátorské soutěže RedBot
Pošlete "blitzkrieg" na redbot@redhat.com a pustím ji proti strategiím co zatím máme pro účely regisrace (takže ještě ne finální soutěžní strategie). A pokud máte nějaké patche, budu rád.

Založit nové vláknoNahoru


ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.