Июль 2017 — Заметка №8

Забавная отличная игра, иллюстрирующая известную дилемму заключенного: http://ncase.me/trust/ (на английском)

Игра наглядно показывает следующую штуку. В дилемме заключенного рационально “предавать” / “читить”, хоть это и ведет к общему недополучению выгоды всеми → в результате все читят, а честные/альтруистичные чуваки всегда проигрывают.

Но если игра становится повторяющейся (то есть вы по сути продолжаете играть/взаимодействовать с теми же людьми), то самой выигрышной стратегией становится быть честным/альтруистичным с другими честными и читить с читерами. В результате → все начинают рано или поздно вести себя честно/альтруистично.

То есть хочешь, чтобы все были честные/альтруисты — убедись, что правила игры сталкивает людей с собой снова и снова и вознаграждение за честное/альтруистичное поведение ВЫШЕ чем польза от читерства/обмана.

Вот про это интересно написано в wiki: “Повторяющаяся дилемма заключённого”

В книге «Эволюция кооперации» 1984 года Роберт Аксельрод исследовал расширение сценария дилеммы, которое он назвал повторяющаяся дилемма заключённого (ПДЗ). В ней участники делают выбор снова раз за разом и помнят предыдущие результаты. Аксельрод пригласил академических коллег со всего мира, чтобы разработать компьютерные стратегии, чтобы соревноваться в чемпионате по ПДЗ. Программы, вошедшие в него, различались по алгоритмической сложности, начальной враждебности, способности к прощению и так далее.

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

Лучшей детерминистской стратегией оказалась «Око за око» (англ. Tit for Tat), которую разработал и выставил на чемпионат Анатолий Рапопорт. Она была простейшей из всех участвовавших программ, состояла всего из 4 строк кода на языке Бейсик. Стратегия проста: сотрудничать на первой итерации игры, после этого игрок делает то же самое, что делал оппонент на предыдущем шаге.

Чуть лучше работает стратегия «Око за око с прощением». Когда оппонент предаёт, на следующем шаге игрок иногда, вне зависимости от предыдущего шага, сотрудничает с небольшой вероятностью (1—5 %). Это позволяет случайным образом выйти из цикла взаимного предательства. Она лучше всего работает, когда в игру вводится недопонимание — когда решение одного игрока сообщается другому с ошибкой.