История вычислительной техники за рубежом

Введение в недоопределенность

4. Модель vs. алгоритм

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

Фундаментальному различию алгоритма и модели как базисных концепций ИТ посвящена специальная статья [21], фрагменты которой использованы в этой главе.

4.1. ЧТО или КАК

Понятие алгоритма — одно из наиболее фундаментальных как в вычислительной математике, так и в программной технологии в целом. Использовать компьютер означает задать программу, т.е. алгоритм: в подавляющем большинстве случаев указывать машине какая проблема решается не имеет смысла, поскольку для ее работы необходимо определение не того, ЧТО решать, а КАК это выполнить.

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

Однако и сама математика и связанные с ней прикладные науки включают не менее фундаментальное понятие формальной модели, определяемой множеством переменных-параметров и множеством отношений, связывающих значения этих переменных.

Модель является базовым понятием для любых областей знаний, использующих аппарат математики, поскольку каждая попытка работать в точных терминах с реальным явлением должна начинаться с его формального описания, т.е. модели. Именно модель представляет объект исследования или расчетов и определяет характер формального аппарата, используемого для описания задачи и выполнения необходимых вычислений.

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

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

Таким образом, вопреки привычной точке зрения, алгоритм естественен только для профессиональных программистов и разработчиков вычислительных методов.

Простая истина, что прежде, чем определить КАК, необходимо сформулировать ЧТО является объектом решения, т.е. построить модель, очевидна для всякой науки, использующей математику, кроме самой computer science.

Такое положение вполне объяснимо, поскольку алгоритм представляет собой инструмент, являющийся необходимым практическим ключом к компьютеру. И современная вычислительная математика предлагает целый комплекс таких разработанных ею инструментов, т.е. методов решения отдельных классов задач. Модели же остаются бесполезным в прикладном отношении средством спецификации проблемы, которое оказывается доступным машине только в весьма редких случаях, а именно тогда, когда для соответствующей задачи существует метод и алгоритм уже реализованные в форме специализированного программного пакета.

Именно это определило парадоксальность современного положения вещей в прикладных математических технологиях, в которых модель можно встретить как правило только в теоретических работах в качестве иллюстрации к объекту исследований.

4.2. Алгоритм и реальный мир

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

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

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

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

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

4.3. Пять коренных различий

Для сопоставления модели и традиционного (императивного) алгоритма можно указать пять их очевидных различий.

МОДЕЛЬ АЛГОРИТМ
а. Принципиально декларативна. а. В определенном смысле, антидекларативен.
b. Симметрична по отношению к параметрам, поскольку все они неявным образом определяются друг через друга. b. Разделяет параметры на входные и выходные, явным образом определяя вторые через первые
c. В неявной форме определяет решение всех задач, связанных с объектом моделирования. c. Определяет в явной форме решение только одной задачи, отношение которой к реальному объекту не всегда очевидно (см. ниже).
d. Может быть недоопределенной. d. Традиционный алгоритм и недоопределенность — несовместимые понятия. Интервальный алгоритм оперирует с интервальным представлением чисел, но интервалы здесь не обладают возможностью стягиваться и представляют скорее неточность [25], чем недоопределенность .
е. В общем случае определяет все пространство решений е. Традиционный (не интервальный) алгоритм позволяет получать только отдельные — часто далеко не лучшие — точечные решения.

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

4.4. Океан реальных задач

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

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

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

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

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

Иллюстративный пример | Оглавление | Свойства недоопределенных расширений

Перепечатывается с разрешения автора
Статья помещена в музей 30.09.2008 года