Хаос. Создание новой науки (Глик) - страница 217

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



* Компьютерная программа, воспроизводящая систему Мандельбро, нуждается в разъяснении нескольких существенных деталей. Главный ее механизм состоит в том, что выбирается начальное комплексное число и к нему применяется арифметическое правило. Для рассматриваемой ниже системы правило таково: z → z² + с, где z начинается с нуля, а с представляет собой комплексное число, соответствующее тестируемой точке. Итак, возьмем нуль, умножим его на самого себя, прибавим начальное число; взяв результат (начальное число), умножим его на самое себя и прибавим начальное число; возьмем новый результат, опять умножим его на самого себя и прибавим начальное число. Арифметика с комплексными числами ведет нас прямо вперед. Комплексное число состоит из двух частей, например: 2 + Зi (местоположение точки: 2 к востоку и 3 к северу на комплексной плоскости). Чтобы сложить два комплексных числа, надо лишь сложить действительные части для получения новой действительной части и мнимые — для получения новой мнимой части:



Чтобы перемножить два комплексных числа, нужно умножить каждую часть одного из них на каждую часть другого (но правилам перемножения двучленов) и сложить получившиеся четыре результата. Поскольку і, умноженное на самое себя, дает -1, то в силу первоначального определения мнимых чисел один член результата переходит в другой:



Чтобы прекратить движение по петле, программа должна отслеживать текущий итог. Если результат стремится к бесконечности, все более и более удаляясь от центра плоскости, выбранная точка не принадлежит к системе. В том случае, когда итог превышает 2 или становится меньше -2 либо в действительной, либо в мнимой части, результат, бесспорно, стремится к бесконечности и работа программы может продолжаться. Коль скоро она выполняет одни и те же вычисления много раз, не превышая 2, точка является частью системы. (Число раз зависит от степени увеличения. Для масштаба, доступного персональному компьютеру, ста или двухсот раз часто бывает достаточно, а тысяча повторений дает полную гарантию.) Программа должна повторить данный процесс для каждой из тысяч точек решетки. Масштаб можно увеличить. Затем программа должна показать полученный результат. Точки, входящие в систему, могут быть обозначены черным цветом, а не принадлежащие к ней — белым. Для получения более живого изображения белый цвет можно заменить оттенками других цветов. В частности, если итерация прекращается после десяти повторений, программа должна выдать красную точку, после двадцати — оранжевую, после сорока — желтую и т. д. Выбор цветов и момент остановки расчета точек программист может выбрать сам. Цвета надлежащим образом обозначают контуры, оставшиеся за пределами системы.