Кратчайший путь в ациклическом графе — различия между версиями
Кирилл (обсуждение | вклад) |
Кирилл (обсуждение | вклад) |
||
Строка 15: | Строка 15: | ||
Для нахождения кратчайшего пути в графе заведем функцию переменную opt[x], в которой хранится длина кратчайшего пути до вершины х.<br> | Для нахождения кратчайшего пути в графе заведем функцию переменную opt[x], в которой хранится длина кратчайшего пути до вершины х.<br> | ||
В общем случае мы можем написать: <br> | В общем случае мы можем написать: <br> | ||
− | <math>opt[u] = min_{v,u \in E} (opt[v] + cost(vu))</math>, где cost(vu) - вес ребра из u в v | + | <math>opt[u] = min_{v,u \in E} (opt[v] + cost(vu))</math>, где cost(vu) - вес ребра из u в v. |
Версия 20:44, 12 декабря 2010
Определение: |
Кратчайший путь из u в v – это любой путь p из u в v, для которого
| , где:
Принцип оптимальности на префиксе
Префикс оптимального решения сам является оптимальным решением (в другой подзадаче)
Если ac - оптимальное решение , то и ab (префикс ac) тоже является оптимальным решением.
Для нахождения кратчайшего пути в графе заведем функцию переменную opt[x], в которой хранится длина кратчайшего пути до вершины х.
В общем случае мы можем написать:
, где cost(vu) - вес ребра из u в v.