Математика 21 – радикальная смена парадигмы: Модель, а не Алгоритм
А.С. Нариньяни
Содержание настоящего доклада относится прежде всего к математике вычислительной (ВМ), хотя высказанные ниже соображения имеют прямое отношение и к некоторым другим её разделам.
Термины Вычислительная математика, равно как и вынесенные в заглавие Модель и Алгоритм, настолько общи, что с каждым из них связано множество достаточно разных определений. Поэтому нам придется оговориться, что ВМ ниже будет обозначать область технологий, относящихся к математическим расчётам. Очевидно, что такая формулировка не претендует ни на роль определения, ни на точность, но она представляется достаточной для задачи этого текста.
1. Текущее положение дел
Текущее положение дел в ВМ можно попытаться оценить противопоставлением двух альтернативных точек зрения.
Одна, как бы сама собой разумеющаяся: ВМ – это успешная, быстро развивающаяся область, предельно востребованная практикой и в основном отвечающая её потребностям.
Вторая, далеко не такая оптимистическая: ВМ находится в углубляющемся кризисе, оказываясь всё более неадекватной в контексте растущих требований практики. В данный момент у ВМ нет концептуальных идей выхода из этого тупика.
Эти две точки зрения столь противоположны, что это не позволяет искать истину где-то посредине между ними. Область ВМ слишком сложна и разнообразна, так что выбор любой конкретной системы оценок неизбежно приведет к тому, что за ближайшими к ней деталями разглядеть суть глобальных проблем ВМ будет практически невозможно.
Единственным выходом представляется попытка рассмотрения обобщенной панорамы в форме наглядной метафоры, исходящей не столько из обилия частностей отдельных классов проблем, сколько из сопоставления текущей ВМ с пространством всех реальных вычислительных задач. Думаю, что все согласятся, что это пространство подобно безграничному океану, на карте которого разбросано несколько сотен островов, соответствующих конкретным типам задач, для которых в современной ВМ методы решения достаточно разработаны.
Для любой же задачи, не совпадающей с координатами этих «клочков обитаемой суши», готовых методов нет и решения получить, как правило, невозможно. С точки зрения «островитян» – профессионалов ВМ – такая задача является некорректной и поэтому для них решений как бы и не существует.
Эта малоутешительная картина постоянно меняется в худшую сторону, поскольку пространство реальных задач быстро растет по содержанию, по сложности, по разнообразию. Конечно, расширяются и архипелаги решаемых проблем, – растут как сами острова, так и их число. Но гораздо медленнее.
В данном случае очень важно, что разработанные вычислительные методы определяются не единой концепцией, а спецификой каждого отдельного класса задач. И поэтому, как и в жизни, у каждого острова своя островная «цивилизация»: свой взгляд на мир, своя школа и свои авторитеты.
Эта привычная и как бы естественная ситуация совершенно абсурдна. Даже если представить, что освоение нашей карты через рост числа островов будет идти не медленнее расширения самого океана, а это пока совершенно не так, то число школ при этом будет расти экспоненциально.
Что, конечно, абсолютно нереально, поскольку число необходимых для этого академиков-математиков и их учеников довольно скоро превысит население планеты.
2. Возможна ли революция?
Другими словами, ВМ пока решает те задачи, которые может, а отнюдь не те, решение которых от нее требуется.
В результате, кризис современной ВМ быстро углубляется, что вызвано её неспособностью:
- решать основной объём текущих реальных задач, и
- иметь потенциал развития, обеспечивающий необходимый темп расширения пространства конкретных приложений.
Конечно, сама констатация кризиса и определение его причин не решает проблемы. Очевидно, что в данном случае требуется радикальное изменение самой базовой концепции ВМ, а, следовательно, и её методологической парадигмы.
Весь вопрос в том, возможна ли такая революция в принципе? Ведь ВМ (и тут мы возвращаемся к обозначенной в начале «оптимистической» точке зрения) – это сложившаяся, в определённом смысле успешная, и, если не слишком быстро развивающаяся, то, по крайней мере, активно эволюционирующая область, безусловно востребованная практикой и, как принято считать, в основном отвечающая её потребностям.
Да и вообще, возможны ли революции в такой области, как математика, для которой по устоявшемуся мнению, характерно только поступательное движение вперед, никак не меняющее основ, а лишь неуклонно расширяющееся и углубляющееся.
Конечно, это мнение более чем наивно: если присмотреться к истории математики, то она представляет собой цепь концептуальных потрясений и качественных перемен, бывших именно революциями, без которых в принципе невозможно развитие никакой подлинной науки.
Приведем два примера из истории европейской математики последнего тысячелетия.
Наверное, тем специалистам, которые в далёком прошлом пользовались общепринятой в то время римской системой счисления, казалось, что известная им арифметика – это те самые устои, которые не изменятся никогда. Хотя при этом даже сложить два больших числа было непростой задачей, а владение умножением вполне можно было приравнять к кандидатской диссертации. Однако в начале второго тысячелетия в Европу пришла достаточно сложившаяся на востоке «арабская» позиционная система счисления, предложившая совершенно новое видение числа, при котором не только умножение, но и деление стали настолько простыми, что ими овладевают уже в начальной школе.
Продолжим цитатой из [1]. Развитие науки в XVI – XVII веках вылилось в научную революцию. Она характеризовалась ломкой старых представлений и понятий, ломкой установившегося метода мышления, коренным изменением взглядов на мир, разработкой основ современного научного естествознания и математики как его рабочего инструмента. Вершиной научной революции было создание Декартом и Ферма аналитической геометрии, Ньютоном и Лейбницем – дифференциального и интегрального исчислений и Ньютоном – механики»
Кажется, что этих двух примеров достаточно, поскольку в задачу этой работы никак не входит история математики как таковая, а из ограничения второго примера XVII веком никак не следует, что период революций завершился и именно тогда.
3. Причины кризиса
В любом случае, чтобы обсуждать радикальную смену, надо определить те недостатки текущей парадигмы, которые являются причинами рассматриваемого кризиса. Представляется, что таких причин, по крайней мере, три:
- Умозрительность математики, которая, как и всё на свете, проходила различные периоды развития, наиболее ранний из которых сегодня можно было бы назвать эмбриональным (к которому когда-нибудь отнесут и наш сегодняшний этап, представляющийся нам вершиной). Этот период был посвящён освоению начальных, все более сложных уровней принятой математикой на себя функции формализации знаний. Фактически на этой фазе она складывалась как инженерия знаний, пытавшаяся придать весьма эклектичной картине мира логически прозрачную форму. Сложность этого качественно нового процесса требовала, чтобы определение сути объекта рассмотрения, его свойств и функций были теоретически «чистыми», откуда и привычные для нас условия полноты, определённости, непротиворечивости, точности, и т.п. Однако эти умозрительные требования отнюдь не являются естественными для нашего представления о действительности сегодня. Равно как и для формулировки реальных задач, с которыми мы имеем дело, поскольку им свойственна неполнота, неточность, недоопределённость, противоречивость и многие другие свойства, аппаратом современной ВМ в основном не отражаемые.
Цитата, которая завершила предыдущий раздел, не только дает примеры составляющих революции математики XVI – XVII веков, но и косвенно подтверждает наш тезис о том, что математика всегда была именно инженерией знаний. - Роль Алгоритма в реализации прикладной функции ВМ. Сама организация вычислений при решении практических задач до последнего времени требовала чётко определённых предписаний, фиксирующих порядок расчётных операций, который позволяет получить из заданных исходных данных задачи нужный результат. Это было естественно в до-компьютерную эпоху и оставалось таким на начальных этапах развития компьютерной математики. За это время на порядки выросли масштабы задач, объемы и сложность данных, спектр операций, но алгоритмический принцип остается прежним. Он же определил и тот факт, что каждый тип задачи требует своего метода, поскольку разрабатывая Алгоритм для очередного класса проблем, математик сосредотачивался на специфике этого класса. В результате каждый раз за разнообразием частностей общую суть ВМ в целом разглядеть не удается. Что и породило сложившуюся картину островов на плохо обозримом пространстве океана вычислительных задач.
- Гегемония Алгоритма над Моделью. Если, Алгоритм отвечает на вопрос КАК, то Модель – на вопрос ЧТО. Странно заниматься первым вопросом не отвив на второй, откуда следует, что содержательно Модель должна занимать в ВМ при решении реальных задач ключевую роль. Именно Модель объекта расчётов формализует знания о нем и определяет их адекватность, поскольку без Модели любые вычисления не могут быть объективизированы. Таким образом, сама Модель может и должна быть основой решения всех задач, связанных с данным объектом. Пока же положение дел в ВМ обратное: Модель в подавляющем числе случаев не продуктивна для расчётов и может быть использована только в качестве иллюстративного публикационного материала. Для решения же каждой реальной задачи используется свой Алгоритм, связь которого с самим объектом и с его Моделью чаще всего достаточно не обоснована.
Поскольку мы уже дважды употребили в этом разделе термин инженерия знаний, причём явно не в общепринятом смысле, возникает необходимость обозначить то содержание, которое придается данному термину в этом нашем тексте.
Стоит начать с того, что термину инженерия знаний не более 30 лет и возник он в контексте организации извлечения неформализованных знаний из специалистов в той или иной области при создании соответствующих экспертных систем и баз знаний. Естественно, что при этом требовалась формализация получаемых знаний для ввода их в целевую компьютерную систему.
Поскольку сами целевые системы, как и многое другое в искусственном интеллекте, остались достаточно неопределёнными и пока не получают эффективного развития, то такой потенциально мощный по своему прямому значению термин остается узко специальным и не слишком внятным.
Однако его буквальный смысл ясен: инженерия – это понятие достаточно близкое к технологии, которая определяется как совокупность методов и инструментов для достижения желаемого результата; метод преобразования данного в необходимое; способ производства. Таким образом, если отделить знание вообще и знание достаточно формализованное для решения прикладных задач, то превращение первого во второе и естественно было бы назвать инженерией или технологией знаний. Именно в этом смысле любая формализация знаний является инженерией, а математика – её максимально чистой формой, позволяющей использовать знания как совокупность методов и инструментов для преобразования данного в необходимое. Именно в этом смысле мы и относим математику к инженерии знаний.
4. Алгоритм и Модель
Собственно противопоставление этих понятий и является сутью концептуальной разницы текущей и будущей парадигм. Основное содержание текста далее посвящено соотнесению их основных принципиальных отличий, и поэтому нам пора сформулировать, что мы под этими терминами понимаем в данной работе.
Алгоритм – это множество параметров (переменных), набор операций над этими параметрами и конкретный, возможно частичный и\или неявный, порядок выполнения операций из данного набора. Традиционный Алгоритм предполагает (а) известные (заданные) значения части параметров и (б) способность указанного порядка обеспечить вычисление значений неопределённых параметров, как конечных, так и необходимых промежуточных, на основе известных.
Модель представляет собой множество параметров и совокупность отношений, каждое из которых определяет взаимозависимость значений того или иного подмножества параметров. В общем случае, параметры совсем не обязательно числа, к ним могут относиться переменные самого разного класса, – логические, символьные, массивы, множества и т.п. При этом отношения могут быть как уравнениями любого типа, так и неравенствами, логическими отношениями, и любыми другими, вплоть до табличных зависимостей.
Обе эти формулировки нельзя считать определениями, но в задачу статьи это и не входило. В данном случае важно отразить их качественное различие. Алгоритм – это организация процесса на основе заданного набора операций, разделяющая параметры на входные (априорно определённые) и выходные (результаты), и обуславливающая вычисление результатов на основе заданных значений входных аргументов. В то же время Модель – это формальное описание объекта (предмета, явления, события, процесса и т.п.), достаточное для функционального отражения его в компьютере. Текущая парадигма МВ пока оставляет вопрос о методе такого отражения в основном без ответа.
Сказанное детализирует приведенную выше утверждение о том, что Алгоритм отвечает на вопрос КАК, в то время Модель – на вопрос ЧТО.
Суть различия этих понятий становится ясной даже на простейшем примере: x = F(y, z). В качестве операции, определяющей значение переменной x через значения переменных y и z, данное выражение может рассматриваться как простейший Алгоритм. А как зависимость, связывающая значения x, y и z, это – элементарная Модель.
В этом примере F может быть уравнением или любым другим типом отношения между параметрами x, yи z . Поскольку, как уже упоминалось выше, типы параметров и отношений могут быть самыми различными.
Модель декларативна, так как является описанием, не связанным с процессом вычислений, и симметрична ко всем своим параметрам. Будучи задана N параметрами и связывающих их M отношениями, Модель определяет в соответствующем N-мерном пространстве тело решений, т. е. множество всех точек, удовлетворяющих всем её M отношениям. Таким образом, Модель в целом представляет собой суммарное гиперотношение между своими параметрами.
Операция же определяет зависимость между x, y и z только в направлении от y и z к x. В определённом смысле, это причинно-следственная связь, утверждающая, что значение переменной x есть функция F от значений переменных y и z. Соответственно, процедура (алгоритм) из k операций, задающая процесс выполнения этих операций для вычисления значений выходных параметров на основании заданных значений её входных параметров, реализует цепочку причинно – следственного вывода второго из первого.
5. Алгоритм как неадекватное «наше всё» в ВМ
Как уже отмечалось, сегодня доминирует Алгоритм, но его построение возможно только тогда, когда соответствующий вывод от входа к выходу может быть прослежен и формально организован. И хотя он определяет только зависимость результата от исходных параметров, но их взаимосвязь для объекта расчёта при этом заведомо сложнее, поскольку, как минимум, существует и обратная зависимость, обычно далеко не однозначная.
При расчётах нам сплошь и рядом эта обратная связь нужна: например, при расчёте объекта А требуется не только определение выходных параметров, но и попадание их значений в заданные ограничения. Т.е. по сути, роль и тех и других, а, следовательно, прямой и обратной связи в прикладном смысле уравнивается.
Часто приходится слышать, что электронные таблицы (например, Excel) – это чуть ли не универсальное средство, которое не требует определения очередности вычислений, поскольку для него задание переменных и зависимостей между ними само определяет частичный порядок расчётов. Наивность такой оценки очевидна, поскольку задание для электронных таблиц – это чисто внешняя имитация Модели. В первую очередь потому, что в данном случае зависимости в Excel – отнюдь не отношения, а только функции, а следовательно такое задание представляет собой некоторый класс Алгоритмов, настолько простой, что частичный порядок операций может определяться автоматически.
Поскольку для сегодняшней ВМ любая реальная прикладная проблема – не более чем некая точка в океане, то для её решения современная парадигма предлагает только один способ: ориентируйся на ближайший остров, где хотя и умеют справляться лишь со своей постановкой, но могут внешне как-то связать её и с вашей задачей. А какое отношение имеет полученное решение к тому, которое требуется для дела, – возможно, весьма удаленное. Но это, так сказать, уже проблемы, находящиеся вне сферы ВМ.
Все сказанное относительно Алгоритма отражает ту специфику общепринятой, воспринимаемой как естественная и единственно возможная, парадигмы ВМ, при которой процесс разработки метода и сам Алгоритм становится своего рода прокрустовым ложем, а решение задачи – в отсечение всего того, что в это ложе не укладывается.
При этом, вычисляя результат выбранным методом с максимальной (много порядков) точностью, его надо в случае вашей задачи умножить на воображаемый достаточно грубый коэффициент «для большей надёжности результата». Одновременно стоило бы помнить и о том, что суммарная ошибка самого метода, как связанная с его выбором для данной задачи, так и накопленная в процессе вычислений, часто может привести к полной потере качества и даже смысла решения.
Здесь мы постоянно имеем дело с тесной связью сегодняшней технологии ВМ с доброй старой традицией: искать ключ под уличным фонарем не потому, что он потерян на этом месте, а потому что здесь сейчас намного светлее.
6. Модель в роли Золушки
В отличие от Алгоритма Модель является как бы портретом объекта моделирования, представляющим все доступные для формализации знания автора Модели о предмете, и суммарно отражает (хотя и не так явно) связи всех параметров со всеми.
Конечно, при этом возможно, что:
- Знания неполны, плохо формализуемы, противоречивы и т.п.,
- Модель по разным причинам отражает не все знания,
- «Портрет» в той или иной степени далек от сходства, вплоть до полного искажения оригинала.
Но аналогичные недостатки присущи и Алгоритму. Так что, если ориентироваться на более или менее адекватную Модель, то она должна в неявной форме определять решение всех (или значительного числа) задач, связанных с объектом Модели.
Поскольку Модель, заданная N параметрами и связывающих их M отношениями, определяет в соответствующем N-мерном пространстве тело решений как множество точек, удовлетворяющих всем M отношениям этой Модели, то таким образом, она задает все пространство ответов, которое является базой для того, чтобы:
- Исследовать его, проверяя на адекватность саму Модель, а также
- Искать в нем решения любых связываемых с Моделью задач, либо уточняя постановку соответствующими дополнительными ограничениями на те или иные параметры, либо оптимизируя решения по каким-либо параметрам или условиям.
Это, как очевидно, совсем другие возможности, чем дает Алгоритм, который (а) не достаточно ясно связан с объектом расчётов и (б) решает отдельную частную задачу расчётов «от входа к выходу».
Наконец, одно из ключевых преимуществ Модели – это то, что каждое её отношение работает как независимая составляющая. Это позволяет строить реальную Модель коллективными усилиями многих экспертов, причём даже без прямой их кооперации, т.е. без знания каждого о вкладе остальных. При этом их знания далеко не всегда должны являться истиной в последней инстанции и могут быть противоречивы. Это не мешает всей Модели функционально быть произведением этих знаний (конъюнкцией ограничений), а не их простой суммой. Что и способно обеспечивать результат, при котором адекватность Модели, т. е. её возможности в решении прикладных задач, может многократно превосходить компетенцию каждого из её создателей.
Достаточно сложная Модель – например, Модель экономики – слишком многомерна и функционально необозрима для выделения в ней всех локальных (отдельных) причинно-следственных связей. Она может быть только либо достаточно качественной, демонстрируя свою способность быть похожей на объект моделирования, либо оказаться в этом отношении неадекватной. «Объяснить» почему курс доллара сегодня именно таков невозможно, поскольку это результат непрямого взаимодействия слишком многих факторов. Курс может предсказать достаточно адекватная Модель, но никак не очередной гуру, поскольку (а) в его голове вся Модель уместиться не может и (б) даже если бы она там оказалась, то перевести соответствующую многомерную взаимосвязь в наглядные пояснения невозможно.
7. Пример
Сопоставление таких общих понятий как Алгоритм и Модель будет полезно проиллюстрировать достаточно конкретным и наглядным примером, в качестве которого можно рассмотреть расчёт типового трансформатора.
Наглядность этого примера определяется тем, что знания о трансформаторе вполне укладываются в хорошо разработанные разделы электротехники, и обкатаны более чем вековой историей развития прикладных расчётов в этой области. Конкретная конструкция, как правило, определяется значениями 120 – 150 параметров, в которые входят как суммарные оценки (мощность, напряжения обмоток, тепловые показатели, общие размеры, стоимость и т. п.), так и более частные (типы и размеры сердечника, число витков обмоток и типы проводов, и многие другие).
N параметров трансформатора определяют тело решений в соответствующем N-мерном пространстве, где каждая точка представляет его различные конструктивные варианты. Которых сегодня заведомо многие десятки тысяч, а, возможно, и миллионы.
Для приложений создано множество методов, которые при тех или иных заданных параметрах позволяют выбрать соответствующую конструкцию, т.е. определить значения всех остальных параметров. Специалист, разрабатывающий конкретный метод расчёта, должен быть экспертом как в электротехнике, так и в прикладной ВМ. Исходя из заданных условий и цели расчётов, он шаг за шагом формирует требуемый Алгоритм вычислений, используя:
- методику типа 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].
Недоопределённость – наиболее важное из них и достаточно разработанное к настоящему времени – является основой действующей вычислительной технологии, обеспечивающей перечисленные в п. 10 свойства А, В и С. Она базируется именно на концепции Модели [4], и уже доказала свою эффективность на широком спектре реальных задач. Эта технология получила название Недоопределённые Модели (Н-модели). В частности, что очень немаловажно, она – т. е. базовый процесс реализации Модели – обладает естественной параллельностью, полностью снимающей проблему распараллеливания, которая сегодня является камнем преткновения применения многопроцессорных систем.
Изменение карты ВМ со сменой парадигмы можно проиллюстрировать на примере решения задачи системы линейных уравнений. Известные методы требуют «чистоты» формулировки задачи, – полноты системы, т. е. совпадения числа вещественных переменных и связывающих их линейных зависимостей (более тонкие ограничения в данном случае можно оставить в стороне).
Любое отклонение от этой «чистоты»:
- Неполнота системы,
- Нелинейность части уравнений,
- Наличие целых переменных,
- Наличие недоопределённых коэффициентов, и т.п.,
и задача либо требует особых дополнительных усилий, либо – гораздо чаще – попадает в океан нерешаемых.
В рамках Н-моделей все эти вариации не влияют на процесс решения: любая Модель, представляющая собой множество N любых переменных (целые, вещественные, логические, символьные, и т.п.) и связывающих их M любых зависимостей (линейных и нелинейных уравнений, неравенств, и т.д.) решается одним универсальным методом. Суть которого в том, что N-мерное пространство задачи сжимается, выделяя ядро решений.
Поскольку это относится к большинству алгебраических задач, то на карте ВМ появляется достаточно крупный материк, покрывающий не только часть островов, но и значительную площадь океана.
13. Не только ВМ
Вернемся к началу этого текста. Многое выше относится не только к ВМ. Та же Недоопределённость применима не исключительно к числовым параметрам. Например, множество до сих пор представляло собой в основном элемент Теории множеств, прикладное значение которой оставалось пока «на заднем плане».
Однако реальное множество известно, как правило, не полностью, а лишь частично, и для работы с ним требуется использование такого типа данных как Недоопределённое множество [2]. Возможность Н-расширения оперативной части Теории множеств позволяет сопоставить частичной информации о любом числе конкретных множеств (например, в исторических или криминальных исследованиях) мощную Модель, автоматически уточняющей все, что содержится в ней в неявной форме. Даже если таких множеств в ней десятки или сотни тысяч.
К этому стоит добавить, что Н-расширение применимо к любым формальным системам, что способно многократно умножать прикладные возможности каждой из них или их сочетаниям.
14. Подведем итог.
Вычислительная математика в ближайшие годы радикально сменит парадигму и перейдет в новое качество. Поскольку разработка Модели – это формальное описание объекта моделирования, то фактически ВМ возвращается из технологии прикладных методов расчётов в основу инженерии знаний.
Может показаться, что это нечто совершенно неестественное. Однако вернемся к истории Математики, которую мы затронули в п.3, утверждая, что по сути она с самого своего начала была инженерией знаний, пытаясь на каждом этапе своего развития формализовать ту часть картины мира, которую ей формализовать удавалось. Конечно, это делалось теми средствами, которые она могла к этому моменту создать, и применялось к тем элементам действительности, где это получалось и казалось плодотворным.
Эта естественная линия развития начала отклоняться с появлением Алгоритма и расширением его роли в решении прикладных задач. Теперь же с завершением эпохи Алгоритма и возвращением к парадигме Модели, базовая содержательная роль Математики восстанавливается, и она вновь становится «технологией метазнаний».
Такая принципиальная трансформация предполагает, естественно, что основным содержанием ВМ станет качественное продвижение нескольких основных тесно связанных составляющих:
- Развитие теории представления знаний и соответствующих аппаратов описания Моделей, в частности, и за счёт включения в них упоминавшихся выше НЕ-факторов.
- Развитие технологий моделирования, оптимизация самого процесса «функционирования Модели», т. е. вычислительного процесса реализации Моделей на ЭВМ, и
- Развитие, т. е. расширение и эффективизация универсальной процедуры сжатия пространства моделирования для выделения тела решения (которое может качественно различаться для различных классов проблем) и взаимодействия с ним при решении конкретных прикладных задач.
Конечно, это будет совсем другая Математика с принципиально иным пространством применимости.
Литература
- Никифоровский В.А., Великие математики Бернулли, – М.:, Наука, 1984
- Нариньяни А.С. Недоопределённые множества – новый тип данных для представления знаний. – Новосибирск, 1980. –28с. (Препр./АН СССР. Сиб. отд-ние. ВЦ; № 232).
- Нариньяни А.С. Недоопределённые Модели и операции с недоопределёнными значениями. – Новосибирск, 1982. –33с. (Препр./ АН СССР. Сиб. отд-ние ВЦ; № 400).
- Нариньяни А.С. Недоопределённость в системах представления и обработки знаний // Изв. АН СССР. Техн. кибернетика, 1986. –№ 5. С. 3 – 28.
- Нариньяни А.С. Модель или Алгоритм: новая парадигма информационной технологии.// “Информационные технологии”, № 4, –М.:, 1997
Статья помещена в музей 31.07.2009,
с разрешения автора.