Опасная идея Дарвина: Эволюция и смысл жизни

Text
10
Kritiken
Leseprobe
Als gelesen kennzeichnen
Wie Sie das Buch nach dem Kauf lesen
Schriftart:Kleiner AaGrößer Aa

5. Процессы как алгоритмы

Размышляя об алгоритмах, теоретики часто подразумевают виды алгоритмов, обладающих свойствами, которых лишены алгоритмы, интересующие нас. Например, когда об алгоритмах размышляют математики, они обычно имеют в виду алгоритмы, относительно которых можно доказать, что они полезны при вычислении конкретных интересующих их математических функций. (Простой пример тому – деление в столбик. В причудливом мире криптографии внимание привлекает разложение большого числа на простые множители.) Но алгоритмы, которые будут интересовать нас, не имеют ничего особенно общего с системой счисления или иными математическими объектами; это алгоритмы классификации, отсева и созидания62.

Поскольку большинство математических обсуждений алгоритмов сосредоточено на их гарантированной или математически доказанной эффективности, люди иногда допускают простейшую ошибку, считая, что процесс, эксплуатирующий случайность или беспорядочность, алгоритмом не является. Но даже при делении в столбик есть место случайности!


Помещается ли делитель в делимом шесть, семь или восемь раз? Как знать! Да и кому это интересно? Этого и не нужно знать: для того чтобы делить в столбик, большого ума не надо. Алгоритм просто требует, чтобы вы выбрали число – любое, если вам угодно, – и проверили результат. Если избранное число слишком мало, увеличьте его на единицу и начните заново; если оно слишком велико – уменьшите. Относительно деления в столбик можно быть уверенным в одном: оно всегда в конечном счете получается, даже если ваш первоначальный выбор максимально неудачен (в этом случае процесс просто займет немного больше времени). Компьютеры успешно решают сложные задачи несмотря на крайнюю глупость – и именно потому кажутся волшебным изобретением: как что-то настолько безмозглое, как машина, может делать что-то настолько толковое? Итак, не вызывает удивления то, сколь часто интересные алгоритмы используют тактику уточнения выбора, механически проверяя каждого взятого наугад кандидата. Это не только не влияет на их доказуемую эффективность – зачастую именно в этом секрет их эффективности63.

Для начала можно сосредоточиться на группе эволюционных алгоритмов, рассмотрев повседневные алгоритмы, обладающие теми же важными особенностями. Дарвин привлекает наше внимание к повторяющимся волнам соперничества и отбора, так что возьмем обычный алгоритм организации турнира с выбыванием (например, теннисного), который неизбежно венчается четвертьфиналами, полуфиналами и, наконец, финалом, в ходе которого определяется единственный победитель.



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

Но что именно он делает? На входе мы имеем некоторое количество участников и гарантию уничтожения для всех, кроме единственного победителя. Но что представляет собой победитель? Это зависит от состязания. Допустим, мы устраиваем не теннисный турнир, а состязание по бросанию монеты. Один из игроков подбрасывает монетку, другой выбирает орла или решку; победитель продвигается на шаг вперед. Победителем такого состязания станет один-единственный игрок, который n раз последовательно победит при подбрасывании монеты, ни разу не проиграв – в зависимости от того, сколько раундов потребуется для завершения состязания.

В таком состязании есть нечто странное и глупое – но что? Победитель и в самом деле обладает весьма примечательным качеством. Часто ли вы встречаете людей, которые, подбрасывая монетку, без единого проигрыша выиграли десять раз подряд? Скорее всего, ни разу. Шансы на появление такого человека могут показаться ничтожными, и при обычном стечении обстоятельств это так и есть. Если какой-нибудь аферист предложит вам побиться об заклад десять к одному, что он сможет привести человека, который у вас на глазах десять раз подряд выиграет в состязании по бросанию монеты (и монета не будет фальшивой), вы, вероятно, склонны будете счесть это пари выигрышным для себя. Если так, будем надеяться, что у этого афериста не нашлось 1024 сообщников (им не придется жульничать – они будут играть абсолютно честно): ведь именно столько (210 участников состязания) нужно, чтобы организовать десятираундный турнир. В начале турнира аферист никак не сможет предсказать, кто именно окажется «вещественным доказательством А», которое обеспечит ему выигрыш пари, но алгоритм проведения турнира неизбежно – и быстро – выявит этого человека: так что вас обманули, и аферист непременно выиграет. (Я не несу ответственности за ущерб, который вы можете понести, попытавшись воспользоваться этим изысканным образчиком практической философии в корыстных целях.)

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

