Страница 21 из 27
Организмы как алгоритмы
Как мы можем с уверенностью утверждать, что у животных действительно есть субъективный мир потребностей, ощущений и эмоций? Не очеловечиваем ли мы их, не приписываем ли человеческие качества неодухотворенным существам, уподобляясь детям, которые верят, что куклы умеют сердиться и любить?
На самом деле, наделяя эмоциями свиней, мы их не очеловечиваем. Потому что эмоции – не чисто человеческая принадлежность, они присущи всем млекопитающим, а также всем птицам и, вероятно, некоторым рептилиям и даже рыбам. У всех млекопитающих развиты эмоциональные способности и потребности, и тот факт, что свиньи – млекопитающие, позволяет уверенно заключить: у них есть эмоции[78].
В последние десятилетия ученые-биологи доказали, что эмоции – это не таинственный духовный феномен, полезный лишь для сочинения поэм и симфоний. Эмоции – это биохимические алгоритмы, которые насущно необходимы для выживания и воспроизводства всех млекопитающих. Что это значит? Давайте начнем с объяснения ключевого понятия «алгоритм». Это исключительно важно не только потому, что это понятие будет неоднократно встречаться в следующих главах, но и потому, что XXI век будет веком доминирования алгоритмов. Для нашего мира понятие «алгоритм», наверно, наиважнейшее. Если мы хотим осмыслить нашу жизнь и наше будущее, то во что бы то ни стало должны разобраться в том, что такое алгоритм и как алгоритмы связаны с эмоциями.
Алгоритм – это ряд последовательных шагов, который может использоваться для проведения расчетов, решения задач, принятия решений. Алгоритм – это не единичный расчет, а метод, которым руководствуются при расчетах. Например, если вам нужно найти среднее арифметическое двух чисел, вы используете простейший алгоритм. Алгоритм гласит: «Шаг первый: сложите два числа. Шаг второй: разделите результат на два». Если вы берете числа 4 и 8, то получаете 6. Если берете 117 и 231, получаете 174.
Более сложный пример – кулинарный рецепт. Алгоритм приготовления овощного супа может быть таким:
1. Разогрейте в кастрюле ½ чашки растительного масла.
2. Нарежьте тонкими кольцами 4 луковицы.
3. Поджарьте лук до золотистого цвета.
4. Нарежьте кубиками 3 картофелины и добавьте в кастрюлю.
5. Мелко нарежьте капусту и добавьте в кастрюлю.
И так далее. Вы можете следовать этому алгоритму сотни раз, кладя каждый раз немного другие овощи и получая немного другой суп. Однако алгоритм остается тем же.
Суп сам по себе по рецепту не сварится. Кто-то должен прочитать рецепт и выполнить прописанный в нем порядок действий. Но можно построить машину, которая содержит в себе этот алгоритм и следует ему автоматически. Тогда остается обеспечить машину водой, электричеством и овощами – и она самостоятельно сварит суп. Суповые автоматы не встречаются на каждом шагу, но вам наверняка знакомы вендинговые автоматы, продающие напитки. Они обычно снабжены щелью для монет, окошком для чашек и рядами кнопок. В первом ряду есть кнопки для заказа кофе, чая и какао. Второй ряд имеет пометки: без сахара, одна ложка сахара, две ложки сахара. Третий ряд предлагает на выбор: молоко, соевое молоко, без молока. Человек подходит к автомату, опускает монету в щель и нажимает кнопки с пометками «чай», «одна ложка сахара» и «молоко». Автомат четко соблюдает последовательность операций. Он кладет в чашку чайный пакетик, подсыпает ложку сахара и доливает молоко. Дзынь! – чудесная чашечка чая готова. Это алгоритм[79].
В последние несколько десятилетий биологи пришли к твердому заключению, что человек, нажимающий на кнопки и пьющий чай, – тоже алгоритм. Гораздо более сложный, разумеется, чем вендинговый автомат, но алгоритм. Люди – это алгоритмы, производящие не чашечки чая, а реплики самих себя (наподобие вендингового автомата, который, при соответствующем наборе клавиш, производит другой вендинговый автомат).
Алгоритмы, управляющие вендинговыми автоматами, делают это при помощи механических приводов и электрических схем. Алгоритмы, управляющие людьми, делают это при помощи ощущений, эмоций и мыслей. И точно такой же тип алгоритмов управляет свиньями, павианами, выдрами и курами. Возьмите, например, следующую проблему выживания: павиан видит висящие на дереве бананы, но одновременно замечает притаившегося поблизости льва. Стоит ли павиану рисковать жизнью ради бананов?
По существу, это математическая проблема вычисления и сопоставления вероятностей: вероятности, что павиан умрет с голода, если не поест, и вероятности, что на павиана нападет лев. Чтобы решить эту проблему, павиан должен учесть множество обстоятельств. Далеко ли я от бананов? Далеко ли от меня лев? Насколько я проворен? Насколько проворен лев? Спит лев или не спит? Сытый у него вид или голодный? Сколько там бананов? Большие они или маленькие? Зеленые или спелые? Помимо этих внешних обстоятельств, павиан также должен принять в расчет информацию о своем внутреннем состоянии. Если он очень давно голодает, то имеет смысл рвануть сломя голову за этими бананами, и будь что будет. Если же он недавно поел и сейчас для него бананы – чистое баловство, зачем вообще рисковать?
Для взвешивания и соотнесения всех этих вариантов и вероятностей павиану требуются несравнимо более сложные алгоритмы, чем те, что управляют вендинговыми автоматами. И, соответственно, награда за правильно сделанный расчет на порядок выше. Эта награда – жизнь павиана. Робкий павиан – тот, чьи алгоритмы переоценивают опасность, – погибнет от голода, и гены, сформировавшие эти трусоватые алгоритмы, сгинут вместе с ним. Отчаянный павиан – тот, чьи алгоритмы недооценивают опасность, – падет жертвой льва, и его бесшабашные гены тоже не передадутся следующим поколениям. Звериные алгоритмы постоянно проверяются на качество естественным отбором. Потомство оставляют только те особи, которые правильно рассчитывают вероятности.
Но это все очень абстрактно. Как именно павиан просчитывает вероятности? Разумеется, он не достает из-за уха карандаш, не вытаскивает из заднего кармана блокнот, не вычисляет рабочие скорости и энергетические уровни с помощью калькулятора. Все тело павиана – калькулятор. То, что мы называем ощущениями и эмоциями, в действительности – алгоритмы. Павиан ощущает голод, он ощущает, как у него трясутся поджилки при виде льва, он ощущает, как у него течет слюна при виде бананов. В долю секунды он переживает бурю чувств, эмоций и желаний, которые и есть не что иное, как вычислительный процесс. Результат будет выдан в виде ощущения. Павиан вдруг почувствует прилив энергии: шерсть встанет дыбом, мышцы напрягутся, грудь расправится, он поглубже вдохнет, и – «Вперед! Я смогу!». А может, напротив, поддаться страху, и тогда плечи обмякнут, живот заноет, ноги ослабеют, и – «Мамочки! Спасите: лев!». Иногда вероятности настолько уравновешиваются, что трудно что-то предпочесть. Это тоже проявится в ощущении. Павиан почувствует замешательство и неуверенность. «Да… Нет… Да… Нет… Черт! Не знаю, что делать!»
Чтобы передавать гены следующему поколению, недостаточно решать проблемы выживания. Животным нужно решать и проблемы воспроизводства. Это тоже вопрос вычисления вероятностей. Естественный отбор создал быстрые алгоритмы для оценки шансов на воспроизводство – страсть и отвращение. Красота означает «хорошую возможность успешно продолжить род». Когда женщина видит мужчину и думает: «Какой интересный парень!», и когда пава видит павлина и думает: «Боже! Что за хвост!», обе делают нечто подобное тому, что делает вендинговый автомат. Как только свет, отражаемый телом мужчины, попадает на их сетчатку, включаются наимощнейшие алгоритмы, отточенные миллионами лет эволюции. В несколько миллисекунд эти алгоритмы преобразуют крохотные штришки мужской внешности в репродукционные вероятности и выдают заключение: «Судя во всему, это здоровый и плодовитый мужчина с прекрасными генами. Если я с ним сойдусь, мои отпрыски унаследуют крепкое здоровье и прекрасные гены». Это заключение, конечно же, выражается не в словах и не в цифрах, а в волне сексуального желания. Павы и женщины не производят никаких подсчетов. Они просто чувствуют.
78
Turnbull and Solms, Brain and the I
79
David Harel, Algorithmics: Te Spirit of Computers, 3rd edn [in Hebrew] (Tel Aviv: Open University of Israel, 2001), 4–6; David Berlinski, Te Advent of the Algorithm: Te 300-Year Journey from an Idea to the Computer (San Diego: Harcourt, 2000); Hartley Rogers Jr, Teory of Recursive Functions and Efective Computability, 3rd edn (Cambridge, MA and London: MIT Press, 1992), 1–5; Andreas Blass and Yuri Gurevich, ‘Algorithms: A Quest for Absolute Defnitions’, Bulletin of European Association for Teoretical Computer Science 81 (2003), 195–225; Donald E. Knuth, Te Art of Computer Programming, 2nd edn (New Jersey: Addison-Wesley Publishing Company, 1973).