Для описания причинности, синхронизации, коммуникации, в математике есть особый формализм: исчисление процессов, π-calculus. В нём всего восемь операций. Ознакомимся.
Маленькими буквами обозначены “имена” (они же “каналы”). Большими – процессы, состоящие из имён, связанных какими-то операциями.
- Вывод
a!b
(отправитьb
по каналуa
или записатьb
по имениa
) и вводa?b
(получитьb
из каналаa
, прочитатьb
из имениa
, когда там что-то будет). - Последовательность
P.Q
:P
, а потомQ
. - Выбор
P+Q
: если неP
, тоQ
. - Параллелизм
P|Q
:P
иQ
независимы. - Условие
[x==y]P
,[x!=y]P
: – если условие, тоP
. - Ограничение
(ν x P)
: вP
доступно имяx
, а вне – нет. - Репликация
!P := P | !P
: формирует рекурсию, даёт тюринг-полноту. - Завершение
.∅
: обычно не записывается, но философски принципиально.
Исчисление процессов описывает только взаимное осуществление процессов: что после чего, что не зависит или зависит, как одна сторона узнаёт о другой. В реальном мире исчисление процессов дополняется алгеброй внутри процессов: вычислением, реализацией эффекта, или обдумыванием, рефлексией, пониманием, припоминанием, например, если мы описываем коммуникативное плетение в коллективе.
Простейшая коммуникация:
Говорящий:
P := c!m
Слушающий:
Q := c?n
Коммуникация:
(ν с !( (ν m P) | Q ))
Выражение на пи-калькулюсе можно временить: осуществлять редукцию, “передавая” сообщения от отправителя к получателю, снимая комбинаторы и так далее. Результат не предопределён, не детерменирован: одно корректное выражение может иметь множество (даже бесконечное множество) вариантов развития. Это свойство даёт комбинатор параллелизма.
(ν с (ν a c!a) | c!c | c?d.[d==c]P)
Выше – концептуальный пример. Параллельно работают три процесса:
- В канал
c
отправляется новое сообщениеa
. - В канал
c
отправляется сам каналc
. - Слушатель получает сообщение
d
из каналаc
и продолжаетP
в случае, если получен сам каналc
.
Мы можем совершить два временения этого выражения: для случая, если сначала был услышан c
, и если сначала услышан a
. Но мы не знаем, как “правильно” или “на самом деле”. Можно сказать, что процесс P
осуществляет наблюдение, коллапсирует волновую функцию, спутывается с причинностью и так далее. И об этом станет известно тогда и только тогда, когда сам процесс P
кто-то пронаблюдает.
Так можно описывать распределённые системы в программировании, но точно так же можно и описывать методологические приёмы, например, составив уравнение Знаниевого реактора. Или информационной кампании. Жизни идей, новостей, слухов.
Мыслепрактическая ценность даже не в этом.
Просто другого плетения в коммуникативном поле – нет. Есть “узнавание”, есть “сообщение”, есть “параллельная работа” в неведении друг о друге.
Дальнодействие, если оно есть и даёт эффект, это вид канала. Получение сообщения подобно наблюдению. Неведение описывается как ограничение. Репликация формирует устойчивые, резонансные, самоповторяющиеся структуры, подобно Game of Life, только не в пространстве, а во времени. Традиционные, культурные, паразитические.
Исчисление процессов – это и есть формализм коммуникативного поля. Будучи исчерпывающе полным (тюринг-полным), он проблематизирует понятия существования, дления, временения, коммуникации, эстафеты, и помогает отбросить лишнее.