Эту проблему довольно сложно решить эффективно (где-то в NP).
Скажем, у вас был набор, который в среднем составил X
. То есть X = (x1 + x2 + ... + xn) / n
.
Предположим, вы разбили его на наборы, которые в среднем составляют S
и T
с s
и t
элементами в каждом наборе соответственно.
Вы можете математически доказать, что если одно из средних значений S
или T
больше X
, то другое из двух должно быть меньше X
.
Следовательно, два комплекта должны иметь одинаковую яркость, потому что только так ваши условия могут быть выполнены.
Зная это, вы в конечном итоге сталкиваетесь с проблемой sumset sum - вы хотите найти подмножество, равное половине всей суммы всего набора. Это проблема, которая, как известно, сложная. (Это было классифицировано как NP. И хорошо, это не совсем то же самое, что и проблема суммы подмножеств, но если вычесть среднее из полного набора из каждого из значений яркости, решение проблемы суммы подмножеств даст вам ответ. Обратитесь, чтобы увидеть, как вы можете решить проблему суммы подмножеств из вашей задачи.)
Следовательно, нет быстрого способа сделать это - только приближения или экспоненциальное время выполнения ... Однако, возможно, это поможет. Он упоминает лучшее время работы, если ваши веса (в вашем случае, уровни яркости) ограничены.