Лаять не на то дерево - страница 27

стр.

С этого начинал Роберт Аксельрод. Между США и СССР бушевала холодная война, и он хотел выяснить, что может заставить людей доверять друг другу и сотрудничать. Какая стратегия наиболее эффективна? Аксельрод решил организовать соревнование, в котором будут бороться компьютерные программы с разными алгоритмами взаимодействия, и проверить, какая из них наберет больше баллов.

Психологи, экономисты, математики, социологи и другие ученые прислали в общей сложности 14 алгоритмов (и одну программу, которая вела себя случайным образом). Представьте себе круговой турнир вроде «мартовского безумия» в баскетболе – только для нравственных систем. Одна из программ была до безумия доброй: она всегда сотрудничала – даже после того, как ее обманывали. Другая программа (с названием ALL D) была полной противоположностью: она предавала своего оппонента в каждом раунде игры, без исключений. Остальные алгоритмы располагались посредине. Некоторые из наиболее сложных программ большую часть времени вели себя дружелюбно, но время от времени пытались совершить предательство, чтобы получить преимущество. Одна программа под названием «Проверяющий» (Tester) следила за действиями других игроков, чтобы понять, что может сойти ей с рук, и давала задний ход, если ее застигали врасплох с рукой в банке с печеньем.

Какая нравственная система в итоге оказалась лучшей? К огромному удивлению исследователей, турнир выиграла самая простая из предоставленных программ. Она состояла всего из двух строк кода и действовала по знакомому нам с детства принципу «око за око» (tit for tat).

Все действия этой программы сводились к следующему: она сотрудничала в первом раунде дилеммы заключенного, а в каждом последующем раунде повторяла предыдущее действие оппонента. В предыдущем раунде вы сотрудничали? Значит, я буду сотрудничать в этом раунде. В прошлом раунде вы меня предали? Я предам вас в ответ.

Эта простая программа выкосила всех конкурентов и вышла на первое место. Поэтому Аксельрод снова устроил соревнование. Он обратился к другим экспертам и на этот раз собрал 62 участника. Были предложены и более сложные алгоритмы. Были даже вариации на тему «око за око». Кто выиграл?

Простейшая программа «Око за око». Снова.

Какой волшебной силой обладала эта простая и скромная стратегия? По мнению Аксельрода, все сводилось к нескольким ключевым факторам.

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

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

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

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