Математика XXI – радикальная смена парадигмы. Модель, а не Алгоритм
Автор Нариньяни А.С.   
22.02.2011 г.
 

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

 

The article is devoted to discussion of situation in computation mathematics that author  characterizes as crisis situation and provides guidelines of its overcoming.

 

КЛЮЧЕВЫЕ СЛОВА: вычислительная математика, история математики, научная революция, кризис, алгоритм, модель.

 

KEYWORDS: computation mathematics, history of mathematics, scientific revolution, crisis, algorithm, model.

 

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

Термин Вычислительная математика, равно как и вынесенные в заглавие термины Модель и Алгоритм, настолько общи, что с каждым из них связано множество достаточно разных определений. Поэтому нам придется оговориться, что ВМ ниже будет обозначать область технологий, относящихся к математическим расчетам. Очевидно, что такая формулировка не претендует на роль определения, но она представляется достаточной для задачи этого текста.

 

Текущее положение дел

 

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

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

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

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

 

Возможна ли революция?

 

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

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

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

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

В качестве второго примера возьмем развитие науки в XVI - XVII веках, вылившееся в научную революцию. Она характеризовалась в частности и разработкой основ современного научного естествознания и математики как его рабочего инструмента. Вершиной научной революции было создание Декартом и Ферма аналитической геометрии, Ньютоном и Лейбницем - дифференциального и интегрального исчислений и Ньютоном - механики» [Никифоровский 1984].

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

 

Причины кризиса

 

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

1. Умозрительность математики, которая, как и всё на свете, проходила различные периоды развития. Наиболее ранний из них сегодня можно было бы назвать эмбриональным (к которому когда-нибудь отнесут и наш сегодняшний этап, представляющийся нам вершиной). Этот период был посвящен освоению  начальных, все более сложных уровней принятой математикой на себя функции формализации знаний. Фактически на этой фазе она складывалась как инженерия знаний, пытавшаяся придать весьма эклектичной картине мира логически прозрачную форму. Сложность этого качественно нового процесса требовала, чтобы определение сути объекта рассмотрения, его свойств и функций были теоретически «чистыми», откуда и привычные для нас условия полноты, определенности, непротиворечивости, точности и т.п. Однако эти умозрительные требования отнюдь не являются естественными для нашего представления о действительности сегодня. Равно как и для формулировки реальных задач, с которыми мы имеем дело, поскольку им свойственна неполнота, неточность, недоопределенность, противоречивость и многие другие свойства, аппаратом современной ВМ в основном не отражаемые.  

2. Роль Алгоритма в реализации прикладной функции ВМ. Сама организация вычислений при решении практических задач до последнего времени требовала четко определенных предписаний, фиксирующих порядок расчетных операций, который позволяет получить из заданных исходных данных задачи нужный результат. Это было естественно в докомпьютерную эпоху и оставалось таким на начальных этапах развития компьютерной математики. За это время на порядки выросли масштабы задач, объемы и сложность данных, спектр операций, но алгоритмический принцип остается прежним. Он же определяет и тот факт, что каждый тип задачи требует своего метода, поскольку разрабатывая Алгоритм для очередного класса проблем, математик сосредотачивался на специфике этого класса. В результате каждый раз за разнообразием частностей общую суть ВМ в целом разглядеть не удается. Что и породило сложившуюся картину островов на плохо обозримом пространстве океана вычислительных задач.

3. Гегемония Алгоритма над Моделью. Если Алгоритм отвечает на вопрос КАК, то Модель - на вопрос ЧТО. Странно заниматься первым вопросом не ответив на второй, откуда следует, что содержательно Модель должна занимать в ВМ при решении реальных задач ключевую роль. Именно Модель объекта расчетов формализует знания о нем и определяет их адекватность, поскольку без Модели любые вычисления не могут быть объективизированы. Таким образом, сама Модель может и должна быть базой решения всех задач, связанных с данным объектом. Пока же положение дел в ВМ обратное: Модель в подавляющем числе случаев не продуктивна в качестве задания для расчетов и может быть использована только в качестве иллюстративного публикационного материала. Для решения же каждой реальной задачи используется свой Алгоритм, связь которого с самим объектом и с его Моделью - даже если она существует - чаще всего не обосновывается.

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

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

 

Алгоритм и Модель

 

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

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

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

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

Сказанное детализирует приведенное выше утверждение о том, что Алгоритм отвечает на вопрос КАК, в то время Модель - на вопрос ЧТО.

Суть различия этих понятий становится ясной даже на простейшем примере:

