В представлении методов графами потоков, методы -- это гиперребра, а не вершины!

Курс “Методология”:

А дальше можно сразу обратиться к традиционному представлению методов в виде функциональной диаграммы, часто называемой принципиальной схемой. Такие диаграммы разбирались в курсе «Системное мышление»: предметы метода текут/flow между создателями, которые меняют их состояния. Если это непрерывные потоки (поток/flow — это идентификация объекта на основе сохранения маршрута/пути, определение из ISO 81346:2022), то примеры сразу очевидны — методологи там называются «схемотехники», они строят принципиальные (принципиальность — это указание на функциональность, «метод работы», а не конструктивность) электрические схемы, радиотехнические схемы, но могут быть также и гидравлические схемы, и кинематические схемы и самые разные другие схемы.

  • Так что очевидный следующий шаг в выражении методов — сразу пройти весь путь: от последовательностей/chains (последовательности методов, например, «стек» тут тоже последовательность вложений или последовательность использования, да и «шкала» — последовательность, упорядоченность в ряду объектов)
  • к деревьям/trees (хорошо представимы разными MindMaps, которые легко сводимы к аутлайнам/outlines, по факту это «хорошо структурированное оглавление», где в листьях этого оглавления могут лежать какие-то более подробные описания, фреймворк Gielingh с диаграммами гамбургера как раз такой граф «почти дерева»),
  • и далее к графам/graph как общей форме представления потоков чего бы то ни было — в том числе предметов метода между ролями, задействующими метод.

Примеры графовых визуальных представлений функционального (методов работы, время эксплуатации) описания системы были приведены в курсе «Системное мышление». Прикладных методологов самых разных предметных областей учат разрабатывать такого сорта визуальные представления, «принципиальные схемы». В электронике даже выделяют отдельную специальность «схемотехника»32, ибо речь идёт об электронных схемах и устройствах, описываемых такими схемами.

Из этого раздела может сложиться впечатление, что “потоки предметов методов” - это ребра графа, а методы - это вершины. Это не лучшее представление пространства методов! Кстати, что касается пространства физических работ - я не уверен, может там работы-как-вершины - и пойдут, но отрывок выше их запутывает, говоря о “последовательностях методов”, а не “последовательностях работ”.

Из “Introduction to string diagrams to computer scientists”:

As a starting point, let us take for example a string diagram we have
previously considered:


If we forget about the term structure that underpins this representation,
and try to understand it as a graph-like structure, the seemingly most
natural approach is to think of boxes as nodes and the wires as edges of a
graph. In fact, this is usually the intended interpretation adopted in the
early days of string diagrams as a mathematical notation, see e.g. [ 77].
An immediate challenge for this approach is that ‘vanilla’ graphs do not
suffice: string diagrams present loose, open-ended edges, which only
connect to a node on one side, or even on no side, as for instance the
graph representation of the ‘identity’ wires. Historically, a solution
to this problem has been to consider as interpretation a more sophisticated notion of graph, endowed with a topology from which one can
define when edges are ‘loose’, ‘half-loose’, ‘pinned’… see [ 77 ]. Another,
more recent approach understands string diagrams as graphs with two
sorts of nodes, where the second sort just plays the bureaucratic role of
giving an end to edges that otherwise would be drawn as loose [46].

The approach we present follows [ 13 ]. We do not regard boxes as
nodes, but rather as hyperedges: edges that connect lists of nodes, instead of individual nodes. This perspective allows us to work with a
well-known data structure (simpler than the ones above) called a hypergraph: the only entities appearing in a hypergraph are hyperedges and
nodes: these interpret the boxes and the loose ends of wires in a string
diagram, respectively. And the wires themselves? They are simply a
depiction of how hyperedges connect with the associated nodes. Such
an interpretation applies as follows to our leading example:


Note that, even though they are seemingly very close in shape, the two
entities displayed above are of a very different nature. The one on the
left is a syntactic object: the string diagram representing some term
modulo the laws of symmetrical monoidal categories. The one on the right is a combinatorial object: a hypergraph, with nodes indicated as dots and hyperedges indicated as boxes with round corners, labelled with Σ-operations.

Метаграфы

В статье Linas Vepstas Graphs, Metagraphs, RAM, CPU определяются метаграфы – это гиперграфы, где гиперребра могут указывать на другие гиперребра, а не только на вершины. В отличие от обычных гиперграфов, метаграфы сами же кодируют структуру стека/дерева методов, что, как минимум, удобно - не надо держать ее в отдельной структуре. Кроме того, метаграфы делают реификацию сигнатуры метода тривиальной - см. раздел 10.3.

Vepstas делает эмпирическое наблюдение, что когда метаграфы используются для кодирования знаний, первое окончание в метаребре обычно указывает на type-theoretic type этого ребра, то есть, если ребро представляет метод – сигнатуру этого метода.

Помимо обычных ненаправленных ребер, никак не дифференцирующих окончания, и обобщенных направленных ребер, в которых окончания делятся на “входы” и “выходы”, метаграфы могут кодировать любую номенклатуру окончаний и произвольные правила их соединений. В мета-мета-модели методологии, мне кажется, помимо информационных входов/выходов можно сразу говорить еще о энергетических: energy source, heat sink. Это если совсем фундаментально, по Fields, Crutchfield, Ванчурину.

По теоркатегорной линии, а также линии “произвольных трансформаций” (в constructor theory) и многим другим линиям – в “Методологии” даны только простейшие описания, даже разложение на “шаги” и “в стек” и то идут как распространённые приближения. И дальше вывозим в оргмоделирование, а все эти теоркатегорные представления – для очень продвинутых описаний методов, и явно оговорено, что “сегодня это не для всех”. Скажем, если описываем методы работы квантовых компьютеров или пишем статью про методы мышления AI-агентов, то можно ожидать, что и писатели, и читатели будут понимать продвинутые описания. Если пишем оргмодели, то надо таблички строить. Но струнные диаграммы, конечно, надо бы знать всем – помня при этом, что Хаскел осваивало ещё десяток лет назад 10% желающих его освоить, остальные банально ломали зубы, не могли перестроить мышление. Это значит, что до курса “Методология” нужна какая-то очень солидная преподготовка, немедленной пользы от которой не видно. Это примерно та же дискуссия, как про необходимость выкинуть всю ньютоновскую физику и сразу давать теорию относительности со всеми её формулами, приговаривая “сил гравитации нет, а геометрия – римановская, о Евклиде забудьте”. Дальше можно поглядеть на последствия такого подхода. Пока же космические корабли без теории относительности на геостационарную орбиту нельзя выпускать, а вот всё, что пониже и поближе летает – вроде как Ньютона хватает, и он попроще. Дальше вопрос, сколько адекватных упрощений надо поддерживать? Ответ методологии: много разных, самые сложные уровни нужны единицам агентов. Ну, тогда пусть их AI поддержит, ему быстро им учиться )))