Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: gat3way в Oct 14, 2010, 11:28



Титла: Google AI challenge
Публикувано от: gat3way в Oct 14, 2010, 11:28
Някой виждал ли е това?

http://ai-contest.com/index.php

Идеята е да си напишеш един бот, който да играе planet wars. В общи линии това като гледам опира до написването на функция, която взема като параметри списък с планети, координатите им, колко им е населението и кой им е собственик. Като резултат може да изпълни по една команда за всяка планета, която държи.

Езикът за програмиране може да е всякакъв - масово се ползва java и python, но има доста entries и на C++, haskell, дори на javascript, PHP, perl и ruby.

Събмитваш им кода и те си правят турнир. Можеш впоследствие да го подобряваш разбира се.

До момента има като гледам 4 участника от България.

Дайте да си направим linux-bg team ехех :)


Титла: Re: Google AI challenge
Публикувано от: b2l в Oct 14, 2010, 11:31
I don't play well with others...


Титла: Re: Google AI challenge
Публикувано от: gat3way в Oct 16, 2010, 00:31
Изпускате, голям fun е това. Ботовете се пишат много лесно, защото има starter kits, които ти идват с функции дето се занимават с IO-то и парсването на данните. Ако имате sun-ска java, можете локално да си проигравате партии. Аз моя бот си го пиша на PHP. Вече имам една победа и подобрявам алгоритъма. Вече почнах да мисля по-advanced стратегии :)

В общи линии, това е много забавно състезание, за жалост обаче не съм очаквал google да отделят толкова малко ресурси. В момента има online само един сървър дето проиграва около 7 игри в минута, иначе по принцип са няколко.

Всъщност, това си е направо тема за баш майстора - може всеки да си участва и накрая като пуснат официалното състезание през декември, ще видим кой е разписал най-ефективен алгоритъм. И хубавото е че езика почти няма значение.


P.S и визуализацията им е яка, с <canvas> ехех. Ето я моята първа историческа победа аехахеа

http://ai-contest.com/visualizer.php?game_id=5905075


Титла: Re: Google AI challenge
Публикувано от: n00b в Oct 16, 2010, 01:48
Навремето като бях още малко програмистче гледах нещо такова на Правец16 игра Арена дето се пускаха ботове да се бият.

Даже ако не се лъжа (беше преди 20 години) даже леко преправих единия бот (най-добрия) да победи най-добрия (немодифициран) винаги.

Това изглежда интересно, и мисля че ключа към победата ще е някакъв адаптивен алгоритъм който в процеса на работа ще може да промени целите (и стратегията) динамично.


Титла: Re: Google AI challenge
Публикувано от: gat3way в Oct 16, 2010, 01:56
Аз стигам до извода, че има известно общо между шаха и тази игра. Примерно от голямо значение е да владееш планети в центъра на картата. По този повод леко си промених алгоритъма и правя разни сметки спрямо координатите на планетите. Иначе изначално важно е да си определиш нещо като цена на таргетите, които атакуваш. Правилната сметка за "стойността" на таргета е много важна. Другото е да не правиш грешката на много алгоритми - да не използваш пълноценно факта, че владееш повече от една планети. Много алгоритми губят, защото пращат на ход ограничен брой кораби или пък чакат докато всичките им кораби пристигнат, за да пуснат нова серия атаки. Въобще забавна работа.


Титла: Re: Google AI challenge
Публикувано от: n00b в Oct 16, 2010, 02:37
Да - центъра е важен както и броя на планетите за експанзия.

Преди години играхме СтарКрафт с едни приятели. Единия имаше интересна стратегия "правене на много от най-евтиното" играеше с Зерг. Ето как му беше развитието - икономически ясно. Правеше си 2х3 или 3х3 (ако имаше място) Хатчерита и само на Зерглини го удряше. Ествественно бяха ъп-нати до макс, но заливаше противника с зерглини и го омаломощяваше с безкрайни талази от подскачащите гадости. Докато пребориш едната вълна, втора лети към теб.

Да взема да я разгледам и аз тази игричка ли?

PS: Стратегията с безкрайните зерглини беше успешна почти винаги...


Титла: Re: Google AI challenge
Публикувано от: gat3way в Oct 16, 2010, 12:05
Има някой големи гадове. Промених си стратегията така че да дам повече тежест на колонизирането на неутрални планети и някакъв гад ме спука от бой. Просто много агресивна му беше стратегията, удари право в най-добрата ми планета (която беше изнемощяла щото колонизирах). Съседчетата се опитаха да я защитят, ама оня беше пратил ебати армията.