x = F(y, z).

В качестве операции F, определяющей значение переменной x через значения переменных y и z, данное выражение может рассматриваться как простейший Алгоритм. А как зависимость, связывающая значения x, y и z, это - элементарная Модель.

В этом примере F может быть уравнением или любым другим типом отношения между параметрами x, y и z . Поскольку, как уже упоминалось выше, типы параметров и отношений могут быть самыми различными. Например, x, y и z - множества, а F - пересечение множеств.

 

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

Операция же x = F(y, z) определяет зависимость между x, y и z только в направлении от y и z к x. В определенном смысле, это причинно - следственная связь, утверждающая, что значение переменной x есть функция F от значений переменных y и z. Соответственно, процедура (алгоритм) из k операций, задающая процесс выполнения этих операций для вычисления значений выходных параметров на основании заданных значений ее входных параметров, реализует цепочку причинно-следственного вывода второго из первого.

 

Алгоритм как неадекватное «наше всё» в ВМ

 

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

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

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

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

 

Модель в роли Золушки

 

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

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

Это, как очевидно, совсем другие возможности, чем дает Алгоритм, который не достаточно ясно связан с объектом расчетов и решает отдельную частную задачу расчетов «от входа к выходу».

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

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

 

Пример

 

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

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

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

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

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

 

Реальная Модель

 

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

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

Наши знания об объекте и его компонентах складываются из суммы составляющих.

  • 1. Информация о каждом из параметров: его тип и область значений. При этом параметр может быть сложным и сам представлять собой совокупность более простых параметров, - например, провод в трансформаторе определяется комплексом значений своих атрибутов, между которыми возможны и локальные ограничения, т.е. «встроенная» мини-Модель.
  • 2. Теоретические зависимости, отражающие взаимосвязь параметров объекта аналитически.
  • 3. Экспериментальные отношения, в форме таблиц, номограмм и т.п.
  • 4. Экстраполяции зависимостей, аппроксимирующие в аналитической форме эмпирические данные.
  • 5. Оценки экспертов (для объектов, менее четко проработанных, чем технические; например, та же экономика).

Для реального объекта вся эта информация по сути не может быть точной, поскольку определяется допусками, разбросами измерений и изготовления, округлениями и т.п. При этом возможна недоопределенность даже аналитической формы зависимостей. Например, пусть зависимость между параметрами y и x выражается достаточно непросто y = a . xk + b . e x - c , причем коэффициенты этой зависимости a, k, b, c - недоопределены и могут варьировать в относительно широких приделах. Вместе с тем экспериментальные данные дают ряд точек, определяющих для некоторых значений x довольно точно значение y и\или тех или иных его производных. Это позволяет доопределить коэффициенты a, k, b, c достаточно для использования данного отношения между y и x в Модели вполне продуктивно.

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

Понятно, что этот список далеко не полон, но он дает представление о сложности реальной Модели, которая - как и всякое знание - всегда остается лишь формальной аппроксимаций объекта в компьютере.   

 

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

 

Просуммируем рассмотренные выше сущностные свойства этих двух базовых понятий в таблице:

МОДЕЛЬ

АЛГОРИТМ

Представляет все знания об объекте моделирования. В неявной форме определяет решение всех задач, связанных с объектом Модели.

Определяет в явной форме процедуру решения только одной задачи, отношение которой к реальному Объекту не всегда очевидно.

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

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

В общем случае определяет всё пространство решений.

Традиционный (не интервальный) Алгоритм позволяет получать только отдельные решения.

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

Разделяет параметры на входные и выходные, явным образом определяя вторые через первые.

Может быть недоопределенной.

Алгоритм и недоопределенность - несовместимые понятия.

Принципиально декларативна.

В определенном смысле антидекларативна.

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

 

Точка бифуркации

 

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

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

Таким образом, для преодоления кризиса в ВМ необходима иная парадигма.

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

•B.    Аппарат моделирования должен обеспечивать адекватность ВМ реальным проблемам с учетом их естественных свойств.

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

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

 

Жизнь без Алгоритма

 

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

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

Иначе говоря, в аналоговых машинах (или аналоговых моделях) решение есть, а Алгоритма нет. И следовательно, любая формальная модель определяет свое решение per se, в независимости от того, как оно будет получаться: на компьютере того или иного поколения, аналоговой ЭВМ, нейронной сети или может быть на тех квантовых компьютерах, которые нам обещают в недалеком будущем.

