Задача о минимуме/максимуме скалярного произведения — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Решение)
Строка 12: Строка 12:
 
|proof=  
 
|proof=  
 
Будем считать, что <tex>x_i</tex> отсортирована по возрастанию. Покажем, что если существуют пары чисел <tex>(x_i, y_i)</tex> и <tex>(x_j, y_j)</tex>, такие что <tex>x_i < x_j</tex> и <tex>y_i < y_j</tex>, то скалярное произведение можно уменьшить, поменяв местами <tex>y_i</tex> и <tex>y_j</tex>. Так как <tex>(x_j - x_i)(y_j - y_i) > 0</tex>, то <tex>x_i y_i + x_j y_j > x_j y_i + x_i y_j</tex>. Проделав такую замену для всех <tex>y_i < y_j</tex> получим отсортированную по убыванию последовательность <tex>y_i</tex>. Аналогично для получения максимума во всех парах чисел <tex>(x_i, y_i)</tex> и <tex>(x_j, y_j)</tex>, таких что <tex>x_i < x_j</tex> и <tex>y_i > y_j</tex> нужно менять местами <tex>y_i</tex> и <tex>y_j</tex>. В результате получится отсортированная по возрастанию последовательность.  
 
Будем считать, что <tex>x_i</tex> отсортирована по возрастанию. Покажем, что если существуют пары чисел <tex>(x_i, y_i)</tex> и <tex>(x_j, y_j)</tex>, такие что <tex>x_i < x_j</tex> и <tex>y_i < y_j</tex>, то скалярное произведение можно уменьшить, поменяв местами <tex>y_i</tex> и <tex>y_j</tex>. Так как <tex>(x_j - x_i)(y_j - y_i) > 0</tex>, то <tex>x_i y_i + x_j y_j > x_j y_i + x_i y_j</tex>. Проделав такую замену для всех <tex>y_i < y_j</tex> получим отсортированную по убыванию последовательность <tex>y_i</tex>. Аналогично для получения максимума во всех парах чисел <tex>(x_i, y_i)</tex> и <tex>(x_j, y_j)</tex>, таких что <tex>x_i < x_j</tex> и <tex>y_i > y_j</tex> нужно менять местами <tex>y_i</tex> и <tex>y_j</tex>. В результате получится отсортированная по возрастанию последовательность.  
}}  
+
}}
 +
 
 +
Данная теорема нашла себе практическое применение в теории матроидов [[Flow shop| расписаний]].
  
 
== Примечание ==  
 
== Примечание ==  

Версия 15:16, 7 января 2017

Задача:
задача о нахождении минимальной/максимальной суммы попарных произведений для двух заданных упорядоченных наборов чисел.

Решение

Скалярным произведением двух упорядоченных последовательностей чисел будем называть число [math]S = x_1 y_1 + x_2 y_2 + ... + x_m y_m[/math]

Теорема (о минимуме/максимуме скалярного произведениях[1]):
Минимум скалярного произведения достигается при сопоставлении возрастащей последовательности [math]x_1..x_m[/math] и убывающей последовательности [math]y_1..y_m[/math]. При сопоставлении возрастающей [math]y_1..y_m[/math] достигается максимум.
Доказательство:
[math]\triangleright[/math]
Будем считать, что [math]x_i[/math] отсортирована по возрастанию. Покажем, что если существуют пары чисел [math](x_i, y_i)[/math] и [math](x_j, y_j)[/math], такие что [math]x_i \lt x_j[/math] и [math]y_i \lt y_j[/math], то скалярное произведение можно уменьшить, поменяв местами [math]y_i[/math] и [math]y_j[/math]. Так как [math](x_j - x_i)(y_j - y_i) \gt 0[/math], то [math]x_i y_i + x_j y_j \gt x_j y_i + x_i y_j[/math]. Проделав такую замену для всех [math]y_i \lt y_j[/math] получим отсортированную по убыванию последовательность [math]y_i[/math]. Аналогично для получения максимума во всех парах чисел [math](x_i, y_i)[/math] и [math](x_j, y_j)[/math], таких что [math]x_i \lt x_j[/math] и [math]y_i \gt y_j[/math] нужно менять местами [math]y_i[/math] и [math]y_j[/math]. В результате получится отсортированная по возрастанию последовательность.
[math]\triangleleft[/math]

Данная теорема нашла себе практическое применение в теории матроидов расписаний.

Примечание

Литература

  • Романовский И. В. Дискретный анализ. — 3-е изд. — С. 320 — ISBN 5-7940-0114-3.