Научная статья на тему 'Подход к систематизации алгоритмов'

Подход к систематизации алгоритмов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
477
78
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГОРИТМЫ / ОНТОЛОГИИ / ЗНАНИЕ / ОБОБЩЕНИЕ / ТОПОЛОГИЧЕСКИЕ МОДЕЛИ / ФОРМАЛЬНЫЕ МОДЕЛИ / ИНКРЕМЕНТНЫЕ МОДЕЛИ / ПРИКЛАДНАЯ ОНТОЛОГИЯ / ALGORITHMS / ONTOLOGIES / KNOWLEDGE / GENERALIZATION / TOPOLOGICAL MODELS / FORMAL MODELS / INCREMENTAL MODELS / ONTOLOGICAL ENGINEERING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Цветков В. Я., Мордвинов В. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

APPROACH TO SYSTEMATIZATION OF ALGORITHMS

The paper offers a method of investigating algorithms from an ontological perspective. It explores various approaches to creating and defining algorithms. A point of view has been singled out, according to which the algorithm is not only a scheme for calculating, but an instrument for knowledge and knowledge transfer. The connection between algorithms and ontologies is grounded. The article provides systematic and categorical classification of algorithms. The article proposes the basis of generalization for two groups of algorithms: linear and nonlinear. These groups contain typical subgroups: direct algorithms, cyclic algorithms, stratified algorithms, iterative algorithms, incremental algorithms. Incremental algorithms are represented by two schemes: a sequential circuit and a spiral scheme. The article explores the sorting algorithm. The paper uses a topological and formal description of algorithms. This makes it possible to generalize and isolate the cognitive meaning of algorithms. The article notes the existence of algorithms for quantitative processing and qualitative analysis. The method of generalization equally applies to these types of algorithms. Paper recommends further study of algorithms as an instrument of knowledge and knowledge transfer.

Текст научной работы на тему «Подход к систематизации алгоритмов»

УДК 05.13.01

ПОДХОД К СИСТЕМАТИЗАЦИИ АЛГОРИТМОВ

1 2 В.Я. Цветков , В.А. Мордвинов

1 Научно-исследовательский и проектно-конструкторский институт информатизации, автоматизации и связи на железнодорожном транспорте (АО «НИИАС»), Москва, Россия [email protected]

2 Институт информационных технологий и автоматизированного проектирования Московского технологического университета (МИРЭА), Москва, Россия caf.iis@yandex. ги

Аннотация

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

Ключевые слова: алгоритмы, онтологии, знание, обобщение, топологические модели, формальные модели, инкрементные модели, прикладная онтология.

Цитирование: Цветков, В.Я. Подход к систематизации алгоритмов / В.Я. Цветков, В.А. Мордвинов // Онтология проектирования. - 2018. - Т. 7, №4(26). - С. 388-397. -Б01: 10.18287/2223-95372017-7-3-388-397.

Введение

Создание алгоритмов связано с проектированием и моделированием. Онтологии алгоритмов могут относиться к области онтологий проектирования [1] или к онтологии моделирования [2]. Сравнивая концепции, описанные в указанных работах, по большему числу признаков онтологии алгоритмов следует отнести к онтологиям моделирования. В то же время, точка зрения авторов данной статьи отличается от принципов, изложенных в работе [2]. После концептуальной модели автор этой работы ставит объектную и трансформационную модели. В реальности каждый алгоритм обладает функциональностью, которая в работе [2] не рассматривается. Именно функциональность отражает главную роль алгоритма. Аспект функциональности в работе [2] не отражен, но это вполне объяснимо, поскольку она ориентирована в первую очередь на ситуационное управление и во вторую на моделирование, а не на алгоритмы. Другая сторона создания алгоритмов связана с их технологической направленностью на обработку информации и прямо не связана с онтологической составляющей. В известной работе Т. Кормена [3], многократно переизданной [4], на которую существует более 4000 ссылок, заложены канонические основы построения алгоритмов. Эти основы направлены на методы вычислений. Однако в книге слабо представлен системный анализ.

