| Alexander Dodonov ( @ 2008-04-06 20:48:00 |
| Entry tags: | общество, программирование |
"Теперь и за нелинейное счастье можно взяться!"
Мы с друзьями написали простейшую игру-программу моделирующую диллему заключённого и пришли к любопытным результатам относительно реальных наших жизненных стратегий.
Правила игры
Игра моделирует нашу жизнь: существуют игроки, существуют ходы, каждый ход игроки совершают между собой сделки.
Понятие сделки в игре примитивно до безобразия: игроки одновременно вручают друг другу карточки: красную, если игрок срывает сделку и чёрную, если игрок честно сделку исполняет. Если оба дали друг другу чёрную карточку, каждому прибавляется по очку, если оба дали друг другу красную карточку - значит сделка обоюдно сорвана и у каждого вычитается по два балла, если один игрок дал другому чёрную карточку, а тот вручил ему красную - то есть обманул - то у давшего чёрную вычитается 2 балла, а давшему красную 2 балла прибавляется.
Первоначально у каждого игрока 100 очков. Игра длится 10000 ходов. Если игроков больше двух, каждый ход все игроки совершают сделки со всеми попарно.
Стратегии
Сделав фреймворк для игры, мы озаботились программированием стратегий игроков. Сначала мы реализовали три самые простые, без всякой обратной связи.Это стратегии
1. Эгоист - игрок всегда срывает сделку
2. Альтруист - игрок всегда честно исполняет сделку, и
3. Идиот - сорвёт игрок сделку или исполнит определяется генератором случайных чисел.
Вот список стратегий посложнее, с обратной связью.
4. Жадина. Игрок исполняет сделку с тем, у кого очков меньше чем у него и срывает, если у его партнёра очков больше, чем у него.
5. ЗубЗаЗуб. Игрок исполняет сделку так, как партнёру исполнил сделку на предыдущем ходу. Остаётся неопределённым, как поступать с партнёром на первом ходу. =) В нашей реализации на первом ходу сделка исполняется.
6. АнтиЗубЗаЗуб. Игрок поступает с партнёром обратно тому как поступил партнёр с ним на предыдущем ходу. На первом ходу игрок срывает сделку.
7. Мстительный. Первоначально игрок исполняет условия сделки, но если партнёр хоть раз подвёл его, Мстительный срывает все последующие с этим партнёром сделки.
8. Мстительный с прощением. То же самое, что и 7, но если партнёр подвёл, сделки срываются не до конца игры, а только N ходов, N можно задать.
Стратегии с 5, 7 и 8 можно условно назвать "наказывающими".
Результаты игры
Если запустить одновременно все 8 стратегий с потрясающим отрывом лидирует стратегия Мстительный. Меня этот факт потряс. Получается, для победы не нужен сложный анализ, скорее помогает руководство простыми правилами.
Стратегия Эгоист кажущаяся абсолютно выгодной, не выгодна в коллективе, где есть "наказывающие" стратегии. Эти стратегии обеспечивают друг другу постоянный доход, при этом каждый ход они уменьшают количество баллов у Эгоиста.
Страна Дураков
Я проверил также устойчивость каждой стратегии к Идиотам. Страна Дураков была смоделирована так: в игре участвуют 10 игроков, 9 из них действуют по стратегии Идиот, 10ый и есть проверяемый.
Результаты после 10000 ходов такие:
Стратегия Эгоист - "Король Помойки". У Эгоиста самый большой балл, но он всё равно отрицателен. Суммарный балл всех игроков - некий аналог общего количества благ - снижается каждый ход со скоростью падающего бомбардировщика.
Стратегия Альтруист - "Не стоит село без праведника". Да, как я и предполагал, бал у Альтруиста оказался самый низкий. Но! У прочих 9 участников бал был близок даже к положительному. Повинуясь догадке я добавил ещё одного игрока со стратегией Альтруист - и у всех Идиотов баллы стали положительны к концу игры, а общее количество благ, росло как бамбук весной. Правда, это не улучшило положение Альтруистов, они были в жёстком минусе. То есть если в обществе на каждые 5 идиотов находится 1 сверхчестный человек, общество будет процветающим. Удивительно, не правда ли? )
Стратегии Жадина, ЗубЗаЗуб, АнтиЗубЗаЗуб - их результат был ровнёхонько точно таким же как у остальных игроков-Идиотов. И это урок всем нам - пытаясь обосновывать свои поступки анализом этого безумного, безумного мира, мы повторяем вслед за ним его безумства.