Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 21.10.2011, 21:57   #1
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию Google AI Challenge Ants

Вчера началось интересное соревнование по программированию - AI Challenge, в этом году написанным игроками ботам предстоит играть в Ants.
Участникам соревнования предстоит реализовать алгоритм, который будет руководить колонией муравьев. На симметричной карте, состоящей из земли и воды (препятствия), каждому боту будут выделены один или несколько муравейников — места, в которых рождаются новые муравьи. Целью игры является захват и уничтожение муравейников противников при этом сохранение и защита своих. За уничтожение чужих муравейников начисляются очки, а за сдачу своего очки вычитаются.

Сайт соревнования http://aichallenge.org

Перевод на русский правил и спецификации игры:
http://habrahabr.ru/blogs/sport_programming/130979/
Хорошее описание игры:
http://habrahabr.ru/blogs/sport_programming/131262/

На русском много чего полезного можно почитать тут:
http://habrahabr.ru/blogs/sport_programming/130457/
http://habrahabr.ru/blogs/sport_programming/130946/
http://habrahabr.ru/blogs/sport_programming/130722/

ЗЫ ну и как же не похвастаться своим ботом:
http://ai-contest.com/profile.php?user=1234
__________________
Я здесь практически не появляюсь!, Skype - ikskor

Последний раз редактировалось xkor, 05.11.2011 в 20:36.
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился 6 спасибками от:
Старый 25.10.2011, 01:35   #41
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

что-то я малость не догоняю, а как на php то запустить? скачал старт пакет, там три файла Ants.php запускаешь - пусто. MyBot.php пишет ошибки и браузер виснет.
__________________
хочу картинку в подпись!
SeregaZ вне форума   Ответить с цитированием
За это сообщение SeregaZ нажился спасибкой от:
Старый 25.10.2011, 01:53   #42
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Цитата:
Сообщение от SeregaZ Посмотреть сообщение
MyBot.php пишет ошибки и браузер виснет.
эм, а причем тут браузер? запускать надо питоновский движок проводящий сражение передавая ему в параметрах настройки и пути к ботам
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился спасибкой от:
Старый 25.10.2011, 02:04   #43
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

хорошо. сначала ставлю питон. предположим D:\Python27\
после качаю распаковываю tools предположим D:\ANT\
потом требуется запуск play_one_game.cmd
при запуске её, пишет что python не является командным файлом или еще там чемто.
ладно, запустил тогда из пуска Python (command line), в появившемся черном окошке вбил путь до play_one_game.cmd - пишет ошибка синтаксиса.
__________________
хочу картинку в подпись!
SeregaZ вне форума   Ответить с цитированием
За это сообщение SeregaZ нажился спасибкой от:
Старый 25.10.2011, 02:06   #44
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Цитата:
Сообщение от SeregaZ Посмотреть сообщение
при запуске её, пишет что python не является командным файлом или еще там чемто
надо путь к python.exe добавить в PATH винды или пользователя и перезагрузиться
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился спасибкой от:
Старый 25.10.2011, 02:45   #45
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

все. в корень питона надо было содержимое папки тулс закинуть...
ну или Path...

Добавлено через 10 минут
еще вопрос: там вроде четыре бота в смд файле. я хотел схитрить, удалить три зараза ругается.
можно ли так запустить? чтобы другие боты не отвлекали, посмотреть на развитие запустив только 1 бота.

Добавлено через 26 минут
ладно хрен с ним. поставил карту с 2 игроками. теперь как бота своего подключить? там что есть то питоновские боты, то есть с расширением .py - а как мне своего из папки php добавить? сейчас указываешь путь - игра не стартует. я так полагаю что нужно конвертануть из .php в этот .py?
__________________
хочу картинку в подпись!

Последний раз редактировалось SeregaZ, 25.10.2011 в 02:45. Причина: Добавлено сообщение
SeregaZ вне форума   Ответить с цитированием
За это сообщение SeregaZ нажился спасибкой от:
Старый 25.10.2011, 11:35   #46
Местный
 
Аватар для Nickers
 
Регистрация: 23.11.2009
Сообщений: 574
Сказал Спасибо: 134
Имеет 117 спасибок в 82 сообщенях
Nickers пока неопределено
По умолчанию

SeregaZ, Там у тебя в папке Стартовой есть файл Makefile?
По идее нужно скомпилировать (Как с php не знаю), запихать куда поближе и проложить путь. Но у меня и на С++ и на Pascal Вузуализатор зависает и не хочет ничего делать.
__________________
Пишу что думаю, но ничего не знаю...
[LameGuard|Скрипты l2phx]
Nickers вне форума   Ответить с цитированием
Старый 25.10.2011, 17:50   #47
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