Достаточно отметить, что базовым принципом построения алгоритмов во введении поставлен эвристический принцип «разделяй и властвуй». Де-факто это относит такой подход в область эвристики и когнитивного анализа. Но эти аспекты не рассматриваются в работе [3]. По мнению авторов данной статьи, современные алгоритмы можно рассматривать как сложные системы, поскольку они обладают многими соответствующими признаками. Алгоритм можно отнести к классу закрытых детерминированных сложных систем, и, используя подход Месаровича [5], можно отметить свойство функциональности как одну из миссий сложной системы и миссий алгоритма. В настоящее время развиваются сложные системы с переменной структурой. Однако алгоритмы имеют устойчивые связи и относятся к системам с постоянной структурой. Определение сложных систем, даваемое в работах по системному анализу Месаровичем [5], Берталанфи [6] и Уемовым [7], определяет их как системы, имеющие совокупность устойчивых связей. Это полностью соответствует представлению об алгоритмах. Вместе с тем, во многих работах алгоритм, как объективный феномен, связывают лишь с обработкой информации, тогда как в широком смысле он, безусловно, является носителем знания и средством познания. В книге Н. Моисеева [8], изданной ещё до выхода работы [3], алгоритмы рассматриваются с логическо-познавательных позиций как схема эволюции, а не как вычислительный механизм. Такая точка зрения приближает алгоритм к онтологии. Алгоритм можно рассматривать как зафиксированное знание, которое воспринимается разными людьми и может передаваться от одного человека к другому. Совокупность алгоритмов, решающих родственные задачи, даёт возможность делать научное обобщение, которое выходит за рамки технического решения задачи. Это даёт основание связывать алгоритмы с онто-логиями и говорить об онтологии алгоритмов. Цель данной статьи - попытка описания онто-логий алгоритмов и их систематика с онтологических позиций.

1 Материалы и методы

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

1.1 Топологические модели алгоритмов. Систематика алгоритмов

Обобщая различные схемы алгоритмов и применяя системно-категориальный анализ [9] можно выделить определённые группы алгоритмов по признаку сходства и разные группы по признаку различия. Построение алгоритмов связано с функциональными преобразованиями. Простейшее функциональное преобразование входной информации X в выходную информацию У с помощью функции / имеет вид

(1) У=ДХ),

или в логической форме

(2) X ^ У.

По этой причине алгоритмы, которые относятся к группе, описываемой выражениями (1) и (2), называют прямыми или сквозными [10]. Кроме того, возможны линейные и нелинейные алгоритмы. Это разделение обусловлено топологической схемой алгоритма. Если схема представляет собой последовательную цепочку (ациклический граф), то такой алгоритм является линейным. Схема в выражении (2) может описывать один процесс или совокупность последовательных процессов. Это описание линейных алгоритмов [11]. Линейные алгоритмы могут иметь разную длину, но имеют один маршрут вычислений.

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

Рисунок 1 - Три схемы линейных алгоритмов А - сквозной (Alj); B - циклический (Al2); C - стратифицированный (Al3);

Алгоритм со схемой, представленной на рисунке 1А, называют «сквозным» или «прямым». Он используется в основном при количественной обработке информации. Часто он представляет собой совокупность параллельных веток и служит основой параллельной обработки информации [12]. Формально его описание имеет следующий вид

(3) Alj: F(X) ^ Y.

(4) (3Ah(X) ^{F(X) ^ Y}.

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

Алгоритм на рисунке 1 В называют «циклическим» или «с условием». Формально его описание имеет следующий вид

(5) AI2: F((X, n, S)) ^ Y(n, S),

где n - число циклов, S- погрешность.

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

Алгоритм на рисунке 1С называют «стратифицированным». Он содержит множество входов и такое же количество выходов. Его описание имеет следующий вид

(6) Al3 = IAlh

где i = 1...n - количество слоёв L.

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

(7) Alf. ВД)^ Li.

