2015-08-31 7 views
0

Учитывая серию из n целых чисел и числа k, n> k, каково решение минимизации дисперсии k новых целых чисел? Вы можете добавить любые последовательные целые числа в новое целое число и, таким образом, уменьшить n целых чисел до k целых чисел.минимизировать отклонение k целых чисел от n упорядоченных целых чисел

Вот пример. При n = 4, k = 2, ряд целых чисел равен 4,4,1,1. Решение составляет 4,6 вместо 8,2 или 9,1.

Я придумал жадный алгоритм, который выглядит следующим образом: для всех возможных новых целых чисел минимизируйте абсолютное значение разности этого целого и среднее значение всех целых чисел. Но в некоторых случаях это не сработает. Существует ли эффективный алгоритм?

+1

Возможный дубликат [Вычисление подмножества, дающего минимальное стандартное отклонение в массиве] (http://stackoverflow.com/questions/20143843/computing-the-subset -giving-the-minimum-standard-deviation-in-a-array) – YXD

+0

@YXD Там определенно дубликат, но это не так. –

+0

@DavidEisenstat, вы правы. Я неправильно понял вопрос. Я отозвал свой закрытый голос. – YXD

ответ

0

Дисперсия случайной величины X равна E [(X - E [X])^2]. Здесь X - случайный элемент выходного списка. Мы знаем, что E [X] равно сумме входных чисел, деленных на k, поэтому эта цель эквивалентна сумме (x - sum/k)^2 по выходным значениям x. Это можно сделать, слегка изменив алгоритм переноса слов: Word wrap to X lines instead of maximum width (Least raggedness)

Смежные вопросы