В други случаи обаче тази тактика е много успешна, примерно ето тук си взех една приятна победа.

http://ai-contest.com/visualizer.php?game_id=5910278

Мамка му, няма универсална стратегия :(

P.S от всичко най-много ме кефи да бия java алгоритми с моя бъглив PHP бот ехехех :)


Титла: Re: Google AI challenge
Публикувано от: n00b в Oct 16, 2010, 15:36
По-скоро на този младеж алгоритъма беше тип "Hello World".


Титла: Re: Google AI challenge
Публикувано от: remotex в Oct 18, 2010, 10:22
Може - само че предпочитам С++
и тъй като искат и регистрация май няма да участвам (мразя регистрации)
т.е. тъй като гледам екипът ти набира ПХП и няма начин да ползвам твойта регистрация  :(
може пък да си го тествам само локално - т.е. ако може ще си пратиш ли твоите ботове напр. поп пощата?


Титла: Re: Google AI challenge
Публикувано от: gat3way в Oct 18, 2010, 10:50
Нямам екип, всеки си играе за себе си. Има определени организации (примерно Софийски университет) но те май не изпълняват някаква функция. Иначе без регистрация определено трудно ще стане - все пак системата трябва да знае чии бот на кой акаунт е - иначе като събмитваш нов код, ще трябва да се пръкне нов бот.

Но има "неофициална" версия, където няма регистрация и се играе благодарение на някакъв TCP wrapper.

И разбира се може и локално, дръпни си java starter kit-а, там има мини сървър и едно приложение дето визуализира картите.

Моя бот няма нужда да го пращам - идеята е всеки сам да си напише такъв. В starter pack-овете има готови рудиментарни такива, които са доста тъпички, но лесно може да се подобрят.


Титла: Re: Google AI challenge
Публикувано от: remotex в Oct 18, 2010, 11:39
Нещо не си ме разбрал правилно - понеже нямам регистрация там и не смятам да си направя - единствения начин да си премерим ботовете е да си ги пратим по пощата и да ги пуснем локално
Онова го гледах ама пак иска име и парола  >:(
Ако имаш предвид този де
http://www.benzedrine.cx/planetwars/
Код:
      gcc -o tcp tcp.c
      ./tcp 72.44.46.68 995 username -p password ./MyBot


Титла: Re: Google AI challenge
Публикувано от: gat3way в Oct 18, 2010, 11:55
Там няма нужда от регистрация и името и паролата може да са всякакви. Ако те интересува класирането в ранклистата им трябва да даваш винаги една и съща парола/потребител. Ако не - можеш да даваш каквото ти хрумне.


Титла: Re: Google AI challenge
Публикувано от: sstefanov в Oct 18, 2010, 12:06
Леко офф: Има ли подобна игра за Линукс, за да видя за какво става въпрос?


Титла: Re: Google AI challenge
Публикувано от: gat3way в Oct 18, 2010, 12:58
Операционната система няма никакво значение.


Титла: Re: Google AI challenge
Публикувано от: b2l в Oct 18, 2010, 14:20
Баси зарибявката е това :D :D :D. Но не мога да разбера идеята на големината на планетите. Гледам клипчета, почти всички не завладяват малките кръгчета.


Титла: Re: Google AI challenge
Публикувано от: gat3way в Oct 18, 2010, 14:39
Тва е логично - големината на планетите на картинката е пропорционална на growth rate-a.


Титла: Re: Google AI challenge
Публикувано от: b2l в Oct 18, 2010, 21:22
Възможно ли е google да търсят няккаво решение на проблем и за това да са я пуснали тази игра?


Титла: Re: Google AI challenge
Публикувано от: gat3way в Oct 18, 2010, 21:41
Всъщност, гугъл просто спонсорират състезанието, организира го един канадски университет. Ако гугъл го организираха, поне щеше да има достатъчно сървъри пфу :(

Иначе днеска съм бил един от Google мухаха :)


Титла: Re: Google AI challenge
Публикувано от: b2l в Oct 18, 2010, 21:41
Всъщност, гугъл просто спонсорират състезанието, организира го един канадски университет. Ако гугъл го организираха, поне щеше да има достатъчно сървъри пфу :(

Иначе днеска съм бил един от Google мухаха :)

Я покажи клипче. А кой е университета :).


Титла: Re: Google AI challenge
Публикувано от: gat3way в Oct 18, 2010, 22:07
http://ai-contest.com/visualizer.php?game_id=5951451

"Organized by the University of Waterloo Computer Science Club and sponsored by Google"


Титла: Re: Google AI challenge
Публикувано от: b2l в Oct 18, 2010, 22:10
http://ai-contest.com/visualizer.php?game_id=5951451

"Organized by the University of Waterloo Computer Science Club and sponsored by Google"

А-а-а там дето Бил Гейтс води лекции :) :)


