Впрочем, говоря о «принципиально» вычислимой природе окружения, не следует забывать об одном важном моменте. Вне всякого сомнения, на реальноеокружение любого развивающегося живого организма (или некоей изощренной робототехнической системы) оказывают влияние весьма многочисленные и порой невероятно сложные факторы, вследствие чего любое моделирование этого окружения со сколько-нибудь приемлемой точностью вполне может оказаться неосуществимым  практически. Динамическое поведение даже относительно простых физических систем бывает порой чрезвычайно сложным, при этом его зависимость от мельчайших нюансов начального состояния может быть настолько критической, что предсказать дальнейшее поведение такой системы решительно невозможно — в качестве примера можно привести ставшую уже притчей во языцех проблему долгосрочного предсказания погоды. Подобные системы называют хаотическими; см. §1.7. (Хаотические системы характеризуются сложным и эффективно непредсказуемым поведением. Однако математически эти системы объяснить вполне возможно; более того, их активное изучение составляет весьма существенную долю современных математических исследований {45} .) Как уже указывалось в §1.7, хаотические системы я такжевключаю в категорию «вычислительных» (или «алгоритмических»). Для наших целей важно подчеркнуть один существенный момент, касающийся хаотических систем: нет никакой необходимости в воспроизведении того или иного  реальногохаотического окружения, вполне достаточно воспроизвести окружение типичное. Например, когда мы хотим узнать погоду на завтра, насколько точнаяинформация нам в действительности нужна? Не сгодится ли любоеправдоподобное описание?

3.11. Как обучаются роботы?

Учитывая вышесказанное, предлагаю остановиться на том, что на самом деле нас сейчас интересуют отнюдь не проблемы численного моделирования окружения. В принципе, возможностей поработать с окружением у нас будет предостаточно — но только в том случае, еслине возникнет никаких трудностей с моделированием внутреннихправил самой робототехнической системы. Поэтому перейдем к вопросу о том, как мы видим себе обучение нашего робота. Какие вообще процедуры обучения доступны вычислительному роботу? Возможно, ему будут предварительно заданы некие четкие правила вычислительного характера, как это обычно делается в нынешних системах на основе искусственных нейронных сетей (см. §1.5). Такие системы подразумевают наличие некоторого четко определенного набора вычислительных правил, в соответствии с которыми усиливаются или ослабляются связи между составляющими сеть «нейронами», посредством чего достигается улучшение качества общего функционирования системы согласно критериям (искусственным или естественным), задаваемым внешним окружением. Еще один тип систем обучения образуют так называемые «генетические алгоритмы» — нечто вроде естественного отбора (или, если хотите, «выживания наиболее приспособленных») среди различных алгоритмических процедур, выполняемых на одной вычислительной машине; посредством такого отбора выявляется наиболее эффективный в управлении системой алгоритм.

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

В дополнение к четким правилам такого рода, в совокупность средств, с помощью которых наша робототехническая система будет модифицировать свою работу, могут быть включены и некоторые случайныеэлементы. Возможно, эти случайные составляющие будут вноситься посредством каких-нибудь физических процессов — например, такого квантовомеханического процесса, как распад ядер радиоактивных атомов. На практике при конструировании искусственных вычислительных устройств имеет место тенденция к введению какой-либо вычислительной процедуры, результат вычисления в которой является случайным по существу(иначе такой результат называют псевдослучайным), хотя на деле он полностью определяется детерминистским характером самого вычисления (см. §1.9). С описанным способом тесно связан другой, суть которого заключается в точном указании момента времени, в который производится вызов «случайной» величины, и введении затем этого момента времени в сложную вычислительную процедуру, которая и сама является, по существу, хаотической системой, вследствие чего малейшие изменения во времени дают эффективно непредсказуемые различия в результатах, а сами результаты становятся эффективно случайными. Хотя, строго говоря, наличие случайных компонентов и выводит рассматриваемые процедуры за рамки определения «операции машины Тьюринга», каких-то существенных изменений это за собой не влечет. В том, что касается функционирования нашего робота, случайным входным данным на практике оказываются эквивалентны псевдослучайные, а псевдослучайные входные данные ничутьне противоречат возможностям машины Тьюринга.

«Ну и что, что на практикеслучайные входные данные не отличаются от псевдослучайных? — заметит дотошный читатель. — Принципиальная-то разница между ними есть». На более раннем этапе нашего исследования (см., в частности, §§3.2-3.4) нас и в самом деле занимало то, чего математики могут достичь в принципе, вне зависимости от их практических возможностей. Более того, в определенных математических ситуациях проблему можно решить исключительно с помощью действительно случайных входных данных, никакие псевдослучайные заместители для этого не годятся. Подобные ситуации возникают, когда проблема подразумевает наличие некоего «состязательного» элемента, как часто бывает, например, в теории игр и криптографии. В некоторых видах «игр на двоих» оптимальная стратегия для каждого из игроков включает в себя, помимо прочего, и полностью случайную составляющую {46} . Любое сколько-нибудь последовательное пренебрежение одним из игроков необходимым для построения оптимальной стратегии элементом случайности позволяет другому игроку на протяжении достаточно длинной серии игр получить преимущество — по крайней мере, в принципе. Преимущество может быть достигнуто и в том случае, если противнику каким-то образом удалось составить достаточно достоверное представление о природе псевдослучайной (или иной) стратегии, используемой первым игроком вместо требуемой случайной. Аналогичным образом дело обстоит и в криптографии, где надежность кода напрямую зависит от того, насколько случайной является применяемая последовательность цифр. Если эта последовательность генерируется не истинно случайным образом, а посредством какого-либо псевдослучайного процесса, то, как и в случае с играми, этот процесс может в точности воспроизвести кто угодно, в том числе и потенциальный взломщик.

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