Автор Николай Хижняк |
инженер-исследователь: Как-то я обнаружил странный эффект. Мне пришлось писать программу для ЭВМ, которая должна была моделировать действие некоторой сложной установки. Уравнения, описывающие работу отдельных её узлов были известны досконально, оставалось из них собрать модель работы единого целого и тут меня ждал сюрприз - машина, при любых начальных параметрах, сообщала об ошибке деления на нуль. Далее я исследовал ту часть программы, где наблюдалось это явление и обнаружил, что деление на нуль неизбежно, если входящие параметры выражаются рациональными числами, но при иррациональных начальных параметрах, модель даёт весьма реальные результаты. Проблема заключалась в том, что компьютер округлял все иррациональные числа до рациональных, что и приводило к нежелательному эффекту деления на нуль. Позже я обнаружил целый ряд ситуаций, когда вычисление по приближённым формулам, полученным в докомпьютерную эпоху, для того чтобы упростить инженерные расчёты, дают куда более соответствующие реальности результаты, чем вычисления по точным моделям на ЭВМ. Обычно, в таких случаях, учёные и инженеры, обнаружившие этот эффект, предполагали неполноту наших знаний о механизмах, моделируемых процессов, но я исследовав эти случаи обнаружил, что в них математическая модель чувствительна к роду величин начальных параметров и, если все эти параметры выражаются рациональными числами, то она даёт результат принципиально отличный от ситуации, когда хоть один параметр иррационален. В таких случаях, главным источником бед является то, что ЭВМ, может оперировать только рациональными числами, что и заставляет машину давать неверные результаты.
Здесь можно вспомнить
Николай Хижняк: Честно говоря, я ещё не дорос до необходимости делить числа на рациональные и иррациональные. Я их пока делю на реальные и выдуманные. Реальные - это те числа, которые имеют отражение в природе. Выдуманные - это те числа, при помощи которых взрослые дяди играют в виртуальные игры (как и положено играм, они очень напоминают реальность).
Если происхождение чисел влияет на результат - это не математика, это виртуальные игры в числа. В математике существует очень мощная защита от дураков. Деление на ноль - это второй уровень такой защиты. Первый уровень мы победоносно взломали, даже не заметив его существования.
Вот реальный пример защиты от дураков. Вспомните площадь четырехугольника - она равна половине произведения длин диагоналей на синус угла между ними. Какой угол брать? Любой - синус альфа равен синусу (180 градусов минус альфа). В каком бы порядке мы не брали диагонали и какой бы угол не взяли, значение площади четырехугольника всегда будет одним и тем же. Эту задачку мы правильно решили.
Теперь представьте, что кто-то считает, что синус (180 градусов минус альфа) равен косинусу альфа. Пользуясь приведенной формулой площади они получают два разных значения площади для двух разных углов между диагоналями. Они начинают свято верить в то, что каждый четырехугольник имеет две площади. У них будет своя математика, ничем не хуже нашей, но жить они будут в другом мире - их математика будет давать другое описание окружающей действительности.
Маленький исторический экскурс. Если бы сегодня мы продолжали считать, что земля держится на трех китах, то я вас уверяю, у нас уже была бы газовая смесь под названием "Дыхание кита". При взаимодействии горных пород с этой газовой смесью камень превращался бы в жидкую лаву. Эта газовая смесь была бы "научным" доказательством существования китов под землей и очень хорошо бы иллюстрировала окружающую действительность - киты выдыхают, камень плавится, на земле извергаются вулканы и вытекает лава.
Что касается наших программистов, то, будь я Богом, я бы никогда не доверил им программировать мою новую вселенную. Наша же Вселенная работает по законам математики, для которой, судя по всему, рациональных чисел просто нет. Есть числа - и природе этого вполне достаточно)))
Комментариев нет:
Отправить комментарий