Рэйлвэй Каген писал(а):
...нет анализа вновь вводимых сущностей на предмет непротиворечивости с базовым Драконом на уровне языка - с иконами, маршрутами и правилами).
Я тут попробую порассуждать... Разделим предмет анализа (МШ-язык), как и ДРАКОН, на маршрутную часть и немаршрутную. Последняя "спрятана" в составе и содержании текста МШ-икон и по определению для узлов подлежит алгоритмизации; делается это по правилам ДРАКОНа на основе заданных дракон-моделей, и тут противоречия не будет - главное, чтобы суть расщепления/сбора раскрывалась дракон-моделями правильно, но это уже другой вопрос - к корректности методики алгоритмизации.
Первая же часть связана с абстрактными МШ-схемами (слепышами). Здесь отправная точка - доказанные Паронджановым теоремы 1 и 2 (нас интересует больше вторая).
Сначала рассмотрим, как сочинить некий МШ-слепыш в диоформе силуэта (или примитива), пользуясь операциями прибавления структурных элементов (и прежде всего ввода атома). Заготовки-аксиомы выбраны те же самые, правила вывода прибавлением в МШ те же, что и в ДРАКОНе; расширено лишь множество атомарных макроикон на Мультишампур. Положим, что он (без текста) топологически эквивалентен макроиконе Переключатель. Для обоснования этого утверждения нам потребуется определение древесных точек дракон-переключателя, показанное
здесь при описании сложных ветвлений и операций перевода на ДРАКОН (далее независимый шампур назовём Н-шампур).
Здесь рассмотрим два случая вначале для примитива:
1) все МШ-узлы имеют тип "один из многих";
2) имеется хотя бы один МШ-узел типа "не один из многих".
В случае 1) получается схема-слепыш, эквивалентная дракон-схеме (имеется в виду именно топология). Обоснование этому следующее. По определению узла расщепления типа "один из многих", имеем право заменить его на слепыш шапки переключателя; аналогично узел сбора "один из многих" заменяется на подвал переключателя (т.е. дерево "подвального сбора", которое после эргономических упрощений изображается как "гребёнка зубцами вверх"). Полученная схема есть дракон-схема.
Теперь разберём случай 2). Перевести узлы (некоторые или все) типа "не один из многих" прямо на ДРАКОН в смысловой схеме не получится; нужно алгоритмизовать. Однако утверждаю, что абстрактную МШ-схему можно приравнять к абстрактной дракон-схеме так же, как для случая 1). Обосновываю это так: обе они есть формы произвольной схемы деятельности, т.е. графа, обладающего такими свойствами:
а) этот граф ориентированный с циклами;
б) среди всех вершин этого графа имеется одна или несколько начальных, из которых только и могут начинаться любые маршруты на графе;
в) имеется также одна конечная вершина, к которой только и могут вести все маршруты на графе (включая циклические, если их развернуть, полагая число циклов конечным);
г) интерпретацией смысла (как говорят, "надстройкой") этой структуры является некое вычисление - получение объектов-результатов из исходных объектов (те и другие указаны деклар-текстом вершин и в случае физического процесса м.б. вещественно-энергетическими, а в случае информатического - данными) посредством операций, заданных командным текстом икон.
Замечание: качественно понятно, что число циклов (повторений некоторого подмаршрута подряд) д.б. конечным для целесообразной деятельности; даже "зацикливание" примитива/силуэта реального времени здесь не нарушает общности, т.к. ясно, что реальный исполнитель работает ограниченное время, следовательно и число циклов всё равно будет конечным; кроме того, и в этом случае можно указать конечную вершину схемы - это та икона, по которой происходит "риторический" возврат управления в точку после иконы основного/единственного входа, что показано здесь при описании "зацикливания" примитива).
Замечание 2: силуэт можно "перевести обратно" в драконоподобный примитив с сохранением разрешённых БП, как показано здесь при описании топологического перехода. При этом сохраняются и допвходы, если они были добавлены. Это представление имеет смысл не только в символическом представлении алгоритма; подобным образом и дракон-силуэт представляется как дракон-примитив с добавлением БП (но по несколько другим правилам) для последующего машинного кодирования (имхо, это и есть модификация шампур-метода для ассемблера).
Очевидно, что слепыш МШ-примитива удовлетворяет всем этим требованиям; а узлы "не один из многих" при абстрагировании трактуются как узлы "один из многих" с одним уточнением - МШ-специфичный текст каждого поля переносится в свою метку. А слепыш МШ-силуэта есть лишь способ укладки на плоскости произвольного графа деятельности (слепыша МШ-примитива с пересечениями). Значит, мы также можем раскрыть топологию МШ-узлов с использованием двоичных деревьев "шапочного разбора" и "подвального сбора", т.е. прямо перевести на ДРАКОН структуру маршрутов (и только) любой МШ-схемы.
Итак, операции прибавления структурных элементов (атомов) МШ-метода эквивалентны операциям шампур-метода, т.к. определены для абстрактных схем деятельности, а в этой форме записи единственный новый объект МШ-метода можно приравнять к одному из существующих в шампур-методе. К нему можно применить и добавление варианта (в смысловой записи - изначально пустого Н-шампура с критической точкой ввода), и боковое присоединение (однако синхронизация, я полагаю, будет относиться к процессу общего поля; для частных предлагается ввести внутрь поля зону-трапецию, имеющую тот же смысл).
Если же мы можем приравнять абстрактный МШ-примитив к абстрактному дракон-примитиву с той же структурой маршрутов, то по Теореме 2 можем уложить его в силуэт тем же образом (с точностью до типа икон Имя ветки и Адрес; переопределение их типа не происходит, т.к. приравненный к переключателю мультишампур вначале укладывается в одну ветку целиком), получив структуру из того же многообразия вариантов укладки; единственное отличие - появление меток (которые можно рассматривать как аналоги надписей в развилке; опять-таки несущественное отличие - у МШ-узла есть надпись также и при единственном входе/выходе).
Основными особенностями операций преобразования структуры МШ-метода является:
- возможность пересадить "разземлённый" Н-шампур в силуэте на узел сбора (создав новый его вход с частным полем); как правило (но не обязательно), этот шампур есть пустая ветка, предварительно созданная именно для такой операции.
- возможность просто пересадить нижний/верхний конец Н-шампура (и в примитиве, и в силуэте) на вход любого другого узла сбора МШ-схемы.
Первое следствие из этого - возможность пересечений Н-шампуров; чтобы исключить также пересечение их побочных вертикалей (если нагрузка Н-шампура нелинейная), введено правило разрыва пересекающего Н-шампура только по началу/концу. Допущение же таких пересечений (временных) в МШ-схеме ни на что не влияет, т.к. вводятся правила их разрешения (путём последующей укладки в петлю силуэта), которые можно распространить и на ДРАКОН.
Также не влияет на эквивалентность МШ-схемы дракон-схеме и допущение в первой "чёрного ящика".
Второе следствие - возможность разнесения мультишампура по веткам. Здесь также введено Тогда для МШ-силуэта имеем случаи топологии:
А) каждый МШ-блок целиком находится в одной ветке силуэта - сосредоточенный;
Б) некий МШ-блок (блоки) находится в разных ветках силуэта - разнесённый.
Можно ли рассматривать такой МШ-силуэт как эквивалент некоей дракон-схемы? Начнём со случая А). Для него ответ утвердительный; обоснование этому см. выше.
В случае Б) у нас получится абстрактная схема "МШ-силуэт", отличающаяся от МШ-примитива, уложенного в силуэт по шампур-методу, следующими особенностями:
А. разрывами некоторых линий (обозначены парами МИ7+МИ8 с одинаковым текстом), не входящими в петлю силуэта - это всё те же временные пересечения.
Б. в петле МШ-силуэта разрывы Н-шампуров (как результат их заземления также на Н-шампуры) обозначены также иконой МИ8 на конце заземлённого шампура и МИ7 с тем же текстом-индексом - в начале ветки, где этот шампур продолжается (снова уходя в подвал силуэта иконой МИ8) или заканчивается (если до следующей иконы подвала силуэта присоединён к узлу сбора; выход этого узла уже логически другой шампур, независимый только если является частью более раннего расщепления, чем рассматриваемое).
Итак, "переключатель", в который переводим абстрактный МШ-блок, м.б. разорван между ветками; каждый его "вариант" (частное поле расщепления) как бы посылает вперёд по шампуру своего "представителя" в виде иконы МИ7 (в шапке силуэта) в каждую ветку, продолжающую раскрытие этого "варианта". Это вытекает из того, что в созданной версии МШ-метода мы допустили размещение узлов-границ одного Н-шампура в разных ветках (как результат операций пересадки шампура в данном определении); это можно и запретить (это, как я понимаю, сделано Тышовым в ГОСТ-реализации), но тогда:
- придётся умещать весь МШ-блок в одну ветку;
- если в МШ-блоке есть пересечения - всё равно нужно их уложить в петлю силуэта.
Вопрос 1: нельзя ли без пересечений в МШ-блоке? - В общем случае нельзя, т.к. мы визуализируем "поведение" как любой мыслимый сбор ранее расщеплённых Н-шампуров. Это и есть суть расширения языка - а за ней тянется и расширение объектов для укладки в силуэт.
Т.е. разносить части МШ-блока по разным веткам можно (а если в МШ-блоке есть пересечения - то и нужно).
Вопрос 2: не происходит ли при разносе границ МШ-блока как бы "пересадка лианы в другую ветку" с образованием "второго входа", сходящегося к узлу сбора? - Нет, т.к. второй вход в ДРАКОНе есть побочная вертикаль того же шампура, а в МШ-языке в узел сбора входят (из расщепления - через шапку силуэта ли, без неё - неважно) логически разные Н-шампуры (и исходит в подвал силуэта шампур, не тождественный ни одному из входящих). Это отражается:
- в независимости БП и связи их со "своим" Н-шампуром через индекс (для нескольких разрывов одного шампура каждый БП имеет в составе индекса порядковый номер);
- в наличии специфического текста полей МШ-узлов, отражающего алгоритмическое содержание, включаемое в шампур, связанный с этим полем (а сами компоненты этого содержания - будущие алгоритмы полей - связаны через иконы И20, что неявно отражается графикой узла).
Новые идентификаторы МШ-силуэта - индексы икон независимого БП - не пересекаются с индексами икон обычного БП и назначаются по особым правилам (берутся только из множества индексов МШ-узлов, являющихся специфическими идентификаторами МШ-метода); эти правила исключают, что БП начнётся как независимый, а закончится как обычный или наоборот.
Специфический текст поля МШ-узла д.б. сохранён при любых преобразованиях, сохраняющих это поле; это достигается помещением его в метку, подшиваемую к звену, связанному с этим полем (и притом к ближайшему подзвену, т.е. не отделённому от узла точкой ввода)
Вопрос 3: а дракон-переключатель всегда полностью располагается внутри одной ветки дракон-силуэта? - Нет, только если ни одна его побочная вертикаль не заземлена. В противном случае получается, что "подвал" переключателя реализуется петлёй силуэта (это нетрудно понять, имея в виду, что "гребёнки" силуэта без эргоупрощений техноязыка также есть двоичные деревья на базе соединителей/разветвителей); при этом продолжением его главной вертикали служит шампур той ветки, на которую указывают адреса заземлённых лиан (м.б. не сразу в первой же ветке после той, которая содержит "шапку" рассматриваемого переключателя; тогда имеем, как и для Н-шампура, цепочечный разрешённый БП, т.е. продолжение содержания варианта в следующих ветках с "посылкой представителей" в шапке силуэта уже в виде икон обычного БП с неспецифическим текстом).
Для произвольного ветвления типа "матрёшка переключателей" (жарг. "кейс по кейсам") при заземлении логика несколько усложняется: сначала надо свести лианы от внутренних переключателей, потом результаты этого сведения свести между собой; однако полученную структуру можно при некоторых условиях горизонтально объединить.
Для любой структуры ветвления силуэт даёт возможность за счёт адресации веток по петле как бы "визуально сократить" дублирующиеся в примитиве конструкции "подвального сбора"; так можно поступить с "многоэтажным" подвалом "переключающей матрёшки" (по аналогии с горизонтальным объединением).
Т.о. для преобразований топологии графа деятельности тип узла роли не играет (это относится и к переопределению икон Имя ветки и Адрес). Если рассматривать только топологию, то и специфические операции МШ-языка эквивалентны операциям ДРАКОНа, т.к. тип узла есть главное их расширение, и остальные МШ-особенности, как мы показали, не влияют на эквивалентность содержащей их абстрактной МШ-схемы некоей абстрактной дракон-схеме, в которой МШ-узлы расщепления (сбора) заменены на шапки (подвалы) дракон-переключателя.
Эквивалентность топологии МШ-схемы и схемы-результата её перевода на ДРАКОН (если принятая выше трактовка расширения логически корректна) позволяет применить неспецифические правила вывода ДРАКОНа для абстрактной МШ-схемы как для обычного силуэта/примитива, что вытекает из Теорем 1 и 2. Это обосновано выше (в силуэте - как для разнесённых МШ-блоков, так и для сосредоточенных по веткам).
Результирующий силуэт можно и переуложить так же, как дракон-силуэт, и "зациклить" так же (удаляя последнюю ветку). Восстановив же немаршрутный смысл МШ-узлов в преобразованной схеме, получим ту же структуру деятельности, и можем её алгоритмизовать. Именно для сохранения смысла при преобразованиях типа узлов в МШ-язык введены метки звеньев шампура.
Наверное, понятно, почему я говорю "граф деятельности", а не "алгоритма"; это обобщение на случай неединственности рабочей точки (который не влияет на топологические свойства, но в целом не должен упускаться из виду).
Фактически мы, ещё ничего не делая с МШ-схемой, мысленно выносим текст полей МШ-узлов на метки, подшитые к ближайшим подзвеньям, и после этого (но лишь после этого) смотрим на МШ-схему как на дракон-схему с переключателями для целей преобразования структуры (но только для этих целей).
Подчеркну: всё это имеет силу именно постольку, поскольку границы независимости (узлы) в МШ-силуэте остаются в теле ветки; если пытаться "скрещивать" эти границы с силуэтом как одной из конкретных диоформ графа деятельности, то вот там начнутся математические дебри (возможно, преодолимые для опытного математика-графовика; я к таковым себя не отношу, поэтому молчу

)... впрочем, одну вещь, ясную интуитивно, скажу: мы можем получить неэквивалентность одной и той же структуры деятельности в формах примитива и силуэта...
Правильно ли я рассуждаю? Опытные математики, ау-у
