03:00

Математика 21 — радикальная смена парадигмы

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

Приведем два примера из истории европейской математики последнего тысячелетия.
Наверное, тем специалистам, которые в далеком прошлом пользовались общепринятой в то время римской системой счисления, казалось, что известная им арифметика — это те самые устои, которые не изменятся никогда. Хотя при этом даже сложить два больших числа было непростой задачей, а владение умножением вполне можно было приравнять к профессорской степени. Однако в начале второго тысячелетия в Европу пришла достаточно сложившаяся на востоке «арабская» позиционная система счисления, предложившая совершенно новое видение числа, при котором не только умножение, но и деление стали настолько простыми, что ими овладевают уже в начальной школе.
Продолжим цитатой из [1]. «Развитие науки в XVI–XVII веках вылилось в научную революцию. Она характеризовалась ломкой старых представлений и понятий, ломкой установившегося метода мышления, коренным изменением взглядов на мир, разработкой основ современного научного естествознания и математики как его рабочего инструмента. Вершиной научной революции было создание Декартом и Ферма аналитической геометрии, Ньютоном и Лейбницем — дифференциального и интегрального исчислений и Ньютоном — механики».

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


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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Суть различия этих понятий становится ясной даже на простейшем примере:
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 операций, задающая процесс выполнения этих операций для вычисления значений выходных параметров на основании заданных значений ее входных параметров, реализует цепочку причинно — следственного вывода второго из первого.


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

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

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

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

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

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

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

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


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



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

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

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

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

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

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

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


7. Пример

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

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

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

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

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

Такова сегодняшняя практика.

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

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

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


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


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

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

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

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

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

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


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

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


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

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


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

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

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

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

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


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



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

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

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

Крайним примером может служить любая реальная система, которая является моделью самой себя. Что часто и используется заменой ее в эксперименте ее уменьшенной (или упрощенной) копией.

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

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

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

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

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

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


12. Процесс пошёл


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

Недоопределенность — наиболее важное из них и достаточно разработанное к настоящему времени — является основой действующей вы


Просмотров: 1827
Рейтинг: 5.0/1
Добавлено: 13.08.2010
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]