неа, нету там только три файла:
Ants.php
MyBot.php
VERSION
да и смысл в них, если там в тулс есть своя папка PHP и в ней эти же файлы. не подходят ни стартовый пакет, ни указание с той родной тулс папки пхп файлов. видимо надо как-то конвертировать из пхп в путановский файл. батник тест бот тоже не пашет. пишет надо 2 ботов. я там малость не догнал как двух записывать...

Добавлено через 37 минут
все. догнал надо было изменить командный файл вместо:
PHP код:
@echo off
python 
"%~dp0playgame.py" --engine_seed 42 --player_seed 42 --end_wait=0.25 --verbose --log_dir game_logs --turns 500 --map_file "%~dp0maps\test.map" %* "python ""%~dp0sample_bots\python\LeftyBot.py""" "python ""%~dp0sample_bots\php\MyBot.php""" 
надо было указать путь до php.exe файла:
PHP код:
@echo off
python 
"%~dp0playgame.py" --engine_seed 42 --player_seed 42 --end_wait=0.25 --verbose --log_dir game_logs --turns 500 --map_file "%~dp0maps\test.map" %* "python ""%~dp0sample_bots\python\LeftyBot.py""" "D:\Program Files\EasyPHP-5.3.2\php\php.exe ""%~dp0sample_bots\php\MyBot.php""" 
ща болванки накатаю и засяду чуть не забыл! запускать сервер совсем не обязательно. он сам там с php любовью позанимался, и потом выдал результаты. стартовать аппач и все остальное не нужно. достаточно установить и потом указать путь до php.exe файла.

Добавлено через 2 минуты
кстати! вы в курсе, что при запросе в гугле - содерх вылезает на втором месте, после хабара? )))) давайте счетчик подкрутим, чтобы на первое место вылазил.

Добавлено через 2 часа 44 минуты
так. ладно. начнем разбираться, кто больше в этом соображает - подсказывайте

