Алгоритм дилеммы заключенного

должны быть алгоритмом, который максимизирует собственный выигрыш в данной ситуации.

для тех, кто находит этот иностранный:http://en.wikipedia.org/wiki/Prisoner%27s_dilemma

очень, очень интересный материал.

Edit: вопрос в том,что является, если есть, наиболее эффективным алгоритмом, который существует для Дилемма заключенного?

13 ответов


поскольку есть только один выбор, и при отсутствии каких-либо изменяемых входных данных ваш алгоритм либо будет:

cooperate = true;

...или...

cooperate = false

более интересно найти стратегию для повторенной дилеммы заключенного, что сделали многие люди. Например http://www.iterated-prisoners-dilemma.net/

даже тогда это не "разрешимо", так как другой игрок не предсказуем.


страница Википедии, кажется, дает все ответы... для одноразовой дилеммы заключенного наиболее оптимальным решением для каждого заключенного (не для обоих) является предательство.

для повторенной дилеммы заключенного лучше молчать на первом ходу, а затем делать то, что сделал другой заключенный на последнем ходу.


весь смысл дилеммы в том, что оптимальное решение (оба заключенных молчат) опасно, потому что часть проблемы находится вне ваших рук. Таким образом, выбор неоптимального решения, похоже, максимизирует ваш выигрыш, но он все еще неоптимален

Я не вижу, как алгоритм может предоставить решение, когда часть проблемы неизвестна.


рекомендую почитать Аксельрод эволюция сотрудничества. Это компьютерный эксперимент конкурирующих стратегий для повторения дилеммы заключенного. Когда я услышал об этом в последний раз, стратегия "око за око" вышла первой. Возможно, все изменилось.


для одноразовой версии игры лучшей стратегией всегда является дефект, так как нет шансов на возмездие.

это становится более интересным для итерационной версии, так как игроки могут реагировать на предыдущие варианты своих противников.

Если мы заранее точно знаем, сколько раундов будет, то логическая" лучшая " стратегия по-прежнему всегда будет дефектной. Это потому, что всегда имеет смысл дефект на последнем повороте, так как нет никаких шансов воздаяние. Конечно, наш рациональный противник будет знать это, а также всегда дефект на последнем повороте. Это делает разумным для нас дефект на предпоследнем повороте, так как в любом случае нет шансов на сотрудничество на последнем повороте. Следуя этой логике до ее естественного завершения, мы должны отступать на каждом шагу.

когда общее количество раундов неизвестно, все становится более интересным. Хорошая стратегия для игры должна попытаться предсказать, что будет делать противник. Я исследовано с помощью эволюционных алгоритмов и простое машинное обучение с моделированием противника для генерации стратегий игры для моей степени магистра. Если ты действительно интересно, вы можете прочитать мой тезис.

как рекомендовано Yuval, вероятно, лучшее место для начала -семенная книга Аксельрода. Если ты действительно заинтересованы в этом материале, был 20-летний юбилей продолжение это включало в себя много более поздних работ по IPD (повторенная Дилемма заключенного) другими исследователями.

кроме того, я тщательно рекомендовал Уильяма Паундстоуна "дилемму заключенного", которая является частью биографии Джона фон Неймана и частью введения в теорию игр.


ну, насколько я понимаю, распознавание образов также является огромной частью этого. Нахождение привычки другого заключенного - как часто он молчит и когда он нарк. Вы также должны перекрестно ссылаться на свой собственный выбор, чтобы определить, что вы сделали, чтобы заставить его реагировать определенным образом.

Я думаю, что это немного сложнее, чем Вики объяснил. Это не только то, что заключенный сделал на последнем ходу, но и все, что было до этого, простираясь до бесконечности.


нет, так как вы не можете категорически предсказать поведение второго заключенного.

мои два цента, учитывая, что вы не можете полагаться на второе поведение заключенных, сводятся к тому, что: вы оптимист, или циник? Собираются ли двое заключенных держаться вместе (честь среди воров), или они собираются сдать друг друга при первой возможности, чтобы спасти свое горло...?


далее, в итерационной игре заключенных оптимальная стратегия будет варьироваться в зависимости от других стратегий в игре.

в серии против игрока, который всегда дефекты всегда перебежчик является лучшей стратегией. При игре против игрока, который может сотрудничать, стратегия, которая отвечает, но иногда прощает, вероятно, будет лучшей.

Я должен добавить, что это относится только в игре неизвестной длины. Любая игра известной длины идентична одиночному раунду игра.


попытка найти оптимальное решение для дилеммы заключенного похожа на попытку найти его для Ro-Sham-Bo (rock-paper-scissors.) Лучшее, что вы можете сделать, это моделировать своего противника и пытаться использовать шаблоны.

в первые дни теории игр и компьютерных наук Джон фон Нейман и Корпорация Rand потратили огромное количество пота черепа, пытаясь придумать оптимальный алгоритм для решения дилеммы заключенного без успеха и, iirc, в конечном итоге доказали математически это не было оптимальным решением.


Ах да. Это заставило меня вспомнить эту старую статью о Дилемма заключенного в разработке программного обеспечения

для алгоритмического конкурса PD look здесь

этой был хороший тоже


весь смысл дилеммы заключенного в том, что ваша оптимальная стратегия-предать другого заключенного. O (1)


математически другие сообщения отвечают на вопрос, но на самом деле могут быть дополнительные опции. Какими бы абсурдными ни были эти варианты, они приведут к дополнительным возможностям достижения результата и могут привести к увеличению шансов на личную выгоду. Например, в случае Бэтмена это разрушило бы сюжет, но он мог просто убить Джокера - таким образом, разрушив любые дополнительные эффекты, которые Джокер будет иметь на результат. Позволяя Джокеру жить, Бэтмен невольно позволяет Джокеру только "победа" ему нужна.


игра становится намного интереснее, когда вы отступаете и рассматриваете весь турнир. Например, несколько лет назад турнир PD выиграла команда из Великобритании, которая представила несколько записей. Один из них был" хозяином", а другой - "рабами". Все они начинали с определенной последовательности действий, которая позволяла хозяевам и рабам узнавать друг друга. Как только хозяин будет признан, он дезертирует, и раб будет сотрудничать с остальными. повторения. Таким образом, хозяин выиграл турнир, но ценой рабов.

стратегия имела экономический смысл, поскольку был денежный приз за первое место, но стоимость входа была низкой.

в более общем плане, при написании программы для турнира TD вам нужно посмотреть на большую картину:

  1. как призы?
  2. вы можете сговариваться с другими участниками?
  3. каковы затраты на вход? штрафы?

в противном случае, да, доминирующая стратегия-дефект в одноразовом PD. Аксельрод, как уже упоминалось, доказал, что "око за око" -Крепкий орешек в серии турниров, но в этих турнирах никому и в голову не приходило вступать в сговор с другими участниками.