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
3139
Уфа
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