Бот - Максим Кидрук
Шрифт:
Интервал:
Закладка:
Ральф склонился над клавиатурой.
— Поверхность может быть насколько угодно сложной, — рой «поплыл», а потом вмиг застыл, сформировав фигуру, похожую на зафиксированный фотокамерой взрыв. — Можно также вводить функцию с четырьмя параметрами, где четвертая переменная — время.
Задав на панели управления формулу, Ральф отошел назад. Рой опять образовал сферу, затем она начала сплющиваться, превращаясь в эллипсоид, эллипсоид вытянулся в цилиндр с закругленными краями, а цилиндр, изогнувшись, соединил торцы в тор («бублик»). Тор снова сомкнулся в сферу, и процесс стал повторяться.
— А где еще можно использовать таких нанороботов?
— Применений масса. Начиная со шпионажа и заканчивая медициной. Японцы планировали использовать нанороботов для борьбы с раком. Введенные в кровеносную систему, они должны были отыскивать и уничтожать раковые клетки. Такая была идея. Кейтаро как раз руководил этой работой. Но проект, к сожалению, не был доведен до конца. Джеп как будто обезумел — целиком и полностью перекинулся на создание ботов.
— А как вы их программируете? Куда компилируется код каждого агента?
— У каждого есть свой мозг, образованный молекулами DRQ (2,3,5,6-тетраметил-1-4-бензокинона). Эта система может работать как микропроцессор. Одна молекула DRQ представляют собой кольцо с четырьмя отростками, которые могут занимать различные положения относительно друг друга. Шестнадцать таких молекул сведены в кольцо, в центре которого находится семнадцатая их «сестра». Вместе они образуют молекулярную машину, способную кодировать в размещении своих частей свыше четырех миллиардов комбинаций. Этого достаточно.
— Ральф, но это… этот рой в реальности реализует агентно-ориентированный подход. Вы воплотили в реальность абстракцию, которая только начинает закрепляться на теоретическом уровне.
Ральф просиял:
— Кейтаро был прав, думая, что тебе это понравится. Еще четверть столетия назад никто об этом даже и не догадывался. Не было самого понятия «разумная туманность». Никто не подозревал, сколько всего можно выжать из этого облака.
Тимур пока не мог до конца разделить его энтузиазм. Он сам работал с подобными системами. Только его агенты были виртуальными — крошечными компьютерными подпрограммами.
— Вы пробовали обучать рой? — спросил Тимур.
Агент программируется достаточно просто: «обнаружь соседа — выясни его состояние — подстрой соответственно свое». Ни на что большее он не способен. Но когда таких элементов набирается миллион, возникает эффект, называемый в программировании обусловленным поведением. Большое скопление примитивных программ-агентов начинает демонстрировать сложное поведение, на которое не был запрограммирован ни один из индивидуальных агентов.
— Мы сделали все, чтобы они не могли обучаться, — серьезно ответил Ральф. — Их память краткосрочна. Если бы мы наделили их постоянной памятью, они бы уже давно разнесли тут все на куски.
Тимур перевел взгляд на подвижное облако. Ральф подошел к лифту и нажал кнопку вызова. Двери лифта медленно открылись.
— Прошу за мной. Нас ждут более серьезные вещи.
Пока двери лифта закрывались, Тимур не отрывал глаз от аквариума. Одна мысль не давала ему покоя: «Это же хаос! Классическая хаотическая система, но только не на бумаге или в компьютере, а в реальной жизни!» Занимаясь программированием агентных систем, Тимур быстро понял, что они обладают уникальными свойствами. Они поддаются обучению, могут делать выбор, самостоятельно планировать и выполнять задания. Но есть у них и один важный недостаток: обусловленное поведение в некоторых случаях может полностью выйти из-под контроля.
XXXII
У хаоса масса проявлений. В быту под хаосом понимают полный беспорядок. Поэтому вполне естественно предположить, что теория хаоса занимается исследованием беспорядка. Редкое предположение оказывается более далеким от истины.
Теория хаоса — это наука о сложных нелинейных системах, поведение которых сильно зависит от начальных условий. Она объединяет в себе математику, физику и философию. Теория не отрицает существование упорядоченных систем. Наоборот, она занимается процессами, внешние проявления которых только на первый взгляд кажутся абсолютно случайными, но на самом деле строго детерминированы, то есть предопределены. С точки зрения такой теории, хаос — это сверхсложная упорядоченность.
Детерминированный хаос пронизывает всю нашу жизнь. Он повсюду: в переменах погоды, в турбулентных потоках в атмосфере, в радиоволнах и колебаниях струн. Человеческий мозг, невероятно сложная сеть из миллиардов нейронов, также подчиняется законам хаоса. Жаль только, что мы не до конца их понимаем.
Пионером теории хаоса стал математик и метеоролог Эдвард Лоренц. Его интерес к хаотическим системам возник случайно, когда в 1961 году он занимался прогнозированием погоды. Математическое описание большинства физических систем реализуется через итерации[54] простых формул. В формулу подставляется исходное значение исследуемой величины и рассчитывается ее значение в следующий момент времени или в ближайшей точке пространства. Затем полученный результат подставляется в ту же формулу в качестве начального значения, и вся процедура повторяется снова и снова. Лоренц выполнял вычисления на суперсовременной на тот момент вычислительной машине «McBee LGP-30» (вручную проводить итерационные расчеты невозможно). По заданным показателям модель рассчитывала погодные условия для выбранного дня. Лоренц использовал систему из двенадцати дифференциальных уравнений, которые точно описывали атмосферные процессы. Он еще не мог прогнозировать погоду, но поведение модели в целом воспроизводило погодные процессы на Земле.
Однажды Лоренцу понадобилась цепочка данных за неделю, а не для конкретного дня. Экономя время, он оборвал расчеты на третьем дне и заново запустил модель «с середины», просто введя в компьютер результаты предыдущего этапа. И вдруг оказалось, что результаты первого прогноза погоды, полученного непрерывным расчетом на семь дней, и результаты второго расчета, с использованием промежуточных данных, разительно отличаются. Лоренц стал искать ошибку, сначала в расчетах, потом в модели. Но все выглядело правильно.
В конце концов выяснилось, что промежуточные результаты, которые он распечатал и потом снова ввел в машину, были округлены до трех знаков после запятой (к примеру, +14,873 °C), а при непрерывном расчете машина использовала данные с точностью до шести знаков (+14,873491 °C). Лоренц не нашел ошибки. Модель была правильной. Разгадка крылась в самой системе. Погода оказалась настолько чувствительной к исходным значениям, что разница в несколько тысячных на второй день моделирования давала кардинально разные результаты. Если сегодня на улице +14,873 °C, через два дня будет солнечная погода. Если же на самом деле температура +14,875 °C, то при тех же условиях через два дня окна будут дрожать под натиском штормового ветра.
(adsbygoogle = window.adsbygoogle || []).push({});