Исчисление процессов

Для описания причинности, синхронизации, коммуникации, в математике есть особый формализм: исчисление процессов, π-calculus. В нём всего восемь операций. Ознакомимся.

Маленькими буквами обозначены “имена” (они же “каналы”). Большими – процессы, состоящие из имён, связанных какими-то операциями.

  1. Вывод a!b (отправить b по каналу a или записать b по имени a) и ввод a?b (получить b из канала a, прочитать b из имени a, когда там что-то будет).
  2. Последовательность P.Q: P, а потом Q.
  3. Выбор P+Q: если не P, то Q.
  4. Параллелизм P|Q: P и Q независимы.
  5. Условие [x==y]P, [x!=y]P: – если условие, то P.
  6. Ограничение (ν x P): в P доступно имя x, а вне – нет.
  7. Репликация !P := P | !P: формирует рекурсию, даёт тюринг-полноту.
  8. Завершение .∅: обычно не записывается, но философски принципиально.

Исчисление процессов описывает только взаимное осуществление процессов: что после чего, что не зависит или зависит, как одна сторона узнаёт о другой. В реальном мире исчисление процессов дополняется алгеброй внутри процессов: вычислением, реализацией эффекта, или обдумыванием, рефлексией, пониманием, припоминанием, например, если мы описываем коммуникативное плетение в коллективе.

Простейшая коммуникация:

Говорящий:

P := c!m

Слушающий:

Q := c?n

Коммуникация:

(ν с !( (ν m P) | Q ))

Выражение на пи-калькулюсе можно временить: осуществлять редукцию, “передавая” сообщения от отправителя к получателю, снимая комбинаторы и так далее. Результат не предопределён, не детерменирован: одно корректное выражение может иметь множество (даже бесконечное множество) вариантов развития. Это свойство даёт комбинатор параллелизма.

(ν с (ν a c!a) | c!c | c?d.[d==c]P)

Выше – концептуальный пример. Параллельно работают три процесса:

Мы можем совершить два временения этого выражения: для случая, если сначала был услышан c, и если сначала услышан a. Но мы не знаем, как “правильно” или “на самом деле”. Можно сказать, что процесс P осуществляет наблюдение, коллапсирует волновую функцию, спутывается с причинностью и так далее. И об этом станет известно тогда и только тогда, когда сам процесс P кто-то пронаблюдает.

Так можно описывать распределённые системы в программировании, но точно так же можно и описывать методологические приёмы, например, составив уравнение Знаниевого реактора. Или информационной кампании. Жизни идей, новостей, слухов.

Мыслепрактическая ценность даже не в этом.

Просто другого плетения в коммуникативном поле – нет. Есть “узнавание”, есть “сообщение”, есть “параллельная работа” в неведении друг о друге.

Дальнодействие, если оно есть и даёт эффект, это вид канала. Получение сообщения подобно наблюдению. Неведение описывается как ограничение. Репликация формирует устойчивые, резонансные, самоповторяющиеся структуры, подобно Game of Life, только не в пространстве, а во времени. Традиционные, культурные, паразитические.

Исчисление процессов – это и есть формализм коммуникативного поля. Будучи исчерпывающе полным (тюринг-полным), он проблематизирует понятия существования, дления, временения, коммуникации, эстафеты, и помогает отбросить лишнее.