Программеры приглашаются на простенький турнир
что, никто не хочет вырвать очко у соперника?
Участвуют программы на Си или ПаскальПосле такого становится очевидно, что турнир провалится. Закодировать хоть сколько то вразумительную логику на С ни у кого не хватит сил. И поэтому выиграет праграмма типа
или
return random(n);
return (n-1);
Вобщем действительно, нет желания рвать очко _себе_.
Думаю что прога return random(CurrentBankScore/2+rand(1 будет очень даже конкурентоспособной.
Это чуть-чуть логичнее твоей. И очень даже интересно как она сыграет.
Сам было хотел такую сделать, да подумал, что скучно так будет.
ЗЫ
Турнир уже не провалится, там больше 10 участников запостивших программы -- этого уже достаточно.
Половина из них -- мои знакомые, неглупые люди.
Если на то пошло, то стратегия ни себе ни людям (return random[N/2..N]) имеет больше смысла. Я бы даже сказал, у нее самые большие шансы на победу среди рандомных стратегий.
во всяком случае, стратегия Шанты, очевидно, нехороша. И вообще, ни одна стратегия не может оказаться хорошей, если не учитывает предыдущих шагов противника.
Ну моя стратегия непробиваема, в любом матче она будет как минимум не в минусе. А с другой стороны поддаваться и выдавать числа меньше половины крайне опасно. Хотя можно оценивать вероятность появления числа < N/2 и > N/2 и если контрстратегия выгодна (P(>N/2) << P(<N/2 то выдавать и маленькие числа.
Я вижу только очень важное различие:
в IPD естественные стратегии симметричны (око-за-око
а в "Консенсусе" какой аналог этому? Кто-то должен получить (N-1)/2, а кто-то (N+1)/2 -
ассиметрия.
Не понимаю.
Скажем так: она очень похожа, особенно если закрыть глаза на то, что выигрышь чуть-чуть несимметричен.
Получается, что если оба игрока действуют по одинаковой детерминированной стратегии,
то из-за этой ассиметрии они проиграют.
Садомазо-игра какая-то
Чтобы выиграть, нужно выйти за рамки игры Т.е. нужно делать 2 класса стратегий: X - "поддающаяся" и Y - "не поддающаяся", причем обе из них должны а-приори играть так, чтобы любой противник оставался в проигрыше, мало получал очков. Только стратегия X должна содержать один нюанс: если она как-то определила, что ее противник придерживается стратегии Y - то она автоматически сдается. Если в конкурс запустить много программ реализующих стратегию X и парочку со стратегией Y, то за счет этого "чита" Y победит
И наоборот если много У - выиграют редкие Х
Закрыть в том смысле, что для начала попробовать использовать те же самые алгоритмы и наработки, что и в классической игре, может быть с небольшими модификациями.
за счет чего? Наоборот, цель X - это мочить всех, но если "узнал" Y - то сдаваться ему. Поэтому, победить они могут только случайно.
Если несколько туров - то фигня будет.
Недавно читал, что в IPD кто-то применил ровно этот трюк, и одна из пары программ действительно выиграла.
Самая большая проблема здесь, уверяю вас, это назвать правильные числа как можно быстрее.
У кого на 1 больше у кого меньше не играет роли, потому что если не договоришься на этом ходу, то на следующем уже разыгрывается на 2 очка меньше. В турнире проиграет тот, кто в среднем будет позже всех "находить общий язык с соперником". Повторяю играют все со всеми по очереди и считается сумма очков во всех турах. Это так называемая "неантогонистическая игра". Здесь обоим соперникам выгодно как можно скорее договориться, чтобы у каждого выигрыш был больше.
Не удивительно. А такой игре можно придумать оптимальную стратегию, когда знаешь как "окружающая среда" устроена, а это заранее угадать сложно. А тут ты как бы сам формируешь среду, заранее знаешь что среди противников полно игроков с известной тебе стратегией.
Правда из форумских с списке учасников по моему максимум пара человек..
Да и что бы тут люди ни писали, проги они все равно сделают по своему.
Поэтому: фишка в другом
Всем кто тут высказал идеи, предлагаю написать проги и запостить их на турнир до 16 часов сегодня. Турнир завтра в 16 часов по Москве.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Прошло 19 туров из 19
Текущее положение участников
Таблица турнира
Участники О И
1 antuan (6) 832 18
2 frodo (16) 806 18
3 genius (2) 800 18
4 julia (3) 794 18
5 Антон (5) 786 18
6 xoposhiy (8) 764 18
7 motor (15) 748 18
8 dit (17) 736 18
9 turbo (12) 735 18
10 dimfin (14) 730 18
11 gr!ffon (18) 690 18
12 kknop (1) 688 18
13 allerlei (11) 675 18
14 allex (7) 616 18
15 samsonov alex (4) 544 18
16 den (13) 538 18
17 kaliki (10) 518 18
18 qvazi-spiria (19) 500 18
19 yod (9) 122 18
kknop (1) x 48 : 47 47 : 48 34 : 1 48 : 47 44 : 43 8 : 1 36 : 55 88 : 1 0 : 0 76 : 1 47 : 48 8 : 1 0 : 0 48 : 47 54 : 43 47 : 48 0 : 0 55 : 40
genius (2) 47 : 48 x 50 : 51 49 : 48 50 : 49 51 : 50 45 : 44 51 : 50 59 : 30 50 : 51 13 : 12 48 : 49 50 : 49 34 : 35 50 : 49 51 : 50 49 : 50 51 : 50 2 : 1
julia (3) 48 : 47 51 : 50 x 50 : 49 51 : 50 51 : 50 48 : 47 51 : 50 0 : 0 0 : 0 45 : 44 46 : 47 50 : 49 51 : 50 51 : 50 51 : 50 46 : 47 51 : 50 53 : 40
samsonov alex (4) 1 : 34 48 : 49 49 : 50 x 46 : 47 24 : 73 40 : 51 31 : 46 11 : 4 0 : 49 10 : 67 49 : 50 29 : 30 49 : 50 0 : 0 49 : 50 49 : 50 0 : 49 59 : 40
Антон (5) 47 : 48 49 : 50 50 : 51 47 : 46 x 49 : 50 47 : 48 34 : 33 4 : 1 50 : 51 16 : 77 50 : 51 46 : 45 49 : 50 47 : 46 49 : 50 50 : 51 49 : 50 53 : 40
antuan (6) 43 : 44 50 : 51 50 : 51 73 : 24 50 : 49 x 40 : 51 50 : 49 16 : 5 50 : 51 44 : 45 50 : 51 24 : 23 46 : 47 50 : 49 48 : 47 50 : 51 47 : 48 51 : 40
allex (7) 1 : 8 44 : 45 47 : 48 51 : 40 48 : 47 51 : 40 x 36 : 55 25 : 16 0 : 0 6 : 51 47 : 48 5 : 6 6 : 5 48 : 47 55 : 42 47 : 48 44 : 41 55 : 40
xoposhiy (8) 55 : 36 50 : 51 50 : 51 46 : 31 33 : 34 49 : 50 55 : 36 x 52 : 27 50 : 51 2 : 77 50 : 51 24 : 27 49 : 50 39 : 38 49 : 50 50 : 51 49 : 50 12 : 1
yod (9) 1 : 88 30 : 59 0 : 0 4 : 11 1 : 4 5 : 16 16 : 25 27 : 52 x 0 : 61 6 : 19 0 : 0 9 : 12 17 : 20 0 : 0 5 : 50 0 : 0 0 : 35 1 : 6
kaliki (10) 0 : 0 51 : 50 0 : 0 49 : 0 51 : 50 51 : 50 0 : 0 51 : 50 61 : 0 x 0 : 0 0 : 0 0 : 0 51 : 50 51 : 50 51 : 50 0 : 0 51 : 50 0 : 0
allerlei (11) 1 : 76 12 : 13 44 : 45 67 : 10 77 : 16 45 : 44 51 : 6 77 : 2 19 : 6 0 : 0 x 44 : 45 16 : 17 32 : 35 45 : 44 77 : 20 44 : 45 0 : 0 24 : 1
turbo (12) 48 : 47 49 : 48 47 : 46 50 : 49 51 : 50 51 : 50 48 : 47 51 : 50 0 : 0 0 : 0 45 : 44 x 50 : 49 51 : 50 51 : 50 51 : 50 0 : 0 51 : 50 41 : 40
den (13) 1 : 8 49 : 50 49 : 50 30 : 29 45 : 46 23 : 24 6 : 5 27 : 24 12 : 9 0 : 0 17 : 16 49 : 50 x 49 : 50 43 : 42 49 : 50 49 : 50 0 : 0 40 : 51
dimfin (14) 0 : 0 35 : 34 50 : 51 50 : 49 50 : 49 47 : 46 5 : 6 50 : 49 20 : 17 50 : 51 35 : 32 50 : 51 50 : 49 x 50 : 49 50 : 47 50 : 51 47 : 48 41 : 40
motor (15) 47 : 48 49 : 50 50 : 51 0 : 0 46 : 47 49 : 50 47 : 48 38 : 39 0 : 0 50 : 51 44 : 45 50 : 51 42 : 43 49 : 50 x 49 : 50 50 : 51 49 : 50 39 : 40
frodo (16) 43 : 54 50 : 51 50 : 51 50 : 49 50 : 49 47 : 48 42 : 55 50 : 49 50 : 5 50 : 51 20 : 77 50 : 51 50 : 49 47 : 50 50 : 49 x 50 : 51 0 : 69 57 : 40
dit (17) 48 : 47 50 : 49 47 : 46 50 : 49 51 : 50 51 : 50 48 : 47 51 : 50 0 : 0 0 : 0 45 : 44 0 : 0 50 : 49 51 : 50 51 : 50 51 : 50 x 51 : 50 41 : 40
gr!ffon (18) 0 : 0 50 : 51 50 : 51 49 : 0 50 : 49 48 : 47 41 : 44 50 : 49 35 : 0 50 : 51 0 : 0 50 : 51 0 : 0 48 : 47 50 : 49 69 : 0 50 : 51 x 0 : 0
qvazi-spiria (19) 40 : 55 1 : 2 40 : 53 40 : 59 40 : 53 40 : 51 40 : 55 1 : 12 6 : 1 0 : 0 1 : 24 40 : 41 51 : 40 40 : 41 40 : 39 40 : 57 40 : 41 0 : 0 x
Оставить комментарий
dsv087
Играют двое. В банке Н очков (нечетно). Они заявляют по целому числу. Если сумма чисел равна сумме в банке - игра кончается и игроки получают заявленное число очков. Иначе из банка уюирают два очка и тур повторяется. Так до выигрыша или нуля в банке.Турнир играют М игроков, каждый с каждым. Турнир выигрывает набравший наибольшее число очков.
Участвуют программы на Си или Паскаль. Крайний срок подачи проги 8.04.05, 18:00. Подробнее на сайте Лаборатоия интеллектуальных игр Эквивалент.
О ближайшем турнире Консенсус
Турнир бесплатный и некоммерческий.
Чем больше игроков -- тем интереснее!