В противоположность соревнованиям, где правит случай (например, соревнованиям в бросании монеты), существуют соревнования, где все решает мастерство – например, теннисные турниры. Здесь есть основания полагать, что игроки, вышедшие в последние раунды, снова преуспеют, если выставить их против тех, кто вылетел из состязания раньше. Есть основания – но никаких гарантий – полагать, что победитель такого турнира – самый лучший игрок и будет лучшим не только сегодня, но и завтра. Тем не менее, хотя любой разумно организованный турнир неизбежно позволит назвать победителя, нет гарантий, что в ходе состязания в мастерстве победитель окажется лучшим игроком во всех (значимых) смыслах этого слова. Вот почему на церемонии открытия мы иногда говорим: «Пусть победит сильнейший!» – процедура не гарантирует подобный исход. Лучший игрок – тот, кто является лучшим по «техническим» критериям (обладатель самого мощного удара левой, самой быстрой подачи, самой высокой выносливости и т. д.), – может встать не с той ноги, вывихнуть лодыжку – или его может ударить молния. Тогда, очевидно, в состязании его обойдет игрок похуже. Но никто не станет организовывать или участвовать в соревнованиях в мастерстве, если бы в конце концов их не выигрывали лучшие игроки. Это гарантирует само определение честного состязания в мастерстве; если бы лучшие игроки выигрывали в каждом раунде с вероятностью не выше 50%, речь шла бы о состязании в удачливости, а не в мастерстве.

 

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

В отличие от удачи, мастерство – охраноспособная характеристика; на то, что оно проявится, можно рассчитывать в таких же – или сходных – обстоятельствах. Эта зависимость от обстоятельств указывает на иной вариант развития событий, когда что-то может пойти не так. Что, если бы условия состязания постоянно менялись (как условия игры в крокет в «Алисе в Стране чудес»)? Если в первом раунде вы играете в теннис, во втором – в шахматы, в третьем – в гольф, а в четвертом – в бильярд, нет оснований полагать, что победитель турнира отличается в каком-либо из этих видов спорта особым мастерством по сравнению с другими игроками – все хорошие гольфисты могут проиграть в шахматы и так и не получить возможности продемонстрировать свое искусство, и даже если удача никак не повлияет на ход финальной игры в бильярд в четвертом раунде, может статься, что среди всех участников состязания победитель как игрок в бильярд превосходил лишь одного соперника. Таким образом, турнир будет иметь интересный исход только в случае соблюдения некоторой степени единообразия в условиях состязаний.

Но должен ли турнир – или какой-либо алгоритм – приводить к интересному результату? Нет. Алгоритмы, о которых мы обычно рассуждаем, практически всегда имеют такие результаты, и именно потому привлекают наше внимание. Но процедура не перестает быть алгоритмом лишь потому, что не приносит кому-либо пользы и не имеет потенциальной ценности. Возьмем, к примеру такой турнир с выбыванием, в котором в финал выходят проигравшие в полуфинале. Это – глупое правило, лишающее весь турнир смысла, но и после его введения турнир тем не менее останется алгоритмом. Алгоритм вовсе не обязательно должен иметь смысл или цель. Помимо полезных алгоритмов, позволяющих составлять алфавитные списки, существует несметное количество алгоритмов, позволяющих составлять алфавитные списки с одними и теми же ошибками, и они каждый раз прекрасно срабатывают (если кого-то это интересует). Есть алгоритм (на деле, много алгоритмов) извлечения квадратного корня из любого числа – и есть алгоритмы, позволяющие извлечь квадратный корень из любого числа за исключением чисел 18 или 703. Некоторые алгоритмы достигают столь утомительно нестандартных и бессмысленных результатов, что невозможно вкратце объяснить, для чего они существуют. Они просто раз за разом безошибочно делают то, что делают.

А теперь мы, пожалуй, можем указать на самое распространенное недоразумение, связанное с дарвинизмом: идею, будто Дарвин доказал, что целью эволюции посредством естественного отбора было наше появление. С момента формулировки Дарвином своей теории, люди часто ошибочно пытались истолковать ее, как если бы мы были точкой назначения, целью, смыслом всех отсевов и состязаний, и наше появление на сцене было гарантировано самим фактом проведения турнира. Это заблуждение поощряли как друзья, так и враги эволюции, и оно похоже на заблуждение победителя турнира по бросанию монеты, купающегося в лучах славы и ошибочно убежденного, что, поскольку у турнира должен быть победитель и поскольку он – этот победитель, турнир должен был завершиться его победой. Эволюция может быть алгоритмом, а алгоритмический эволюционный процесс – привести к появлению человека, даже если целью алгоритма не является появление человека. Главный вывод, к которому Стивен Джей Гулд приходит в книге «Удивительная жизнь: сланцы Бёрджеса и природа истории»64 заключается в том, что, если мы «отмотаем жизнь назад» и проиграем ее снова и снова, вероятность Нас как продукта любого иного хода эволюции окажется бесконечно мала. Это – безусловная истина (если под «нами» мы понимаем конкретную разновидность Homo sapiens: бесшерстное, прямоходящее существо, у которого на руках по пять пальцев, говорящее по-английски и по-французски, играющее в теннис и шахматы). Эволюция – это не процесс, целью которого является наше появление, но из этого не следует, что эволюция не является алгоритмическим процессом, в действительности приведшим к нашему появлению. (В десятой главе мы обсудим это поподробнее.)

