Добавить в корзинуПозвонить
Найти в Дзене
Охота на математику

Связь теории категорий и сетевых графиков планирования

сетевой график (например, PERT/CPM) — это буквально диаграмма в категории, где объекты — события (вершины), а стрелки — работы (морфизмы). Но главное контринтуитивное усиление из теории категорий — это переход от «чисел на стрелках» (длительности) к структуре и эквивалентностям. Вот ключевые точки связи: Итог: Сетевой график — это частный случай диаграммы в категории. А теория категорий даёт язык, чтобы видеть инварианты перепланировки, универсальные способы вычисления ранних/поздних сроков без перебора, и, главное, легко переходить от графика работ к графику ресурсов, рисков или бюджетов, не теряя структуры зависимостей. Именно поэтому прокачанный в теоркате архитектор увидит в PERT не просто набор стрелок, а пример пределов и копределов в категории частично упорядоченных множеств — и это знание позволит ему построить обобщённый планировщик, работающий с любыми типами связей (включая «или-или», «требует ресурс», «только если завершены 2 из 3 предшественников»), которые в обычных сетев

сетевой график (например, PERT/CPM) — это буквально диаграмма в категории, где объекты — события (вершины), а стрелки — работы (морфизмы).

Но главное контринтуитивное усиление из теории категорий — это переход от «чисел на стрелках» (длительности) к структуре и эквивалентностям.

Вот ключевые точки связи:

  1. Путь и композиция
    В теоркате композиция стрелок f: A→B, g: B→C даёт g∘f: A→C.
    В сетевом графике это последовательность работ. Критический путь — это самый длинный (по сумме весов) путь в категориальном смысле, но теория категорий сразу спрашивает:
    «А что если переопределить композицию не как сумму длительностей, а как минимум/максимум?» — и вы получаете алгебру для поиска узких мест.
  2. Универсальные свойства вместо вычислений
    Чтобы найти критический путь, обычно складывают ES, EF, LS, LF.
    В теоркате это описывается как
    предел (limit) и копредел (colimit) диаграммы графика.
    Ранний срок события — это
    копредел (самый ранний момент, когда все входящие стрелки завершены → копроизведение с условиями синхронизации).
    Поздний срок —
    предел (самый поздний момент, когда можно выйти, не задержав последующие).
    Резерв времени — это
    разность между универсальными стрелками в категории предпорядка (т.е. разность двух универсальных свойств).
  3. Функториальность: один и тот же граф на разных уровнях
    У вас есть конкретный график проекта. Но вы можете применить функтор, который переводит:
    каждую работу в её длительность (число)
    каждую работу в её стоимость
    каждую работу в её риск (вероятность срыва)
    Структура зависимостей сохраняется — это функтор из категории графика в категорию вещественных чисел с порядком. И критический путь — это образ самого длинного пути под действием функтора.
  4. Эквивалентность вместо равенства
    Два сетевых графика могут быть
    эквивалентны как категории (изоморфны), но иметь разную геометрию.
    Пример: последовательность A→B→C и A→(B и C одновременно) — разные категориально? Нет, если B и C параллельны и независимы, то категория с объектами {A, B, C, D} может быть эквивалентна (как категория предпорядка) линейному порядку, если убрать изоморфизмы.
    Это позволяет
    абстрагироваться от переименования событий и ветвлений и видеть суть: «это просто цепочка из 4 работ» или «здесь есть настоящий выбор (копроизведение)».
  5. Сжатое мышление про ресурсы
    Если добавить ресурсы (исполнители, станки), то обычные сетевые графики ломаются — возникают конфликты. Теория категорий подводит к
    моноидальным категориям: композиция работ становится не просто последовательной (∘), но и параллельной (⊗).
    Критический путь превращается в
    критическое сечение в моноидальной категории с ресурсами — это уже уровень современных языков типа string diagrams (которые тесно связаны с теоркатом и сетевыми графиками).
  6. Почему это «космический буст» для планирования?
    Обычный планировщик видит стрелки и цифры.
    Категориально мыслящий планировщик видит:
    «Ранний срок — это универсальное свойство, значит, я могу переопределить его, не пересчитывая всё с нуля, если поменяю правило агрегации с max на sum».
    «Задержка на параллельной ветке — это стрелка в копределе, которую можно факторизовать через колодку с резервом».
    «Весь график — это функтор в категорию сроков, а изменение масштаба времени — естественное преобразование».

Итог: Сетевой график — это частный случай диаграммы в категории. А теория категорий даёт язык, чтобы видеть инварианты перепланировки, универсальные способы вычисления ранних/поздних сроков без перебора, и, главное, легко переходить от графика работ к графику ресурсов, рисков или бюджетов, не теряя структуры зависимостей.

Именно поэтому прокачанный в теоркате архитектор увидит в PERT не просто набор стрелок, а пример пределов и копределов в категории частично упорядоченных множеств — и это знание позволит ему построить обобщённый планировщик, работающий с любыми типами связей (включая «или-или», «требует ресурс», «только если завершены 2 из 3 предшественников»), которые в обычных сетевых графиках невыразимы.