i |
Ende Исправлена опечатка в формуле. |
Добрый день,
есть задача поиска максимума по двум дискретным параметрам, для которой есть очевидное решение с квадратичной асимптотикой. Хочется придумать что-то, чтобы решать эту задачу быстрее.
Итак, сама задача:
Имеется симметричная не отрицательно определенная малоранговая матрица
причем каждая строка
нормирована на единицу, то есть
и
,
и имеется вектор
, мне надо найти максимум по всем индексам вида
Очевидно, что если не учитывать свойства малоранговости исходной матрицы, то тут нет какого-то гарантированного решения, надо просто перебрать все возможные индексы
, то есть сложность задачи будет квадратичная.
Для ранга 1 и 2 исходной матрицы все можно решить линейно, но совершенно не понятно как это все обобщить на произвольный ранг. В моем случае ранг матрицы
обычно равен около 10, а размерность (
), то есть если найти какое-то решение, то можно сильно ускорить поиск.
Покомпонентная максимизация часто тоже решает хорошо задачу, то есть я фиксирую, например,
и перебираю все возможные
, а потом наоборот и так несколько раз. Обычно такой метод довольно быстро сходится за несколько итераций, но я не могу доказать, что он всегда будет сходится, и предполагаю, что можно построить контрпримеры, когда он будет находить не максимум, а что-то близкое.
Вдруг у кого-то будут идеи в какую сторону посмотреть, пожалуйста, посоветуйте!
Спасибо!