Блог пользователя SebiSebi

Автор SebiSebi, 12 лет назад, По-английски

Hello!

I'm trying to understand how the algorithm for finding the minimum path cover in DAG works. I read the description from here: http://en.wikipedia.org/wiki/Maximum_flow_problem#Minimum_path_cover_in_directed_acyclic_graph . Can someone explain to me the idea behind this algorithm and why it outputs the right answer?

  • Проголосовать: нравится
  • +3
  • Проголосовать: не нравится

»
12 лет назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится

The phrase "to split a DAG into paths" means "to leave at most one incoming and one outcoming edge for each vertex".

If we add an edge to the answer, we merge two paths into one.

Maximum matching algorithm tries to take as many edges as possible, while not violating the rule of one incoming and one outcoming edge.

And that's all.