Титла: Re: Google AI challenge
Публикувано от: gat3way в Oct 18, 2010, 22:40
Те между другото и майкрософт са представени, но има само един с близко ЕЛО, че да имам шанс да се падна с него скоро. Останалите са или много пред мен, или много зад мен :( Иначе много бих се зарадвал да спукам от бой дебелото прасе писано на C# :)

Но иначе нямат нито един представител в топ 100.


Титла: Re: Google AI challenge
Публикувано от: clovenhoof в Oct 19, 2010, 10:10
Преди години спечелих 2ро място на подобна надпревара към състезанието по програмиране на Мусала.
Гледам че и сега има такива задачки. Голям fun беше. Имаше тестов веб-сървис и докато подобряваш кода бичиш с някакво тъпо AI.

Помня че адаптирах версия на Алфа-Бета pruning от един шах. Абе зарибявка за която за съжаление нямам време вече.


Титла: Re: Google AI challenge
Публикувано от: remotex в Oct 21, 2010, 09:36
На Мусала са им тъпи задачките, много са нарядко и некадърно обяснени (често пъти)
в  смислъл не толкова тъпи колкото .. а бе не са учили или поне не са завършили педагогика тези дето ги пишат (даже на няколко пъти имах чувстството  че и математика не са доучили) ..кодери явно некви...

За тези които НАИСТИНА искат да се пробват тук
http://www.topcoder.com/tc
Отляво графата Competitions
(ежеседмични състезания), ежегоден конкурс и пр. както си му е редът
и тогава ще разберат че това на Гугъл-а нищо не е
(сравнено с ЕДИН Маратон там, а има на всеки 1-2 седмици по един)
а и добри пари плащат - някой хора направо си живеят от това (и то не само от по-бедните държавици има 2-3 от САЩ и Канада, но при тях е на почти пълен работен ден и НЕ са служители - само на състезателен принцип)

П.П. За съжаление и на мен ми остава все по-малко време за това...


Титла: Re: Google AI challenge
Публикувано от: bop_bop_mara в Oct 21, 2010, 10:56
На Мусала са им тъпи задачките, много са нарядко и некадърно обяснени (често пъти)
в  смислъл не толкова тъпи колкото .. а бе не са учили или поне не са завършили педагогика тези дето ги пишат (даже на няколко пъти имах чувстството  че и математика не са доучили) ..кодери явно некви...

Оу, ама ти мислеше, че са някакви учители или като цяло възрастни? Доколкото аз знам (и познавам) обикновено си вземат студенти 1-2 курс, състезатели от олимпиади по информатика и от техните конкурси. Тъй че, от една страна може да им са некадърно обяснени нещата (макар че моите наблюдения пак показват, че, който е в "тая сфера", няма проблеми с разбирането на условията), но от друга - все пак дават работа на млади и талантливи хора. (Само да не останете с впечатление, че ги харесвам като фирма, не е така, даже изобщо :)) Иначе задачите обикновено бяха разни NP-та, но браво на този, на който са му били тъпи  [_]3

За тези които НАИСТИНА искат да се пробват тук
http://www.topcoder.com/tc
Между другото, голяма част от хората, които ще видиш в класиранията на Мусала, ще ги видиш и в първата страница на класирането на българите в Topcoder. Те състезателите не подминават състезания ;)


Титла: Re: Google AI challenge
Публикувано от: clovenhoof в Oct 21, 2010, 14:20
Лесни били задачите - хаха. Лесни - друг път.
Ако са ти лесни на Мусала ще си от първите в Топкодер.

ПП: В топкодер бяха 3 задачи и сортирани по трудност, но там проблема е по-скоро времето. Имаш определено макс. време през което можеш да пращаш решенията. (Май 1 или 2 часа беше. Забравил съм.)


Титла: Re: Google AI challenge
Публикувано от: remotex в Oct 22, 2010, 08:20
Не искам да остана неразбран - задачите са NP да и не са лоши като идея. Според мен обаче реализацията им куца - нямат реализатори
т.е. представянето (и провеждането) на конкурса не е на ниво (не са задачите)
и аман вече от тоя мечо пух (мед ми излиза от пъпа вече)

