2016-06-25 3 views
0

Я работаю над проблемой, где у меня есть 18 предметов, которые необходимо сортировать по 3 ведрам. Половина предметов красная, а половина - голубые. Также каждый элемент имеет определенный размер; однако размеры распределены неравномерно (I.e. 18, 20, 24, 18, 19, 26 ...). Мне нужен алгоритм, который может распространять эти предметы на 3 ковши следующим образом: 1) Каждое ведро должно состоять из шести предметов. 2) Каждое ведро должно состоять из 3 красных предметов и 3 синих предметов. 3) (часть, с которой я борюсь). Если вы усредняете размер шести предметов в каждом ковше, они должны быть как можно ближе к среднему размеру предметов в других ведрах.Равномерное распределение предметов в ведрах

Я просто научился кодировать и работаю над этой проблемой как частью проекта; Тем не менее, я читал об алгоритмах сортировки в течение нескольких дней, но я не нашел решений, которые помогли бы решить проблему под рукой, и я не могу понять. Я бы предпочел прийти к решению самостоятельно, но был бы очень благодарен за толкание в правильном направлении.

Спасибо!

+0

Поисковое пространство кажется довольно маленьким; как насчет грубой силы? – wildplasser

+0

@wildplasser Взаимодействие с грубой силой примет значение «O (n * [(n!)^2])' ~ 'O (10^12)', где 'n' = 18/2 = 9. Это займет несколько дней для запуска типичный домашний компьютер. –

+0

@AnmolSinghJaggi: существует много симметрий (6^5), что приводит к возможным разбиениям (6 * 4 * 4 * 7 * 7) * (5 * 5 * 4 * 4) (IMO, IANAM). Нарушение симметрии также станет ключом к сокращению пространства поиска в рекурсивном разделе. Плюс: правило № 3 может помочь обрезке. – wildplasser

ответ

1

Вот возможный алгоритм:

Пусть красные элементы в отсортированном порядке быть r1, r2, r3 ... r9.
Пусть голубые предметы в отсортированном виде будут b1, b2, b3 ... b9.
Дать 3 ведрам B1, B2, B3.

Помещенный r1 и r9 в B1, r2 и r8 в B2, r3 и r7 в B3.
Аналогично, положить b1 и b9 в B1, b2 и b8 в B2, b3 и b7 в B3.

Теперь мы остались с r4, r5, r6 и b4, b5, b6.

Помещенный r4 и b6 в B1, r5 и b5 в B2, r6 и b4 в B3.

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