Выражение (7) означает, что частный алгоритм обработки Ali преобразует входное подмножество X в выходное подмножество Li, которое представляет собой слой в общей системе слоев.

(8) Y = Ъи + Con(i, j).

Выражение (8) означает, что результат обработки Y представляет собой сумму результатов Li, и множество связей между ними Con(i, j) [13].

Общая топологическая схема всех алгоритмов, представленных на рисунке 1, приведена рисунке 2. Эта схема соответствует обобщённому описанию (1), (2). Простейший алгоритм имеет один блок обработки.

В2 Вз BN

Рисунок 2 - Общая топологическая схема линейных алгоритмов X- входная информация; У - результат (выходная информация); Ы- функциональный блок, содержащий функцию обработки/¡.

На рисунке 3 приведён пример топологической схемы нелинейного алгоритма. Схема на рисунке 3 с учётом ориентации дуг графа условно имеет два циклических контура. При рассмотрении графа как не ориентированного число циклов многократно возрастает.

Рисунок 3 - Пример топологической схемы нелинейного алгоритма

Такая схема на практике имеет множество разновидностей. Две из них представлены на рисунке 4 - это схемы итеративного (А) и линейного инкрементного (В) алгоритмов.

Итеративный и инкрементный алгоритмы имеют сходство и различие со стратифицированным алгоритмом (рисунок 1С). При их использовании задаётся некое начальное условие Хо базовое входное множество Х1 и совокупность входных множеств X. Это первое принципиальное отличие. В линейных алгоритмах входное множество одно.

Итеративный алгоритм (рисунок 4 А) имеет следующее описание:

(9) А/4 = ЪА/Ь

где i = \ ...n - количество итераций; (10) Alf. ВД)^ Y + di.

Рисунок 4 - Итеративный (А - Al4) и инкрементный (В - Al5) алгоритмы

Выражение (10) означает, что частный алгоритм обработки Ali преобразует входное подмножество Xi в выходное подмножество Yi плюс итерационную добавку di - аддитивную часть в общем выходном множестве Y. Результат вычислений на этапе и итерация объединяются в точках слияния Ci. Вычисления происходят по двум контурам: основному (Y) и вспомогательному (di)

(11) Y = ВД+d).

Для итеративных алгоритмов существует проблема сходимости [14]. Она состоит в том, что не при всяких начальных условиях X0 результат вычислений сходится. Сходимость возможна, если limi^m(dj) = 0.

Инкрементный алгоритм (рисунок 4В) имеет следующее описание

(12) AI5 = SAlj,

где i = 1.. .n - количество инкрементных операций:

(13) Ali. Fi[Xi + %1)] ^ Yi + Ri.

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

(14) Y = ВД + Ri).

Выражение (14) означает, что частный алгоритм обработки Ali преобразует входное подмножество X в выходное подмножество^, и создаёт дополнительный ресурс Ri, который используют на последующем этапе обработки информации. Т.е. результат инкрементной обработки Y представляет собой аддитивное множество Y плюс некий дополнительный информационный ресурс R, который можно использовать при решении других задач. Алгоритм на рисунке 4В называют линейным в силу того, что он последовательно решает задачу без возврата к предыдущим этапам. Алгоритм Al5 является в большей степени «онтологичным» в

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

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

Рисунок 5 - Спиральная схема инкрементного алгоритма (Al6)

Инкрементный спиральный алгоритм имеет описание, аналогичное (12):

(15) А1б = ?Alt.

Выражение (15) означает, что общий алгоритм обработки Al представляет собой сумму частных алгоритмов, как при линейной инкрементной обработке (13). Здесь t = 1...n - количество инкрементных операций:

