На одной из страниц его манускриптов, датируемой 1665 г., показано численное определение площади под гиперболой, которую мы теперь распознаем как логарифмическую функцию. Он исследовал свойства бесконечных рядов, вычислив их суммы с поразительной точностью, до 55-го десятичного знака после запятой.
Ньютоновский расчет площади под гиперболой
Более сложные структуры – симплектические интеграторы, с помощью которых решаются дифференциальные уравнения механических систем с высокой точностью, сохраняя симплектическую структуру гамильтоновых уравнений. Это любопытная, но чрезвычайно важная разновидность геометрии, адаптированная для двух типов переменных, положения и импульса. Симплектические интеграторы особенно важны для исследований небесной механики, где – например – астрономы могут захотеть отследить движения планет Солнечной системы на протяжении миллиардов лет.
Используя симплектические интеграторы, Джек Уиздом, Жак Ласкар и другие ученые показали, что в длительных временных периодах поведение Солнечной системы хаотично, Уран и Нептун были гораздо ближе к Солнцу, чем сейчас, и в настоящее время орбита Меркурия смещается в сторону Венеры, так что одна из этих планет в итоге может оказаться вытесненной из Солнечной системы. Только симлектические интеграторы дают нам достаточную уверенность в том, что результаты для такого длительного промежутка точны.
Компьютерам нужна математика
Компьютеры помогают в математике, но и использование математики помогает компьютерам. Математические принципы были важным условием для работы ранних вычислительных устройств – как в плане доказательства самой концепции, так и в конструировании самих машин.
Все современные цифровые компьютеры работают на двоичной системе, где числа представляются последовательностями всего двух цифр: 0 и 1. Главное преимущество двоичной системы – в ее соответствии переключению: 0 – выключено, 1 – включено. Или 0 – нет напряжения, а 1 – это пять вольт или какой-то иной вариант, используемый в схеме проектирования. Символы 0 и 1 могут также быть интерпретированы в рамках математической логики как значения истинности: 0 означает ложь, 1 – истина. Иными словами, компьютеры могут выполнять логические вычисления так же, как и арифметические. Конечно, логические операции здесь базовые, а арифметические можно рассматривать как последствия логических. Алгебраический подход Буля к математике 0 и 1, изложенный в его «Исследовании законов мышления», обеспечивает эффективный формализм для логики компьютерных вычислений. Поисковые системы интернета выполняют булевы логические запросы: ищут ответы, определенные некоторой комбинацией логических критериев, такие как «содержит слово “кошка”, но не содержит слово “собака”».
Алгоритмы
Математика внесла свой вклад в компьютерную науку, но и компьютерная наука подтолкнула к открытию поразительной новой математики. По одному из определений, алгоритм – систематический порядок действий для решения задачи. Это слово восходит к арабскому ученому Аль-Хорезми. И тут возникает любопытный вопрос: как зависит время работы алгоритма от объема вводимых данных?
Например, алгоритм Евклида для нахождения наибольшего общего делителя двух целых чисел m и n, где m ≤ n, выглядит так.
• Разделить n на m и получить остаток r.
• Если r = 0, то наибольший общий делитель – m: СТОП.
• Если r > 0, тогда заменить n на m, а m на r и вернуться к началу.
Можно показать, что если m включает d десятичных цифр (мера объема вводимых данных для алгоритма), то алгоритм останавливается максимум после 5d шагов. Это значит, в частности, что если нам заданы два числа с 1000 цифр, то мы можем вычислить их наибольший общий делитель не более чем за 5000 шагов – на что современному компьютеру требуется доля секунды. |