Предполагам завоалираните им обяснения идват само и само да не дадът в псевдо-код алгоритъма който реализират (защото веднага истината ще лъсне) а оттам идват основно грешните разбирания.
 Второ Защо не си дават кода на тестера (напр. топкодер го дават и е разрешено да си оптимизираш програмата спрямо тоя код). Трето много им е статичен сайта - сваляш на doc или pdf (не помня точно) и след половин - един месец ..ако имало грешка, па ако случайно са разбрали че имало па дават на всички по незнам си колко т. бонус (щото ние не сме видели че има ама ви тествахме с грешката и еди-кой си победи) т.е. ако си открият грешката не подменят документа (предполагам заради вече изтеглилите го) ами като ги мързи да си го направят динамичен сайта - топкодера напр. почти винаги отриват грешки и ги оправят на момента и подменят страницата с условието (И това е вкл. в услвията на турнира с които се съгласяваш при заявка за участие)

clovenhoof Говорех за МАРАТОНите на топкодера, не за алго, концептуализация, спецификация, архитектура, дизайн, разработка, асемблиране, тест, прототитпиране, отладка, студио и пр. състезанията там.
МАРАТОНът е 2 седмици в топкодер, отделно има понякога и за повече време 4 и повече седмици - от един такъв ми остана и една тениска от НАСА, не че написах кой знае какъв код моята бе по-скоро за участие (не остава време вече - за участие, иначе си ги следя и мечо и топа  8) )

Да лесни са задачите и имат много лесно решение обик. и най-простият метод на "грубата сила" работи - проблемът им е само ограничението по време - затова се водят НП или ако мога да цитирам колега топ кодер: "There is always a simple, neat and elegant brute force solution."


П.П. Това нашето "недоносче" малко ми напомня за това как веднъж се шегуваха от Господари на ефира с едно подобно предаване на състезателен принцип където на въпроса колко градуса е ъгъла в правилния петоъгълник - отговорът беше 72 и беше признат за ВЕРЕН?! Като възможни отоговори бяха дадени още 3-4 ст-ти, най-голямата беше 90 градуса - НЯМАШЕ ТЪП ъгъл, а те от вписаните само правилните 3 ъгълници имат остър, правилен 4 ъгълник е 90 градуса и от 5 нагоре да все тъпи. та ще цитирам господарите - "Е как от всички грешни отг. човекът избра точно този който ще му признаят за верен"?

Истината е че тук няма ясни правила дефинирани ПРЕДВАРИТЕЛНО т.е. напр. човек си е решил най-добре задачата но заради бъг-че във вход/изхода (което те му оправят за да могат да го пуснат да се състезава) му вземат ПРОИЗВОЛЕН бр. точки т.е. колкото да дойде след "нашия" човек в класирането (обик. 50 понякога и повече). Поне си ги признават, но защо не ги вкл. ПРЕДВАРИТЕЛНО в условията за участие и да не са произволен ами фиксиран : напр. за В/И грешка 50 , за заемане много памет колкото те нямат на тестовата машина (т.е. човекът вкъщи имал повечко а не заради грешен алгоритъм) 100 т. и Защо не публиквуат предварително всички изисквания (дават само за колко време и какви езици) - памет, размер на кода и пр.
и т.н. все организационни проблеми.

Най-лошото е че не се учат от "грешките" си...
Ами като не могат да организират такива събития по-добре да не се захващат. - е моето (и на уста Кольо Фичето) лично мнение .


Титла: Re: Google AI challenge
Публикувано от: remotex в Oct 22, 2010, 08:23
Така  или иначе скоро ще сменям държавата и хептен няма да ми остане време...
мдааа... вече ще трябва и да се работи.


Титла: Re: Google AI challenge
Публикувано от: ivanatora в Oct 22, 2010, 10:48
Това изглежда много интересно и ще се опитам да се включа като имам малко време свободно :)
Има ли други такива игри? Едно време имаше някаква симулираща компютърни вируси - в една "система" се пускаха "програмите" на няколко играча, завладяваха се памети, стратегия си беше... Някой сеща ли се как се казваше?


Титла: Re: Google AI challenge
Публикувано от: bop_bop_mara в Oct 22, 2010, 12:29
и най-простият метод на "грубата сила" работи - проблемът им е само ограничението по време - затова се водят НП
Извинявай, ама не се сдържах - на всички NPта проблемът им е в ограниченото време на човечеството, а пълното изчерпване си е тривиалното решение на всеки проблем, но не е алгоритъм :)

Цитат
т.е. колкото да дойде след "нашия" човек в класирането
Защо мислиш, че има "техни" хора в класирането, в състезанието е забранено да участват хора, които работят (че даже и които са работили някога, май) в Мусала.