IncA: f(A(X, n)) —>ZSi+ ZSj, i=1..n, j=1..n-1, Si - частные решения на каждом шаге

(16) Al,: Ft[X + R-1) + См] — Y, + R, + С,.

Здесь: Yt - частное решение, Rt - частный ресурс, Ct - частное новое условие на t-ом шаге; IncA - обозначение инкрементной обработки.

Выражение (16) означает, что частный алгоритм обработки Alt реализует версию преобразования входного подмножества Xt в выходное подмножество Yt и создаёт дополнительный ресурс Rt, который используют в следующей версии обработки информации. Дополнительно на каждом витке спирали (шаге инкремента) формируется дополнительное условие решения задачи, которое расширяет направление спирали и меняет вектор решения1. Обработка осуществляется с возвратом к исходным условиям, но с применением дополнительных ресурсов и дополнительных условий:

(17) Y = Z[Y, + R,)] + ZQ.

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

1 Вектор решения это касательная к спирали в точке пересечения ею линии контроля.

ем ресурса решения задачи и изменением (уточнением) исходных условий. Спираль раскручивается до тех пор, пока очередная версия не попадёт в область решения. Алгоритм на рисунке 5 описывает, в том числе, и генетические алгоритмы.

1.2 Технология сортировки

Сортировка является типичным алгоритмом количественной [3] и качественной обработки информации. Его схема приведена на рисунке 6.

Сортировка преобразует входное гетерогенное неклассифицированное множество X в совокупность классифицированных однородных множеств У,. Алгоритм сортировки достаточно прост и имеет следующее описание. Объект А принадлежит классу С1а&&1 (класс г), если содержат те же элементы, что и в классе С1а&&1.

