Лаять не на то дерево. Эрик Баркер
Чтение книги онлайн.
Читать онлайн книгу Лаять не на то дерево - Эрик Баркер страница 23
Плохие парни быстро получали свою выгоду, но затем начинали стремительно отставать от алгоритмов, основанных на сотрудничестве. Сталкиваясь с сотрудничающим на каждом ходу алгоритмом, «Око за око» получала огромное преимущество. Даже программы вроде «Проверяющего» (которые опускали руку в банку с печеньем) понимали, что сотрудничество более выгодно, чем периодические выигрыши от предательства.
Программа «Око за око» имела ряд преимуществ. Начинала она всегда с сотрудничества и тем самым демонстрировала добрую волю. При контакте с «добрыми» программами это означало быстрое начало взаимодействия и набор очков. У агрессивных программ не было шанса набрать обороты, так что они, по сути, превращались в «хороших парней». Что касается алгоритмов, созданных по типу «Проверяющего», при взаимодействии с ними «Око за око» демонстрировала готовность наказать за предательство. Никакой бесхарактерности. Поэтому эти программы начали подстраиваться.
Как только они переходили к сотрудничеству, «Око за око» начинала демонстрировать им свое лучшее достоинство – умение прощать. Она была простой и запоминала только самый последний ход оппонента, поэтому могла переманить на сторону добра практически любую программу, которая не была стопроцентно агрессивной и не действовала совершенно случайным образом. Эта программа была способна не только сотрудничать и наказывать, но и обучать. Она демонстрировала другим игрокам более эффективный способ игры. По словам Аксельрода, одной из причин невысоких результатов агрессивных программ было то, что они не умели прощать и сами загоняли себя в ловушку.
Но на этом Аксельрод не остановился. Вместе с другими исследователями он попробовал составить еще более эффективный алгоритм. «Око за око» победила в двух больших турнирах, но можно ли создать истинного суперхищника, который разбил бы конкурентов в пух и прах? Оказывается, это было возможно. Нужно ли было сделать алгоритм более агрессивным? Нет. Наоборот, нужно было усилить его положительную составляющую, а именно способность прощать.
Аксельрод с коллегами убедились в том, что их доработанное «великодушное “Око за око”» еще успешнее первоначальной версии. Теперь этот алгоритм не просто каждый раз повторял предыдущий ход оппонента, но и периодически прощал ему предательство и отвечал сотрудничеством. Из-за этого программа уступила чуть больше очков агрессивным алгоритмам вроде ALL D, но потери более чем компенсировались огромными прибылями за счет того, что она вытягивала потенциально «хорошие» программы из нисходящей петли. (Мужчины, иногда соглашайтесь с женами и признавайте свою неправоту, даже если