Эволюционные алгоритмы, безусловно, интересны – по крайней мере, для нас – не потому, что нам интересен их неизбежный результат, но потому, что они неизбежно склонны производить то, что нам интересно. В этом смысле они напоминают состязания в мастерстве. Способность алгоритма приводить к чему-то интересному или ценному вовсе не сводится к тому, что, как можно доказать математически, алгоритм надежно производит, и это особенно верно в отношении эволюционных алгоритмов. Как мы увидим, большинство споров о дарвинизме сводится к разногласиям относительно степени действенности конкретных постулированных эволюционных процессов – могут ли они за определенное время привести к тому или иному результату? Обычно речь идет об исследовании допустимых, или возможных, или вероятных результатов эволюционного процесса, и лишь косвенно – его неизбежных результатов. Сам Дарвин своей формулировкой подготовил для этого почву: его идея – утверждение о том, к чему процесс естественного отбора «неоспоримо» будет «склонен» приводить.

Все алгоритмы неизбежно производят то, что производят, но это вовсе не обязательно должно быть нечто интересное; некоторые алгоритмы неизбежно склонны (с вероятностью p) нечто производить – это нечто может вызывать (а может и не вызывать) интерес. Но если неизбежный результат выполнения алгоритма не должен ни в каком смысле быть «интересным», как мы будем отличать алгоритмы от остальных процессов? Не будет ли любой процесс алгоритмом? Является ли алгоритмическим процессом набегание волны на берег? Является ли алгоритмическим процессом высыхание на солнце глины обмелевшего русла реки? Ответ состоит в том, что у этих процессов могут быть особенности, которые можно наилучшим образом оценить, если мы будем рассматривать их как алгоритмы! Возьмем, к примеру, вопрос о том, почему песчинки на пляже так схожи между собой размерами. Это происходит благодаря естественному процессу сортировки, возникающему в результате постоянного перекатывания песчинок прибойной волной – так сказать, широкомасштабное построение алфавитного списка. Трещины, появляющиеся на высушенной солнцем глине, проще всего объяснить, рассматривая последовательности событий, не слишком сильно отличающиеся от последовательности раундов турнира.

Или возьмем процесс прокаливания металла с целью закалки. Есть ли на свете процесс более физический и менее связанный с «цифровыми технологиями»? Кузнец раз за разом раскаляет металл и позволяет ему остыть, и каким-то образом тот в результате становится прочнее. Каким образом? Как мы можем объяснить это волшебное превращение? Порождает ли жар особые вязкие атомы, укрепляющие поверхность? Или он вытягивает из атмосферы субатомный клей, связывающий воедино все атомы железа? Нет, ничего подобного. Правильное объяснение дается на алгоритмическом уровне: по мере того как металл, остывая, вновь отвердевает, одновременно во множестве точек начинается процесс его укрепления, в ходе которого формируются кристаллы, которые срастаются, пока не образуют единое целое. Но когда это случается впервые, расположение отдельных кристаллических структур не является оптимальным – они слабо связаны друг с другом, с большим количеством точек напряжения и деформации. Если нагреть металл снова (но не расплавить), эти структуры отчасти разрушатся, так что при последующем охлаждении разрушенные фрагменты иначе соединятся с более прочными. Можно математически доказать, что с каждой итерацией прочность металла будет возрастать, приближаясь к наилучшей или прочнейшей единой структуре – при условии соблюдения правильных параметров нагрева и охлаждения. Эта процедура оптимизации так действенна, что вдохновила создание особого способа решения задач в информатике – «метода имитации отжига», который не имеет ни малейшего отношения к металлам или нагреву, а представляет собой алгоритм, при реализации которого компьютерная программа раз за разом выстраивает, демонтирует и заново выстраивает структуру данных (например, другую программу), двигаясь ощупью к более совершенной – более того, оптимальной – версии65. Это было одним из важнейших открытий, приведших к созданию «машин Больцмана», «сетей Хопфилда» и других схем поиска допустимых решений, являющихся основой коннекционной или нейросетевой архитектуры искусственного интеллекта66.

