Трансляция связного алгоритма
sergey shishkinРассмотрим специализацию структуры, в которой элементы обладают способностью помимо существующих между ними структурных связей формировать комплементарные связи друг с другом.
Комплементарные связи - это связи элементов связного алгоритма, не участвующие в его упорядочивании и способные формироваться между элементом, участвующим в структуре, и вторым близким, свободным элементом, по классу взаимно-однозначно соответствующим первому.
Комплементарные элементы - это пара элементов связного алгоритма, в которой для каждого элемента его класс взаимно-однозначно определяется классом второго элемента, и между парными элементами возможно формирование комплементарной связи.
На основе комплементарных элементов может быть синтезировано множество алгоритмов производящих трансляцию одной структуры (образца) в другую структуру (результат).
Трансляция - связный алгоритм формирования на основе комплементарных связей результирующей структуры в локали, содержащей частые элементы (или частые материалы элементов) этой результирующей структуры и структуру-образец, множество классов элементов которой в общем случае не равно множеству классов элементов результирующей структуры. При исполнении трансляции для каждого элемента структуры-образца формируется комплементарная связь со существующим в локали (или создаваемым из материалов) свободным элементом результирующего класса и для близких элементов результирующего класса формируются структурные связи, после завершения алгоритма использованные комплементарные связи могут быть разорваны.
Для осуществления разрыва всех комплементарных связей между образцом и результатом после завершения трансляции необходимо, чтобы комплементарные связи были слабее структурных связей и могли быть разорваны после формирования структурных связей объекта-результата.
Рассмотрим разные возможности свя́зных алгоритмов комплементарной трансляции в зависимости от свойств классов составляющих их элементов.
Выделим варианты, в которых одинаковы множество классов элементов образца и множество классов элементов структуры-результата. Тогда комплементарные связи задают взаимно-однозначное отображение множества классов элементов само в себя. И в зависимости от размера этого множества и от заданного отображения меняются возможности формирования на такой основе алгоритма трансляции.
Тривиальный вариант, задаваемый множеством классов элементов, состоящим из одного класса, вносит дополнительную сложность в реализацию разделения образца и объекта-результата в силу сложности реализации отличающихся структурных и комплементарных связей между одинаковыми объектами.
Для варианта, задаваемого множеством классов элементов, состоящим из двух классов a и b существует несколько подвариантов, определяемых способом отображения этого множества само в себя. И для любого из них важно, что разные свойства элементов a и b позволяют формировать связи разной устойчивости, обеспечивая большую устойчивость структурных связей.
Подвариант с комплементарными связями между элементами одного класса (a a↦a и b b↦b) имеет одну обязательную структурную связь (a a⇔b).
Подвариант с комплементарными связями между элементами разного класса (a a↦b и b b↦a или альтернативное обозначение a a↔b) делает обязательными две структурные связи (a a⇔a и b b⇔b).
Рассмотрим варианты, в которых множество классов элементов образца и множество классов элементов объекта-результата не пересекаются. Тогда для получения взаимно-однозначного отображения необходимо, чтобы размеры этих множеств были равны.
Подвариант, задаваемый множеством классов элементов, состоящим из N классов {a1,a2…an} и множеством комплементарных элементов \lbrace b_1, b_2, \ldots, b_n \rbrace{b1,b2,…,bn} имеет N комплементарных связей i∈[1..N]:ai↦bi и N \choose 2(2N) возможных структурных связей для объекта-образца и такое же количество парных им структурных связей комплементарного объекта.
Существует множество вариантов специализации элементов и их комплементарных и структурных связей.
Для примера будем рассматривать элементы, основанные на группе объектов из NN классов пар комплементарных объектов. ∀j∈[1..N]:c0,j↦c1,j
Первой специализацией рассмотрим использование в качестве элементов двухкомпонентных макро-объектов ∀i∈[0..1]:2comMacro⟨ci,j,si⟩{Link(ci,j,si)}, состоящих из:
- под-объекта ci,j, способного формировать комплементарную связь со вторым из пары комплементарных элементов, содержащий под-объект {1-i,j}c1−i,j;
- под-объекта i1si, являющегося структурообразующим, то есть способного формировать структурную связь с другим близким элементом, содержащим эквивалентный под-объект i1si⇔2si.
Такая специализация элемента позволяет выполнить трансляцию между структурами, отличающимися типом своих структурных связей, в случае, если не эквивалентны под-объекты1s0∼s1.
Второй специализацией является дополнение первой специализации элементами, являющимися трехкомпонентными макро-объектами 3comMacro⟨c1,j,s1,wk⟩{Link(c1,j,s1);Link(s1,wk)}, состоящими из:
- под-объекта c1,j, способного формировать комплементарную связь со вторым из пары комплементарных элементов, содержащий под-объект {0,j}c0,j;
- под-объекта 11s1, являющегося структурообразующим, то есть способного формировать структурную связь с другим близким элементом, содержащим эквивалентный под-объект 11s1⇔2s1;
- под-объекта kwk одного из K объектов, способного быть связанным с объектом 1s1.
При сюръективном отображении множества объектов ∀j∈[1..N]:c1,j во множество объектов ∀k∈[1..K]:wk трансляция из заданного экземпляра структуры из элементов {0,j}, 2comMacro⟨c0,j,s0⟩ будет всегда давать экземпляр структуры-результата, принадлежащего классу эквивалентности однозначно определяемому исходной структурой-образцом.
Третья специализация получается дополнением первой специализации элементами, являющимися многокомпонентными макро-объектами с под-объектами: {1,j1}, {1,j2}∀j1,j2∈[1..N]:c1,j1,c1,j2:
mcomMacro⟨c1,j1;c1,j2;wk⟩{Link(c1,j1;wk);Link(c1,j2;wk)
Реализация такого элемента возможна на основе макро-объекта 2comMacro:
mcomMacro⟨c1,j1;c1,j2;1s1;2s1;wk⟩mobj1≡2comMacro⟨c1,j1,1s1⟩mobj2≡2comMacro⟨c1,j2,2s1⟩Link(1s1;2s1)Link(mobj1;wk);Link(mobj2;wk)
Значимый состав макро-объекта mcomMacro тождественен составу макро-объекта 3comMacro, но при отображении множества пар объектов {1,j1}; {c1,j1;c1,j2} во множество объектов ∀k∈[1..K]:{wk} появляется дополнительные возможности. Эти возможности могут обеспечить синтез специализации трансляции, кодирующей последовательной структурой-образцом с малым количеством типов элементов последовательную структуру-результат, содержащую большее количество элементов. При увеличении количества L комплементарных объектов ∀l∈[1..L]:{c1,jl} в составе макро-объекта mcomMacro увеличивается количество N^LNL возможных размещений с повторениями. При количестве вариантов кодирования N^LNL, превышающем количество элементов результирующей структуры K, появляется возможность специализировать использование размещений не отображающихся во множество объектов {wk}.