![]() |
![]() |
![]() |
|
OFF: PlanetWars::1C - создай своего бота на 1С! | ☑ | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0
mszsuz
17.10.10
✎
16:33
|
Теперь можно не разбираться с "буржуйскими" языками, а написать своего бота прямо на 1С.
http://https://sites.google.com/site/planetwars1c/ |
|||||||||||||
1
КузьмаПруткофф
17.10.10
✎
16:35
|
нет не можно
|
|||||||||||||
2
mszsuz
17.10.10
✎
16:36
|
||||||||||||||
3
Кириллка
17.10.10
✎
16:36
|
(0)смотри-ка, живой :)
|
|||||||||||||
4
IamAlexy
17.10.10
✎
16:43
|
7ка - ффу
|
|||||||||||||
5
mszsuz
17.10.10
✎
16:57
|
Как будет проводиться Чемпионат - вопрос открытый. Выслушаю все предложения.
Начать планирую с 1 ноября и закончить 27 ноября. |
|||||||||||||
6
IamAlexy
17.10.10
✎
16:57
|
(5) проводить на 8.2
|
|||||||||||||
7
КузьмаПруткофф
17.10.10
✎
17:02
|
(17) проблема с бурж языками? лоботомия вам в помощь.
|
|||||||||||||
8
mdocs
17.10.10
✎
17:23
|
запас производительности кстати есть, стартовые боты тратят на ход 1-3мсек
|
|||||||||||||
9
mszsuz
17.10.10
✎
17:33
|
(8) Да, и тем более никто нас пока не ограничивает сделать допустимыми например 2 секунды на ход.
|
|||||||||||||
10
mszsuz
17.10.10
✎
17:34
|
Занялся статьей "Пишем первого бота"
http://sites.google.com/site/planetwars1c/pisem-pervogo-bota |
|||||||||||||
11
rsergio
17.10.10
✎
18:35
|
(10) Предположим написал я первый бот, что дальше, где будет проходить битва?
|
|||||||||||||
12
КузьмаПруткофф
17.10.10
✎
18:35
|
(11) толсто троллишь
|
|||||||||||||
13
mszsuz
17.10.10
✎
18:38
|
Планирую сделать также как и Google - отправляем обработку на некий адрес и смотрим результат.
|
|||||||||||||
14
mszsuz
17.10.10
✎
18:41
|
Кстати, чтобы было продуктивнее, может сделать не Эло-рейтинг, а сделать полный перебор с существующими участниками. Таким образом будет проще будет анализировать алгоритм и свой и конкурентов.
|
|||||||||||||
15
Лефмихалыч
17.10.10
✎
18:42
|
какое-то мертворожденное блюэ, целиком и полностью состоящее из "может быть@? "я планирую" и "наверное". Еще и на семерке...
(0) чуваг, ты вчера вылез из какого-то бункера, где в изоляции от всего мира с рождения пересиживал холодную войну? |
|||||||||||||
16
Лефмихалыч
17.10.10
✎
18:53
|
+(15) как-то грубо получилось. Не имел такой цели. Извини, mszsuz
|
|||||||||||||
17
NS
17.10.10
✎
18:59
|
Предлагаю сделать интерфейс через файл обмена. Тогда можно будет писать бота и на семерке, и на восьмерке.
|
|||||||||||||
18
NS
17.10.10
✎
19:00
|
(14) Даже при игре каждого с каждым лучше считать рейтинг, и ранжировать по нему.
BayesElo - бесплатная, общедоступная программа. |
|||||||||||||
19
mszsuz
17.10.10
✎
19:13
|
(17) Ок, завтра будет готово.
|
|||||||||||||
20
rsergio
17.10.10
✎
19:17
|
(17) Но как отлаживать боты на 8-ке?
|
|||||||||||||
21
Лефмихалыч
17.10.10
✎
19:19
|
(20) так же, как и на семерке - умозрительно.
|
|||||||||||||
22
rsergio
17.10.10
✎
19:23
|
(21) На 7-ке можно отладчиком т.к. есть движок.
На 8-ке движка нет, поэтому или придется по логам, или запуская две версии 1С. И на соревнованиях придется держать две платформы чтобы запускать разных ботов... |
|||||||||||||
23
Лефмихалыч
17.10.10
✎
19:32
|
(22) я к тому и клоню - оно мертворожденное
|
|||||||||||||
24
NS
17.10.10
✎
22:00
|
Почему-же?
Другое дело что немногие захотят это писать на 1С. |
|||||||||||||
25
Venom
17.10.10
✎
22:06
|
<закладка>
|
|||||||||||||
26
mszsuz
17.10.10
✎
22:11
|
Кто может - поправьте пож-ста ссылку в (0)
|
|||||||||||||
27
rsergio
17.10.10
✎
22:44
|
(24) Да многие смогли бы и захотели писать на 1С, только нужен стимул это делать. Пока что это просто прикольно и не более.
|
|||||||||||||
28
mdocs
17.10.10
✎
23:22
|
(26) У меня почему-то не выдает имя победителя, по-окончанию игры. Что может быть?
|
|||||||||||||
29
Злопчинский
18.10.10
✎
00:04
|
...блин, занялись бы чем-нить полезным...
|
|||||||||||||
30
NS
18.10.10
✎
00:20
|
14 дней до начала чемпионата...
Может лучше установить реальные сроки? |
|||||||||||||
31
rsergio
18.10.10
✎
00:29
|
Попытался адаптировать свой бот под 7.7.
Блин, после 8-ки и Eclipse в конфигураторе 7.7 сидеть неприятно, куча ограничений, очень на многие вещи тратится лишнее время. Забросил я это занятие пока... |
|||||||||||||
32
mszsuz
18.10.10
✎
00:50
|
(28) Таак и должно быть. Убрал из последней сборки отладочное Предупреждение(). Как в оригинале.
(30) Эти 14 дней для изучения и тренировок. Чемпионат начнется 1 ноября и продлится 27 дней. Увеличивать сроки смысла нет, так как в сети появятся исходники ботов с http://ai-contest.com/ и результат будет необъективным. (31) Погляжу через два-три дня на восьмерку, может получится портануть и туда. Или может кто-то изъявит желание провернуть это дело - исходники в этом случае предоставлю. |
|||||||||||||
33
rsergio
18.10.10
✎
00:55
|
(32) Разве после окончания будут опубликованы исходники ботов?
На прошлой AI Challenge так было? Тогда проще найти/придумать новую игру/движок и неспешно завлекать народ. Я бы рассчитывал не на один месяц, а на более продолжительный период - народ должен подтянутся, слух пойти, первые результаты и т.п. |
|||||||||||||
34
mszsuz
18.10.10
✎
01:04
|
(33) Могут выложить сами участники.
|
|||||||||||||
35
Злопчинский
18.10.10
✎
01:16
|
А результатом что будет? титул самый большой мозх?
|
|||||||||||||
36
Domovoi
18.10.10
✎
02:48
|
Хе, а я собирался завтра к другу топать за всякой хренью для С++, а тут на 1с, прикольно, жалко только на 7 :)
|
|||||||||||||
37
Anarki
18.10.10
✎
04:51
|
Не показывается результат по прошествии всех ходов.
|
|||||||||||||
38
rsergio
18.10.10
✎
09:51
|
(36) Вся фигня, что на С++ вы можете попробовать свои силы на международной арене с почти 3400 игроками и победа многого стоит, а на 1С что предложат?
|
|||||||||||||
39
ProxyInspector
18.10.10
✎
10:20
|
Прикольно. Дело в том, что на 1с писать бота 30 мин, а изучать и устанавливать всякую фигню на свой компьютер очень муторно.
|
|||||||||||||
40
ProxyInspector
18.10.10
✎
10:22
|
Автор защиты КЗК-2 должен сказать тебе большое Спасибо. Жалко, что на 8-ке нет надежной защиты конфигураций.
|
|||||||||||||
41
mszsuz
18.10.10
✎
10:38
|
(40) С АЛьФом у нас давнее и, надеюсь, взаимовыгодное сотрудничество. В очередной раз хочу сказать ему "Спасибо!".
Кто начал делать своего бота - пишите здесь, каких бантиков не хватает - это будут первоочередные задачи. |
|||||||||||||
42
Ёпрст
гуру
18.10.10
✎
10:43
|
(41) нет конечного результата.. + пошаговой "крутилки"..
|
|||||||||||||
43
mszsuz
18.10.10
✎
10:49
|
(42) Пошаговая крутилка на закладке "Лог". Сразу после боя можно переключиться туда и "покрутить".
"Состояние игры" сегодня сделаю. |
|||||||||||||
44
ProxyInspector
18.10.10
✎
10:51
|
Установил у себя эту (0) хреновину.
У меня WindowsXPх64. В процессе установки ActiveX компоненты выдалось сообщение что не смогли зарегистрировать ActiveX MapXXX.ocx. Правда программа заработала. При выходе 1С вываливалась с ошибкой. Переустановил ActiveX? теперь уже без ошибки все стало работать. На все потребовалось 3 мин. Единственно, что было бы не плохо открыть исходник PLayGame. Иначе не имеет смысла использовать 1С. Если откроешь исходники, тогда можно будет реализовывать интересные фишки. |
|||||||||||||
45
ProxyInspector
18.10.10
✎
11:00
|
По совести не плохо сделать описание лог файла (тогда можно будет делать свои анализаторы), каждый ход в лог фапйле с новой строки (тогда можно будет легко просматривать глазами.
|
|||||||||||||
46
ProxyInspector
18.10.10
✎
11:01
|
Но все равно здорово. Если будет время 30 мин, то напишу своего бота.
|
|||||||||||||
47
mszsuz
18.10.10
✎
11:13
|
(44) Для 64-х битных систем на MapWindow.org есть другой дистрибутив, правда с пометкой "Experimental!".
Ссылка: http://www.mapwindow.org/download.php?show_details=2 Лог-файл - стандартный вывод аналогичных движков. Кстати, этот лог можно загрузить на http://visualizer.naktibalda.lt и получить ссылку на просмотр. Сделать описание формата лога - добавил в задачи. |
|||||||||||||
48
ProxyInspector
18.10.10
✎
11:31
|
Теперь сделать возможность проведения чемпионата со всеми доступными локальными картами и локальными ботами с расчетом рейтинга.
Тогда можно будет обмениваться ботами и запускать чемпионат на своем локальном компе. Ну и 14 дней - это очень мало. Работать все таки надо периодически. |
|||||||||||||
49
ProxyInspector
18.10.10
✎
11:33
|
К примеру сделал своего бота, скинул в локальную папку. Запустил чемпионат и вуаля. Нашел лучшего игрока обменялись ботами и провели спаринг. Вот только вопрос защиты кода стоит остро. Потому что код бота - самое интересное в этом соревновании.
|
|||||||||||||
50
dk
18.10.10
✎
11:45
|
закладка
|
|||||||||||||
51
ProxyInspector
18.10.10
✎
11:55
|
(47) Для WinXPx64 та же ошибка при регистрации сомпоненты
|
|||||||||||||
52
Ёпрст
гуру
18.10.10
✎
14:01
|
(0) засвети тут тему.. в курилке, к примеру.
http://www.1cpp.ru/forum/YaBB.pl |
|||||||||||||
53
Domovoi
18.10.10
✎
14:01
|
(0)На карте есть надписи зеленым шрифтом типа "+3" - что это?
|
|||||||||||||
54
Domovoi
18.10.10
✎
14:05
|
(0)А по шагам бой еще нельзя смотреть?
|
|||||||||||||
55
Domovoi
18.10.10
✎
14:06
|
+(54)Прошу прощения нашел.
|
|||||||||||||
56
Domovoi
18.10.10
✎
14:42
|
(0)А нет случайно документации со списком команд?
|
|||||||||||||
57
ProxyInspector
18.10.10
✎
14:45
|
Уже сдел первого бота. Осталось только (48) Проведение локального чемпионата с доступными роботами. Пока этого нет, не интересно.
|
|||||||||||||
58
sash-ml
18.10.10
✎
17:07
|
Правильно ли я понимаю что каждый шаг (приказ) создается в новой обработке и нет возможности использовать предыдущие расчеты ?
|
|||||||||||||
59
rsergio
18.10.10
✎
17:10
|
(58) Мне тоже так показалось, и это очень плохо (по сравнению с оригиналом)
|
|||||||||||||
60
boggonzikov
18.10.10
✎
17:23
|
За идею и реализацию респект.
Хотелось бы чтобы еще на 8-ке, была возможность писать бота Хотел в http://ai-contest.com/ по-участвовать, но знания стандартных языков не хватило. Если все доведёшь, то буду участвовать. |
|||||||||||||
61
Domovoi
18.10.10
✎
17:30
|
+(53)Я так понял это прирост кораблей, а почему тогда у планеты есть прирост "+0"?
|
|||||||||||||
62
boggonzikov
18.10.10
✎
17:31
|
Для защиты бота по-моему и КЗК не обязательна, можно пройтись по коду Обфускатором (http://infostart.ru/public/15907/), я думаю желание разбираться в чужом коде не будет.
|
|||||||||||||
63
ProxyInspector
18.10.10
✎
17:31
|
Функция Генератора случайных чисел написана плохо в конфигурации надо так:
//------------------------ Функция СлучайноеЧисло(Чсл) Возврат Мтм.СлучайноеЧисло()*Чсл; КонецФункции А у тебя //------------------------- Функция rnd(Чсл) Экспорт Возврат Мтм.СлучайноеЧисло(Чсл)+1; КонецФункции |
|||||||||||||
64
mszsuz
18.10.10
✎
17:39
|
(58) Неправильно. Объявите и используйте переменные модуля.
Пример: Перем НомерХода; // объявляем переменные здесь Процедура СделатьХод(Вс) // ... НомерХода = НомерХода + 1; // используем, например здесь Сообщить(НомерХода); // ... КонецПроцедуры //DoTurn Процедура main() Экспорт // ... КонецПроцедуры //main НомерХода = 0; // инициализируем здесь |
|||||||||||||
65
mszsuz
18.10.10
✎
17:44
|
(62) Думал над этим - во-первых обфускатор замедлит выполнение. Во-вторых - можно будет изменить пару строчек и выдать бота за своего.
|
|||||||||||||
66
mszsuz
18.10.10
✎
17:45
|
(63) Добавлю СлучайноеЧисло(). Спасибо.
|
|||||||||||||
67
mszsuz
18.10.10
✎
17:50
|
(61) Да, зеленые надписи это, в нынешних терминах, ТемпРоста - кол-во судов, на которые каждый ход увеличивается флот планеты.
На некоторых картах есть планеты без прироста, например, в map1.txt это самая первая планета. |
|||||||||||||
68
Domovoi
18.10.10
✎
17:51
|
(66)КореньКвадратный Добавьте.
|
|||||||||||||
69
Domovoi
18.10.10
✎
17:54
|
+(68)А лучше возведение в любую степень - а то мало ли для чего понадобиться, чтоб потом не добавлять, но для начала было б не плохо (68).
|
|||||||||||||
70
Попытка1С
18.10.10
✎
17:55
|
Закладка
|
|||||||||||||
71
Domovoi
18.10.10
✎
18:03
|
(0)Кстате кнопочку "Стоп" боя было б не плохо добавить, но это так не принципиально)
|
|||||||||||||
72
Domovoi
18.10.10
✎
18:08
|
(0)До того пока не отправишь флот нельзя узнать расстояние до планеты в ходах?
|
|||||||||||||
73
ProxyInspector
18.10.10
✎
18:11
|
(59) Можно использовать глобальные переменные, но лучше открыть код PlayGame
|
|||||||||||||
74
ProxyInspector
18.10.10
✎
18:13
|
К слову я написал "Генератор Карт"
|
|||||||||||||
75
ProxyInspector
18.10.10
✎
18:13
|
Заканчиваю отладку
|
|||||||||||||
76
rsergio
18.10.10
✎
18:17
|
(60) Я тоже жаловался на "не знание языков", но на деле оказалось что для этой задачи любой язык можно выучить в нужном объеме за пару дней.
Больше мороки доставляет все поставить и найти как все компилить. Зато другого случая ознакомиться с чем то другим, кроме 1С, в ближайшее время может не подвернется. Народ уже активно и С++ изучает, и Pyton ;) |
|||||||||||||
77
ProxyInspector
18.10.10
✎
18:27
|
(76) Времени много надо на изучение языков.
|
|||||||||||||
78
rsergio
18.10.10
✎
18:33
|
(77) Времени нужно минимум
Задача же не написать Тетрис, а просто описать логику бота. Нужно понять, что вместо Если ххх Тогда ххх Иначе ххх КонецЕсли; нужно писать if (ххх) {ххх;} else {ххх;} или вместо Для каждого х из х Цикл ххх КонецЦикла; нужно писать for (х : х) {ххх;} Плюс изучить типы данных, ну и как работать со списками. Далее только логика. Я вот книжку купил, но реально успел все до этого понять. Главное простые боты уже как примеры есть, плюс поиск рулит и любой вопрос за пару минут решается. |
|||||||||||||
79
mdocs
18.10.10
✎
18:53
|
(78) А можно еще немного элементарщины - объявить числовой переменную, массив допутим планет и передать все это в функцию по значнию и по ссылке.
|
|||||||||||||
80
rsergio
18.10.10
✎
18:56
|
(79) Надо FAQ тогда маленькое писать. Где разместить?
|
|||||||||||||
81
mdocs
18.10.10
✎
18:58
|
||||||||||||||
82
rsergio
18.10.10
✎
19:56
|
||||||||||||||
83
mdocs
18.10.10
✎
20:18
|
(82), ага понятно. Спасибо огромное. Предлагаю на этом уйти в основную тему, а то тут все-таки про 1С. Туда тоже линку кинь.
|
|||||||||||||
84
IamAlexy
18.10.10
✎
20:21
|
(40) ИЗК2 для 8.2 от интелис вроде как невзломана...
|
|||||||||||||
85
Domovoi
18.10.10
✎
20:31
|
Подскажите какая команда для расстояния между планетами?
|
|||||||||||||
86
koreav
18.10.10
✎
20:34
|
Вс.ДлинаПути(,)
|
|||||||||||||
87
koreav
18.10.10
✎
20:36
|
Где посильнее ботов достать? А то, те которые в составе совсем не тянут.
|
|||||||||||||
88
koreav
18.10.10
✎
20:37
|
+(87) Автор, спасибо за труд!
|
|||||||||||||
89
Domovoi
18.10.10
✎
20:39
|
(86)Ошибку выдает
|
|||||||||||||
90
Domovoi
18.10.10
✎
20:42
|
+(89)Сообщить(Вс.ДлинаПути(1,2));
Значение не представляет агрегатный объект |
|||||||||||||
91
ТочноеЯдро
18.10.10
✎
20:45
|
закладка
|
|||||||||||||
92
Domovoi
18.10.10
✎
20:55
|
А еще вопрос. Почему координаты планет в одной системе исчисления, а длинна хода в другой? В оригинале то же так? Просто наверно лучше сделать все в одной.
|
|||||||||||||
93
koreav
18.10.10
✎
21:02
|
Вс.ДлинаПути(пл1.ид,пл2.ид)
|
|||||||||||||
94
koreav
18.10.10
✎
21:03
|
+(93) напутал, туда планеты нужно передавать а не ид
|
|||||||||||||
95
Domovoi
18.10.10
✎
21:05
|
(93)А метод "ДлинаПути" точно правильно написан?
|
|||||||||||||
96
Domovoi
18.10.10
✎
21:05
|
(93)Получилось спасибо)
|
|||||||||||||
97
Domovoi
18.10.10
✎
21:09
|
+(96)Хотя странно почему сразу не передавать номера планет, просто цифры.
|
|||||||||||||
98
rsergio
18.10.10
✎
23:10
|
Итак, перенес 30% своего бота на 1С 7.7.
1. Работает! 2. Тормозит!!! На первых ходах еще ничего, а потом ппц... 3. Готов выложить, но требуется защитить |
|||||||||||||
99
mszsuz
18.10.10
✎
23:29
|
(87) На одном из ресурсов MaxDavid выложил в общий доступ своего бота в комментариях к публикации - матофильтр к сожалению не пропускает ссылку - качай с моего сайта.
|
|||||||||||||
100
mszsuz
18.10.10
✎
23:29
|
(97) метод Вселенная.ДлинаПути() приведен в соответствие - теперь в качестве параметров можно передавать числовые идентификаторы планет. Возможность передачи агрегатного объекта "Планета" оставлен для совместимости.
|
|||||||||||||
101
mszsuz
18.10.10
✎
23:31
|
Выложил обновление 1.01 - теперь выводятся текущие показатели состояние игры.
|
|||||||||||||
102
mszsuz
18.10.10
✎
23:34
|
(98) А что "Замер производительности" показывает? Где тормоза?
|
|||||||||||||
103
rsergio
18.10.10
✎
23:41
|
(102) Ошибка загрузки замера
|
|||||||||||||
104
mszsuz
18.10.10
✎
23:44
|
попробуй ещё раз - бывает такое
|
|||||||||||||
105
rsergio
18.10.10
✎
23:46
|
3 раза пробовал, может из-за защиты?
Кажется проблема в визуализации - как отключаю посылку поддержки (очень много кораблей на разные планеты), так работает терпимо, как включая - виснет просто. |
|||||||||||||
106
mszsuz
18.10.10
✎
23:50
|
(105) Есть там одно слабое место, через полчаса постараюсь поправить.
|
|||||||||||||
107
rsergio
18.10.10
✎
23:53
|
В общем пока играть не реально.
Это я еще не переносил тяжелые куски (эмуляция нападения), а уже все тормозит... Может бой вообще без визуализации, а потом смотреть пошагово? Хотя это предположения, может и бот тормозит. |
|||||||||||||
108
NcSteel
18.10.10
✎
23:54
|
на v8 есть ?
|
|||||||||||||
109
mszsuz
18.10.10
✎
23:58
|
(108) нет
|
|||||||||||||
110
NcSteel
18.10.10
✎
23:59
|
(109) Фу.
А будет? |
|||||||||||||
111
mszsuz
19.10.10
✎
00:05
|
(110) никто не знает
|
|||||||||||||
112
NcSteel
19.10.10
✎
00:07
|
(111) Могу посодействовать. Или не технические проблемы ?
|
|||||||||||||
113
mszsuz
19.10.10
✎
00:13
|
Если возьмешься - будет здорово. Спрос большой на восьмерку, а делать никто не берется.
|
|||||||||||||
114
rsergio
19.10.10
✎
00:15
|
Задачу на сегодня выполнил - перенес основные модули бота, так что теоретически сильнейший бот на 1С присутствует :)
Осталось решить проблемы с производительностью. Отладчик ничего не выдает (видимо проблема в защите конфы). При просмотре лога все бегает отлично. Если не удастся решить тех. вопросы, то проект провален - писать ботов в 50 строк не интересно. |
|||||||||||||
115
mszsuz
19.10.10
✎
00:19
|
(114) аська есть?
|
|||||||||||||
116
ProxyInspector
19.10.10
✎
09:33
|
(114) Полезное начинание. Есть смысл развивать защиту.
Но можно же поставить более мягкие ограничения на время. Все таки 1С раз в пять медленнее прочих скриптовых языков. |
|||||||||||||
117
rsergio
19.10.10
✎
10:36
|
(116) Вопрос не в ограничении времени, а в том, что даже одну игру очень долго смотреть.
Я уж и не говорю про 100 тестовых матчей на автомате (а по правильному и того больше надо) |
|||||||||||||
118
ProxyInspector
19.10.10
✎
10:42
|
(117) Так это получается, что при защите исходного кода с помощью КЗК-2 алгоритм бота работает медленно? Правильно я понял?
|
|||||||||||||
119
ProxyInspector
19.10.10
✎
10:56
|
(117) Или тормозит PlayGame?
|
|||||||||||||
120
mszsuz
19.10.10
✎
11:13
|
(119) Тормозит 1С при работе со строками. Есть пару мыслей как обойти это дело. Сижу, проверяю ...
|
|||||||||||||
121
Salimbek
19.10.10
✎
11:20
|
(120) Работу со строками я переделывал на BinaryData из 1С++, также (говорят, я не пробовал) можно V7Plus использовать
|
|||||||||||||
122
koreav
19.10.10
✎
12:37
|
mszsuz, мне не ясно как будут работать ограничения на время хода. Они же зависят от железа на котором все будет крутиться т.е. я делаю бота который на моей машине соответствует ограничениям, а на других машинах, не факт, что он будет успевать ходить?
|
|||||||||||||
123
ProxyInspector
19.10.10
✎
13:10
|
(120) Еще раз вопрос. Тормозит PlayGamу или тормозит сам Бот?
|
|||||||||||||
124
АЛьФ
19.10.10
✎
13:17
|
2(118) Такого в принципе не может быть.
|
|||||||||||||
125
ProxyInspector
19.10.10
✎
13:26
|
Сделал генератор карт. Теперь можно бота писать.
|
|||||||||||||
126
Cube
19.10.10
✎
13:27
|
Закладка! :)
|
|||||||||||||
127
Адинэснег
19.10.10
✎
13:30
|
нде, а если одинэснеги в топ попадут? оО
Гугл поисковик перепишут на 7.7? :D |
|||||||||||||
128
mszsuz
19.10.10
✎
13:33
|
(123) Тормозит конкатенация строк (PlayGame - при отправке состояния боту) и перебор строк (Вселенная - в ПолучитьСостояниеИгры). Сейчас уже строки не тормозят :)
|
|||||||||||||
129
ProxyInspector
19.10.10
✎
13:37
|
А турнир еще нельзя проводить между существующими в локальном каталоге ботами и картами? Единственно чего не хватает
|
|||||||||||||
130
ProxyInspector
19.10.10
✎
13:39
|
А лучше проводить турнир в двух версиях.
1. Все боты между собой 2. Свой бот между остальными. |
|||||||||||||
131
mszsuz
19.10.10
✎
13:48
|
(122) Я буду придерживаться правил официального чемпионата - бот должен сделать правильный ход за отведенное время. Если бот этого не сделал - он проиграл. Легко и просто.
|
|||||||||||||
132
mszsuz
19.10.10
✎
13:56
|
Как раз занимаюсь групповым тестированием...
|
|||||||||||||
133
mszsuz
19.10.10
✎
13:57
|
Есть какие-нить пожелания к групповому тестированию?
|
|||||||||||||
134
Ёпрст
гуру
19.10.10
✎
13:58
|
(131) можешь выложить на сайте все методы, которые есть на данный момент ?
+ ДлинаПути - это метод флота или вселенной ? Если последнее, смысл в координатах х,у какой тогда ?.. |
|||||||||||||
135
mszsuz
19.10.10
✎
14:02
|
(134) Есть такой метод у Вселенной и есть такое свойство у Флота.
|
|||||||||||||
136
Ёпрст
гуру
19.10.10
✎
14:06
|
(135) посмотрел класс вселенная.. Мож его лучше на индексированной ТЗ делать ?
И удаление "лишних" планет в методах через фильтр в инд. тз ? Всё быстрее будет. |
|||||||||||||
137
mszsuz
19.10.10
✎
14:12
|
(136) Можно будет заняться, но пока не критично. Х и У нужны чтобы стрелочки флота рисовать )
|
|||||||||||||
138
mszsuz
19.10.10
✎
14:29
|
(136) Я первоначально хотел, чтобы участники могли править mybot.ert, а вместе с ним planet.ert, fleet.ert и planetwars.ert(Вселенная), но посчитал, что это усложнит проведение турнира - нужно будет каждого участника в отдельную папку, отдельно защиту на каждый файл, уникальные имена классов для каждого... брр.
Поступил проще - всё что надо, делаете в своем боте и не используете типовой набор. К сожалению, пришлось забрать возможность у участников самим парсить СтрокуДанных, передаваемых боту, из-за тормозов со строковыми операциями. |
|||||||||||||
139
mszsuz
19.10.10
✎
14:42
|
Вопрос: нужно выводить идентификаторы планет на карте? Предположительно это будет маленькая циферка над количеством судов?
|
|||||||||||||
140
Domovoi
19.10.10
✎
14:47
|
(139)Не помешало б. А вот может планеты свои и чужие сделать просто контуром, а то 1 ход от планеты не видно, цвет шрифта и цвет планеты одинаков.
|
|||||||||||||
141
Ёпрст
гуру
19.10.10
✎
14:51
|
(139) если только как опцию..
|
|||||||||||||
142
Grinar
19.10.10
✎
15:08
|
Прикольно, только подключился, вечером будет время попробую))
|
|||||||||||||
143
ProxyInspector
19.10.10
✎
17:14
|
(139) Уже пишу своего бота. Все нормально. Возможность провести турнир делай быстрее. Чтобы тестировать можно было. Ну и как защищать исходники?
|
|||||||||||||
144
ProxyInspector
19.10.10
✎
17:16
|
Может создать архив ботов, защищенных КЗК-2 чтобы можно было у себя локально проводить бои.
|
|||||||||||||
145
koreav
19.10.10
✎
20:30
|
(144) да, было здорово
|
|||||||||||||
146
Domovoi
19.10.10
✎
20:50
|
А зачем защищать? Я так понимаю все равно же скидывать организатору ботов.
|
|||||||||||||
147
ProxyInspector
19.10.10
✎
21:25
|
(146) Если есть возможность защищать, тогда можно обмениваться ботами для тестирования и отладки своего. Мне бы парочка сильных не помешала бы.
|
|||||||||||||
148
NS
19.10.10
✎
21:26
|
На 1С будут побеждать скриптовые боты, ибо быстродействие очень мало. В конкурсе Google первые места займут AI-шные боты, Хаззард уже начинает такого писать.
|
|||||||||||||
149
koreav
19.10.10
✎
21:37
|
(147) я так действую: написал бота, пишу новую версию пытаюсь победить им старого и т.д. Последнюю свою версию еле победил :)
|
|||||||||||||
150
Domovoi
19.10.10
✎
21:57
|
(147)Да достаточно просто написать самого сильного бота который возможен и все, а когда придет день соревнований скинешь его организатору и все дела)
|
|||||||||||||
151
Domovoi
19.10.10
✎
22:03
|
(148)А чем АИ бот отличается от скриптового?
|
|||||||||||||
152
NS
19.10.10
✎
22:05
|
(151) У меня несколько постов есть посвященных отличиям.
Основное - AI бот переборный, и его сила растет с увеличением времени на обдумывание. Сила скриптового бота не зависит от времени обдумывания. |
|||||||||||||
153
Domovoi
19.10.10
✎
22:07
|
(152)Интересно как это может не зависить от времени обдумывания? Рандомом чтоли нападает?)
|
|||||||||||||
154
NS
19.10.10
✎
22:16
|
(153) Есть глобальная ОФ, которую мы максимизируем перебором - это уже AI. (скриптовые боты действуют иначе)
В AI боте это вдобавок накладывается на матричную задачу (матричные игры) http://sdchess.net/phpBB2/viewtopic.php?p=9452#p9452 |
|||||||||||||
155
Domovoi
19.10.10
✎
22:18
|
(154)Про Аи я что-то понял, я вот не понял как можно по другому бота написать, чтоб не думал, ничего не просчитывал? Если только рандомом?
|
|||||||||||||
156
NS
19.10.10
✎
22:27
|
(155) Посмотри исходники ДуалБота, RageBot, и поймешь.
Вообще Скриптовый бот может быть разным, но обычно он агентный. То есть каждая планета отдельно считает сколько кораблей ей нужно оставить, а потом централизованно считается что и куда посылать, без перебора. |
|||||||||||||
157
NS
19.10.10
✎
22:28
|
Допустим текущий Hazard, явно один из лидеров - явно скриптовый и агентный.
|
|||||||||||||
158
mszsuz
19.10.10
✎
22:31
|
Кто успел скачать 1.02 - обновитесь до 1.02.1
В 1.02 была ошибка. |
|||||||||||||
159
mszsuz
19.10.10
✎
22:34
|
NS, поправь пож-ста ссылку в заголовке - там два раза хттп
|
|||||||||||||
160
Domovoi
19.10.10
✎
22:36
|
(0)Ходы с нулем кораблей тоже можно делать)
|
|||||||||||||
161
Domovoi
19.10.10
✎
22:37
|
+(160)Всмысле отправлять 0 кораблей можно)
|
|||||||||||||
162
Domovoi
19.10.10
✎
22:42
|
Хотел еще спросить, А в оригинале от Гугл есть команда ДлинаПути(,) - нахождение расстояния в ходах между планетами? Просто если есть, то не понятно зачем координаты планет даются?
|
|||||||||||||
163
mszsuz
19.10.10
✎
23:06
|
(162) Есть
// Returns the distance between two planets, rounded up to the next highest // integer. This is the number of discrete time steps it takes to get // between the two planets. public int Distance(int sourcePlanet, int destinationPlanet) { Planet source = planets.get(sourcePlanet); Planet destination = planets.get(destinationPlanet); double dx = source.X() - destination.X(); double dy = source.Y() - destination.Y(); return (int)Math.ceil(Math.sqrt(dx * dx + dy * dy)); } |
|||||||||||||
164
mszsuz
19.10.10
✎
23:08
|
(161) Нуль отправишь, нуль и прилетит )
|
|||||||||||||
165
Domovoi
19.10.10
✎
23:50
|
(163)Ну это расчитывают по координатам) Только у них единица на координатной сетке соответствует одному ходу, а у тебя нет, но этог не принципиально)
(164)Я начало решил проверить, у меня как 0 полетеи во все стороны) |
|||||||||||||
166
NcSteel
20.10.10
✎
01:07
|
(113) Возьмусь, но как я понимаю конфа защищена ?
|
|||||||||||||
167
Domovoi
20.10.10
✎
05:01
|
(0)Вроде как есть команды: Вс.МоиФлоты и Вс.ВражескиеФлоты, но результат не возвращает, хотя ошибку не выдает, непонятно работают они или нет?
|
|||||||||||||
168
Ёпрст
гуру
20.10.10
✎
08:40
|
(167) работают.
|
|||||||||||||
169
Ёпрст
гуру
20.10.10
✎
08:42
|
(156) на сколько шагов вперёд примерно, должен ai просчитывать ?
Не слишком ли большое дерево решений получится ? |
|||||||||||||
170
rsergio
20.10.10
✎
12:00
|
Меня волнует как отлаживать быстродействие если замер производительности не работает на защищенной конфе?
Может создать простенькую конфигурацию где движок что-то выдавал и можно было бы замер включить? |
|||||||||||||
171
mszsuz
20.10.10
✎
12:53
|
(166) В силу изменившихся обстоятельств движок будет оставаться закрытым до окончания чемпионата.
Так что для восьмерки остался только один вариант - написать с нуля. Если такой движок появится - интерфейс обмена согласуем. |
|||||||||||||
172
ProxyInspector
20.10.10
✎
15:29
|
(171) Так чего с защитой? И групповым тестированием? Мне кажнтся для подготовки к полноценному чемпионату необходимо как минимум месяц, после того, как будет готов полноценный движок. Пока движка нет полноценного.
|
|||||||||||||
173
ProxyInspector
20.10.10
✎
15:34
|
Для группового тестирования желательно иметь возможность по набору карт:
1. Провести N боев своего бота с выбранными (всеми доступными) с рассчетом рейтинга 2. Провести по N боев между выбранными ботами с расчетом рейтинга. 3. Может для ускорения отключить вывод боя в графичексом виде |
|||||||||||||
174
ProxyInspector
20.10.10
✎
15:40
|
(173) +Отчет по турниру с указанием лог файла, при нажатии переход в просмотр партии.
|
|||||||||||||
175
ProxyInspector
20.10.10
✎
15:42
|
К слову не плохо бы сделать возможность внутри Бота посмотреть сколько времени осталось до истеченя времени на ход.
|
|||||||||||||
176
Wasya
20.10.10
✎
17:35
|
Я понял так. каждый ход бот обсчитывает все заново? А есть возможность хранить служебную информацию между ходами? Скажем матрицу расстояний между планетами? Чтобы каждый раз ее не расчитывать?
|
|||||||||||||
177
acsent
20.10.10
✎
17:38
|
Если взять хазарда_8?
|
|||||||||||||
178
rsergio
20.10.10
✎
19:00
|
(176) Вроде обработка инициализируется один раз, так что если все запихнуть в глобальные переменные обработки, то все останется.
|
|||||||||||||
179
mszsuz
20.10.10
✎
19:00
|
||||||||||||||
180
mszsuz
20.10.10
✎
19:13
|
(172) По поводу защиты нет простого решения. Представь, ты скачал бота, а он тебе удалил всё, что мог. Если и сейчас нужен защищенный бот - могу отправить.
|
|||||||||||||
181
mszsuz
20.10.10
✎
19:17
|
(175) Внутри Бота посмотреть сколько времени осталось до истечения времени на ход можно с помощью _GetPerformanceCounter()
|
|||||||||||||
182
mszsuz
20.10.10
✎
19:20
|
acsent, не понял вопроса.
|
|||||||||||||
183
mszsuz
20.10.10
✎
19:23
|
ProxyInspector, если есть аська, пиши.
|
|||||||||||||
184
ProxyInspector
20.10.10
✎
20:17
|
(176) С переменными все нормаотно см (64). Я уже это прошел. Сейчас дошел до ИндексированнойТаблицы 1С++ . Я надеюсь можно ее использовать? С ее использованием существенно облегчается написание оценочной функции.
|
|||||||||||||
185
mszsuz
20.10.10
✎
20:32
|
(184) Производил замеры между ТЗ/ИТ?
|
|||||||||||||
186
ProxyInspector
20.10.10
✎
20:56
|
Нет еще не дошёл. Просто индексированная таблица легче в использовании. Потом на данном этапе меня не очень волнует производительность. Мне больше интересны алгоритмы.
|
|||||||||||||
187
NcSteel
20.10.10
✎
21:44
|
(171) тогда нет времени все с нуля писать.
|
|||||||||||||
188
Domovoi
20.10.10
✎
23:46
|
1Вопрос)Если на нейтральную планету прилетает одновременно одинаковое колво кораблей обоих игроков что будет?
1Случай) Если на планете есть нейтральный корабль 1, то кто его убьет? 2Случай) Если на планете нет ничьих кораблей то кто станет владельцем планеты? 2Вопрос)Если на мою планету напал враг, и на ней осталось 0 кораблей, она остается моей? |
|||||||||||||
189
Domovoi
20.10.10
✎
23:50
|
+(188)Если оба игрока одновременно прилетают на нейтральную планету, то они поровну уничтожают кораблей? или кто-то один нейтральных, а второй производит захват планеты?
|
|||||||||||||
190
mszsuz
21.10.10
✎
00:24
|
(188) а ты думаешь зачем я генератор случайных чисел добавил? ))
|
|||||||||||||
191
rsergio
21.10.10
✎
00:28
|
(190) Не, нужно смотреть на апгрейды - у кого лазер сильней, тот и будет нейтралов мочить :D
|
|||||||||||||
192
Domovoi
21.10.10
✎
01:11
|
(190)На все мои вопросы, случайный будет результат?
|
|||||||||||||
193
SUA
21.10.10
✎
05:43
|
(190)на оф версии логика такая: корабли (сколько бы их не было типов - свои,чужие, нейтральные) - уничтожаются по 1 с каждой стороны пока не останется один вид; если чьи-то корабли остались - того и планета, если нет... ничего не меняется
тоесть имеется: 3 нейтрал, прилетают 10 своих и 10 чужих - останется 0 нейтрал, 10 чужих 5 своих - останется 5 чужих, 10 чужих 1 свой - останется 7 чужих |
|||||||||||||
194
mszsuz
21.10.10
✎
08:29
|
(193) Да, именно так сделано и в этом движке.
|
|||||||||||||
195
mszsuz
21.10.10
✎
08:34
|
И ещё один нюанс - последовательность действий при обсчете каждой планеты на каждом ходу:
1. отправка судов, если были приказы. 2. прирост планеты, если она не нейтральная. 3. прибытие судов. |
|||||||||||||
196
mszsuz
21.10.10
✎
08:47
|
Особо хочется отметить ещё один момент, если в результате действий в (193) в остатке остается 0 судов, то владелец планеты не изменяется. Например:
К вашей планете с приростом +5 и 5 судами на планете, подлетают 5 ваших и 15 вражеских судов. После хода, на планете останется 0 судов и вы по-прежнему будете её владельцем. |
|||||||||||||
197
rsergio
21.10.10
✎
10:43
|
А все в курсе, что за победу приз в 10 000 рублей?
|
|||||||||||||
198
ProxyInspector
21.10.10
✎
13:02
|
(197) А ты своего Бота перенес?
|
|||||||||||||
199
rsergio
21.10.10
✎
13:16
|
(198) Частично, весь функционал, к сожалению, перенести не удастся из-за производительности 1С
|
|||||||||||||
200
Ёпрст
гуру
21.10.10
✎
13:43
|
(199) нужно графику отключить, оставить только просмотр лога потом..
Тормозит видать, только сам вывод на экранчик. Даже на слабеньких ботах - ау.. |
|||||||||||||
201
mszsuz
21.10.10
✎
15:00
|
Тест
|
|||||||||||||
202
NS
21.10.10
✎
16:21
|
(159) У меня нет такой возможности.
Я могу править только заголовок темы. |
|||||||||||||
203
Ёпрст
гуру
21.10.10
✎
16:30
|
(201) можно сделать опцию - не показывать бой.. а только потом вывод его лога ?
При большом количестве летающих кораблей - тормоза.. |
|||||||||||||
204
mszsuz
21.10.10
✎
17:34
|
(203) Обновился на 1.02.1?
|
|||||||||||||
205
Ёпрст
гуру
21.10.10
✎
17:55
|
(204) ага..всё равно "не быстро".
Спецом стравливаю ботов, которые захватывают нетралки и гоняют кораблики между своими планетами. |
|||||||||||||
206
Ёпрст
гуру
21.10.10
✎
17:57
|
+205 и часто, вылет при закрытии 1с.
+ хотелка: нельзя ли кнопку стоп сделать? а то приходится на закладку лог и обратно переключаться.. |
|||||||||||||
207
mszsuz
21.10.10
✎
18:07
|
(206) кнопка стоп давно просится. Сделаю.
а вылет в каком модуле? Отключать графику на закладке "Бой" не буду - доделаю "Тестирование" - там будет без графики |
|||||||||||||
208
Ёпрст
гуру
21.10.10
✎
18:12
|
(207) при закрытии 1с - ошибка платформы вылазиет..
ЗЫ: если подключать все ВК без вклоадера + не создавать класс перехватчик и перехват события отрисовки окна сообщений - падения нет. |
|||||||||||||
209
mszsuz
21.10.10
✎
18:47
|
(208)
Перехват окна сообщений оставлю - может кто-то при отладке выводит простыни. ВКЛоадер тоже нужен по понятным причинам. |
|||||||||||||
210
Domovoi
21.10.10
✎
19:08
|
(209)Если простынь - это отчет, то помоему не дает, точнее не дает секцию вывести, хотя может это меня глючит.
|
|||||||||||||
211
mszsuz
21.10.10
✎
19:25
|
(210) В этом случае имел ввиду большой текст сообщения, выводимого с помощью Сообщить().
|
|||||||||||||
212
Domovoi
21.10.10
✎
19:33
|
(211)Я и вывожу иногда через проверку, Свои ТЗ, но по-моему не сильно влияет, хотя мне все равно в просмотре все равно ничего не поймешь, я все бои через Лог смотрю пошагово.
|
|||||||||||||
213
ProxyInspector
22.10.10
✎
09:08
|
У меня в 80% случаях при выходе из 1С вылетает ошибка. При этом ошибка возникает при закрытии PlayGame.
|
|||||||||||||
214
mszsuz
22.10.10
✎
10:54
|
(213) Попробую добавить обнуление всех объектов в ПриЗакрытии.
|
|||||||||||||
215
ProxyInspector
22.10.10
✎
17:44
|
У меня уже 70% идеального бота сделано. Пока не тормозит.
На сегодняшний момент не хватает: 1. Пошаговый режим боя. Чтобы можно было понять логику принятия решения ботом 2. Бой по набору карт. 3. Бой с набором Ботов и набором карт. Когда будеет???? |
|||||||||||||
216
NS
22.10.10
✎
17:47
|
(215) Что такое "идеальный бот" ?!
Эта задача точно нерешаема. То есть невозможно просчитать всё и найти решение. |
|||||||||||||
217
ProxyInspector
22.10.10
✎
17:48
|
Когда будут сильные Боты? Я когда реализую своего бота то готов поменяться с кем нибудь для тестирования. Правда дам не самого сильного. Дам того, у которого будут реализованы все функуции - нападение, защита, подпитка. А в планах еще более мощьный с выбором самого сильного хода. По моим оценкам он должен быть сильнее еще в два раза.
|
|||||||||||||
218
ProxyInspector
22.10.10
✎
17:51
|
Идеальный - это тот, который принимает решение без наложения сознательных ограничений. По крайней мере для текущего понимания. Ясно, что в этой игре перебор не рулит. Надо на каждом шаге принимать оптимальное решение и все будет ОК.
|
|||||||||||||
219
NS
22.10.10
✎
17:51
|
(217) Что значит "самого сильного хода"?
|
|||||||||||||
220
NS
22.10.10
✎
17:52
|
(218) В этой игре перебор рулит.
|
|||||||||||||
221
ProxyInspector
22.10.10
✎
17:58
|
Я сейчас сделал захват ничейных нейтральных плнет, защиту своих планет. И уже Бот выигрывает у всех своих противников. Только на их ошибках. Нужны более сильные соперники.
|
|||||||||||||
222
rsergio
22.10.10
✎
18:05
|
(221) Выигрывает в чистую, т.е. 100:0 ?
|
|||||||||||||
223
ProxyInspector
22.10.10
✎
18:14
|
Если по количеству кораблей, то вчистую. Сейчас поправвлю защиту и посмотрю.
|
|||||||||||||
224
ProxyInspector
22.10.10
✎
18:17
|
Дело в том, что Бот делает идеальные ходы. Т.е. если захватывает планету, то, с гарантированным выигрышем. Если защищается, то гарантированно без проигрыша.
|
|||||||||||||
225
NS
22.10.10
✎
18:17
|
(224) Понятно. А если невозможно гарантированно защититься?
|
|||||||||||||
226
ProxyInspector
22.10.10
✎
18:22
|
Если не возможно гарантированно защититься, то Бот не захватывает планету. При таком подходе у соперника нет шансов за 200 ходов победить.
|
|||||||||||||
227
ProxyInspector
22.10.10
✎
18:26
|
Мне кажется, что mszsuz уже может думать о том, чтобы сделать архив тестовых Ботов, защищенных КЗК-2.
|
|||||||||||||
228
rsergio
22.10.10
✎
18:29
|
(226) Очень смелое утверждение.
Пока вы "гарантировано" захватите 3 планеты противник может "менее гарантировано" захватить 5 планет, накопить силы и ... конец игре :) |
|||||||||||||
229
ProxyInspector
22.10.10
✎
18:53
|
(228) У тебя есть защищенный Бот? Давай попробую. Мне очень интересно попробывать.
|
|||||||||||||
230
ProxyInspector
22.10.10
✎
18:54
|
Я сейчас исправил защиту, она не отдает ни одну планету. И выигрывает у типовых ботов с перевесом по кораблям в 10 раз
|
|||||||||||||
231
ProxyInspector
22.10.10
✎
18:56
|
Сам с собой играет вничью 50:50
|
|||||||||||||
232
NS
22.10.10
✎
18:58
|
(230) С счетом каким по 100 картам выигрывает?
100:0 или нет? |
|||||||||||||
233
rsergio
22.10.10
✎
19:00
|
Что значит с перевесом?
Типовых ботов нужно мочить максимум за 100 ходов в сухую (т.е. к концу игры только ваши войска должны быть) так, чтобы при прогоне ста карт не было ни одного проигрыша. |
|||||||||||||
234
NS
22.10.10
✎
19:01
|
(233) Ни одной ничьи.
|
|||||||||||||
235
rsergio
22.10.10
✎
19:02
|
(234) Да, так точнее :)
|
|||||||||||||
236
ProxyInspector
22.10.10
✎
19:15
|
Нет не 100:0. Если изначально вражеские планеты близко, то не удается переиграть. Но это связано с тем, что мой бот только защищается. В понедельник сделаю захват только что захваченных нейтральных планет, захват чужих планет. И будет все ОК.
|
|||||||||||||
237
ProxyInspector
22.10.10
✎
19:15
|
Но доходит до того, что перевес по кораблям 10:1
|
|||||||||||||
238
NS
22.10.10
✎
19:22
|
(237) Тут нет понятия "перевес по кораблям"
результата возможных у парии всего 3. 0, 1/2 и 1. 10:1 - такого результата не бывает в одной партии. |
|||||||||||||
239
Domovoi
22.10.10
✎
22:28
|
(237)Вот тут чел выложил бота, можете попробовать, правда он слабенький, но сильнее стандартных http://infostart.ru/public/76982/forum/topic/36150/
|
|||||||||||||
240
Domovoi
22.10.10
✎
22:31
|
(238)Почему не бывает, у одного общая производительность планет 10 у второго 1, в итоге при бесконечных ходах будет 10:1 примерно.
|
|||||||||||||
241
NS
22.10.10
✎
22:37
|
(240) В таблицу пишется выиграно, проиграно или ничья.
Если бот выигрывает, то в большинстве случаев он должен выедать все корабли соперника. |
|||||||||||||
242
Domovoi
22.10.10
✎
22:48
|
(241)Так ProxyInspector пишет же что выигрывает он, только у него еще не написана атака на противника, поэтому выйгрыш пока просто по перевесу кораблей.
|
|||||||||||||
243
ProxyInspector
22.10.10
✎
22:57
|
При перевесе по караблям в 10 раз победить можно за 10 ходов. Мне для определения силы в обороне требуется сильный соперник. Вся надежда на rsergio . Я думаю, что его Бот на 1с сильнее простейших из стартового набора.
|
|||||||||||||
244
ProxyInspector
22.10.10
✎
23:00
|
(242) Точно. Я был поражен, что хорошо поставленная защита может обеспечить как минимум ничью с перевесом в 10 раз.
|
|||||||||||||
245
Domovoi
22.10.10
✎
23:02
|
(243)Вся штука в том когда вы достигаете этого первеса? явно не за 10 ходов.
(244)Вся штука в том что без нападения вы не можете идеально написать защиту. Я иду тем же путем что и ваш, Когда допишу атаку скину вам бота, для эксперимента. |
|||||||||||||
246
Domovoi
22.10.10
✎
23:04
|
(244)А какой результат против бота (239)?
|
|||||||||||||
247
ProxyInspector
22.10.10
✎
23:27
|
Я не смотрел. Я сейчас дома сижу, а Бот на работе.
У меня на некоторых картах выскакивает сообщение "Анализ приказов: Игрок 1 выдал неверное количество судов <2>. Должно быть от 1 до 2" Я вот думаю это моя ошибка или PlayGame |
|||||||||||||
248
ProxyInspector
22.10.10
✎
23:29
|
Кроме того PlayGame периодически выскакивает по ошибке. Я сейчас работаю по терминалу, и при изменении размера ОкнаСообщений PlayGame вываливается.
|
|||||||||||||
249
Domovoi
22.10.10
✎
23:37
|
(247)По этому поводу лично у меня все норм.
|
|||||||||||||
250
mszsuz
23.10.10
✎
00:36
|
(215) Пошаговый режим боя - в отладчике.
режим "Группового тестирования" закончу за выходные. (247) На планете не было столько кораблей. Неверно формируется ТЕКСТ сообщения. Исправлено. --- Перехват окна сообщений сделаю опционально. --- Ждите обновлений. |
|||||||||||||
251
ProxyInspector
23.10.10
✎
09:02
|
Ждем.
Мне кажется, что рейтинг имеет смысл считать так: 1. Победа - 1 очко 2. Поражение - 0 очков 3. Ничья - 1-КолСудовПроигрвшего/КолСудовВыигрывшего Это самый справедливый способ. И рейтинг будет определяться существенно быстрее и точнее. Как в боксе. Практика показывает, что все правильные боты примерно одинаковые. И не имеют явного преимущества. |
|||||||||||||
252
ProxyInspector
23.10.10
✎
09:07
|
Ну и потом еще, в силу того, что карты семмитричные, надо играть по две партии. Сначала первый ход соперника, потом первый ход ваш.
Ну и потом еще можно играть и не на симметриных картах. По две партии. Вот это будет круто. |
|||||||||||||
253
Salimbek
23.10.10
✎
09:36
|
(252) Какой еще "первый ход противника"? Ходы ведь по условию делаются одновременно
|
|||||||||||||
254
ProxyInspector
23.10.10
✎
11:45
|
Я здесь смотрю на игру своего бота. И у меня создается ощущение, что даже без умения атаковать его невозможно победить. У противника просто не хватает ресурсов для того, чтобы побить все мои корабли.
При идеальной игре робот должен захватить 50% вселенной на всех картах при любом противнике. Любая ошибка противника увеличивает процент этот процент. Это без умения атаковать занятые планеты. На отдельных картах мой робот захватывает 30% вселенной, при этом он не отдает свои планеты. При этом он анализирует общее состояние поля битвы и если противник захватил дополнительную планету, или послал дополнительный флот, то мой Бот автоматически поддерживает свои слабые планеты, в необходимом объеме |
|||||||||||||
255
ProxyInspector
23.10.10
✎
11:48
|
К примеру если у противника имеется сильная планета в тылу, и он какой-то момент решил поддержать свои предовые силы, то мой Бот в ответ поддержит свои. С таким рассчетом, чтобы не отдать ни одну.
|
|||||||||||||
256
NS
23.10.10
✎
11:57
|
(251) Ничего не будет ни быстрее, ни точнее.
|
|||||||||||||
257
rsergio
23.10.10
✎
12:14
|
(255) Присылай свой бот, я тебе скажу сколько игр он проигрывает моему :)
|
|||||||||||||
258
ProxyInspector
23.10.10
✎
12:36
|
Я уже разработал идеальный вариант защиты и идеальный вариант нападения. Я в понедельник пришлю (Если смогу его зашифровать) По моему у КЗК-2 есть Демо версия. Она надежная? Просто не хочется раньше времени светить алгоритмы. Хоть они и тревиальны. Я пришлю предпоследний релиз Бота. Бот который делает первый попавший "идеальный" ход. А последний релиз будет делать самый лучший "идеальный" ход. Идеальный ход - это тот ход при котором не может быть потерь.
|
|||||||||||||
259
ProxyInspector
23.10.10
✎
12:38
|
При таком подходе игра идет до первой ошибки. Любой не самый лучший идеальный ход приводит к поражению. Все иду качать свокго Бота домой. Не терпится проверить эти идеи.
|
|||||||||||||
260
NS
23.10.10
✎
12:45
|
(259) Какой ошибки?
Это вероятностная игра. Ибо ходы делаются одновременно. Камни/ножницы/бумага тоже идет до первой ошибки? |
|||||||||||||
261
Domovoi
23.10.10
✎
12:50
|
(260)Это пошаговая игра без доли рандома, откуда здесь вероятность?
|
|||||||||||||
262
ProxyInspector
23.10.10
✎
12:53
|
(260) Эта игра полностью просчитывается. Т.е. при любых ответных ходах противника к концу игры количество его кораблей будет меньше или равно вашему. При этом ходы не обязательно будут совпадать. Если мой идеальный Бот удастся, то можно будет на начальной стадии делать два разных хода, но результат все равно будет 50:50, по крайней мере на некоторых картах
|
|||||||||||||
263
ProxyInspector
23.10.10
✎
12:54
|
Вариантов не правильных ходов очень много, а вот вариантов правильных - достаточно мало.
|
|||||||||||||
264
rsergio
23.10.10
✎
12:55
|
(258) Автор уже сделал автоматическую защиту по КЗК-2.
Отправляешь бот на адрес protect.me.pw1c@gmail.com и в ответ идет отсылка зашифрованного. В теле письма нужно указать пароль. Сам пока не испытывал. |
|||||||||||||
265
NS
23.10.10
✎
12:55
|
(262) Я приводил доказательство (правда нечеткое) того что эта игра значительно сложнее шахмат, и конечно-же не просчитывается.
|
|||||||||||||
266
Domovoi
23.10.10
✎
13:01
|
(265)А ты будешь своего бота выкладывать?
|
|||||||||||||
267
rsergio
23.10.10
✎
13:03
|
(262) Если было бы так все просто, то кто-нибудь в ТОП-10 конкурса Google AI Challenge не должен никогда проигрывать
http://ai-contest.com/rankings.php |
|||||||||||||
268
NS
23.10.10
✎
13:05
|
(266) На 1С - нет. На С++ - да.
|
|||||||||||||
269
ProxyInspector
23.10.10
✎
13:06
|
До завершения чемпионата в зашифрованном виде выложу.
|
|||||||||||||
270
rsergio
23.10.10
✎
13:06
|
(268) А почему на 1С не хочешь, приз маленький? :)
|
|||||||||||||
271
ProxyInspector
23.10.10
✎
13:08
|
Надо понимать, что бот написан на 1с,а основная нагрузка ложится на 1С++. Размер кода на 1С порядка 500 строк. При этом функция защиты - примерно 30 строк и функция нападения столько же.
|
|||||||||||||
272
ProxyInspector
23.10.10
✎
13:11
|
На 1С сам бог верлел. Я просто не хучу светить алгоритм до завершения чемпионата. Я уже думаю на С++ написать. Но там есть одна функция которую я грамотно не напишу на С++. Хотя через Ж... я наверное смогу написать с потерей быстродействия там порядка 1000 строк.
|
|||||||||||||
273
NS
23.10.10
✎
13:13
|
(270) Потому что с временем свободным туго.
|
|||||||||||||
274
rsergio
23.10.10
✎
13:29
|
(264) +
Проверил - защита работает, в ответ вернулась защищенная КЗК-2 обработка |
|||||||||||||
275
ProxyInspector
23.10.10
✎
20:51
|
(274) Круто.
|
|||||||||||||
276
ProxyInspector
24.10.10
✎
18:06
|
На 90% написал своего бота. Оценка ситуации, защита, захват чужих планет, захват нейтральных планет, подпитка.
Правда оценочная функция, как оказалась, слабовата. И противник при определенных условиях может отбивать мои планеты. Оценочная функция считает на 26 ходов вперед. Правда она не уситывает возможность подпитки соперником своих атак. Но уже видно, как это исправить. Может быть быстродействия 1С + 1С++ вполне хватит. Если удасться реализовать все задумки, то этого бота невозможно будет победить (за 200 ходов захватить все планеты) Интересно как тогда считать рейтинг, если счет на куче карт будет 50:50 ? |
|||||||||||||
277
rsergio
24.10.10
✎
18:30
|
50:50 - это редкость если играют разные боты (бот сам с собой часто в ничью играет)
|
|||||||||||||
278
NS
24.10.10
✎
19:03
|
(276) Ты супергений! Либо вообще не въезжаешь в тему (и задачу). Более похоже на второе.
|
|||||||||||||
279
ProxyInspector
24.10.10
✎
20:03
|
Завтра я выложу свои первые боты. Я думаю, что rsergio выложит свой. А то мне тяжело со слабыми притивниками тестироваться. Мне уже надо проверить защиту от целенаправленных атак в слабое место.
Правда бот еще слабо атакует. Сейчас заложен алгоритм, что Бот атакует с ближайшей планеты с условием, что после этого планета не будет отбита. В конце партии такой алгоритм не проходит. Надо атаковать с нескольких планет. Завтра сделаю возможность одновременной атаки со всех планет. Ну и подпитку получше. |
|||||||||||||
280
ProxyInspector
24.10.10
✎
20:13
|
Кроме того Бот плохо играет на близких дистанциях. Это опать же связано с оценочной функцией.
К примеру если в начале игры ваш соперник расположен близко, то очень важно захватывать самые лучшие нейтральные планеты. Сейчас Бот берет ближнюю, которую сможет удержать, и если противник берет лучшую, то может удавить тебя. Кроме того сейчас сознательно я беру планету с излишком +1 корабль. И если оценочная функция не верна, то Бот за 5-10 ходов предупреждает, что планета может быть потеряна. При определенных ходах соперника, но в этот момент ее уже не возможно удержать без возможной потери другой. Я очень поражаюсь способностям этого бота. |
|||||||||||||
281
ProxyInspector
24.10.10
✎
20:19
|
Бот сейчас плохо противостоит, ситуации, кода противник начинает готовить атаку на твою планету и стагивает силы. Он не оценивает изменение силы противника во времени. Но это легко исправить. Но если противник замешкается с атакой (к примеру ведет подпитку маленькими порциями), то Бот успевает подготовиться к отражению атаки.
После того, как я поправлю оценочную функцию, то бот еще на подлете будет готовиться к отражению атаки. |
|||||||||||||
282
ProxyInspector
24.10.10
✎
20:24
|
После разработки оценочной функции Бот сможет на 26 ходов (а точнее на расстояние до последней планеты) рассчитать наихудшее для себя развитие ситуации и принять меры. Если учесть, что игра идет на симетричной карте и силы вначале у всех равны, то он никогда не сможет проиграть.
|
|||||||||||||
283
NS
24.10.10
✎
20:25
|
(282) Какое магическое число :) 26 ходов! Круто!
|
|||||||||||||
284
ProxyInspector
24.10.10
✎
20:28
|
Я тебе могу сказать откуда это число. Я когда писал генератор карт, то на первой карте, которая мне попалась максимальное расстояние между планетами было 26 ходов. И у меня по умолчанию в генераторе стоит 26 ходов максимальный размер Вселенной. Но Бот при запуске определяет размер Вселенной и работает уже с ним.
|
|||||||||||||
285
NS
24.10.10
✎
20:29
|
(284) И какое отношение максимальное расстояние имеет к клубине расчета?
|
|||||||||||||
286
rsergio
24.10.10
✎
20:38
|
(285) Спокойней, сударь, спокойней :)
Как запуститься официальный чемпионат, то посмотрим на рейтинги и все будет понятно. Может ProxyInspector написал бота как bocsimacko и будет всех рвать ;) |
|||||||||||||
287
ProxyInspector
24.10.10
✎
20:38
|
Бот он не рассчитывает все возможные варианты ходов. Он считает самые лучшие ходы, которые противник может сделать с каждой планеты. Соответственно на самой дальней планете расчет и обрывается.
К примеру ты начинаешь атаковать мою планету. Если ей сил хватит зашититься, то она просто ждет когда придет атака. И если есто лишние корабли, то может помогать соседям или атаковать (если потом планета не перейдет к сопернику). Если в какойто момент сил ей не хватает, то ей начинают помогать соседи. Если оценочная функция (функция оценки худшего для меня развития ситуации) верна, то я без труда отбиваю атаку с минимальными затратами +1 корабль. А вот если функция не верна. Что есть сейчас (она не отслеживает в будушее подпитку вражеских планет), то может не хватить времени на переброску подкреплений. |
|||||||||||||
288
ProxyInspector
24.10.10
✎
20:46
|
К примеру радом расположены две сильные планеты противников в окружении планет поддержки. Оценочная функция держит на моей планете и ближайших к ней планетах жостаточное количество кораблей, чтобы отразить любую атаку. И вдруг с другой планеты идет мощьный флот. Если он идет на одну из моих планет, то я его отражу. А вот если он идет на поддержку моего соперника, я его пока не оцениваю. И в какой-то момент сила ближайшей планеты резко выросла. Я это сразу замечаю и начинаю перестраивать оборону, но времени может не хватить. Но если противник замешкается с атакой, то мои силы опять примут оптимальное положение и захват моей планеты станет не возможным.
|
|||||||||||||
289
Beduin
24.10.10
✎
20:48
|
(282) Я про 26 ходов не понял немного. Ты оцениваешь где окажутся корабли через 26 тактов?
|
|||||||||||||
290
NS
24.10.10
✎
20:51
|
(286) Судя по тому что он пишет, особенно про "беспроигрышность бота" - он совсем не понимает задачи.
|
|||||||||||||
291
ProxyInspector
24.10.10
✎
20:54
|
Пока я не вижу проблем с созданием идеального Бота. Но может быть, когда я начну бороться с более сильными противниками появяться новые идеи. К примеру защиту я отлаживаю на боте BylliBot с некоторими изменениями. В какой то момент я стал делать функцию подпитки. Естественно BilliBot не имеет такой функции и все было хорошо, покаа не скрестил двух своих Ботов с включенной функцией подпитки. Оценочная функция сразу стала верещать, что есть ходы, против которых она ничего не сможет сделать. И я понял ситуацию (288) и был если признаться в отчаянии. Пока не придумал как модифицировать оценочную функцию.
|
|||||||||||||
292
ProxyInspector
24.10.10
✎
20:58
|
(290) Да я оцениваю худщее, что может произойти на число ходов равное максимальному расстоянию между планетами. И к слову это худшее для каждой планеты может быть только одно. То есть если у меня есть 5 своих планет, то возможно только пять худших развитий событий. С учетом того, что силы изначально равны, то я могу отбить любую атаку.
|
|||||||||||||
293
rsergio
24.10.10
✎
21:04
|
(292) Вы заблуждаетесь т.к. силы равны только перед первым ходом и в отличии от шахмат вы не знаете как сходит противник (он может сходить совсем "неправильным" ходом и в итоге обыграть т.к. вы этого просто не ожидали)
|
|||||||||||||
294
ProxyInspector
24.10.10
✎
21:04
|
На следующем ходе в зависимости от хода противника ситуация измениться. К примеру соперник послал флот на мою планету. Флоту лететь несколько ходов. Т.к. я изначально предполагал, что противник может начать атаку то я готов к ее отражению.
Внешне это выглядит так. Соперник посылает большой флот в атаку на одну планету. Соответственно угроза нападения на остальные планеты уменьшается, на них образуются лишние корабли и они посылают их в поддержку своей планеты. В результате противник не может ее захватить. |
|||||||||||||
295
rsergio
24.10.10
✎
21:06
|
(294) Все будет по другому - соперник максимально быстро занимает нейтралы, получает преимущество и атакует ваши - вы просто не успеваете отбиться.
Посмотрите игры текущего лидера: http://ai-contest.com/profile.php?user_id=8565 |
|||||||||||||
296
NS
24.10.10
✎
21:08
|
(294) У вас куча планте, и соперник может атаковать любую. Какую он будет атаковать вы не знаете, ибо ходы делаются одновременно, а защитить все - не сможете.
Вообще часто партии проигрываются первым ходом, как например тут лидер проиграл hazard-у. Но тут любой ход может проиграть, ибо уже на первом ходу решение в смешанных сратегиях. http://ai-contest.com/visualizer.php?game_id=6075244 |
|||||||||||||
297
ProxyInspector
24.10.10
✎
21:10
|
В начале игры у вас две одинаковые ситуации. Если противник находится на расстоянии Х ходов, то у вас есть Х*ТемпРоста свободных кораблей. Вы их можете использовать как хотите. При таком подходе после первого хода вас не захватят.
|
|||||||||||||
298
rsergio
24.10.10
✎
21:13
|
(297) Как раз все дело в том кто как их использует.
Бывает, что игра выигрывается только из-за того, что вы на ход раньше захватили зеркальный нейтрал, получили +5 кораблей и к концу 200 хода вы обыгрываете соперника на эти 5 кораблей! Если идти всегда от хода соперника, то вы всегда будете опаздывать |
|||||||||||||
299
ProxyInspector
24.10.10
✎
21:17
|
Ваша задача хорошо использовать свободные корабли.
На втором ходе вы видете, какой ход сделал соперник. И просчитать худшее развитие ситуации для себя. И принять меры. При этом у вас образуются новые свободные корабли. Если вы захватите нейтральную планету, которая к возможной атаке произведет больше кораблей, чем вам потребуется на ее захват, то вы как минимум не проиграете. |
|||||||||||||
300
ProxyInspector
24.10.10
✎
21:19
|
(298) К слову проигрывает на 5 кораблей. Учитывается ли при рассчете рейтинга преимущество в несколько кораблей. Или там ситается как говорил NS 0, 1/2 ,1 или проигрыш, ничья, поражение.
|
|||||||||||||
301
rsergio
24.10.10
✎
21:21
|
(300) Учитывается каждый корабль.
Если к концу 200 хода у вас 1000 кораблей, а у противника 1001 то вы проиграли (у вас 0 очков, у противника 1 очко). Если к концу игры у вас одинаковое кол-во очков, то ничья (1/2) Так что в этой игре "идеального" бота не бывает, особенно "скриптового" |
|||||||||||||
302
ProxyInspector
24.10.10
✎
21:23
|
Если вы ходите от хода соперника, то у вас по крайней мере есть время, пока его корабли будут лететь. И потом я хожу не от хода соперника, а от лучшего хода соперника.
|
|||||||||||||
303
ProxyInspector
24.10.10
✎
21:23
|
(301) Здорово мне это нравиться.
|
|||||||||||||
304
rsergio
24.10.10
✎
21:28
|
(302)
"Ход от лучшего хода соперника" - это не всегда помогает. У меня на сервере есть проигранная партия слабому боту. Запускаю у себя тест с более сильным ботом (Hazard) - я выигрываю эту карту. Почему? Потому что в первом случае соперник сделал неожиданный для меня ход, поэтому у меня не хватило сил защитить планету и проиграл. Во втором случае бот сильнее, он делает более предсказуемые для меня ходы и при большом размене я выигрываю. Так что теория опять неверна... |
|||||||||||||
305
ProxyInspector
24.10.10
✎
21:29
|
К примеру рассмотрим ситуацию начало игры и две планеты расположены на расстоянии 1 хода друг от друга. Мой бот по своей сущьности не сделает первого хода. Потому, что он понимает, что любой его ход ведет к проигрышу. При этом я специально не прописывал такую ситуацию - это его суть.
|
|||||||||||||
306
Beduin
24.10.10
✎
21:29
|
(301) Идеального не бывает, но можно на каждый ход находить у функции действия максимум эффективности.
|
|||||||||||||
307
NS
24.10.10
✎
21:31
|
(306) Никогда в теории матричных игр не слышал такого термина.
|
|||||||||||||
308
ProxyInspector
24.10.10
✎
21:32
|
(304) Вы говорили, что кто-то проиграл партию из-за того, что соперник сделал паузу. С моим ботом такие штуки не должны проходить.
|
|||||||||||||
309
rsergio
24.10.10
✎
21:35
|
Пока вы активно защищаете свои планеты более нахальный бот займет нейтралы, получит преимущество и задавит
В общем, кажется дискуссия какая-то непонятная, будут бои и все встанет на свои места |
|||||||||||||
310
ProxyInspector
24.10.10
✎
21:36
|
||||||||||||||
311
rsergio
24.10.10
✎
21:38
|
Скачай PlimBot02.ert
http://infostart.ru/public/76982/forum/topic/36181/ Какие результаты твой бот выдает против него? |
|||||||||||||
312
ProxyInspector
24.10.10
✎
21:40
|
Это ваш?
|
|||||||||||||
313
rsergio
24.10.10
✎
21:41
|
Нет, меня зовут Сергей, там же Валерий.
PS: этот бот моего проигрывает вчистую, но это один из немногих кто держится долго :) |
|||||||||||||
314
rsergio
24.10.10
✎
21:41
|
+ (313) моемМУ :)
|
|||||||||||||
315
NS
24.10.10
✎
21:53
|
(310) Но никто не запрещал тебе смотреть их партии.
|
|||||||||||||
316
Domovoi
24.10.10
✎
23:59
|
ProxyInspector вас погубит самоуверенность. Вы уже раз просчитались просчитаетесь еще как минимум раз 5. Я пишу бота на таком же принципе и понимаю, что расчет ходов на максимальную дистанцию планет не является границей, там потом придется для того чтоб идеально сделать ход, через каждый расчет менять защита, атака и пересчитывать и в итоге ппц скока займет, правда я так понял вы еще не дошли до этого, раз верите в свой идеальный ход) При идеальном ходе партию придется почти до конца просчитать, а это хз, впринципе возможно, но просчет хода будет занимать больше отведенного времени, на мой взгляд тут просто нужен гениальный алгоритм, но как его придумать хз)
|
|||||||||||||
317
NS
25.10.10
✎
00:15
|
(316) Да нет тут гениального алгоритма. Игра значительно сложнее шахмат, и никакому просчету не подлежит.
|
|||||||||||||
318
Domovoi
25.10.10
✎
00:16
|
(317)Время покажет.
|
|||||||||||||
319
ProxyInspector
25.10.10
✎
09:00
|
Мне очень понравилось обсуждение. В результате обсуждения мне пришли две гениальные идеи.
Вторая идея - "Камикадзе". К концу игры ваш Бот к примеру проигрывает AI боту. И он начинает операцию под названием "Комикадзе" на каждом ходу он посылает на все планеты по 1 кораблю. Таким образом в полете появляется громадное количество флотов. Если соперник не готов к такой ситуации его Бот захлебывается в информации и проигрывает по тайм-ауту. После того как я сформулировал эту идею, мне удалось повысить быстродействие своего бота в 4 раза. |
|||||||||||||
320
Ёпрст
гуру
25.10.10
✎
09:05
|
(319) у бота из (311) выигрывает ?
|
|||||||||||||
321
ProxyInspector
25.10.10
✎
09:10
|
(317) Попытаюсь сформулировать свой алгоритм по другому.
В начале игры имеется две планеты с одинаковыми силами. Если на каждой планете по 100 кораблей и всего 26 планет, тогда каждая планета может сделать как минимум 100*Факториал(26) = 10**27 ходов. Естественно обсчитать такой массив невозможно. Однако существует всего ОДИН не правильный ход для которого существует 100% вероятность проигрыша при определенном стечении обстоятельств. Если вы пошлете корабль на соседнюю планету, а ваш соперник все силы бросит на вас. Я как раз и анализирую такие ходы. Соответственно в такой ситуации мой Бот никогда не сделает первого шага. |
|||||||||||||
322
ProxyInspector
25.10.10
✎
09:12
|
(320) Я еще не знаю. "Идеальный" алгоритм нападения у меня только в голове, и на данном этапе мне важно, как мой бот защищается.
|
|||||||||||||
323
ProxyInspector
25.10.10
✎
09:32
|
(321) Рассмотрим дальше ситуацию (321).
1. Первым ходом соперник послал много 99 кораблей на захват нейтрала. На соей планете образуется 99 свободных кораблей. Тогда 2 я посылаю на основную планету, и необходимое количество для захвата нейтрала, с таким учетом, чтобы с минимальными затратами захватить нейтрала. И подобное поведение заложено внутри оценочной функции, а не прописано алгоритмом. Это я попытался смодулировать поведение Бота на простейшем примере. Для более сложной ситуации поведение Бота описать не возможно. |
|||||||||||||
324
ProxyInspector
25.10.10
✎
09:35
|
Вопрос к mszsuz что происходит если:
1. на нейтральной планете 10 кораблей и одновременно к ней приходит два флота ваш и соперника по 10 кораблей? 2. на нейтральной планете 10 кораблей и одновременно к ней приходит два флота ваш флот 11 кораблей и флот соперника по 10 кораблей? |
|||||||||||||
325
ProxyInspector
25.10.10
✎
09:39
|
Вполне возможно, что (321) - алгоритм искусственного интелекта.
|
|||||||||||||
326
ProxyInspector
25.10.10
✎
10:08
|
Попробывал я бота из (311) Хороший бот, играет чуть лучше моего . Для спаринга на данном этапе просто прелесть. Умеет подпитывать свои планеты и за счет этого выигрывает.
|
|||||||||||||
327
rsergio
25.10.10
✎
11:25
|
(326) А как же "идеальный ход" ?
|
|||||||||||||
328
mszsuz
25.10.10
✎
11:34
|
(324)
1. Планета останется нейтральной. На планете будет 0 судов. 2. Планета изменит владельца на владельца 11 судов. На планете будет 1 судно. |
|||||||||||||
329
Domovoi
25.10.10
✎
13:12
|
(326)С стратегией просчета ходов на максимальное расстоя между своей и вражеской планетой, этот бот и без идеального просччета сливается. Скорее всего вы при расчете защиты оставляете много кораблей в резерве, за счет этого слабый захват идет, но естественно не видя ваш алгоритм, я строю лишь предположения)
|
|||||||||||||
330
Domovoi
25.10.10
✎
13:29
|
(319)Зачем по одному? По 0 и приказов пока у вас хватает времени))
|
|||||||||||||
331
NS
25.10.10
✎
13:34
|
(319) AI-шному боту (его инкрементальному SEE) совершенно пофиг скоько кораблей находтся в полете, на его быстродействие это ну никак не влияет.
В SEE список планет (то есть количество планет на поле - вот это влияет на быстродействие), и к каждой планете массив - измерение время, хранится сколько (и чьих) кораблей через это время будет на планете. |
|||||||||||||
332
ProxyInspector
25.10.10
✎
18:13
|
У меня при захвате планеты захватывалась не самая идеальная, а самая близкая планета. У PlimBot02.ert захватывалась более хорошая и он меня давил. Но я уже правлю алгоритм для поиска самой лучшей для захвата планеты при самом худшем развитии ситуации. Пока я еще полон оптимизма.
|
|||||||||||||
333
Wasya
25.10.10
✎
19:44
|
(332) Ты будешь смеятся, но PlimBot (каюсь это мое творение) тоже захватывает ближайшую планету. Точнее планету для захвата которой достаточно ресурсов и на захват которой будет потрачено минимальное время.
Причем это моя принципиальная позиция и в ближайшее время я от нее отказываться не собираюсь. Так как нападающий теряет столько же ракет, сколько и защищающийся, значит держать огромное количство ракет в обороне не целесообразно. Надо все время атаковать. Даже если захваченную планету удержать не удастся. Несколько ходов владения планетой - все вперед. |
|||||||||||||
334
NS
25.10.10
✎
20:18
|
(333) Что-то ты просчитался.
Тратишь на захват планеты 50 кораблей, соперник перехватывает - и всё, у него на 50 кораблей больше. |
|||||||||||||
335
ProxyInspector
26.10.10
✎
08:55
|
Уважаемый mszsuz немного не удобно пользоваться PlayGame
1. Было бы здорово иметь возможность ходить по одному ходу и в окне сообщений анализировать выведенную Ботом информацию 2. Когда правишь Бота из внешнего файла в конфигураторе, то работаешь примерно так. Открываешь Конфигуратор и паралельно PlayGame. Запускаешь игру, анализируешь, правишь модуль Бота, сохраняешь Бота. Переходишь в окно 1с Предприятия и запускаешь новую игру. И вот при этом PlayGame запускает СТАРУЮ версию бота. Судя по всему из своей памяти. |
|||||||||||||
336
rsergio
26.10.10
✎
12:35
|
(335) Не знаю как у Вас, но у меня всегда запускается новая версия бота (если я ее действительно сохранил).
|
|||||||||||||
337
ProxyInspector
26.10.10
✎
14:05
|
Я заметил, что иногда новая, иногда старая. При этом когда какая не понятно. Я специально нажимал несколько раз "Сахранить" - не помогало. Но я думаю, что это глюки. Периодически выскакивает ошибка 1С при закрытии.
Это происходит только на WindowsXP x 64 а дома все нормально. |
|||||||||||||
338
rsergio
26.10.10
✎
15:02
|
Между делом я перенес около 80% своего бота на 1С.
При этом был перенесен один из главных "тормозных" алгоритмов. Быстродействие бота резко упало, но он умудряется еще уложиться в 1 сек. Хотя по сравнению с Java он просто "самокат vs мопед" :) |
|||||||||||||
339
NS
26.10.10
✎
15:29
|
Если SEE считаешь в цикле по ходам - перепиши по-человечески.
|
|||||||||||||
340
Domovoi
26.10.10
✎
15:45
|
(335)Старая версия иногда запускается, если у вас были ошибки кода, правда я не знаю почему.
|
|||||||||||||
341
Domovoi
26.10.10
✎
15:46
|
Увидел голосовалку)
Сделаю своего бота |
|||||||||||||
342
mszsuz
26.10.10
✎
15:49
|
(335) По второму пункту - инициализация бота делается при каждом старте. По первому - лучше отладчика пока ничего предложить не могу.
|
|||||||||||||
343
Domovoi
26.10.10
✎
15:57
|
(342)"По второму пункту - инициализация бота делается при каждом старте"
тебе так кажется) Если у меня в коде была ошибка, то поправив ее я уже наверняка перезапускаю 1с, потому что при очередном старте бот может остаться старый. |
|||||||||||||
344
rsergio
26.10.10
✎
16:52
|
(339) Это ты про что?
|
|||||||||||||
345
rsergio
26.10.10
✎
16:56
|
(343) Я ни разу на такое не попадал. Вернее было когда думал, что сохранил бот, а на самом деле нет (звездочка не исчезла).
|
|||||||||||||
346
NS
26.10.10
✎
17:07
|
(344) Про расчет того что будет через несколько ходов. На SDChess описан быстрый алгоритм.
|
|||||||||||||
347
rsergio
26.10.10
✎
18:02
|
(346) Пока не понял чем массив лучше цикла.
У меня SSE учитывает может ли планета помочь в захвате и чем (не атакована ли она) и также нейтралы, к которым уже летит флот. |
|||||||||||||
348
ProxyInspector
26.10.10
✎
21:02
|
Сегодня закончил "идеальный" алгоритм нападения. ПРавда еще не тестировал. Но должен работать.
Теперь у меня робот на основе немного урезанной оценочной функции умеет идеально защищаться и идеально нападаить. Я думаю он должен обыгрывать лучших ботов со счетом 100:0 Его обыграть сможет только такой-же бот, но с более проработанной оценочной функцией. |
|||||||||||||
349
rsergio
26.10.10
✎
21:12
|
"Идеальный алгоритм", "идеально защищаться", "идеально нападать", "обыгрывать лучших ботов" ...
Вы точно в нашем измерение живете? ;) |
|||||||||||||
350
ProxyInspector
26.10.10
✎
21:19
|
При защите: Мой учитывает все флоты и и планеты, которые противостоят моим планетам. Планеты могут коллективно защищаться с минимальными затратами кораблей (+1 корабль).
При атаке: Из всех возможных атак на нейтральные на чужие планеты выбираются такие атаки, которые обеспечивают лучший темп прироста планет. Если дальнейшая защита завоеванной планеты не приносит прироста Бот может отдать ее. В атаке могут участвовать все свои планеты. |
|||||||||||||
351
ProxyInspector
26.10.10
✎
21:23
|
Я сейчас отлаживаюсь на боте Wasya . У него единственная сильная сторона, что он умеет сильно делать первые несколько ходов.
На одной карте, когда у меня работала слабая функция атаки и с ошибками функция защиты, на 10 ходу моя оценочная функция заявила, что существует атака, при котором мне настанет пипец. Так Васин бот еще 40 ходов добивал меня. |
|||||||||||||
352
ProxyInspector
26.10.10
✎
21:27
|
(349) На самом деле я действительно разрабатываю бота в другом измерении. У меня иногда голова идет кругом.
Я писал, что общий объем кода порядка 1000 строк. При этом оценочная функия, идеальная защита и идеальное нападение занимают по 40 строк кода. |
|||||||||||||
353
ProxyInspector
26.10.10
✎
21:29
|
Все, что я написал в (350) Бот делает сам. Я этого ничего не писал.
|
|||||||||||||
354
ProxyInspector
27.10.10
✎
08:51
|
Меня мучил вопрос: "Как отлаживать "идеального" бота"? И вот сегодня я нашел ответ. Нало взять двух "идеальных" ботов, и одному из них дать преимущество в 1 ход. И тогда один пакажет свою максимальную силу в обороне, а другой в атаке.
|
|||||||||||||
355
ProxyInspector
27.10.10
✎
08:52
|
(354) При этом в зависимости от карты, на которой они будут играть преимущество будет варьироваться от минимального до максимального.
|
|||||||||||||
356
mszsuz
27.10.10
✎
12:12
|
Условия схваток между ботами
http://infostart.ru/public/76982/forum/topic/36161/ |
|||||||||||||
357
mszsuz
27.10.10
✎
12:14
|
Условия схваток между ботами (в разработке)
- На каждый ход боту дается не более одной секунды. - За каждый ход бот может отправить один или несколько приказов. В каждом приказе бот должен указать 3 числа. В независимости - были приказы или нет - бот должен ЗавершитьХод(). - Если бот в приказе указывает не свою планету-источник, несуществующую планету-назначения или количество в судов приказе превышает наличие судов на планете-источнике, схватка останавливается и бот объявляется проигравшим. - Если за один ход оба бота нарушают правила - проигравшими становятся оба. - Максимальное количество ходов схватки = 200. - Если по прошествии 200 ходов остались в живых оба бота, то схватка останавливается и сравнивается общее кол-во судов каждого бота, в т.ч. на всех его планетах и во всех его флотах в полете. Победителем становится тот, у кого в наличии окажется большее количество судов. Если это количество окажется одинаковым, объявляется ничья. - За победу в схватке присуждается 1 очко, за ничейный результат по 0.5 каждому. За проигрыш очки не присуждаются. |
|||||||||||||
358
rsergio
27.10.10
✎
12:39
|
(357) Просто присуждаются очки и все?
А не будет приниматься во внимание рейтинг побежденного? По ELO используется математическое ожидание схватки в зависимости от текущего рейтинга спортсменов. А то выйдет так, что победит тот, не кто сильнее, а кто больше провел партий со слабыми ботами... |
|||||||||||||
359
NS
27.10.10
✎
15:44
|
(358) я так понял что планируется круговой турнир, так что всё ОК. Главное карт большое количество - например использовать стандартные, и провести турнир в 100 кругов.
|
|||||||||||||
360
rsergio
27.10.10
✎
15:47
|
(359) Ну если получиться, что каждый бот сыграет с каждым на 100 картах, то тогда все ОК.
Вопрос в количестве участников - если их будет много, то мощности одного компьютера может не хватить провести все эти турниры за приемлемое время. |
|||||||||||||
361
NS
27.10.10
✎
15:55
|
(360) Думаю что даже если участников будет 20, провести 19 000 боев - не так уж и сложно.
|
|||||||||||||
362
ProxyInspector
28.10.10
✎
12:10
|
А регламент проведения. Дата начала, дата конца. Может быть несколько кругов сделать. Скажем 3 круга и финал с тремя участниками
|
|||||||||||||
363
NS
28.10.10
✎
12:13
|
Три круга по 100 партий каждый с каждым? Это наверно многовато.
|
|||||||||||||
364
ProxyInspector
28.10.10
✎
12:28
|
Зачем один круг по 100 партий. Потом остается половина участников или 10 человек и снова круг.
|
|||||||||||||
365
ProxyInspector
28.10.10
✎
12:29
|
Круги с выбыванием. Зачем заведомо сильному боту играть со слабыми соперниками. Ну а потом матч-реванш
|
|||||||||||||
366
NS
28.10.10
✎
12:30
|
(365) Ничего не понял. Матч реванш возможен только между ОБНОВИВШИМИСЯ версиями. Что за круги с выбыванием? Изобрел новую турнирную систему?
|
|||||||||||||
367
ProxyInspector
28.10.10
✎
13:20
|
Суть такая проводится отборочный турнир. Среди сильнейших проводится сам турнир. В последний момент два сильнейших играют между собой. Ну это все не принципально.
|
|||||||||||||
368
Wasya
28.10.10
✎
18:07
|
(351) Зачем делать идеальную защиту и атаку, если для выигрыша достаточно сделать правильных первых два хода?
Кстати выложил очередную версию своего бота, можешь отлаживать своего бота на ней. Сделаю своего бота |
|||||||||||||
369
NS
28.10.10
✎
21:38
|
(368) Нет, ты ошибаешься. см. Партии сильнейших ботов на AI Challenge.
|
|||||||||||||
370
Вуглускр1991
28.10.10
✎
22:39
|
Завалил 10 уровень, рука затекла нах!
Понял, что проигрывает тот, кто посылает корабли далеко. Мне удалось продержаться в центре на двух рядом планетах достаточно долго, чтобы у противника вышли все силы. |
|||||||||||||
371
Вуглускр1991
28.10.10
✎
22:42
|
А может это просто пиар игры?
10 баксов -то не лишние, как говорили в МТС |
|||||||||||||
372
NS
28.10.10
✎
22:44
|
(371) Нет, это поиск талантов.
|
|||||||||||||
373
Вуглускр1991
28.10.10
✎
22:54
|
(372) Не зае$баных работой к тому ж. Я тоже хочу включиться ...
|
|||||||||||||
374
NS
28.10.10
✎
23:07
|
(373) Я мало того что работой просто вы...н, я смысла в этом не вижу, но выиграть хочется :) поэтому выиграю :)
|
|||||||||||||
375
ProxyInspector
29.10.10
✎
09:27
|
(368) Wasya ты не прав. Идеальной защиты не достаточно, важна еще идеальное нападение.
К примеру ты идеально защищаешься и противник идеально защищается (это не так сложно при равенстве сил). Но противник в это время идеально нападает и получает определенный выигрыш. И дальше уже побела - дело времени. Я работаю над идеальным нападением и уже заканчиваю работу над ним. Была методологическая проблема какую атаку считать лучшей. Но я ее решил. И я думаю в субботу воскресенье ее реализую. А то на работе как-то нехорошо. Уже начальство косо смотрит. |
|||||||||||||
376
ProxyInspector
29.10.10
✎
09:30
|
У меня вопрос к тем, кто следит за официальным чемпионатом. Как часто бывают ничьи 50:50? И как ваши боты играют сами с собой? К примеру мой бот играет сам с собой 50:50 всегда.
|
|||||||||||||
377
ProxyInspector
29.10.10
✎
09:32
|
Ничьи 50:50 я имею в виду по конкретной карте
|
|||||||||||||
378
NS
29.10.10
✎
13:10
|
(376) Неужели тяжело посмотреть? Нет там ничьих вообще.
На неофициальном сервере порядка 1% ничьих, но все они когда встречаются разные версии ботов одного и того-же участника. |
|||||||||||||
379
Yurkiss
30.10.10
✎
23:56
|
Здравствуйте! Можно ли переназначить КонПланету для флота, чтоб развернуть его в пути?
|
|||||||||||||
380
NS
31.10.10
✎
00:09
|
(379) Конечно нет.
|
|||||||||||||
381
mszsuz
01.11.10
✎
11:49
|
Обновление 2.0
- На закладке бой можно кнопкой можно остановить бой. Лог при этом все равно записывается, с кодом завершения "XX". Другие коды завершения: * Победа = W * Поражение = L * Ничья = N * Таймаут = T * ОшибкаПриказа = E * ОшибкаВыполнения = R * БойПрерван = X * ТехОшибка = Z - Переделаны индикатор судов по предложению RSergio. Теперь даже незначительную разницу в количестве судов видно на индикаторе. - Исправлен текст сообщения об ошибке в случае когда игрок пытается отправить больше судов, чем было на планете. - На закладке "Параметры" добавлена возможность замера производительности компьютера. Чем больше значения показателей, тем больше производительность компьютера. Можно меряться ). - Добавлена опциональная возможность отображать идентификаторы планет. - Переработан движок. Теперь тайм-ауты должны корректно обрабатываться на любом ходе и у любого игрока. - Добавлен режим группового тестирования. http://infostart.ru/public/76982/forum/topic/36106/ |
|||||||||||||
382
mszsuz
01.11.10
✎
11:55
|
Проверяйте "Групповое тестирование". Если нормально работает, то сегодня-завтра начнем.
|
|||||||||||||
383
Ёпрст
гуру
01.11.10
✎
12:30
|
(381) кнопка стоп/пуск работает кривовато..
нажимаешь стоп, меняешь бота и привет.. ни начать, ни продолжить.. Или, иногда просто игра зависает и ау. |
|||||||||||||
384
Ёпрст
гуру
01.11.10
✎
12:32
|
+383 а потом появляется всегда надпись про "остановить бой"
|
|||||||||||||
385
ProxyInspector
01.11.10
✎
14:24
|
(384) Согласен. Мягко выражаясь работает криво. Я откаиываюсь обратно
|
|||||||||||||
386
ProxyInspector
02.11.10
✎
11:35
|
Помимо ошибок, дизайн 2.0 не понравился. Кнопки какие-то уродливые. С групповыми боями я не понял как провести бой с одним противником по нескольким картам. Короче перешел обратно на 1.02
|
|||||||||||||
387
mszsuz
02.11.10
✎
19:22
|
(386) Сделал новые кнопки только для увеличения размера. А картинки - какие под руку попались. Если есть что поинтереснее - поделись, поменяю.
Для групповых боев сделана возможность указать папку для выбранных ботов и папку для выбранных карт. Т.е. создай две папки, в одну скинь противника, во вторую - нужные карты, укажи пути к этим папкам в параметрах тестирования и вперед. |
|||||||||||||
388
ProxyInspector
03.11.10
✎
08:55
|
на Windows x64: Стоп/пуск работает кривовато. По крайней мере . После того, как остановил бой, приходится перезапускаться. При закрытии 1С
|
|||||||||||||
389
ProxyInspector
03.11.10
✎
08:58
|
1. При закрытии 1с вываливается с ошибкой.
2. Если есть ошибка в модуле бота, и ты его запустил, то при следуюшем запуске PlayGame запускает старую версию бота. Приходиться выходить из 1С 3. Если после боя попытаться изменить размер окна сообщений, то 1С вываливается с ошибкой. |
|||||||||||||
390
Ёпрст
гуру
03.11.10
✎
09:02
|
(389) в глобальнике вот так сделай, вылета при закрытии не будет:
ИспользоватьЗагрузчикВК = 0; |
|||||||||||||
391
mszsuz
03.11.10
✎
13:04
|
(390) Как думаешь, может и в основной конфе также исправить?
Не начнутся вопросы про незагружаемые компоненты? |
|||||||||||||
392
mszsuz
04.11.10
✎
19:11
|
Обновление 2.11:
- Исправлены ошибки релиза 2.0. - В логе работает колесо мыши. - Добавлена возможность пошагового выполнения боя. - Исправлена ошибка в Вселенная.МоиФлоты(). http://www.infostart.ru/public/76982/forum/topic/36106/ |
|||||||||||||
393
mszsuz
04.11.10
✎
23:16
|
(390) Проблемы с ИспользоватьЗагрузчикВК=1 подтвердились неоднократно. Со следующей версии сделаю =0. Спасибо.
|
|||||||||||||
394
Salimbek
05.11.10
✎
10:06
|
(392) Чего-то у меня так ругается:
{Обработка.PlayGame.Форма.Модуль(79)}: Значение не представляет агрегатный объект (Режим) |
|||||||||||||
395
mszsuz
05.11.10
✎
11:31
|
(394) Как этого добиться?
|
|||||||||||||
396
Salimbek
05.11.10
✎
12:59
|
(395) Х.з. развернул готовую конфу из pw1c_2_11.zip - запускаю 1С и вижу эту ошибку. Закидываю МД-шник 1.02 - работает.
--- Еще тут жаловались, что надо перезакрывать 1С, чтобы новый бот подгружался - это связано с включенной настройкой "Оптимизация" в 1С++. Как я понял - из бота "на лету" формируется класс, у которого затем вызывается метод main. При включенной оптимизации - используется один раз скомпилированный класс. Так что добавь, пожалуйста, при старте новой битвы (или по кнопочке, принудительно) MetaInfoClasses.ОчиститьДанныеОптимизацииКлассов() |
|||||||||||||
397
mszsuz
05.11.10
✎
13:13
|
(396) ОчиститьДанныеОптимизацииКлассов было сделано изначально. Перед инициализацией ботов.
Другое дело писали про глюк - если была ошибка в боте, то повторно загружается старый. Воспроизвести это не смог. |
|||||||||||||
398
mszsuz
05.11.10
✎
13:15
|
Плюс возникает проблема, если в пути реализации класса бота есть пробелы. Надо в багзиллу 1CPP отписаться.
|
|||||||||||||
399
Salimbek
05.11.10
✎
13:32
|
(398) Пробелов нет, путь выглядит так: D:\myBases\PlanetWars
(397) Когда писал - пропустил точку с запятой в одной строке - начало ругаться с ошибкой, и после этого замена файла не помогала. Сейчас попробовал воспроизвести - ошибка исчезает... странно |
|||||||||||||
400
Salimbek
05.11.10
✎
13:33
|
+(399) Теперь и 2.11 запустился... чудеса...
|
|||||||||||||
401
Salimbek
05.11.10
✎
13:46
|
(397) Ага, нашел, почему 2.11 не стартует - если в каталоге ИБ нет файла settings.prm
|
|||||||||||||
402
mszsuz
05.11.10
✎
13:51
|
(401) Точно, спасибо, исправил.
|
|||||||||||||
403
ProxyInspector
08.11.10
✎
09:02
|
(402) Поставил 2.12. Великолепно. Перестала 1С вываливаться по ошибкам. Колесо мыши в лог файле - это просто мечта. Пошаговый режим боя - просто прелесть
|
|||||||||||||
404
mszsuz
08.11.10
✎
11:00
|
Только вчера, копаясь в коде визуализатора узнал, что на оф.сайте просмотр боев работает с поддержкой клавы - пробел- старт/стоп, стрелки-перемотка.
Теперь о состоянии дел: - интерфейс общения с участниками конкурса готов на 100% (обработка регистраций и обновлений ботов); - сайт, с рейтингом, профилями и просмотром боев готов на 90%. Осталось навести красоту в интерфейсе. - служебная конфа для чемпионата готова на 90%. Осталось доделать выгрузку результатов. ЗЫ, готовьте ботов. |
|||||||||||||
405
ProxyInspector
08.11.10
✎
11:45
|
||||||||||||||
406
ProxyInspector
08.11.10
✎
11:50
|
Васин бот хорошо делает несколько первых ходов, что правильно. После этого начинает агрессивно атаковать соперника. Если соперник имеет слабую оборону, и не нападает, то тут ему приходит конец. Как не парадоксально для уверенной защиты требуется существенно больше судов, чем для нападения. У меня были ситуации, когда без возможности нападения мой бот имел подавляющее преимущество по количеству кораблей и темпа роста, и ему не удавалось защитить отдельные планеты.
|
|||||||||||||
407
ProxyInspector
08.11.10
✎
11:52
|
Очень интересно тестировать ботов на картах с минимальным количеством планет. Сразу все ошибки видны. Если кому надо, то могу выложить генератор карт.
|
|||||||||||||
408
mszsuz
08.11.10
✎
12:02
|
(405) PlimBot04.ert видел?
http://infostart.ru/public/76982/forum/topic/36181/message/397674/#message397674 |
|||||||||||||
409
ProxyInspector
08.11.10
✎
15:22
|
Хороший бот PlimBot04.ert . Выигрывает у моего со счетом 60:40
|
|||||||||||||
410
Wasya
08.11.10
✎
16:12
|
(409) У меня уже готов седьмой бот. Увы ждал от него большего. Лидером ему явно не стать. Естественно выкладываеть его в общий доступ не буду. Это уже боевой бот, а не экспериментальный.
|
|||||||||||||
411
Wasya
08.11.10
✎
16:19
|
(405) Второй бот давно отправлен на пенсию. Ввиду 100% проигрыша более поздним версиям.
|
|||||||||||||
412
ProxyInspector
08.11.10
✎
16:27
|
Второй конечно слабоват. Четвертый слаб в обороне, но удачно захватывает нейтральные планеты вначале. Если ему не удалось получить преимущество вначале, то он сливается.
|
|||||||||||||
413
mszsuz
09.11.10
✎
15:07
|
Приглашаю участников на регистрацию:
http://infostart.ru/public/76982/forum/topic/36161/ |
|||||||||||||
414
Salimbek
09.11.10
✎
15:18
|
(413) Отписался... правда бота пока что нету :)
|
|||||||||||||
415
АЛьФ
09.11.10
✎
15:33
|
2(413) Можешь в аську выйти?
|
|||||||||||||
416
Salimbek
09.11.10
✎
16:07
|
(413) Ссылка пришла на профиль, только страница по ссылке не открывается
|
|||||||||||||
417
mszsuz
09.11.10
✎
16:49
|
||||||||||||||
418
Salimbek
09.11.10
✎
16:56
|
(417) Прикольна... :)
|
|||||||||||||
419
mszsuz
09.11.10
✎
19:33
|
Вот и появились два бота для ПЕРВОГО боя.
Смотрим: http://pw1c.narod.ru/view.htm?game/000001.log |
|||||||||||||
420
Domovoi
09.11.10
✎
21:09
|
(419)А что надо чтоб запустился?
|
|||||||||||||
421
mszsuz
09.11.10
✎
21:31
|
Для IE нужен Google Chrome Frame:
http://code.google.com/intl/ru-RU/chrome/chromeframe/ |
|||||||||||||
422
Domovoi
09.11.10
✎
21:46
|
(421)Установил не достаточно
|
|||||||||||||
423
mszsuz
09.11.10
✎
21:49
|
(422) Проверь пож-ста:
http://ai-contest.com/visualizer.php?game_id=6868634 откроется? Это игра с офсайта. |
|||||||||||||
424
Domovoi
09.11.10
✎
21:50
|
(423)Официальные игры то у меня работают, поэтому и спрашиваю что надо?
|
|||||||||||||
425
Domovoi
09.11.10
✎
21:51
|
+(424)Вместо кнопки "плэй" у меня вообще "?"
|
|||||||||||||
426
mszsuz
09.11.10
✎
21:55
|
Так кнопка есть? Включи кодировку Win-1251
|
|||||||||||||
427
mszsuz
09.11.10
✎
21:57
|
у меня вмзуализатор с офсайта за исключением пары "ненужных" скриптов
|
|||||||||||||
428
mszsuz
09.11.10
✎
21:59
|
Есть возможность использовать другой браузер?
FF, Opera, Chrome работают. |
|||||||||||||
429
Domovoi
09.11.10
✎
22:03
|
(428)в FF не идет не с официального не с вашего, в EI идет с официального но не идет с вашего, поменял страницу, стал пытаться грузить яву, но все равно выскакивает ошибка и не загружается.
|
|||||||||||||
430
Domovoi
09.11.10
✎
22:04
|
(428)Может Яву надо поставить?)
|
|||||||||||||
431
Domovoi
09.11.10
✎
22:04
|
+(429)Кнопка все равно осталась "?"
|
|||||||||||||
432
Domovoi
09.11.10
✎
22:07
|
+(429)Вот такая фигня в ошибке
Java Plug-in 1.6.0_16 Using JRE version 1.6.0_16-b01 Java HotSpot(TM) Client VM User home directory = C:\Documents and Settings\Admin ---------------------------------------------------- c: clear console window f: finalize objects on finalization queue g: garbage collect h: display this help message l: dump classloader list m: print memory usage o: trigger logging q: hide console r: reload policy configuration s: dump system and deployment properties t: dump thread list v: dump thread stack x: clear classloader cache 0-5: set trace level to <n> ---------------------------------------------------- load: class Viewer.class not found. java.lang.ClassNotFoundException: Viewer.class at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.io.IOException: open HTTP connection failed:http://pw1c.narod.ru/Viewer/class.class at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) ... 7 more Exception: java.lang.ClassNotFoundException: Viewer.class |
|||||||||||||
433
mszsuz
09.11.10
✎
22:27
|
(432) Попробуй ещё эту
http://pw1c.narod.ru/test/domovoi.htm?log/000001.log |
|||||||||||||
434
Domovoi
09.11.10
✎
22:36
|
(433)Неа. Теперь вместо буковок, "В" с символами какими-то.
|
|||||||||||||
435
Domovoi
09.11.10
✎
22:37
|
(433)Ладно не возитесь, если у всех все норм, значит руки у меня кривые))
|
|||||||||||||
436
mszsuz
09.11.10
✎
22:51
|
(434) narod.ru отдает страницы только в кодировке win-1251, поэтому пришлось страницы и скрипты с офсайта конвертировать из utf-8 в win-1251. Так что глюки имеют место быть, только вот где копать - пока не ясно.
Попробуй на странице по ссылке из (433) принудительно включить utf-8 |
|||||||||||||
437
ProxyInspector
12.11.10
✎
10:59
|
(433) У меня тоже не показывает бои.
|
|||||||||||||
438
mszsuz
12.11.10
✎
11:08
|
Обновление 2.16
- Исправлены ошибки при переходе по закладкам; - На закладке "Параметры" добавлен "Калькулятор рейтинга ELO" |
|||||||||||||
439
mszsuz
12.11.10
✎
11:09
|
(437) Какие-то проблемы c IE. Разберусь.
Пока можно смотреть бои через Google Chrome. |
|||||||||||||
440
mszsuz
13.11.10
✎
14:53
|
Онлайн-рейтинг теперь обновляется каждый час:
http://pw1c.narod.ru/rankings.htm Угадайте, кто сейчас на первом месте? ) |
|||||||||||||
441
ProxyInspector
22.11.10
✎
09:50
|
Есть предложение перенести начало чемпионата на 01.01.2011. А то чего-то времени маловато было наподготовку.
|
|||||||||||||
442
NS
22.11.10
✎
20:57
|
(441) После первого декабря наверняка будут доступны исходники и алгоритмы сильнейщих ботов в Гугл АИ челенж.
|
|||||||||||||
443
SUA
23.11.10
✎
06:06
|
времени нету основного на офсайт допилить... а тут вы еще со своей 1с
хотя... 500 строк кода - примерно 3 часа |
|||||||||||||
444
mszsuz
23.11.10
✎
11:18
|
(441) см. (442). Чтобы не получилось так, что тех, кто пишет своего бота на 1С не обставил какой-нить копипастер - окончание конкурса переноситься не будет.
Да и комп в зале надоел гудеть - неделю дотерплю и хватит ) |
|||||||||||||
445
mszsuz
23.11.10
✎
12:16
|
Финал чемпионата
Предварительные соревнования заканчиваются в 08:59 28 ноября 2010 г. по московскому времени. В это время прием ботов прекратится и регулярные бои между участниками будут остановлены. Будет сброшен (обнулен) рейтинг всех участников. Спустя 6 часов (это время необходимо для проверки ботов) после окончания предварительных соревнований стартует финал чемпионата. Финальные схватки будут проводиться в режиме онлайн на каждой карте между всеми участниками. Результаты будут публиковаться после розыгрыша каждой карты, начиная с первой. |
|||||||||||||
446
mszsuz
25.11.10
✎
01:05
|
На 1С-ном чемпионате встретились 2 участника из ТОП-100 Google AI Challenge. Делаем ставки.
|
|||||||||||||
447
mszsuz
28.11.10
✎
09:08
|
Предварительные соревнования завершены!
Регистрация участников и приём ботов закончились. 28 ноября в 15-00 по московскому времени начнутся финальные соревнования. |
|||||||||||||
448
NS
28.11.10
✎
13:04
|
Ну вот, народ начал выкладывать исходники, как я и говорил.
http://www.sdchess.net/phpBB2/viewtopic.php?p=9963#p9963 |
|||||||||||||
449
mszsuz
28.11.10
✎
15:59
|
Примерно через месяц планирую начать новый конкурс. Интересно, сколько будет участников?
|
|||||||||||||
450
NS
28.11.10
✎
16:25
|
(449) В эту-же игру?
|
|||||||||||||
451
Rabbit
28.11.10
✎
17:00
|
(448) Своего выкласть, или, при его уровне, who cares?
|
|||||||||||||
452
NS
28.11.10
✎
17:00
|
(451) Конечно выложи, если не жалко.
|
|||||||||||||
453
Rabbit
28.11.10
✎
17:53
|
Почему-то регистрация на sdchess.net не прошла, потому тут.
Мой бот: http://ifolder.ru/20504720 Присваивает веса всем планетам, основываясь на их производительности, расстоянии и базирующихся на них флотах, и отсылает корабли от более выгодных к менее выгодным, предварительно оптимизируя распределение "доноров". Если что-то остаётся, отправляет к наиболее близким к противнику своим планетам. Умеет считать размен по каждой планете и при оценке ориентируется на ситуацию по завершению всех разменов, без учёта разницы в их времени завершения. Имеет два режима: "угнетён"/"превалирую", в которых немного по-разному расставлены приоритеты. |
|||||||||||||
454
mszsuz
28.11.10
✎
18:00
|
(450) Да, только надо движок на восьмерку добавить.
|
|||||||||||||
455
Rabbit
28.11.10
✎
18:05
|
+(453) Программирую такое впервые. Никаких примеров не смотрел. Что выросло - то выросло ))
|
|||||||||||||
456
ProxyInspector
28.11.10
✎
18:32
|
А я своего так и не доделал до приемлевого уровня. Просьбы к лидерам выложить своих ботов в зашифрованном виде. Я думаю будет полезнее. PlanetWars хорошая разминка для мозгов.
|
|||||||||||||
457
NS
28.11.10
✎
18:33
|
(456) Зачем? Как раз исходники не помешают. Чтоб в следущем конкурсе сила игры была значительно выше.
|
|||||||||||||
458
ProxyInspector
28.11.10
✎
18:34
|
(449) Надо побольше времени на подготовку. 1С-ники люди занятые в отличии от участникоа официального турнира.
|
|||||||||||||
459
ProxyInspector
28.11.10
✎
18:35
|
Интересны соперники сильные. А кому охота в исходниках разбираться. Интересны идеи, а не исходники.
|
|||||||||||||
460
NS
28.11.10
✎
18:47
|
(459) В исходниках нормальным языком программирования описаны идеи.
|
|||||||||||||
461
mszsuz
28.11.10
✎
19:03
|
(456) Отправлю каждому участнику письмо с просьбой разрешить выложить зашифрованных ботов.
|
|||||||||||||
462
Salimbek
28.11.10
✎
21:29
|
(461) Разрешаю, только мой - слабенький, ряд идей вообще не реализовал.
З.Ы. Так, для будущих участников, перевод одного из алгоритмов с работы с Индексированной таблицей на обычный массив привело к ускорению работы алгоритма в 2 раза. Так что тестировать можно и с ТЗ, но итоговый вариант делать на массивах. |
|||||||||||||
463
mszsuz
29.11.10
✎
07:01
|
Финальный турнир продолжается. Пройдено 50 из 100 карт.
Текущий рейтинг: № Участник Страна Город Побед Поражений ELO 1 rs514 Украина Киев 320 67 525 2 rsergio Россия Москва 309 87 498 3 Pavlovsky Россия Екатеринбург 307 90 412 4 alexk-is Россия Лысьва 258 140 370 5 ASDF2 Россия Пермь 227 173 331 6 venger Украина Одесса 131 269 128 7 Salimbek Россия Набережные Челны 132 260 33 8 qd-phantom Россия Первоуральск 68 324 0 9 dmitry_k7 Россия Москва 29 371 0 |
|||||||||||||
464
mszsuz
29.11.10
✎
07:05
|
Финальный турнир продолжается. Пройдено 50 из 100 карт.
Текущий рейтинг: |
|||||||||||||
465
mszsuz
29.11.10
✎
12:53
|
Финальный турнир продолжается. Пройдено 70 из 100 карт.
Рейтинг обновляется после смены очередной карты. |
|||||||||||||
466
mszsuz
29.11.10
✎
16:23
|
Финальный турнир продолжается. Пройдено 80 из 100 карт.
|
|||||||||||||
467
mszsuz
29.11.10
✎
18:04
|
NS, просьба - стукни в аську 33993114
|
|||||||||||||
468
mszsuz
30.11.10
✎
15:28
|
Пройдено 99 карт из 100!
|
|||||||||||||
469
mszsuz
30.11.10
✎
16:16
|
Чемпионат PlanetWars::1C завершен!
Поздравляем Победителя: Roman Sudak !!! |
|||||||||||||
470
rs
30.11.10
✎
16:23
|
(469) Спасибо. Было очень интересное соревнование :)
|
|||||||||||||
471
mszsuz
30.11.10
✎
16:29
|
А вот и он сам!
|
|||||||||||||
472
Ёпрст
гуру
30.11.10
✎
16:30
|
(470) поздравляю..!
я вот поленился писать, начал и забросил.. :( |
|||||||||||||
473
rs
30.11.10
✎
16:43
|
(472) Спасибо. Я изначально написал на JAVA потом перенес на 1С
|
|||||||||||||
474
Попытка1С
30.11.10
✎
16:56
|
(473) На гугле участвуете?
|
|||||||||||||
475
rs
30.11.10
✎
17:14
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |