Главная страница Visual 2000 · Общий список статей

Культ карго, дифференцирование и математические модели

Андрей Колесов

© 1997, Андрей Колесов
Авторский вариант. Статья была опубликована c незначительной литературной правкой в еженедельнике "Компьютерра" № 26'97.
Примечание автора

Появление этих заметок...
Цифровая и аналоговая техника
Дифференцирование и математические модели
О пользе теоретических схем
Приложение 1: механетис
Приложение 2: мое знакомство с АВМ


Примечание автора

Тема номера "Компьютерры" 22'97 от 2 июня 1997 г. была обозначена как "Родная литература". На самом деле номер состоял из статей на разные слабо связанные "около компьютерные" темы. Среди них была довольно любопытная статья Михаила Ваннаха "Компьютеры и культ карго". В ней в занимательной манере рассказывались байки из истории возникновения вычислительной техники и красной нитью проходила мысль о том, что компьютер — совсем не всесильный инструмент и нужно понимать ограничения по его применению. И в этой связи приводились примеры с "культом карго" полинезийцев, в основе которого лежит путаница между следствием и причиной, с работами доктора Винера и с прогнозом изменения курсов акций.

В общем, все это было занимательно, но мне показалось, что... Короче говоря, я написал вдогонку две статьи, одна из которых представлена на этой странице, а вторая — на другой.

В начало статьи


Сама статья:

Появление этих заметок...

...связано с публикацией в "Компьютерре" 22'97 от 2 июня 1997 г. статьи Преподобного Михаила Ваннаха "Компьютеры и культ карго". В ней приводится довольно много любопытных сведений, но, как мне показалось, что некоторые из них требуют уточнения. Более того, порой создавалось впечатление, что сам автор из-за не совсем верного представления о компьютерной теории попал в какой-то степени под действие этого самого культа карго. В первую очередь бросились в глаза явные передержки автора в отношении "дифференцирования" и математических аспектов прогнозирования. К сожалению, примечание редакции "Шумный" компьютер" по этому поводу было по-моему слишком вялым и не расставило точки над "i".

В начало статьи

Цифровая и аналоговая техника

Тезис о том, что "компьютеры плохо дифференцируют", сразу вызывает естественный вопрос - а кто это умеет делать лучше? По тесту статьи складывается впечатление, что это должны делать лучше аналоговые вычислительные устройства. Но это в общем случае неверно, по крайней мере в течение последних двадцати-тридцати лет.

Мы сейчас довольно редко имеем дело с ABM (аналоговые вычислительные машины), поэтому возможно будет полезно вспомнить некоторые их принципиальные отличия от ЦВМ (цифровые).

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

Соответственно с ростом сложности математической задачи объем аппаратуры АВМ растет по крайней мере линейно, а ЦВМ — остается неизменным. Но скорость получения решения на АВМ очень слабо зависит от сложности задачи (условно говоря, решение получается мгновенно), а на ЦВМ — весьма существенно. Однако при этом следует иметь в виду, что реальный цикл решения задачи определяется не только самими вычислениями: там есть еще ввод программы (АВМ — коммутация схемы, ЦВМ — чтение файла с диска), подготовка и ввод данных (установка напряжений/ввод файла) и пр. Здесь АВМ явно отстает от ЦВМ.

Результатом является то, что аналоговые вычислители уже давно потеряли актуальность в качестве универсальных ЭВМ. Это произошло естественным образом еще в 60-х годах по мере роста производительности ЦВМ и снижения их стоимости. Реально АВМ сейчас используются только при решении относительно простых задач, для которых жесткое аппаратное решение является вполне допустимым. Примером такого рода задач является и простейший спидометр и схема управления зениткой по данным радиолокационных наблюдений — один раз проектируется, "зашивается" и работает пока не выбросят. При этом постоянно вытеснение аналоговых устройств цифровыми является совершенно отчетливой тенденцией.

Что касается точности вычислений, то здесь ситуация выглядит следующим образом. АВМ изначально имеют ограниченную точность, так как она определяется точностью как параметров физических компонент модели (например, сопротивлений и емкостей), так и приборов, измерительных и задающих исходные величины. Поэтому в АВМ используются прецизионные компоненты (1-0,001% погрешности), но погрешность конечных результатов крайне редко опускается ниже 1-10%. Впрочем этого бывает вполне достаточно для решения многих практических задач.

Отличительной чертой методов вычислительной математики и ЦВМ заключается в том, что погрешность решения можно приблизиться сколь угодно близко к нулю (разумеется, за счет увеличения объема и времени вычислений). Причем это не зависит от архитектура конкретной ЭВМ, в том числе и ее разрядности (разрядностью данных можно управлять программным образом). питания и пр.).

Еще один примечательный момент ЦВМ: высокая точность вычислений достигается на аппаратуре с минимальными требованиями к качеству электронных компонент (имеется в виду допустимый разброс их параметров). Например, в цифровых схемах используются компоненты с погрешностью в 10-30%, что никак не влияет на правильность работы всего устройства. Это происходит потому, что них используется механизм переключателей типа "да/нет" с достаточно большим допуском сигналов. (Например, для 5-вольтовой ТТЛ-схем уровень сигналов лежит в диапазоне: логический "ноль" — 3,5-5 В, "единица" — 0-1,5 В). Именно это лежит в основе создания цифровых интегральных микросхем, в которых каждый транзистор имеет значительный разброс параметров, а проводить отбраковку "годных/негодных" уже нет возможности.

В начало статьи

Дифференцирование и математические модели

Конечно, проблема округления (которую почему-то автор решил назвать "компьютерным шумом") имеет место быть. Но она не является сколь-нибудь первоочередной в решении вычислительных задач на компьютере, хотя бы потому, что там можно эмулировать данные любой точности. Для абсолютного большинства задач вполне достаточно обычного формата данных с плавающей запятой (диапазон данных от 1E+38 до 1E-38, мантисса — 7 десятичных знаков), в случае необходимости можно использовать числа с двойной точностью (от 1E+308 до 1E-308, мантисса — 16 знаков). Более высокая точность нужна только для совершенно уникальных задач типа расчетов в астрономии, поэтому таких форматов данных в стандартных системах программирования обычно просто нет. Кроме того, ситуацию с исчезновением порядка (например, при выполнении операции "1E+30 + 1E-30") можно контролировать аппаратным (на мэйнфреймах) или программным (на Фортране) образом.

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

Реальные проблемы возникают при использовании итерационных приближенных методов при решении различных уравнений, для которых отсутствуют решения в аналитическом виде (функции, заданной в явном виде). Особенно ярко это проявляется при работе с широким классом задач дифференциальных уравнений. (Хотелось бы обратить внимание, что процедура решения этих задач называется "интегрирование").

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

(В своем комментарии Олег Татарников не уточнил свое высказывание о том, что "часто для таких задач традиционные методы вообще не работают на компьютерах". Возможно он имел в виду прямые методы решения систем линейных уравнений, типа метода Гаусса. Действительно они являются довольно критичными к разрядности данных. Но основная проблема здесь заключается в том, что для этих методов объем вычислений растет в квадратичной зависимости от числа уравнений, а для приближенных - в линейной. Именно поэтому при большом числе уравнений предпочтительными оказываются последние.)

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

В начало статьи

О пользе теоретических схем

Я полностью согласен с тезисом (правда, не прозвучавшим в явном виде) в статье Михаила Ваннаха о том, что обладание компьютером само по себе не решит проблем пользователя. Компьютер может быть полезен лишь по стольку поскольку мы представляем его реальные возможности и правильным образом его применяем. (см. вставку о "Механетисе"). Другое дело, что работа с компьютером является мощным стимулом к тому, чтобы глубже понять, что же мы хотим на самом деле.

Но с его заключительным тезисом о том, что "воспринимайте окружающее так, как оно создано, а не так, как оно должно выглядеть исходя из какой-нибудь теоретической схемы", я никак не могу согласиться. Без создания теоретической модели нельзя установить причинно-следственную связь, и это хорошо видно на примере полинезийцев, создавших культ "карго". Но нужно уточнить — теория должна быть правильной.

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

На самом деле метод экстраполяции временных рядов дает весьма приблизительный прогноз. Более того, эти методы реально работают только в "ненарушенных условиях", т.е. когда можно предполагать, что условия, влияющие на развитие процесса не будут резко меняться. Для экономики это явно не подходит. Посмотрите на графики доходности акций Cyrix, AMD и Intel — разве по данным 1992-95 можно было предположить провал первых двух в 1996 г.?

Таблица. Доходность акций, долл.

Компания 1992 1993 1994 1995 1996
Cyrix 0.49 1.06 1.88 0.75 -1.33
AMD 2.49 2.24 2.92 2.81 -0.51
Intel 1.24 2.60 2.62 4.03 5.81

Но даже, если предугадать взять за основу тренд повышения акций, то вряд ли это приведет к обогащению — ведь такой информацией обладают все игроки рынка и они будут действовать точно также. Чтобы заработать на бирже нужно предугадать изменение курса акций, о котором другие участники рынка не подозревают. В этом плане, конечно, выигрывает тот, кто узнает о событиях, влияющих на ситуацию на бирже, первым. Или сам моделирует подобную ситуацию. (Вспомним о диверсии графа Монте-Кристо, который отправил подложную телеграмму о бегстве короля Дона Карлоса и восстании в Барселоне, чем вызвал на парижской бирже панику, которой и воспользовался в собственных интересах.)

В этом плане безусловно велика роль insider, о которых говорит Михаил. Но с одним дополнением — важна не информация сама по себе, а ее правильная интерпретация, что подразумевает соответствующую квалификацию (или чутье?) эксперта. Например, даже узнав о факте слияния IBM и Lotus, лично я не мог бы четко сказать вызовет это понижение или повышение их акций и как это скажется на котировке акций Microsoft. Задачи прогноз развития ситуации на рынке относятся к категории плохо формализуемым — даже зная полную информацию о компании, нельзя рассчитать по формуле стоимость ее акций в следующем году. Поэтому здесь ключевым является метод экспертных оценок.

На самом же деле на дела конкретной фирмы влияют очень много факторов (в том числе и ее конкурентов). В частности, рост прибыли Intel в 1996 г. был заложен еще за три-четыре года до этого огромными инвестициями в НИИ/ОКР и в новые производственные мощности. А провал Cyrix и AMD можно было также предугадать: лужайка 486-х уже увяло, а к выходу на поле 586 они оказались явно не готовы.

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

Заключение таково: не надо делать из компьютера культа, но при этом полезно помнить высказывание кого-то из великих: "Нет ничего практичнее, чем хорошая теория."

В начало статьи

Приложение 1: механетис

Из книги "Физики продолжают шутить", конец 60-х годов: "Механетис — профессиональное заболевание тех, кто считает, что решение задачи, постановку которой они не могут даже сформулировать, может быть легко получено, если в их распоряжении будет достаточно мощная ЭВМ."

В начало статьи

Приложение 2: мое знакомство с АВМ

Первое знакомство с АВМ на уровне теории и курса лабораторных работ я получил в МИФИ в середине 70-х годов, а на практике мне пришлось столкнуться в 80-м, когда перешел на новую работу и попал в лабораторию моделирования геофильтрационных процессов. Эти модели описываются достаточно сложными дифференциальных уравнений и для их решения в лаборатории использовался некий электрический интегратор (не помню его названия). Это был здоровый шкаф размером 4*2,5*1,5 м, в котором находилось коммутационное поле и куча каких-то реле, источников питания, проводов и пр. В отдельных шкафах лежали груды сопротивлений и емкостей разных номиналов.

Сотрудники лаборатории еще раньше начали также использовать расчеты на ЦВМ (арендовалось машинное время), но 80-й год стал решающим — в институте вводилась в эксплуатация первая собственная EC-1022, а в лаборатории — единственная в институте СМ-1. Тем не менее в конце 1980 г. мне удалось стать свидетелем использования ЭИ. Почти неделю два-три сотрудника выполняли расчет электрических параметров модели. Потом в течение двух недель они проводили коммутацию и настройку интегратора. Само решение-вычисление произошло быстро - в момент включения рубильника. Но съемка полученных результатов заняла еще пару дней. Затем считался новый вариант — корректировка параметров, запись результатов (еще два-три дня) и т.д.

Одновременно я в тестовом режиме решал ту же задачу на СМ-1 (32 Кб оперативной памяти), для которой уже написал соответствующую программу. Решение одного вариант занимало 3-40 мин. (модель была очень чувствительна к исходным данным). Коррекция исходных данных для одного варианта и распечатка результатов требовали еще 10-15 минут. Сравнение результатов расчетов на ЭИ и СМ-1 выявили несколько ошибок в программе, но еще больше — ошибок при коммутации и замерах данных на ИЭ. Через пару недель таких параллельных расчетов, начлаб приказал выключить ЭИ и продолжать расчеты только на СМ-1.

Уже через год работы на ЕС и СМ ЭВМ нам было даже как-то неловко вспоминать примитивность математической модели, которая была пределом для того ИЭ. Но списали и выкинули ИЭ только через 5 лет, когда переезжали в другое помещение — все это время на "протирку контактов" ИЭ ежемесячно выписывалось по пять литров спирта.

В начало статьи