|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.01.2009, 08:21 | #61 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Вот вообще явное несоответствие. Рандомный бот победил DIEGO.
Кстати, если задать количество игр 8000-10000, то рандом почти всегда всех побеждает, кроме LLFerzBot. (этого я просто не дождался). В принципе, конечно хотелось бы иметь заморочки со временем. Ну как то тогда присутствует стимул оптимизировать алгоритм. Я вот, к примеру, своего тактика переписывал уже один раз, именно с целью оптимизации по скорости (и ещё есть парочка идей, как его быстрее сделать).
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
07.01.2009, 17:07 | #62 | |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
она нужна чтобы исключить ситуации, когда происходит групый перебор всех возможных вариантов.
Формула вычисления очков не окончательная я как раз ждал тесты и мнения. Формулу изменю. Цитата:
Ulex, сам подумай, если всего 100 игр и 48 против 52 - это ничья. |
|
08.01.2009, 02:04 | #63 | |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Цитата:
Есть мнение. Надо формулу сделать как-то аппаратно независимой. Сейчас на разных компьютерах боты будут набирать разное количество баллов (на медленной машине меньшее количество). Вот если бы в формулу заложить не само время раздумий бота, а отношение этого времени ко времени противника. Или считать количество тактов (к примеру QueryPerformanceCounter). Кстати, на предыдущей версии (где время выводилось) рандомный бот всегда набирал 0 мс. , но ведь это не так, какое-то время он же всё равно тратил.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
|
08.01.2009, 09:59 | #64 | |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
всё будет теститься на одной машине - Pentium 4 531 3 GHz.
Цитата:
(MaxGameTime*TotalGameCount - aPlayerTime) умножается примерно на 10 в случае когда игра одна ((WinCount+1)*10- 9) а теперь пусть будет так ((WinCount+1)*20- 19) В следующем билде будет такая формула Result:= round(((MaxGameTime*TotalGameCount - aPlayerTime)*((WinCount+1)*20- 19))/(TotalGameCount*10)); Последний раз редактировалось rpy3uH; 08.01.2009 в 10:14. |
|
08.01.2009, 11:06 | #65 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
FERZ build 1043
Изменения в формуле вычисления очков. Несколько небольших изменений внутри программы. |
09.01.2009, 09:04 | #66 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Неопределённость осталась.
Произведено 200 игр Белые (DIEGO v1.0) победили 105 раз Чёрные (UlexBot (Taktik 1.1)) победили 95 раз Белые (DIEGO v1.0) ошиблись 0 раз Чёрные (UlexBot (Taktik 1.1)) ошиблись 0 раз Ничья 4 раз ------ DIEGO v1.0 (белые) баллы 752754 UlexBot (Taktik 1.1) (чёрные) баллы 1195301 UlexBot (Taktik 1.1) победа по очкам Произведено 200 игр Белые (DIEGO v1.0) победили 95 раз Чёрные (UlexBot (Taktik 1.1)) победили 105 раз Белые (DIEGO v1.0) ошиблись 0 раз Чёрные (UlexBot (Taktik 1.1)) ошиблись 0 раз Ничья 2 раз ------ DIEGO v1.0 (белые) баллы 1195216 UlexBot (Taktik 1.1) (чёрные) баллы 752837 DIEGO v1.0 победа по очкам Я вроде догадался, почему она есть. Время скорее всего засекается чем-то наподвид GetTickCount, дискретность у которого 1 мс. А что будет, если соревнуются два скоростных бота, которые партию разыгрывают каждый менее чем за 1 мс ? И ещё вопрос, а ничьи куда считаются? И вот картинки, которые выдавал FERZ 1040 (играют двое DIEGO м/у собой) несколько партий подряд.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru Последний раз редактировалось Ulex; 09.01.2009 в 09:39. |
09.01.2009, 13:49 | #67 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
да время считается через GetTickCount. Когда время слишком маленькое, эта функция даёт разные результаты.
Сейчас я работаю над своим ботом и уже он думает дольше чем LLFerzBot. Ничьи никуда не считаются |
09.01.2009, 14:05 | #68 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Тогда получается, что для быстрых ботов работает принцип рулетки, т.е. прав тот, кому повезло больше ?
Все предыдущие картинки были получены на Celeron_e (~1300 МГц), а если будет пень 4 на 3GHz, да ещё и несколькоголовый, то вообще сплошная рулетка. Может всё-таки попробовать QueryPerformanceCounter ?
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
09.01.2009, 14:20 | #69 |
Форумчанин
Регистрация: 16.12.2006
Сообщений: 859
|
Могу помочь с тестированием на моем ноуте. у него 400 MHz (пентиум!) и 128 оперативки. для тестов - самое оно.
PS да, там еще винчестер на 6 гигабайт. но это неважно в данном случае. |
09.01.2009, 14:26 | #70 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
ну ладно сделаю через QueryPerformanceCounter. Я всё буду тестить как раз на Pentium 4 3 GHz и 3 ГБ памяти.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Конкурс программистов - призовой фонд 1 000 000 рублей | Lnat | Свободное общение | 0 | 26.07.2008 12:15 |
конкурс программистов ! (первый конкурс) | Alar | Свободное общение | 129 | 18.03.2007 00:50 |