Максимизация субмодулярных функций: жадные алгоритмы и теоретические гарантии
Субмодулярность в дискретной (комбинаторной) оптимизации играет ту же фундаментальную роль, что и выпуклость/вогнутость в непрерывном математическом программировании. Субмодулярные функции формализуют интуитивное экономическое понятие убывающей предельной полезности (diminishing returns) и повсеместно возникают в задачах машинного обучения, выбора признаков, размещения сенсорных сетей, максимизации влияния в социальных сетях и задачах покрытия. Оптимизация таких функций представляет собой передний край современной прикладной математики.
Математически функция множества $f: 2^V \to \mathbb{R}$ называется субмодулярной, если для любых двух множеств $A \subseteq B \subseteq V$ и элемента $x \notin B$ выполняется неравенство: $f(A \cup \{x\}) - f(A) \ge f(B \cup \{x\}) - f(B)$. Это означает, что добавление нового элемента $x$ к меньшему множеству $A$ дает больший или равный прирост полезности (маржинальную выгоду), чем добавление того же элемента к объемлющему множеству $B$. Задача максимизации субмодулярной функции при ограничении на мощность множества ($|S| \le k$) является строго NP-трудной, однако ее математические свойства позволяют находить поразительно точные приближенные решения.
Знаковым результатом в теории субмодулярной оптимизации стала теорема Немхаузера, Корнежуэла и Фишера (1978 год). Они доказали, что простейший жадный алгоритм (Greedy Algorithm), который на каждом шаге просто добавляет в множество элемент с максимальным маржинальным приростом, обеспечивает теоретическую гарантию качества решения. А именно, жадный алгоритм находит множество $S_{greedy}$, значение функции на котором составляет не менее $(1 - 1/e) \approx 63.2\%$ от абсолютного глобального оптимума. Позже математически было доказано (У. Фейге), что ни один полиномиальный алгоритм не способен гарантировать лучшую аппроксимацию, если не доказать, что P=NP. Это делает жадный алгоритм не просто эвристикой, а теоретическим пределом эффективности.
Для повышения производительности жадного алгоритма на гигантских массивах данных был разработан метод "Ленивого жадного поиска" (Lazy Greedy Algorithm). Используя свойство убывающей предельной полезности, алгоритм избегает пересчета маржинальной выгоды для всех элементов на каждом шаге. Вместо этого он хранит отсортированную очередь с приоритетами из предыдущих вычислений и обновляет значения только по мере необходимости. Ленивая оптимизация ускоряет работу алгоритма на несколько порядков, позволяя решать задачи суммаризации текстов и фильтрации видеопотоков в режиме реального времени на миллионах элементов.
Современное развитие теории включает максимизацию субмодулярных функций при более сложных матроидных ограничениях (Matroid Constraints). Матроиды обобщают понятие линейной независимости из алгебры на теорию множеств, позволяя формализовать сложнейшие логистические условия (например, "выбрать не более $k$ элементов, причем из каждой категории не более $m_i$"). Интеграция алгоритмов на матроидах с субмодулярностью (алгоритм непрерывной жадности) позволила сохранить аппроксимационную оценку $(1 - 1/e)$ для широчайшего класса индустриальных задач. Понимание субмодулярности необходимо дата-саентистам для проектирования систем, способных принимать робастные стратегические решения на основе неструктурированных графовых данных.
Список литературы:
1. Nemhauser G.L., Wolsey L.A., Fisher M.L. An analysis of approximations for maximizing submodular set functions. — Mathematical Programming, 1978.
2. Krause A., Golovin D. Submodular Function Maximization. — Tractability: Practical Approaches to Hard Problems, Cambridge University Press, 2014.
3. Schrijver A. Combinatorial Optimization: Polyhedra and Efficiency. — Springer, 2003.
Related items
- Ричард Эрнест Беллман
- Теория двойственности Фенхеля и основы выпуклого анализа
- Теория массового обслуживания как задача оптимизации процессов
- Квадратичное программирование: методы решения и применение в машинном обучении
- Алгоритмы динамического программирования на графах с ограниченной древесной шириной