Если вам хочется понять принцип действия прокаливания в металлургии, нужно, разумеется, познакомиться с физикой всех сил, действующих на уровне атомов; отметим, однако, что приблизительное понятие о том, как работает прокаливание (и в особенности почему оно работает), можно составить и не входя в эти подробности – в конце концов, я только что объяснил это в простых словах (а я физики не знаю!). Объяснить, что такое прокаливание, можно в терминах, не привязанных к металлургии: следует полагать, что некой оптимизации подвергнется любой «материал», состоящий из компонентов, которые сочленяются в ходе некоего производственного процесса и могут быть впоследствии, при изменении одного общего параметра, разъединены и т. д. Этот принцип является общим для процессов, происходящих в добела раскаленном бруске стали и гудящем суперкомпьютере.

Идеи Дарвина относительно действия естественного отбора также можно абстрагировать от их биологического субстрата. В самом деле, как мы уже показали, у самого Дарвина были лишь слабые (и в конечном счете неверные) подозрения относительно того, как осуществлялись идущие на микроуровне процессы передачи генетической информации потомству. Ничего толком не зная о физическом субстрате, он тем не менее мог понять, что, если каким-то образом выполняются определенные условия, воспоследуют определенные результаты. Это безразличие к материалу было необходимо, чтобы основное открытие Дарвина могло как пробка качаться на волнах последующих исследований и споров, участники которых со времен Дарвина совершили своеобразный интеллектуальный кульбит. Как мы отметили в предыдущей главе, Дарвин так никогда и не набрел на абсолютно необходимую идею гена, но тут на сцену вышел Мендель с понятием, которое обеспечивало как раз ту структуру, которая была нужна для того, чтобы процесс наследования можно было интерпретировать математически (и разрешить неприятную дарвиновскую проблему смешанного наследования). И затем, когда ДНК была идентифицирована как конкретный физический носитель генов, поначалу казалось (и до сих пор кажется многим участникам), будто бы гены Менделя можно просто идентифицировать как конкретные фрагменты ДНК. Но потом начали возникать сложности; чем больше ученые узнавали о молекулярной биологии ДНК и ее роли в размножении, тем яснее становилось, что менделевская история является, в лучшем случае, серьезным упрощением. Звучали даже заявления о недавнем открытии, будто никаких менделевских генов не существует! Вскарабкавшись по лестнице Менделя, ныне мы должны ее отринуть. Но, конечно же, никому не хочется выбрасывать столь ценный инструмент, который все еще ежедневно доказывает свою полезность при решении сотен научных и медицинских проблем. Решение состоит в том, чтобы продвинуть Менделя на уровень дальше и объявить, что он, как и Дарвин, уловил абстрактную истину о наследственности. Если нам так захочется, мы можем говорить о виртуальных генах, представляя себе, что их реальность распределена в конкретном веществе ДНК. (Существует множество доводов в пользу такого подхода, о чем я скажу ниже, в пятой и двенадцатой главах.)

 

Но, возвращаясь к поднятому ранее вопросу, существуют ли хоть какие-то критерии, позволяющие отделить алгоритмические процессы от прочих? Полагаю, что нет; если вам угодно, на абстрактном уровне любой процесс можно рассматривать как алгоритмический. И что же? Лишь некоторые процессы приводят к интересным результатам, когда вы рассматриваете их как алгоритмы, но не следует пытаться определять «алгоритм» так, чтобы включить в это множество только интересные (это чрезмерно трудная философская задача!). Проблема решится сама собой, ибо никто не станет тратить время на исследование алгоритмов, не являющихся по той или иной причине интересными. Все зависит от того, что именно требует объяснений. Если вам кажутся загадочными сходство песчинок или закалка клинка, алгоритмическое объяснение удовлетворит ваше любопытство – и будет истинным. Другие интересные черты тех же явлений или породивших их процессов могут потребовать объяснений другого рода.