(18) Ух(х е А & х е СЬяяЦ ^ А е С1а$$1,

гдеУ - квантор общности, ^ - знак «следует». Приведённая запись читается так: «Множество А принадлежит классу С1а5$1, если для каждого элемента множества х, принадлежащего множеству А, следует принадлежность этого же элемента х множеству ClassI». Особенность выражения (18) в том, что оно позволяет осуществлять качественный анализ и качественную обработку. Выражение (18) позволяет соотносить объект А с определённым классом и относить объект к классу и по свойствам его элементов. Алгоритм, который

Рисунок 6 - Алгоритм сортировки

описывает выражение (18), является качественным.

2 Обсуждение

Проведённый анализ позволяет говорить об общем онтологическом описании качественных и количественных алгоритмов. Если работа [3, 4] рассматривает технологическую вычислительную сторону алгоритма, то работа [8] трактует алгоритм как метод исследования и анализа эволюции. В работе [15] алгоритм применяется как инструмент анализа топологии и сложности, что также далеко от чистых вычислений и приближает это понятие к познавательному образу. Замечательным представляются исследования [15] комплексного представления проблем обработки предметно-ориентированных знаний (в научно-технической сфере), построения и проектирования «знание-ориентированных информационных систем с он-толого-управляемой архитектурой» [16] как нового класса средств вычислительной техники. Авторы прямо не употребляют термин «алгоритм», но в работе они рассматривают информационную технологию компьютерной обработки (алгоритм), технологию автоматизированной обработки предметно-ориентированных знаний (алгоритм), т. е. сущность работы в «онтологически - алгоритмических методах». Существует направление качественных алгоритмов [17], применяемых в качественном анализе [18]. Всё это говорит о многообразии понятия алгоритм и некорректности его сведения только к вычислительным процессам.

Можно говорить об алгоритмических моделях, о том, что алгоритмические модели могут относиться, а онтологические модели всегда относятся [19] к классу познавательных моделей. Это проявляется в связанном с ними и объединяющем их когнитивном моделировании [20, 21].

Заключение

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

Список источников

[1] Боргест, Н.М. Научный базис онтологии проектирования / Н.М. Боргест // Онтология проектирования. -2013. - №1(7). - С. 26-34.

[2] Смирнов, С.В. Онтологическое моделирование в ситуационном управлении / С.В. Смирнов // Онтология проектирования. - 2012. - №2(4). - С. 16-25.

[3] Cormen, T.H. Introduction to Algorithms / T.H. Cormen, C.E. Leiserson, R.L. Rivest. - MIT Press and McGraw-Hill, 1990. — 863 p.

[4] Кормен, Т.Х. Алгоритмы. Построение и анализ, 2-е издание / Т.Х. Кормен, Ч.И. Лейзерсон, Р.Л. Ривест, К. Штайн. - М.: Издательский дом «Вильямс», 2005. - 1296 с.

[5] Месарович, М. Общая теория систем: математические основы / М. Месарович, Н. Такахара. - М.: Мир, 1978. - 311 с.

[6] Берталанфи фон Л. Общая теория систем - критический обзор / Л. Берталанфи фон // Исследования по общей теории систем. - М.: Прогресс, 1969. - С. 23-82.

[7] Уемов, А.И. Системный подход и общая теория систем. - М. Мысль, 1978. - 272 с.

[8] Моисеев, Н.Н. Алгоритмы развития. - М.: Наука, 1987. - 304 с. (Переиздана в 2017 г. издательством Litres.)

[9] Буравцев, А.В. Системно категориальный анализ/ А.В. Буравцев, В.Я. Цветков // Сборник трудов VIII международной конференции ИТ-Стандарт 2017. - М.: Издательство «Проспект», 2017. - С. 250-255.

[10] Платунов, А.Е. Архитектурные абстракции в технологии сквозного проектирования встроенных вычислительных систем / А.Е. Платунов // Научно-технический вестник информационных технологий, механики и оптики. - 2002. - №6. - С. 76-82.

[11] Цветков, В.Я. Алгоритм линейной семантической интерпретации / В.Я .Цветков, Е.Е. Чехарин // Славянский форум. - 2017. - №1(15). - С. 134-140.

[12] Кулагин, В.П. Проблемы параллельных вычислений / В.П. Кулагин // Перспективы науки и образования. -2016. - №1. - С. 7-11.

[13] Цветков, В.Я. Геоинформационные системы и технологии / В.Я. Цветков. - М.: Финансы и статистика, 1998. - 288 с.

[14] Цветков, В.Я. Сходимость линейных пространственных задач / В.Я. Цветков // Информационные технологии. - 2017. - Т. 23. - №9.- С. 681-686.

[15] Нечепуренко, М.И. Алгоритмы и программы решения задач на графах и сетях / М.И. Нечепуренко, В.К. Попков, С.М. Майнагашев. - Наука, Сиб. отд-ние, 1990. - 515 с.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

[16] Палагт, О.В. Онтологические методы и средства обработки предметных знаний / О.В. Палапн, М.Г. Петренко, С.Л. Кривий. - Луганск: изд-во ВНУ им. В. Даля, 2012. - 324 с.

[17] Цветков, В.Я. Алгоритм качественной обработки информации при оценке предпочтительности / В.Я. Цветков // Славянский форум. - 2016. - 4(14). - С. 268-274.

[18] Цветков, В.Я. Качественные пространственные рассуждения / В.Я. Цветков. - М.: МАКС Пресс, 2017. -60 с.

[19] Микони, С.В. О качестве онтологических моделей / С.В. Микони // Онтология проектирования. - 2017. -Т.7, №3(25). - С. 347-360. - DOI: 10.18287/2223-9537-2017-7-3-347-360.

[20] Кудж, С.А. Когнитивные модели и моделирование / С.А. Кудж. - М.: МАКС Пресс, 2017. - 112 с.

[21] Номоконова, О.Ю. Когнитивное и социальное моделирование в медицинской диагностике / О.Ю. Номоконова // Славянский форум. - 2017. - 3(17). - С. 69-75.

APPROACH TO SYSTEMATIZATION OF ALGORITHMS

1 2 V.Ya. Tsvetkov , V.A. Mordvinov

1 Research and Design Institute of design information, automation and communication on railway transport, Moscow, Russia

[email protected]

2 Institute of Information Technologies of Moscow Technological University (MIREA), Moscow, Russia caf.iis@yandex. ru

Abstract

The paper offers a method of investigating algorithms from an ontological perspective. It explores various approaches to creating and defining algorithms. A point of view has been singled out, according to which the algorithm is not only a scheme for calculating, but an instrument for knowledge and knowledge transfer. The connection between algorithms and ontologies is grounded. The article provides systematic and categorical classification of algorithms. The article proposes the basis of generalization for two groups of algorithms: linear and nonlinear. These groups contain typical subgroups: direct algorithms, cyclic algorithms, stratified algorithms, iterative algorithms, incremental algorithms. Incremental algorithms are represented by two schemes: a sequential circuit and a spiral scheme. The article explores the sorting algorithm. The paper uses a topological and formal description of algorithms. This makes it possible to generalize and isolate the cognitive meaning of algorithms. The article notes the existence of algorithms for quantitative processing and qualitative analysis. The method of generalization equally applies to these types of algorithms. Paper recommends further study of algorithms as an instrument of knowledge and knowledge transfer.

Keywords: algorithms, ontologies, knowledge, generalization, topological models, formal models, incremental models, ontological engineering.

Citation: Tsvetkov VYa, Mordvinov VA. Approach to systematization of algorithms [in Russian]. Ontology of designing. 2017; 7(4): 388-397. DOI: 10.18287/2223-9537-2017-7-4-388-397.

References

[1] Borgest NM. Scientific basis for the ontology of designing [In Russian]. Ontology of Designing. - 2013. - №. 1 (7). - P.26-34

[2] Smirnov SV. Ontological modeling in situational management [In Russian]. Ontology of Designing. - 2012. - №. 2 (4). - P.16 - 25.

[3] CormenT, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L. Introduction to Algorithms. — 1st.— MIT Press and McGraw-Hill, 1990.— 863p. ISBN 0-262-03141-8.

[4] Kormen T., etc. Algorithms. Construction and analysis [In Russian]. - Williams Publishing House [Izdatel'skij dom Vil'jams], 2009. - 1296 p.

[5] MesarovicM., Takahara N. General theory of systems: mathematical foundations. - Moscow: Mir, 1978. - 311 p.

[6] Bertalanfifon L. The general theory of systems is a critical review. In the book. Studies on the general theory of systems. Moscow: Progress, 1969. P.23 -82.

[7] Uemov AI. The system approach and the general theory of systems [In Russian]. - M. Thought, 1978. - 272 p.

[8] Moiseev N. Development Algorithms [In Russian]. - M.: Nauka, 1987. - 304 p.

[9] Buravcev A V., Tsvetkov VYa. Systematically categorical analysis [In Russian]/ Proceedings of the VIII International Conference IT-Standard 2017 [Sbornik trudov VIII mezhdunarodnoj konferencii IT-Standart 2017]. - M.: Iz-datel'stvo «Prospekt», 2017. - P.250-255.

[10] Platunov AE. Architectural abstractions in end-to-end design of embedded computing systems [In Russian]. Scientific and technical herald of information technologies, mechanics and optics [Nauchno-tehnicheskij vestnik infor-macionnyh tehnologij, mehaniki i optiki]. - 2002. - №. 6.-P.76-82.

[11] Tsvetkov VYa., Cheharin EE. Algorithm of linear semantic interpretation [In Russian]. Slavic Forum [Slavjanskij forum]. - 2017. -1(15). - P.134-140.

[12] Kulagin VP. Problems of parallel computations [In Russian].Prospects of science and education [Perspektivy nauki i obrazovanija]. - 2016. - №1. - P.7-11.

[13] Tsvetkov VYa. Geoinformation systems and technologies [In Russian]. - M.: Finansy i statistika, 1998. -288 p.

[14] Tsvetkov VYa. Convergence of linear spatial problems [In Russian]. Information Technology [Informacionnye tehnologii]. - 2017. - T. 23. - № 9. - P.681-686.

[15] Nechepurenko MI., Popkov VK., Majnagashev SM. Algorithms and programs for solving problems on graphs and networks [In Russian]. - Nauka, Sib. otd-nie, 1990.

[16] Palagin OV., Petrenko MG., Krivij SL. Ontological methods and means of processing subject knowledge.- Lugansk: izd-vo VNU im. V. Dalja, 2012. - 324 p.

[17] Tsvetkov VYa. Qualitative information processing algorithm in the evaluation of preference [In Russian].Slavic Forum [Slavjanskij forum]. 2016. - 4(14). - P.268-274.

[18] Tsvetkov VYa. Qualitative spatial reasoning: Monograph [In Russian]. - M.: MAKS Press, 2017. - 60 p.

[19] Mikoni SV. On the quality of ontological models [In Russian].Ontology of Designing. 2017; 7(3): 347-360. D0I:10.18287/2223-9537-2017-7-3-347-360.

[20] Kudzh SA. Cognitive models and modeling: Monograph [In Russian]. - M.: MAKS Press, 2017. - 112 p. ISBN 978-5-317-05548-6.

[21] Nomokonova OJu. Cognitive and social modeling in medical diagnostics [In Russian].Slavic Forum [Slavjanskij forum]. - 2017. -3(17). - P.69-75.

Сведения об авторах

f

Цветков Виктор Яковлевич, 1945 г. рождения. Окончил Иркутский государственный университет 1967 г. (д.т.н.,, 1995). Заместитель руководителя центра стратегического анализа и развития НИИАС. Действительный член международной академии наук Евразии, действительный член Российской академии космонавтики им. К.Э. Циолковского, действительный член Российской академии образования. Лауреат Премии президента РФ в области образования (2003), лауреат Премии правительства РФ1 (2014), почётный работник науки и техники РФ, почётный работник высшего профессионального образования РФ, автор более 1100 печатных работ, в том числе 82 монографий, 64 учебных пособий, 66 дипломов и патентов.

Tsvetkov Victor Yakovlevich (b. 1945) graduated from the Irkutsk State University in 1967 (Doctor of Engineering 1995). Deputy Head of the Center for Strategic Analysis and Development of NIIAS.A full member of the International Academy of Sciences of Eurasia (IEAS), a full member of the Russian Academy of Cosmonautics by Tsiolkovsky, full member of the Russian Academy of Education, scientific secretary of the 6th division of the Russian Academy of Cosmonautics,. Laureate of the Presidential Prize in Education (2003), Laureate of the Government of the Russian Federation Prize (2014), Honorary Worker of Science and Technology of the Russian Federation, Honorary Worker of Higher Professional Education of the Russian Federation Author of more than 1,100 printed Works, including 82 monographs, 64 teaching aids, 66 diplomas and patents.

Мордвинов Владимир Александрович, 1946 г. рождения (к.т.н., профессор). Окончил Московский государственный технический университет (МИРЭА) в 1969 г. лауреат Премии Правительства РФ в области образования. Заведующий кафедрой инструментального и прикладного программного обеспечения Института информационных технологий Московского технологического университета (МИРЭА).

Mordvinov Vladimir Alexandrovich (b. 1946). (Ph.D., professor). He graduated from the Moscow State Technical University (MIREA) in 1969, laureate of the Government Prize of the Russian Federation in the field of education. Head of the Department of Instrumental and Applied Software of the Institute of Information Technologies of Moscow Technological University (MIREA).

Г

i Надоели баннеры? Вы всегда можете отключить рекламу.