Рискну выделить свой интерес к данной проблеме в отдельную тему (подчеркну - я ни разу ни математик и не специалист по графам тем более, интерес - любительский).
Математическая формулировка графа потоков выглядит следующим образом. Дан орграф (набор узлов/вершин и ориентированных связей (ребер) между ними), связи которого имеют некий вес (пропускная способность ребра). Отсутствие связи - нулевой вес. Через узлы и ребра графа проходит некий поток (неважно чего). Требуется рассчитать относительную величину потока во всех ребрах и вершинах при условии что для каждой вершины выполняется условие баланса потока - сумма входящих потоков равна исходящим.
Задача решается через введение потенциалов для каждого узла (Ri). Тогда поток Fij через ребро aij рассчитывается как
Fij = Rj aij (мы используем "турнирную индексацию", для марковских цепей матрица транспонирована, там Fij = Ri aij)
Таким образом, задача сводится к системе линейных уравнений. Решается обычно итерационно. Здесь все просто и проблем нет. Поскольку система вырождена, то полученное решение можно нормировать (умножать компоненты Ri на любую константу).
Интересно то, что к расчету потоков в графах сводится большое множество практически значимых задач из разных областей.
Для меня знакомство с темой началось с размышлений о простом математически обоснованном методе расчета рейтинга шахматистов (пресловутый "собственный рейтинг", Е-рейтинг). В терминах потенциалов - Е-рейтинг - это потенциал узла.
В процессе вникания в тему я выяснил, что известный алгоритм ранжирования сайтов PageRanking (авторство которого приписывают Ларри Пейджу) базируется на тех же принципах (количество ссылок на сайты - веса ребер).
Потом я понял, что самооценка участников групп должна использовать баланс потоков (наиболее объективная оценка).
Ну и далее осознал, что практически в любой сфере есть примеры подобных графов (граф - мат. объект, а математика везде).
Логистика - стандартная задача расчета транспортных потоков.
Бухгалтерский учет - баланс бух. счетов (счета - вершины графа, оборот - ребра).
Программирование - взаимные ссылки функций/процедур, объектов метаданных (их все можно ранжировать по потенциалам).
Интернет, шифрование, лингвистика и т.д.
Шахматы (сам игра, а не расчет маршрутов коня) - еще ждут, имхо, своего исследования в терминах потоков .
В физике - даже не буду перечислять. Все эти роторы/дивергенции, потоки вероятностей, потенциалы и пр. - выражается в графах.
Например, электричество. Через графы я просек, почему для расчета тока на участке используется разность потенциалов. Ток между точками 1 и 2 определяется разностью потоков от точки 1 к 2 и от 2 к 1. В потенциалах графа это будет: I12 = R1 a21 - R2 a12.
Но поскольку в обычной среде сопротивление от направления не зависит (граф не направленный), то a12=a21 и, соответственно
I12 = (R1 - R2) a12. Ток пропорционален разности потенциалов только в изотропной среде.
(Как частный вывод вышесказанного подчеркну для ув. Vladimirovich-а, что Е-рейтинг "не с неба упал" - это вполне себе традиционный мат. объект (без Е-, конечно). )
Очевидно, что для того, чтобы поток в графе появился граф должен иметь хотя бы один замкнутый цикл. В теории графов также рассматривают задачи со стоками/истоками. В один узел графа вливают поток, из другого - выливается. Поскольку сумма входного/выходного потока равны (неравновесные системы здесь не рассматриваем), то наличие стока/истока сводится всего лишь к вводу дополнительного узла, имеющего входящее и исходящее ребра (сток и сток). То есть наличие стока/истока не меняет класса задач, - просто увеличивается размерность.
Интересной представляется математика, которая скрывается за расчетом потенциалов (продолжение следует...).
Продолжаем. Возможно, излагаемое ниже давно известно и приведено в какой-нибудь монографии. Но в доступных мне источниках я ответов на свои вопросы не получил.
Что меня удивило - это то, что при целочисленных значениях весов (коэффициентов aij) значения потенциалов Ri также могут быть выражены в целых числах (кстати, как их получает ув. E-not для меня загадка).
Что сей факт означает? Очевидно то, что существует аналитическое выражение для Ri, в котором отсутствуют дроби,- Ri можно выразить через суммы произведений aij.
Это меня заинтересовало, и я получил вид такого решения для графа из трех узлов (3-мерной матрицы A):
* a12 a13
a21 * a23
a31 a32 *
В ветке про е-рейтинг я его уже приводил:
R1 = a12 a23 + a12 a13 + a32 a13 (1) (выражения для R2 и R3 получаются из (1) перестановкой индексов (1-2), (2-3)).
Какие свойства выражения (1) интересны в плане нахождения решений для графов любых размерностей?
1. Значение потенциала в i-м узле не зависит от коэффициентов aji (проводимости) исходящих из него ребер (R1 не зависит от a21 и a31). Почему? Я точно не знаю,- просто принимаем как факт.
2. Решение представляет собой сумму 3-х "дуплетов" (здесь дуплет - произведение 2-х элементов). Далее произведения элементов будем называть кортежами. Логично обобщить, что для матрицы размера N размерность кортежа будет N-1. Количество кортежей в сумме с ростом N будет расти, но пока неясно, по какому закону это количество зависит от N.
3. Элементы кортежа принадлежат разным столбцам матрицы. Кортежи выражения (1) состоят из элементов 2-го и 3-го столбца. Нет кортежей с элементами одного столбца (типа a12 a32).
4. В каждом кортеже обязательно присутствует элемент, соответствующий входящему в рассчитываемый узел ребру. В выражении (1) во всех кортежах есть элементы 1-го ряда.
На основании данных постулатов мы можем попытаться получить аналитическое выражение для потенциалов R в 4-мерной матрице (графе).