Это для проекта хобби и будет реализовано с Python, но это не очень важно. Я в основном ищу хороший алгоритм.Как создать равномерное распределение по нескольким наборам?
Я хочу провести гоночное мероприятие с 2-30 драйверами (num_drivers
). Мероприятие имеет от 2 до 12 гонок (num_races
), и я хочу, чтобы каждый водитель имел шанс по своему усмотрению в начале, используя несколько случайное позиционирование. Проблема в том, какие начальные позиции я назначаю каждому драйверу для каждой гонки?
Пример: для события с num_races=3
и num_drivers=4
(названный «А» до «D») очень хорошая установка будет
Race 1: A B C D
Race 2: C D B A
Race 3: D B A C
шест позиция будет иметь значение 1, вторая позиция 2 и т. Д. Поэтому эта установка дает вполне равные значения для каждого драйвера:
A: 1+4+3 = 8
B: 2+3+2 = 7
C: 3+1+4 = 8
D: 4+2+1 = 7
В конце концов сумма позиций каждого водителя в идеале должны быть такими же, как и для любого другого водителя. Что было бы хорошим универсальным алгоритмом (в псевдокоде) для моей проблемы, когда количество драйверов и количество гонок может варьироваться? Есть ли даже алгоритм где-то посмотреть?
Я бы спросил об этом на Math.SE. – Rishav
хорошая идея @ Ришав - я тоже туда помещу. (или есть какие-то «ссылки» на другие сайты stackoverflow уже? Я не был здесь в течение довольно долгого времени ... – mawimawi
Нет, вы спрашиваете его отдельно, но я думаю, вы должны более четко определить свою цель. Потенциал - это сумма квадратов от среднего. – Rishav