Определение алгоритма
sergey shishkinОпределим формально ключевую сущность модели — алгоритм. Соберём все сведения, отмеченные в предыдущей главе. Алгоритм представляет собой повторимый способ изменения связей и локальных параметров объекта, запуск которого обусловлен близостью конечного множества экземпляров объектов и целиком определяется преобразующими свойствами классов этих объектов и текущими параметрами объектов.
Необходимо ввести в виде "чёрного ящика" описание влияния динамики на локальное множество объектов \mathbb{Obj1}Obj1 в конкретный момент времени \mathbf{t1}t1. Это влияние будем называть локальными динамическими ++параметрами объекта++, обозначать \mathrm{Param}( \mathbb{Obj1}_{\mathbf{t1}} )Param(Obj1t1). Необходимо ввести бинарную меру сходства KK динамических параметров в двух разных локалях. ++Локаль++ при этом задаётся указанием конкретного подмножества близких объектов в конкретный момент времени. Будем записывать K_{\mathrm{Param}}( \mathbb{Obj1}_{\mathbf{t1}}, \mathbb{Obj2}_{\mathbf{t2}} )KParam(Obj1t1,Obj2t2). KK нормирован в диапазоне от 00 (отсутствие сходства) до 11 (полное сходство). Для минимизации последующих записей введём двойственную к KK меру различия динамических параметров D = 1 - KD=1−K. Тогда запись D_{\mathrm{Param}}( \mathbb{Obj1}_{\mathbf{t1}}, \mathbb{Obj2}_{\mathbf{t2}} ) < \varepsilonDParam(Obj1t1,Obj2t2)<ε позволит указать количественное требование к сходству влияния, оказываемого динамикой, в двух локалях \mathbb{Obj1}_{\mathbf{t1}}Obj1t1 и \mathbb{Obj2}_{\mathbf{t2}}Obj2t2.
Алгоритм — это способ изменения связей и параметров объектов, обусловленный стартовыми условиями (1-10) и описанный результирующими условиями (11-14), указанными в рассмотрении описанных далее двух ситуаций в пространстве, в случае если выполнения стартовых условий является необходимым и достаточным, чтобы удовлетворить условия результирующие.
Первая ситуация происходит в интервале между двумя моментами времени [t1…t2] и описывается следующими условиями:
- в момент времени t1 выделимо некоторое конечное подмножество макро-объектов Algt1, покрытое отношениями связи и близости
[SomeLink1](⟨Algt1⟩)≡[Link(⟨Algt1⟩)]SomeLink1
[SomeNear1](⟨Algt1⟩)≡[Near(⟨Algt1⟩)]SomeNear1
2. возможно наличие внешних связей, задаваемых следующей группой отношений:
[OutLink](⟨Algt1⟩,\Algt1)≡[Link(⟨Algt1⟩,\Algt1)]OutLink
— но истинности конкретных отношений из группы ∀[Link(⟨Algt1⟩,\Algt1)] или ∃[Link(⟨Algt1⟩,\Algt1)] ) не влияют на процессы и выполнение условий, указанных далее.
3. в момент времени t2 выделимо множество макро-объектов Algt2 инвариантное к Algt1 и покрытое отношением связи
Algt2=Algt1=Alg
[SomeLink2](⟨Algt2⟩)≡[Link(⟨Algt2⟩)]SomeLink2
4. не является пустым множество изменённых макро-связей, задаваемое группой отношений Change(Algt1,t2) или есть изменение параметров объектов.
Change(Algt1,t2)≡[MacroLink(Algt1)=Algt1∼Algt2MacroLink(Algt2)]
{Change(Algt1,t2)}=∅ ∨ Param(Algt1)=Param(Algt2)
Вторая ситуация происходит в интервале, задаваемом произвольной парой моментов времени [t3…t4], который может не отличаться от [t1…t2]. Наступление второй ситуации обусловлено выполнением следующих стартовых условий:
5. в момент времени t3 выделимо конечное подмножество макро-объектов Exect3, покрытое отношениями связи и близости
[SomeLink3](⟨Exect3⟩)≡[Link(⟨Exect3⟩)]SomeLink3
[SomeNear3](⟨Exect3⟩)≡[Near(⟨Exect3⟩)]SomeNear3
6. выполнен показатель сходства параметров объектов в локалях Algt1…t2 и Exect3…t4
DParam(Algt1…t2,Exect3…t4)<ε
7. эквивалентны два множества объектов
Algt1∼Exect3
8. отсутствует пересечение двух множеств объектов
⟨Algt1⟩∩⟨Exect3⟩=∅
9. тождественно расположение и потому взаимное влияние объектов
∀[Near(⟨Algt1⟩)=Algt1∼Exect3Near(⟨Exect3⟩)]
10. тождественны связи двух множеств взаимодействующих объектов
∀[Link(⟨Algt1⟩)=Algt1∼Exect3Link(⟨Exect3⟩)]
Результирующие условия:
11. в момент времени t4 выделимо множество макро-объектов Exect4 инвариантное к Exect3 и покрытое отношениями связи
Exect4=Exect3=Exec
[SomeLink4](⟨Exect4⟩)≡[Link(⟨Exect4⟩)]SomeLink4
12. не является пустым множество изменённых макро-связей, задаваемое группой отношений Change(Exect3,t4) или есть изменение локальных параметров объектов.
Change(Exect3,t4)≡[MacroLink(Exect3)=Exect3∼Exect4MacroLink(Exect4)]
{Change(Exect3,t4)}=∅ ∨ Param(Exect3)=Param(Exect4)
13. тождественно изменение связей, если оно присутствует
∀[Change(Algt1,t2)=Algt1,t2∼Exect3,t4Change(Exect3,t4)]
14. тождественно изменение параметров объектов, если оно присутствует
DParam(Algt1,Algt2)=DParam(Exect3,Exect4)
Исполнение алгоритма - процесс осуществления способа изменения, закреплённого за алгоритмом, в конкретный момент времени с конкретным множеством экземпляров объектов.
Для обозначения факта, что множество объектов Alg является опорным для алгоритма Alg, исполняющегося в интервале между двумя моментами времени [t1…t2], введем запись Alg(Alg,t1…t2). Для названия алгоритма будем использовать моноширинный шрифт.
Для обозначения факта, что некоторое высказывание Expression1 является стартовым условием алгоритма Alg введем запись ConditionAlg≡Expression1.
Для обозначения факта, что некоторое высказывание Expression2 является описанием результата алгоритма Alg введем записьResultAlg≡Expression2.
Алгоритм может быть представлен примерами:
- химическая реакция веществ;
- физическое взаимодействие двух столкнувшихся тел;
- трансляция и транскрипция ДНК;
- музыкант играющий мелодию на музыкальном инструменте;
- промышленное производство удобрения;
- репродуктивное поведение у животных;
- план строительства здания совместно со строительной бригадой и материалами;
- компьютерная игра совместно с компьютером и играющим человеком.
Исполнение может быть представлено примерами:
- воспроизведение мелодии патефоном;
- концерт симфонического оркестра;
- строительство здания;
- партия игры в покер или бильярд;
- митоз клетки;
- сортировка товаров в выдаче страницы электронного магазина.