Иначе, да, от една страна лошата организация проваля добрите замисли, но пък от друга - смисълът на това да участваш, е в собствените ти мисли и идеи по задачата и в опита, който ти носи, не толкова някакви блага, които може да получиш.

В Topcoder също много често се дънят, не на маратонките де, но примерно на редовните SRMта и на Topcoder Open квалификациите редовно падат сървъри и всичко се проваля, което също е доста дестимулиращо, особено когато човек вече няма много време за тези неща и е решил да се пробва един път заради добрите стари времена :)


Титла: Re: Google AI challenge
Публикувано от: remotex в Oct 22, 2010, 21:13
Това за "техните" хора беше образно казано - не знам дали имат или не, но докато не си обявят публично критериите си е напълно валидна възможност... и топкодер имат грешки даже при маратоните са повече .. не грешките ами пропуските в обявяване на някакви ограничения обик. или бъгове в тестера които не могат да се предвидят, но поне : 1. критериите им са обявени предварително (за кое колко точки + или -) и 2. Ако има грешка или пропуск в условието на задачата то също се променя своевременно и като отида утре напр. да го погледна вече ще е оправено.
Другото важно нещо - ако ще е за учене тогава да пуснат и по-лесни задачи другите пущат по 3 лесна, средна и трудна, тука само трудни и то имам чувството че са от типа - бе нека препишат аз от 3 седмици не мога да я реша - цитирам професор от ВУЗ в отг. на въпроса защо си ги оставил сами, няма ли да препишат (да не се засягат "колегите" от Русе, няма да цитирам имена)

Не съм казал че топкодер е панацея за всичко, ама поне се учат от грешките си - говоря за алгоритмичните им състезания, иначе за развойна дейност - Не бих си поръчал нищо оттам ..създадено на състезателен принцип от най-бързия кодер а не от най-добрия или както казваше Стив Бушеми докато го закопчаваха за совалката в Армагедон "You know we’re sitting on four million pounds of fuel, one nuclear weapon and a thing that has 270,000 moving parts built by the lowest bidder."  8)


Титла: Re: Google AI challenge
Публикувано от: ivanatora в Oct 23, 2010, 21:21
Много странно как след 10 загуби и 1 победа ме класира на трето място за България... Иначе в starting package за РНР намерих поне 2 критични бъга, които го правят неизползваем... За щастие и двата се оправят с фикс на по 1 ред код.


Титла: Re: Google AI challenge
Публикувано от: borovaka в Oct 24, 2010, 00:51
ivanatora На php starter pack-а не съм го теглил обаче я кажи кои са тези бъгове дето го правят неизползваем?


Титла: Re: Google AI challenge
Публикувано от: gat3way в Oct 24, 2010, 01:19
Това са недостатъци по-скоро. Само една активна флота и само една команда на turn. Не е особено ефективно.


Титла: Re: Google AI challenge
Публикувано от: ivanatora в Oct 24, 2010, 09:51
Бъговете съм ги постнал на форума им ($2). На практика методите PlanetWars->getEnemyPlanet() и PlanetWars->distance() не работеха.


Титла: Re: Google AI challenge
Публикувано от: gat3way в Oct 24, 2010, 11:43
А, това е странно. distance() функция в моя kit нямаше и трябваше аз да си я пиша. Има и функция подобна на getenemyplanets, но не се казва по този начин. Вероятно има няколко PHP кит-а в циркулация.


Титла: Re: Google AI challenge
Публикувано от: cdiem в Oct 24, 2010, 23:30
Мерси за темата, Gat3way. Много е добро, а е хубаво и че има още 1 месец за писане на код.


Титла: Re: Google AI challenge
Публикувано от: VladSun в Nov 12, 2010, 02:12
До къде я докарахте?
Играта много ми харесва :)


Титла: Re: Google AI challenge
Публикувано от: borovaka в Nov 12, 2010, 10:12
VladSun Моя е много куц :)


Титла: Re: Google AI challenge
Публикувано от: VladSun в Nov 12, 2010, 11:04
Вчера играх онлайн с човек, който твърдеше, че е инициаторът на това състезание от страна на Google. Каза, че му отнело страшно много време да намери игра, за която няма универсална стратегия :)

Аз самият още не съм правил бот ... нещо ме мързи :) А и игра с двама участника се различава адски много от такава с повече участника - началните разстояния са доста по-къси ;)


Титла: Re: Google AI challenge
Публикувано от: gat3way в Nov 12, 2010, 11:22
Не съм си пипал бота от близо месец. Като гледам доста хора са му намерили цаката и губи доста малоумно на някои партии. Като остане време, ще му подобря малко стратегията.