Введение
Некоторое время назад я заинтересовался работами известного психолога и математика Лефевра, который занимается формальным высокоуровневым описанием психических процессов, связанных с рефлексией. Большое впечатление на меня произвели эксперименты Лефевра с простой стратегией для игры типа «Тезей и Минотавр». Мне захотелось сделать свой вариант этой игры, в которой вместо фиксированной стратегии используется алгоритм адаптивного подбора такой стратегии. Результатом стала игра heshby. Кроме самой игры и ее описания здесь представлена моя статья, описывающая применение игры heshby к задаче изучения рефлексивных процессов и те материалы, которые я (явно или неявно) использовал при разработке программы.
Гадалка Шеннона (предыстория)
Непосредственным предшественником моей программы heshby и первым примером рефлексивной игры с адаптацией стратегии была т.н. гадалка Шеннона. Одно из доступных на русском языке описаний гадалки Шеннона можно найти в статье «Случайные числа и электронная гадалка», напечатанной в сборнике «Олимпиады по программированию для школьников» [Брудно А.Л., Каплан Л.И. Олимпиады по программированию для школьников / Под ред. Б.Н. Наумова. — М.: Наука. 1985. — 96 с.]. Хотя вся приведенная в статье информация по датчикам случайных чисел давно устарела, отрывок, посвященный гадалке Шеннона может представлять интерес и сейчас.
Этот текст я прочитал еще когда учился в школе. Меня тогда удивила простота предложенной идеи и я быстро написал соответствующую программу на бейсике для машины «Корвет». Оказалось, что программа работает, но тесты показали, что оптимизм авторов («после двух-трех десятков проб начинает угадывать в 90% случаев, сколько бы человек ни пытался ее запутать») несколько преувеличен. После нескольких партий человек научается обманывать программу, просто чередуя различные стратегии получения следующей цифры (обычно такие стратегии человек даже не формализует, а использует их на полуподсознательном уровне).
Позже меня заинтересовала возможность в явном виде выделить из построенной в процессе игры матрицы те знания о тактике и психологии человека, которые программа неявно использует в игре. С другой стороны, программа играла неважно, поэтому были существенные сомнения в том, что эта матрица содержит что-то достойное изучения.
Позже мне удалось усовершенствовать гадалку Шеннона таким образом, чтобы сделать ее почти непобедимой при игре с человеком. Так и была написана программа heshby. Здесь на меня сильно повлияли результаты, относящиеся к задаче выбора оптимальной стратегии для председателя комитета экспертов. Из гадалки Шеннона программа heshby унаследовала основной принцип — моделирование многомерного закона распределения для вектора, составленного из последовательных ходов человека и программы. Также была использована очень удачная идея «инфляции с монотонно растущим поощрением», когда на
-м ходе в соответствующую ячейку матрицы вместо единицы добавляется число
при некотором небольшом значении
.
Чет-нечет и психология
Еще один источник, рассматривающий рефлексивные игры — книга [Полетаев И.А. Сигнал. О некоторых понятиях кибернетики (М.: Советское радио, 1958); глава 10 «Игры», раздел «Еще раз о неопределенных играх»]. Об этой книге (я читал ее в детстве) я вспомнил только тогда, когда программа heshby была уже написана, а статья про принцип отражения — опубликована. Я разыскал эту книгу и оказалось, что в ней содержится неплохой обзор истории разработки алгоритмов для игры в «чет-нечет» и описана идея использования антагонистических игр для выявления особенностей психологии человека.
Здесь я приведу некоторые наиболее интересные отрывки из этой книги. В первом отрывке кратко описывается «гадалка Шеннона» (авторство алгоритма которой часто приписывается Эшби). Этот отрывок (по моему мнению) не содержит новой информации и представляет лишь исторический интерес. Во втором отрывке описывается схема необычного психологического эксперимента. В нем сначала изучаются особенности поведения оператора в модельных условиях, когда известны численные значения различных мотиваций. Затем строится статистическая зависимость между величинами мотиваций и характеристиками поведения оператора и на основе такой зависимости удается восстановить величины мотиваций по наблюдениям над поведением оператора в реальных условиях.
Известное поведение оператора при заданных мотивациях можно назвать моделью его поведения. Каждый конкретный оператор характеризуется набором параметров модели (в данном случае — набором величин мотиваций). Модель строится по результатам модельного эксперимента с заданными мотивациями. В натурном эксперименте (с неизвестными мотивациями) параметры модели находятся по результатам наблюдения за поведением оператора. Таким образом, в рамках некоторой модели оператора удается восстановить значения параметров модели (величины мотиваций), имеющие непосредственный психологический смысл.
Описанная идея была неявно использована в моем эксперименте по изучению рефлексии с помощью программы heshby. Здесь в качестве модели сознания оператора (игрока) использовался стохастический предиктор (комитет демонов Эшби), параметры которого автоматически настраивались в процессе игры. Самой большой проблемой оказалось выделение психологически значимых параметров из набора формальных параметров, определяющих поведение модели оператора. Эта задача удовлетворительно не решена и сейчас.
Дриблинги Лефевра
Дальнейшим развитием идей гадалки Шеннона-Эшби стали т.н. дриблинги Лефевра — автоматы, реализующие рефлексивное управление и функционирующие наиболее эффективно в условиях противодействия со стороны человека. Описание принципа функционирования дриблингов содержится в главе V («Устройства, превращающие опасения в явь») замечательной книги Лефевра «Конфликтующие структуры» [Лефевр В.А., Конфликтующие структуры. Издание третье. — М.: Институт психологии РАН. 2000. — 136 с., илл.]. Краткий пересказ (мой) основных положений этой главы позволит составить первое впечатление об идеях Лефевра.
Фундаментальным недостатком дриблингов является полное отсутствие адаптивности используемой стратегии. Дриблинг функционирует по жестко заданной программе конечной длины и оказывается неприспособленным к «выживанию» в динамично меняющейся среде. Более того, программа для дриблинга должна составляться исходя из не вполне формализуемых представлений об используемых человеком рефлексивных моделях. По-видимому Лефевр не знал о работах Шеннона и Эшби, либо не смог воспользоваться заложенными в них идеями.
Рефлексивная игра heshby является дальнейшим развитием идей Шеннона-Эшби-Лефевра и использует адаптивную вероятностную стратегию для эффективной игры с рефлексирующим противником. Наиболее существенным моментом является тот факт, что внутренняя структура модели, построенной программой в процессе своей успешной игры, является моделью тех рефлексивных процессов, которые противник программы использовал при игре с ней. Программа использовалась на практике для оценки уровня рефлексии учащихся. По материалам этих работ была опубликована статья «Принцип отражения как метод исследования рефлексии».
Описание игры
Программа heshby играет с человеком в «чет-нечет», предсказывая его следующий ход на основе анализа предыдущих ходов. Автору известны только единичные случаи выигрыша человека при игре с программой heshby. Программа реализована на языке C++ и представляет собой консольное приложение для платформы win32. Доступно описание программы, включенное также в архив с программой.
Меня часто спрашивают о деталях внутреннего устройства алгоритма игры heshby. Вот достаточно полное описание используемого алгоритма, написанное в то время, когда я занимался этой задачей.
heshby.zip (для платформы win32)





