12.Жадные алгоритмы и матроиды
E – конечное множество, w: E ® R+
Для XÍ E w(X) = , IÍ B(E) , w(X) ® min (max) , XÎ I
Жадный алгоритм
1.Выбираем элемент x1 максимального веса такой, что {x1}Î I.
2.Выбираем элемент x2Î E\{x1} максимального веса такой, что {x1,x2} Î I
i.Выбираем элемент xi Î E\{x1,…,xi-1} максимального веса такой, что
{x1,x2,…,xi-1,xi} Î I
Матроид – это пара (X,B), где X – конечное множество, а B – непустое множество его подмножеств (элементы B - базы), удовлетворяющая следующим условиям:
1.Никакая база не содержится в другой базе (аксиома максимальности);
2.Если B1 и B2 – базы, то для любого элемента bÎ B1 элемент сÎ B2 такой, что B1\{b}È{c} – база.
Матроид – это пара (X,I), где X – конечное множество, а I – непустое множество его подмножеств (элементы I - независимые множества), удовлетворяющая следующим условиям:
1.Для любого I1Î I и I2Í I1 I2 Î I
2.Если I1 и I2 – независимые множества и |I1| < |I2|, то элемент сÎ I2\I1 такой, что I1È{c} Î I
Пара (X,I), для которой выполняется аксиома 1) – система независимости
Примеры матроидов
1/(X,{X})
2.X – конечное множество векторов некотороговекторного пространства, B – максимальные линейно независимые системы векторов из X (базисы X).
3.X – множество ребер некоторого графа G,B – подмножества ребер, составляющих остовные деревья G.
Теорема. Жадный алгоритм, примененный к системе независимости (E,I), всегда находит оптимальное решение тогда и только тогда, когда (E,I) – матроид.
- 1.Трудоемкость алгоритмов
- 2.Алгоритмы сортировки
- 3.Сортировка слиянием
- 4.Бинарные поисковые деревья
- 5.2-3-4 Деревья
- 6.Хеширование
- 7. Поиск подстроки. Алгоритм Кнута-Морриса- Пратта.
- 8. Графы. Структуры данных для представления графов
- 9. Алгоритм нахождения Эйлерова цикла
- 10 .Поиск в ширину(волновой алгоритм)
- 11.Поиск в глубину
- 12.Жадные алгоритмы и матроиды
- 13.Задача об остовном дереве. Алгоритмы Прима и Краскала, их реализация
- 14. Алгоритм Дийкстры
- 15. Алгоритм Флойда
- 16. Паросочетания в двудольных графах
- 17. Потоки и разрезы в сетях. Алгоритм Форда-Фалкерсона
- 18. Задача о рюкзаке
- 21. Классы p и np. Полиномиальное сведение.
- 22. Np- полные задачи. Теорема Кука-Карпа-Левина. Np-полнота задачи о клике
- 23. Алгоритмы с гарантированной оценкой точности. Задача упаковки
- 24.Метод локального поиска и поиска с запретами. Задача о максимальном разрезе.
- 25.Метод ветвей и границ. Задача коммивояжера.
- 26. Задача коммивояжера с неравенством треугольника. Алгоритм Кристофидеса
- 27.Задача о независимом множестве, точные и эвристические алгоритмы ее решения
- 28.Задача о раскраске графа, точные и эвристические алгоритмы ее решения.
- 31.Задача о раскраске хордальных графов
- 32.Генетические алгоритмы
- 33. Page Rank
- 34 Криптосистема с открытым ключом. Криптосистема rsa
- 35.Задача разделения секрета.
- 36. Алгоритмы сжатия информации