Жадный алгоритм Радо — Эдмондса

Жа́дный алгори́тм Ра́до — Э́дмондса — алгоритм нахождения в матроиде базы минимального веса.

Если каждому элементу носителя матроида сопоставлен его вес, и вес подмножества носителя определяется как сумма весов элементов этого подмножества, то алгоритм Радо — Эдмондса позволяет найти среди всех баз матроида базу минимального веса.

Реализация править

 — носитель матроида,   — семейство независимых множеств.

Для всех   от   до ранга матроида строится множество   мощности  , вес которого является минимальным среди весов независимых подмножеств той же мощности.

  — очевидно.

Строятся эти множества так:  , где   — минимальный из элементов   таких, что  .

Ответ задачи —  , где   — ранг матроида.

Алгоритм Радо—Эдмондса обобщает жадные алгоритмы. Например, будучи применённым к графическому матроиду, он превращается в алгоритм Краскала поиска остовного леса минимального веса.

Литература править

  • R. Rado. A theorem on independence relations. Quart. J. Math., 13:83–89, 1942
  • Edmonds J. Matroids and the Greedy Algorithms // Math Programming . 1971. - P. 127-136. doi:10.1007/BF01584082
  • Новиков Ф. А. Дискретная математика для программистов. — 3-е изд. — СПб.: Питер, 2009. — С. 74-77. — 384 с. — ISBN 978-5-91180-759-7.

Ссылки править

  • Лекция 9. Матроиды, Курс "Дискретная математика", Новосибирский государственный университет, 2009