Авторы исследования предложили следующий план действия. Они запускали своего четвероногого робота на ровную поверхность, запрограммировав его на выполнение некого действия. У робота не было «внутренней модели» (то есть программы самого себя), но он получал приказ регистрировать все свои реакции во время выполнения этого задания (то есть фиксировать показания всех своих механических сочленений — их повороты, наклоны и т.п.). По окончании теста робот отправлялся «на покой», и в это время в его компьютер вводились данные, которые в совокупности слагались в несколько различных моделей его «я» (то есть его механического устройства — принципов работы его ног и всех их сочленений и шарниров).
Роботу (его компьютеру) задавалось извлечь из своей памяти все данные о проделанном «днем» действии и сравнить эти реакции с теми, которые дала бы та или иная модель (то есть с тем, что бы он «ощущал», если бы был устроен по той или иной модели). С помощью этой операции компьютер робота проверял, какая из внесенных в него разных моделей (программ движения робота) больше соответствует тем реакциям, которые «запомнил» робот. Такая проверка позволяла компьютеру в конце концов выбрать, какая из моделей соответствует истинному устройству робота (которого, напомним, компьютер заранее не знал). Так робот, «от рождения» лишенный «самосознания», постепенно «познавал самого себя».
Это познание, это «ночное» размышление робота о самом себе (разумеется, не «кто я», но, скорее, «каков я», то есть «из каких шарниров и сочленений я состою, и как каждый из них движется») действительно происходило «постепенно», потому что поначалу в компьютер вводилось достаточное число разных моделей, чтобы реакциям «дневного» теста хорошо соответствовали не одно-единственное, а несколько разных «я». На втором этапе «ночных раздумий» компьютеру робота давалась вторая задача: путем «мысленного» перебора различных комбинаций своих возможных реакций (то есть разных мысленных положений всех своих механических частей) найти такую комбинацию, которая лучше всего выявляла бы, какая из этих нескольких моделей все-таки лучше. На языке людей эти размышления робота звучали бы примерно так: «Насколько я помню свои дневные «ощущения», я в равной мере могу быть таким-то или таким-то (то есть с примерно одинаковой вероятностью у меня может быть как две ноги, так и три). Но мне кажется, что если я поверну вот этот шарнир так, а сочленение эдак, то я смогу точно определить, есть ли у меня третья нога». Придя к этому выводу, компьютер «пробуждал» (то есть включал) робота, и тот приступал к проверке своих «ночных» догадок.
После 16 циклов такого «самопознания» компьютеру давалось задание: исходя из «окончательной» модели своего «я», построить такой набор движений, которые позволили бы роботу беспрепятственно пройти максимальное расстояние по ровной поверхности. Величина этого расстояния могла, таким образом, служить мерилом правильности его представлений о самом себе. Этот робот, по ночам извлекавший из своих «снов» уроки самопознания и непрерывно уточнявший свое представление о самом себе, сравнивался затем с таким же роботом, действия которого все время оставались случайными (то есть его память каждый «вечер» очищалась от всех дневных воспоминаний и в нее не вводились никакие модели).
Оказалось, что расстояние, пройденное первым роботом, существенно больше. Еще выразительнее оказалась разница результатов, когда роботу, уже прошедшему 16 «ночных» циклов обдумывания «уроков дня», нарочито укоротили одну ногу и дали еще 16 «ночей» на размышления о том, каким он теперь стал и как ему теперь двигать своими сочленениями, чтобы снова пройти максимальное расстояние. Первый робот сумел построить новую модель своего «я» и подогнать под нее программу своей «походки» так, что стал свободно ходить и с укороченной ногой, тогда как робот, который все эти 16 ночей спал без «сновидений», так и не смог восстановить способность к ходьбе.
Все эти метафоры «ночных размышлений» робота и извлечения им «уроков во время сна» не случайны. Обсуждая в журнале «Science» результаты этих экспериментов, нейролог Криштоф Адами первым обратил внимание на сходство использованного его авторами алгоритма «самообучения» робота с человеческими снами и предположил, что аналогичный алгоритм может позволить роботу не только «познать себя», но и, например, «познать» новую, незнакомую ситуацию или местность, всякий раз моделируя «во сне» встреченные «днем» трудности и наилучшие пути их преодоления.