Итак, вот в чем опасная идея Дарвина: алгоритмический уровень является тем уровнем, на котором дается лучшее объяснение скорости бега антилопы, крыльям орла, форме орхидеи, разнообразию видов и всем другим удивительным чудесам мира природы. Сложно поверить, что что-то столь бездумное и механическое, как алгоритм, могло создать что-то столь поразительное. Сколь бы эффектными ни были творения алгоритма, базовый процесс всегда представляет собой всего лишь ряд по отдельности бессмысленных шагов, которые следуют друг за другом без помощи какого-либо разумного надзирателя; эти шаги – по определению «автоматические», они представляют собой действие автомата. Они обусловлены друг другом или слепым случаем – тем, как кости лягут, если угодно, – и больше ничем. Плоды большинства знакомых нам алгоритмов довольно скромные: они позволяют делить в столбик, составлять алфавитные списки или рассчитывать доход среднего налогоплательщика. Более изощренные алгоритмы порождают броскую компьютерную графику, которую мы ежедневно видим на телевизионном экране, преображая лица, создавая стаи катающихся на коньках белых медведей, воспроизводя целые виртуальные миры, населенные существами, которых раньше никто не видел и вообразить себе не мог. Однако настоящая биосфера остается на много порядков более причудливой. Может ли она быть результатом всего лишь каскада алгоритмических процессов, обусловленных случайным стечением обстоятельств? И если так, кто создал этот каскад? Никто. Он сам является продуктом слепого, алгоритмического процесса. Как писал об этом сам Дарвин в письме к геологу Чарлзу Лайелю вскоре после публикации «Происхождения видов»: «Я и ломаного гроша не дам за теорию естественного отбора, если ей на одной из стадий потребуется чудо <…> Если бы я убедился, что теории естественного отбора требуется такое дополнение, я б с отвращением ее отбросил…»67

Итак, согласно Дарвину, эволюция – алгоритмический процесс. Такое утверждение остается дискуссионным. Одно из противостояний в эволюционной биологии возникает там, где одни без устали тянут, тянут, тянут канат в сторону алгоритмической интерпретации, а другие по разным невысказанным причинам им мешают. Выглядит это так, как если бы существовали металлурги, неудовлетворенные алгоритмическим объяснением прокаливания. «То есть больше там ничего не происходит? Никакого субмикроскопического суперклея, специально созданного процессом нагревания и охлаждения?» Дарвин убедил всех ученых, что, подобно прокаливанию, эволюция работает. Его радикальные представления о том, как и почему она работает, до сих пор подвергаются разного рода критике – в основном потому, что его противники могут смутно догадываться, что их атаки – часть более масштабной кампании. Если битва за эволюционную биологию проиграна, то чем закончится война?


ГЛАВА 2: Дарвин решительно доказал, что, в противоположность давней философской традиции, виды не являются вечными и неизменными; они эволюционируют. Было доказано, что происхождение новых видов – результат «наследования с изменением». Менее убедительной оказалась введенная Дарвином идея о том, как происходит процесс эволюции: посредством бессмысленного, механического – алгоритмического – процесса, названного им «естественным отбором». Идея, что все плоды эволюции можно назвать результатами алгоритмического процесса, и есть опасная идея Дарвина.


ГЛАВА 3: Многие, включая Дарвина, смутно догадывались, что его идея естественного отбора обладала революционным потенциалом, но какого именно господина ей предстояло свергнуть? Ее можно использовать, чтобы разрушить и выстроить заново традиционную структуру Западной мысли, которую я называю Лестницей творения. Это дает новое объяснение происхождению (посредством постепенной аккумуляции) всего Замысла вселенной. Со времен Дарвина мишенью для скептиков стало его неявное утверждение, что, несмотря на их фундаментальную бессмысленность, разнообразные процессы естественного отбора являются достаточно действенными, чтобы привести к воплощению замысла, явленного в мире.

62Специалисты в области компьютерных наук иногда ограничивают понятия алгоритма, называя так только программы, которые обязательно в какой-то момент оканчиваются – то есть, например, те, в которых нет бесконечных циклов. Но как бы ни было полезно такое ограничение в некоторых случаях для математиков, нам от него толку немного. В самом деле, лишь немногие из постоянно выполняющихся по всему миру программ можно назвать алгоритмами в этом узком смысле слова; большинство неопределенно долго выполняет один и тот же цикл, терпеливо ожидая указаний (например, приказа прервать цикл, без которого выполнение программы продолжится). Однако их подпрограммы являются алгоритмами в строгом смысле слова – если, конечно, в них не таится необнаруженный «баг», из‐за которого программа может «зависнуть».
63Об особенно любопытных свойствах вероятностных алгоритмов Михаэля Рабина см.: Dennett 1984. P. 149–152.
64Gould 1989a.
65Kirkpatrick, Gelatt, Vecchi 1983.
66Общие сведения см.: Smolensky 1983; Rumelhart 1989; Churchland, Sejnowski 1992; обзор с точки зрения философии см.: Dennett 1987a; Churchland 1989.
67Darwin 1911. Vol. 2. P. 6–7.