Еще раз вернемся к сути Алгоритма. Это понятие предполагает кроме параметров объекта расчетов наличие (а) набора операций над этими объектами, (б) устройства реализации этих операций, (в) способ задания порядка операций и (г) аппарата исполнения этого порядка. Таким образом, Алгоритм состоит из двух уровней: «универсальная» база исполнения программ (а, б, г), конкретный Алгоритм - заданный порядок операций (в).

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

Однако с каждым поколением уровень информационных технологий рос по обеим своим составляющим: и в области программных технологий (software) и по сложности самого железа (hardware). Не говоря уже о том, что между ними расширялся промежуточный слой их программно-аппаратного симбиоза, включающий множество компонентов от встроенных микропрограмм, до операционных систем и Интернет обстановки, функционально не слишком отличимых для конечного пользователя от единого механизма исполнителя. В результате, если как-то зафиксировать многомерный протокол происходящего внутри любого ПК в процессе нашего с ним взаимодействия, трудно определить границы того, что могло бы рассматриваться как Алгоритм решения нашей текущей задачи. Причем с развитием вычислительной техники эта проблема становится все менее четкой и понятной, поскольку компьютер становится для нас все менее структурируемым «черным ящиком», а наша программа - все больше описанием задачи, а не Алгоритмом как таковым. 

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

 

Процесс пошел

 

Вернемся к уже начавшейся смене парадигм. Обозначенные выше свойства реальных задач, такие как неполнота, неточность, недоопределенность и многие другие, активно изучаются и частично используются в приложениях. Автор назвал их в свое время НЕ-факторами [Нариньяни 1980, 1982, 1986].

Недоопределенность - сегодня наиболее важное из них и достаточно разработанное к настоящему времени - является основой действующей вычислительной технологии, обеспечивающей перечисленные свойства А, В и С. Она базируется именно на концепции Модели [Нариньяни 1986], и уже доказала свою эффективность на широком спектре реальных задач. Эта технология получила название Недоопределенные Модели (Н-модели). В частности, что очень немаловажно, она - т.е. базовый процесс реализации Модели - обладает естественной параллельностью, полностью снимающей проблему распараллеливания, которая сегодня является камнем преткновения применения многопроцессорных систем.

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

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

 

Не только ВМ

 

Вернемся к началу этого текста. Многое выше относится не только к ВМ. Та же недоопределенность применима не исключительно к числовым параметрам. Например, множество до сих пор представляло собой в основном элемент теории множеств, прикладное значение которой оставалось пока «на заднем плане». Однако реальное множество известно, как правило, не полностью, а лишь частично, и для работы с ним требуется использование такого типа данных как недоопределенное множество [Нариньяни 1980]. Возможность Н-расширения оперативной части Теории множеств позволяет сопоставить частичной информации о любом числе конкретных множеств (например, в исторических или криминальных исследованиях) мощную Модель, автоматически уточняющей все, что содержится в ней в неявной форме. Даже если таких множеств в ней десятки или сотни тысяч. К этому стоит добавить, что Н-расширение применимо к любым формальным системам, что способно многократно умножать прикладные возможности каждой из них или их сочетаний.

 

Подведем итог

 

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

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

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

  • Развитие теории представления знаний и соответствующих аппаратов описания Моделей, в частности, и за счет включения в них упоминавшихся выше НЕ-факторов.
  • Развитие технологий моделирования, оптимизация самого процесса «функционирования Модели», т.е. вычислительного процесса реализации Моделей на ЭВМ.
  • § Развитие, т.е. расширение и эффективизация универсальной процедуры сжатия пространства моделирования для выделения тела решения (которое может качественно различаться для различных классов проблем) и взаимодействия с ним при решении конкретных прикладных задач.

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

 

Литература

 

Нариньяни 1980 - Нариньяни А.С. Недоопределенные множества - новый тип данных для представления знаний. Новосибирск, 1980. (Препр./АН СССР. Сиб. отд-ние. ВЦ; № 232).

Нариньяни 1982 - Нариньяни А.С. Недоопределенные Модели и операции с недоопределенными значениями. Новосибирск, 1982. (Препр./ АН СССР. Сиб. отд-ние ВЦ; № 400).

Нариньяни 1986 - Нариньяни А.С. Недоопределенность в системах представления и обработки знаний // Изв. АН СССР. Техн. Кибернетика. 1986. № 5.

Нариньяни 1987 - Нариньяни А.С. Модель или Алгоритм: новая парадигма информационной технологии // Информационные технологии. 1997. № 4.

Никифоровский 1984 - Никифоровский В.А. Великие математики. Бернулли. М., 1984.