2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Перестановка, максимизирующая сумму произведений
Сообщение29.07.2021, 14:48 


29/07/21
1
Помогите, пожалуйста, с такой задачей. Ее нужно решить программным путем за приемлемое время.

Пусть $n, m$ - натуральные числа (число $n$ обычно порядка нескольких сотен или даже тысяч);

$x, y$ - известные (заданные) двумерные массивы (т.е. матрицы) размера $n \times m$, элементы которых - нули или единицы (то есть двоичные массивы);

$\sigma$ - перестановка множества $\{1,2, \ldots, n\}$.

Требуется найти все перестановки $\sigma^\ast$, максимизирующие следующую сумму:
$$
\sum_{i=1}^n \sum_{j=1}^m x_{\sigma(i),j}y_{i,j} \rightarrow \max_{\sigma}.
\eqno{(1)}
$$

Можно сначала для простоты найти хотя бы одну такую перестановку, а затем пытаться найти уже все такие перестановки.

Проблема в том, что перебрать тупым полным перебором все $n!$ перестановок невозможно. Нужно придумать алгоритм, который позволит решить эту задачу за приемлемое время.

Упрощенная задача для случая одномерных двоичных массивов $x$ и $y$, состоящих из $n$ элементов
$$
\sum_{i=1}^n x_{\sigma(i)}y_{i} \rightarrow \max_{\sigma}
\eqno{(2)}
$$
легко решается с помощью перестановочного неравенства (транснеравенства).

Но что делать с задачей (1)? Там ведь одно $\sigma(i)$ присутствует сразу в $m$ слагаемых. И задача вроде как не расщепляется, не сводится к задачам типа (2).

 Профиль  
                  
 
 Re: Перестановка, максимизирующая сумму произведений
Сообщение29.07.2021, 18:13 
Заслуженный участник
Аватара пользователя


01/08/06
3131
Уфа
1) Тут нужно сделать формальное замечание, что может случиться так (например, если все числа равны 0), что любая перестановка доставляет максимум, и простое их перечисление неизбежно приведёт к сложности $O(n!)$

2) Нахождение одного решения, похоже, сводится, к задаче о назначениях с квадратной матрицей $A_{pq}=-\sum\limits_{j=1}^m x_{pj} y_{qj}, \quad p, q = 1, \dots, n$ (минус, потому что в задаче о назначениях нужно минимизировать целевую функцию, а нам нужно максимизировать). По слухам, эта задача эффективно решается венгерским алгоритмом.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group