Для внутрикорпоративного тренинга планируется соревнование ботов. Откуда слизывать общую идею, то есть тьфу, брать примеры для подражания нынче вариантов много. Однако не всё ясно с тем как выявлять победителя (по рейтингу например).
Проблем вижу несколько. Сейчас хочу попросить идей/советов только по одной из них. Вот утрированный пример:
Играют два игрока, допустим, Ка и Бу в камень-ножницы-бумага. Ка придумал гениальную стратегию — кидать "камень" с вероятность 50% а всё остальное по 25%. Бу был ещё гениальнее и его стратегия — кидать "бумагу" с вероятностью 50%, а остальное по 25%.
Таким образом стратегии у них тупо одинаковые, но при игре вдвоём Бу при большом числе игр ощутимо ведёт в счёте.
Правда это только пока не придёт игрок Но (идея которого заключается в том чтобы с вероятностью 50% кидать "ножницы"). Он конечно всё испортит и рейтинги сравняются.
Если резюмировать, проблема в том что для некоторых игр (а у нас видимо будет похожая по стилю, ну может больше с закосом под блек-джек или что-то такое) некоторые стратегии при сравнении не будут отражать реальную их силу. (думаю, по-умному, это называется как-нить типа "отсутствие транзитивности" для отношения силы стратегий)
Не думаю что проблему можно решить "идеально", поэтому собираю пока варианты которые хотя бы отчасти помогут положению. Пока есть только два предложения:
Добавить в систему безбашенных ботов играющих равномерно-рандомно (тогда относительно них "тупость/умность" других игроков будет проявляться) — но это вообще достаточно сложно и непонятно и зависит ещё от того какая игра будет окончательно выбрана.
Определять победителя по рейтингу исходя не из "у кого больше", а вместо этого использовать лотерею в которой шансы на выигрыш пропорциональны рейтингу (ну точнее экспоненте от разницы рейтингов и блабла) — как это реализовать понятно, и даже в какой-то мере забавный подход, зато самой проблемы это не отменяет вообще. ;-)
В общем, буду страшно благодарен за подсказки и размышления!
Я не понял фразу о том, что "стратегии одинаковые". Одна из них сильно несбалансированная, а другая — использует эту несбалансированность первой. Ведь как вообще определить "силу" стратегии?
В моем понимании, сила стратегии — это то, насколько она хороша относительно других стратегий, в случае оценивания по выбранной методике, под которую ее разрабатывали. Конкретно в данных условиях. Различные "а вот если бы..." — бред.
Тут на ум приходит аналогия с покером. Что есть "оптимальная стратегия" в покере? Возьмем двоих игроков, которые играют на нл10. У одного винрейт 3птББ/100, у другого 1.5птББ/100. Т.е. первый "вроде бы" в два раза круче второго (судя по прибыльности игры). Но тут этим ребятам предложили на спор поиграть нл600 за чужой счет. Впервые в жизни, без времени на подготовку. И первый стал заливать с -5птББ/100, а второй — только -2птББ/100. Получается, что уже второй круче? Ведь он теряет в 2.5 раз меньше денег за одинаковое количество времени. Я не согласен с таким подходом. Ведь речь идет об совершенно другой игре, которая не совпадает с той, под которую "писалась стратегия". Если первый игрок, играя "в дефолтных условиях", на нл10, отклоняется от сбалансированной игры с целью использовать лики оппонентов — это что, плохо? Ведь результат (в нашем случае — прибыльность, в случае с игрой в КНБ — число побед) — улучшается.
Если у меня будет майнинг на других ботов, который будет говорить, что в среднем боты выбирают Камень в 38% случаев, а Бумагу и Ножницы — в 31%, то я первым делом напишу абсолютно неоптимального тупого бота, который будет в наглую это эксплоитить, просто выдавая Бумагу чаще. И уже потом буду думать об других аспектах... И об балансировке, кстати, если провести аналогию с покером))) Ведь 100% Бумаги это тоже не сильно круто.
по одинаковым стратегиям. Я думаю соревнование в таком формате: дали условия, и попросили написать ботов. люди кодят своих ботов не общаясь друг с другом, по завершению кодинга боты бьются между собой. Естественно в таких условиях оба гения придумали абсолютно одинаковую стратегию, разница лишь в предмете, который показывается чаще. В какой вселенной люди пишут ботов по очереди, рассказывая стратегии предыдущих следующим пейсателям я не знаю.
Нуу... я ориентировался на то, что актуально сейчас — мейлрушние танчики. Как-то сразу подумал по аналогии с ними. Что-то вроде "у автора есть возможность оптимизировать свою стратегию с учетом ее результатов в других боях". Ведь там как раз "пишут по очереди".
Еще возможен формат, когда вообще нету взаимодействия между турами соревнования, но все равно оно проводится в несколько раундов, и можно оптимизировать бота между раундами. Посмотрел, как играли другие боты в первом раунде — предположил, что можно дописать что-то "хитрое" для их логики перед следующим раундом...
Если же нету даже такой возможности — то, возможно, начальный выбор можно объяснить какими-то другими логическими причинами. К примеру, автор прочел книгу с психологии и понял, что обычный человек выбрасывает ножницы чаще... Или что-то в этом духе. Часто бывает так, что вроде бы ничего принципиально не отличается, только какие-то константы или что-то в этом духе — только почему-то от соревнования к соревнованию эти отличия работают в лучшую сторону в одних и тех же людей.
Спасибо за комменты!
Решили действительно сделать так чтобы можно было в течение нескольких дней ботов засылать в общую "предварительную драку", хотя сначала и были пожелания вместо этого забацать фиксированное (небольшое) число отдельных туров.
По поводу несбалансированности вопрос рос из пожелания по окончании игры не открывать все стратегии, а только выигравшую (чтоб каждый мог убедиться что она не хуже его, а все желающие могли бы иметь больше фана в дорешивании). Пока так и не определились хороша эта идея или плоха.
Пойду думать дальше. А то из руководителя тренингов вовсе вышло заключение что до проведения тренинга внутри конторы необходимо его потестить "на кошках". Типа пруфф-оф-концепт предоставить. :-(