Жадный алгоритм поиска базы минимального веса
Версия от 21:56, 17 мая 2011; 192.168.0.2 (обсуждение)
Теорема (жадный алгоритм поиска базы минимального веса): |
Пусть на носителе матроида задана весовая функция . Для любого выполнено: . Тогда база минимального веса матроида ищется жадно. |
Доказательство: |
Псевдокод алгоритма: // сортируем элементы по возрастанию веса for to do if Рассмотрим шаг алгоритма, когда мы пытаемся добавить элемент . Заметим, что если его можно добавить с сохранением независимости множества , то это элемент минимального веса не из , который можно добавить (при условии сохранения независимости при добавлении). В самом деле, пусть — элемент минимального веса, который можно добавить к с сохранением его независимости, тогда . Но тогда он уже был бы добавлен на -ом шаге алгоритма.Понятно, что все базы имеют одинаковую мощность (иначе в меньшую можно было бы добавить элемент из большей по аксиоме матроидов, что противоречит определению базы). По теореме Радо-Эдмондса множество минимального веса, имеющее мощность базы, (то есть база минимального веса) ищется последовательным добавлением в изначально пустое множество элементов минимального веса из так, чтобы после каждого добавления множество оставалось независимым. Алгоритм работает за : — на сортировку массива весов элементов и времени (если считать, что проверка множества на независимость происходит за ). |