взял я файлик 0.replay, и посмотрел на код. так вот... были строчки:
PHP код:
"ants": [
[
515401240,  "eese*
[21, 6, 0, 124, 1,   "
eween*
[
21631241,   "wensw*
[51, 54, 13, 124, 0, "
eese*
[
5154581240"eeses*
[51, 54, 111, 124, 0, "
eeseswsnwwnn"]], 
разбито для удобства. первые координаты 51, 54 я полагаю координаты рождения муравейки? и по сути это же муравейник.
последняя циферка - 0, и 1 для второго муравейки - я так полагаю это принадлежность к команде?
третья циферка это похоже на время рождения, точней номер хода видимо, при котором муравейка родился.
а нахрена 124? что она дает?
дальше - всякие wensw это видимо команды на изменение координаты на единичку в направлении буквы - w - west - запад (вправо), e - east - восток (влево), n - north - север (вверх), s - south - саус парк (вниз)

далее еда:
PHP код:
"food": [[215021], 
         [
51530120], 
         [
15200124], 
         [
159024124], 
         [
4950281100], 
первые две понятно координаты, 0 это время респауна жратвы. то есть 0 это значит еда уже была на момент создания карты, дальше 24 и 28 - появились на 24 и 28 ходу соответственно.
далее опять нахрена 124? или 110, или 2 или 12. что они означают?
далее пятая цифорка - я так полагаю что когда четыре это респаун, когда пять - это сожратие. то есть опять координаты, время сожратия, хрен знает параметр, и 0 или 1 - номер команды, которая сожрала.
тут пришла в голову идея, что та хрен значная цифорка айди муравьишки, который съел?

я все уточняю, чтобы понять что к чему потом надо понять как команды приходят в моего бота, и как отсылать. какой там синтаксис.
__________________
хочу картинку в подпись!

Последний раз редактировалось SeregaZ, 25.10.2011 в 17:50. Причина: Добавлено сообщение
SeregaZ вне форума   Ответить с цитированием
Старый 25.10.2011, 21:03   #48
Местный
 
Аватар для Nickers
 
Регистрация: 23.11.2009
Сообщений: 574
Сказал Спасибо: 134
Имеет 117 спасибок в 82 сообщенях
Nickers пока неопределено
По умолчанию

http://habrahabr.ru/blogs/sport_programming/130979/

Добавлено через 4 минуты
SeregaZ, Разбери пример бота, который в папке тулз. Я пытался Питона разобрать, пока не получается (Язык не знаю ж ведь) Вроде логику вижу, что он делает (Комментарии помагают) А вот, где он формирует команды не вижу...
__________________
Пишу что думаю, но ничего не знаю...
[LameGuard|Скрипты l2phx]

Последний раз редактировалось Nickers, 25.10.2011 в 21:03. Причина: Добавлено сообщение
Nickers вне форума   Ответить с цитированием
Старый 25.10.2011, 23:56   #49
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

интересно, а как реализовать debug? внес в пхп код, чтобы при поступлении команды doTurn( $ants ) - записывал её в тхт файл. но поскольку там походу стоит ретранслятор пхп, и там походу эта команда не поддерживается. и поэтому он скатина не пишет в мой файл ничего. без возможности посмотреть, что творится в моем коде, это дохлый номер...

issueOrder($aRow, $aCol, $direction) - это я так понимаю команда мурашу в данных координатах выдвинутся в одном из 4 направлений $direction.

passable($nRow, $nCol) - проверка на препятствие. в случае, если координаты следующего хода соответствуют препятствию (то есть воде), то хода не будет. и я так полагаю нужно будет муравьишке дать другое направление.

и как интересно получить предыдущее направление муравьишки, в случае если требуется продолжение движения именно в ту сторону? вести отдельный массив, куда будут записываться все мураши?

Добавлено через 1 час 50 минут
кароче без дебаггера ловить нефиг. ну написал я код, и что? как теперь узнать в какой линии ошибка?
__________________
хочу картинку в подпись!

Последний раз редактировалось SeregaZ, 25.10.2011 в 23:56. Причина: Добавлено сообщение
SeregaZ вне форума   Ответить с цитированием
Старый 26.10.2011, 18:59   #50
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Цитата:
Сообщение от SeregaZ Посмотреть сообщение
но поскольку там походу стоит ретранслятор пхп
чего чего? какой ещё ретранслятор? код выполняет твой php движок с твоего компа с твоими настройками, питоновский скрипт запускающий и взаимодействующий с ботами понятия не имеет на каком языке и через какой интерпретатор или без него выполняются боты)

Цитата:
Сообщение от SeregaZ Посмотреть сообщение
issueOrder($aRow, $aCol, $direction) - это я так понимаю команда мурашу в данных координатах выдвинутся в одном из 4 направлений $direction.

passable($nRow, $nCol) - проверка на препятствие. в случае, если координаты следующего хода соответствуют препятствию (то есть воде), то хода не будет. и я так полагаю нужно будет муравьишке дать другое направление.
всё так

Цитата:
Сообщение от SeregaZ Посмотреть сообщение
и как интересно получить предыдущее направление муравьишки, в случае если требуется продолжение движения именно в ту сторону? вести отдельный массив, куда будут записываться все мураши?
у меня в боте каждый муравей описывется классом с кучей полей, там и последнее направление движения, и последний рассчитанный для него путь к еде (не считать же его каждых ход заного), весовые коэффициенты указывающие на нежелательность перемещения во все 4 направления или оставаться на месте, и ещё много чего)

Цитата:
Сообщение от SeregaZ Посмотреть сообщение
кароче без дебаггера ловить нефиг. ну написал я код, и что? как теперь узнать в какой линии ошибка?
это 100%, но в файл писать точно можно, мой бот это делает спокойно)

Добавлено через 59 секунд
Цитата:
Сообщение от SeregaZ Посмотреть сообщение
взял я файлик 0.replay, и посмотрел на код. так вот... были строчки:
кстати формат этого файла не имеет практически ничего общего с форматом общения бота с сервером боя)

Добавлено через 16 часов 35 минут
SeregaZ, вот новая статья о муравьях, очень хорошо всё описывает, так же там представлены базовые стратегии и даже пример бота на PHP который по заявлению автора держится в 50-60 местах. И там кстати про его отладку тоже написано.

Добавлено через 8 минут
интересный под конец бой http://aichallenge.org/visualizer.ph...6282&user=1234
пока рыжий атаковал своей ордой мой муравейник, а он каким то чудом стоял за счёт постоянного выплёвывания муравьёв, мои муравишьки подкрались к его респу)))

Добавлено через 4 минуты
хм, кстати получается что если много муравьев ожидают респа, то о защите муравейника в принципе можно не беспокоиться
__________________
Я здесь практически не появляюсь!, Skype - ikskor

Последний раз редактировалось xkor, 26.10.2011 в 18:59. Причина: Добавлено сообщение
xkor вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 00:18.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!