Связный алгоритм

Связный алгоритм

sergey shishkin

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

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

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

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

Существует различные способы объединения опорных объектов алгоритма связями:

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

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

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

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

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

Элемент - это упорядоченный опорный объект связного алгоритма.

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

Структура - это макро-объект, сформированный из объединенных структурными связями элементов связного алгоритма. Для указания, что макро-объект ObjStruct является структурой алгоритма Alg введем отношение StructAlg​(ObjStruct).

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

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

Важно

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

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

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

Для цепочек, состоящих из элементов n классов, количество вариантов возможных объектов для длины L равно nL+1n^{L+1}nL+1. А количество вариантов для всех цепочек длиной от 1 до L равна ∑i=1Lni+1\sum_{i=1}^{L}{n^{i+1}}∑i=1L​ni+1.

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

Примеры cвязного алгоритма:

  • машина Тьюринга;
  • сортировка односвязного списка;
  • транскрипция ДНК;
  • трансляция мРНК в белок;
  • программа для ЭВМ.

Примеры структур:

  • лента машины Тьюринга;
  • односвязный список;
  • РНК, ДНК;
  • красно-чёрное дерево;
  • ER-диаграмма базы данных.

Примеры обусловленного алгоритма:

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

https://telegra.ph/Obshchaya-teoriya-algoritmov-01-20

Report Page