Эгоистичный ген
Шрифт:
Число стратегий, возможных в итеративной игре, ограничено, очевидно, лишь нашей изобретательностью. Можно ли установить, какая из них лучше всех? Эту задачу поставил перед собой Аксельрод. У него возникла увлекательная идея провести конкурс и он пригласил специалистов по теории игр представить свои стратегии. В данном случае стратегии — это заранее составленные программы действия, и соответственно соперники представили свои заявки на языке программирования. Было предложено четырнадцать стратегий. Аксельрод добавил к ним пятнадцатую, назвав ее Случайной, которая просто без всякой системы играла то Кооперируюсь, то Отказываюсь и служила своего рода базовой «анти-стратегией»: стратегию, дававшую худшие результаты, чем Случайная, следовало признать очень плохой.
Аксельрод описал все 15 стратегий на одном общем языке программирования. Каждая стратегия сравнивалась по эффективности
Нас здесь не интересует, какая именно стратегия вышла победителем в игре против каждого отдельного противника. Нам важно установить, какая стратегия выиграла больше всего «денег» за все свои 15 вариантов. «Деньги» — это просто «очки», присуждаемые по следующей схеме: взаимное Кооперирование — 3 очка; Риск — 5 очков; Наказание за взаимный отказ — 1 очко (эквивалент небольшого штрафа в игре, описанной ранее); Штраф Простаку — 0 очков (эквивалент большого штрафа в игре, описанной ранее).
Максимально возможный выигрыш, который могла бы получить та или иная стратегия, составляет 15 000 очков (200 партий по 5 очков за партию с каждым из 15 противников). Минимальный результат составляет 0. Излишне говорить, что ни один из этих крайних результатов на самом деле не наблюдался. Наибольший выигрыш, на который может реально надеяться данная стратегия в среднем из своих 15 турниров, не может сколько-нибудь значительно превысить 600 очков. Это все, что мог бы получить каждый из двух игроков, если бы они оба все время играли Кооперируюсь, зарабатывая по 3 очка за каждую из 200 сыгранных партий. Если бы один из них поддался искушению отказаться, то число его очков, вероятно, оказалось бы меньше 600, так как другой игрок отплатил бы ему тем же (в большей части представленных стратегий было заложено в той или иной форме стремление к ответному удару). Мы можем использовать число 600 в качестве своего рода точки отсчета для данной игры и выражать результаты в процентах от этого числа. По такой шкале оценок теоретически можно довести выигрыш до 166% (1000 очков), но практически ни одна стратегия не заработала в среднем больше 600 очков.
Не забывайте, что «игроками» в турнире были не люди, а программы, точнее — запрограммированные стратегии. Их авторы, т. е. люди, выступали в той же роли, что и гены, программирующие тела (вспомните гл. 4 — компьютер, играющий в шахматы, и компьютер, созданный по инструкциям с Андромеды). Стратегии, о которых идет речь, можно рассматривать как доверенных лиц их авторов. На самом деле кто-то из авторов мог бы представить не одну, а несколько программ (хотя было бы жульничеством — которого Аксельрод, вероятно, не допустил бы, — если бы тот или другой автор «забил» весь турнир своими стратегиями, и одна из них воспользовалась бы плодами жертвенного кооперирования со стороны других).
Было предложено несколько очень хитроумных стратегий, хотя они были, конечно, далеко не столь хитроумными, как их авторы. Интересно, что победившая стратегия была проще всех других и на первый взгляд наименее хитроумной. Она называлась «Око за око» и была представлена проф. Анатолем Рапопортом (Anatol Rapoport), известным психологом и специалистом по теории игр из Торонто. По этой стратегии первым ходом должно быть Кооперируюсь, а в дальнейшем следует просто повторять предыдущий ход другого игрока.
Как проходит игра Око за око? Как всегда, развитие событий зависит от поведения второго игрока. Допустим для начала, что второй игрок — это тоже стратегия Око за око (напомним, что каждая стратегия играла не только против каждой из 14 других стратегий, но также против копии самой себя). Обе стратегии Око за око начинают с кооперирования. При следующем ходе каждый игрок повторяет предыдущий ход противника, т. е. кооперируется. Оба продолжают играть Кооперируюсь до конца игры, которую оба заканчивают, достигнув на 100% суммы очков, принятой за точку отсчета, т. е. заработав по 600 очков.
Допустим, что Око за око играет против стратегии, названной Наивный испытатель. На самом деле Наивный испытатель не участвовал в конкурсе Аксельрода, но тем не менее этот пример поучителен. Наивный испытатель в основном идентичен программе Око за око, с той разницей, что время от времени, скажем один раз за десять ходов, причем без всякой закономерности, он совершенно беспричинно играет Отказываюсь и требует 5 очков, причитающиеся ему за риск. До тех пор, пока Наивный испытатель не предпримет один из своих зондирующих отказов, оба игрока ведут себя в соответствии со стратегией Око за око. Однако внезапно, без предупреждения, скажем на восьмом ходу. Наивный испытатель отказывается. Око за око, разумеется, сыграла в этот раз Кооперируюсь, а поэтому получила 0 очков, как это положено Простаку. Наивный испытатель, казалось бы, добился успеха, заработав за этот ход 5 очков. Но своим следующим ходом Око за око «мстит». Она играет Отказываюсь, просто следуя заложенному в нее правилу копировать предыдущий ход противника. Тем временем стратегия Наивный испытатель, следуя правилу копировать противника, заложенному в нее самое, повторила ее ход — Кооперируюсь. В результате ей достается Штраф Простаку, т. е. 0 очков, тогда как Око за око получает высшую плату — 5 очков. Своим следующим ходом Наивный испытатель — довольно несправедливо, как можно подумать, — «мстит» за отказ стратегии Око за око. И такое чередование продолжается. При этом оба игрока получают в среднем по 2,5 очка за ход (среднее между 5 и 0). Это меньше, чем те верные 3 очка за ход, которые получают игроки, если они оба играют Кооперируюсь (кстати, это и есть причина введения того «дополнительного условия», которому не было дано объяснения на с. 188). Итак, когда Наивный испытатель играет против стратегии Око за око, оба выигрывают меньше, чем в игре Око за око против Ока за око. Если же игра идет между двумя Наивными испытателями, дела обоих обстоят еще хуже, так как серии взаимных отказов начинаются раньше.
Рассмотрим теперь еще одну стратегию, получившую название Раскаивающийся испытатель. Раскаивающийся испытатель сходен с Наивным испытателем, отличаясь от него лишь тем, что для запуска серии поочередных возмездии необходимо предпринимать активные шаги. Для этого ему нужна несколько более долгая «память», чем у стратегий Око за око или Наивный испытатель. Раскаивающийся испытатель запоминает, был ли его отказ спонтанным и привело ли это к быстрому возмездию. В этом случае он, «полный раскаяния», предоставляет своему противнику право на «один бесплатный удар», за которым не следует возмездия. Это означает, что серии взаимных возмездии пресекаются и самом зачатке. Если теперь продолжить воображаемую игру между стратегиями Раскаивающийся испытатель и Око за око, то обнаружится, что серии мнимых взаимных возмездии быстро прерываются. На протяжении большей части игры противники взаимно кооперируются, что обеспечивает им обоим большой выигрыш. Раскаивающийся испытатель играет более успешно против стратегии Око за око, чем Наивный испытатель, хотя и не так успешно, как Око за око против самой себя.
Некоторые из стратегий, участвовавших в турнире Аксельрода, были гораздо более хитроумными, чем Раскаивающийся испытатель или Наивный испытатель, однако они также набирали в среднем меньше очков, чем простая стратегия Око за око. В сущности наименее успешной из всех стратегий (если исключить Случайную) оказалась самая сложная, тщательно разработанная стратегия. Она была представлена под девизом «Автор пожелал остаться неизвестным», что послужило поводом для веселых гипотез. Кто автор? Какой-то серый кардинал в Пентагоне? Глава ЦРУ? Генри Киссинджер? Сам Аксельрод? Я думаю, что этого мы никогда не узнаем.
Подробно разбирать отдельные стратегии не так уж интересно. В задачи этой книги не входит обсуждение изобретательности программистов. Гораздо интереснее распределить имеющиеся стратегии по определенным категориям и изучать эффективность этих более крупных подразделений. Самая важная из различаемых Аксельродом категорий названа «добропорядочной». Добропорядочная стратегия определяется как такая стратегия, которая никогда не отказывается первой. Примером служит Око за око. Она способна отказаться, но делает это только в порядке возмездия. Как Наивный, так и Раскаивающийся испытатели — недобропорядочные стратегии, потому что они иногда, хотя и редко, отказываются без всякого к тому повода. Из 15 стратегий, участвовавших в турнире, 8 были добропорядочными. Показательно, что эти же 8 стратегий набрали наибольшее число очков, а 7 недобропорядочных остались далеко позади. Стратегия Око за око набрала в среднем 504,5 очка, что составляет 84% от нашей точки отсчета (600 очков) и может считаться хорошим результатом. Другие добропорядочные стратегии набрали лишь немного меньше очков — от 83,4 до 78,6%, оставив далеко позади самую успешную из всех непорядочных стратегий — Грааскамп, набравшую 66,8% очков.