Ваша формулировка проблемы («все возможные разделы») вводит в заблуждение.
Давайте исправим условия (если вы согласны): раздел (p
) является конкретным (изавершено) распределение n элементов в x блоков , каждый из которых содержит k = 4 элемента .(Я использую термин «блок» вместо «набор», чтобы избежать путаницы) (Кстати, обратите внимание, что, если мы примем это определение, то вам придется повторить свою фразу о «последовательных разделах», это не имеет смысла).
Тогда, давайте назовем P ={p1,p2 ...}
набор всех возможных разделов.Теперь нас интересуют некоторые подмножества P (мы можем назвать каждое из них «правильным набором разбиений»).PSOF - это набор разделов с заданным свойством: нет двух разделов, которые отображают одну и ту же пару элементов в один и тот же блок.(Мы также можем добавить свойство максимальности: невозможно добавить другой раздел без нарушения правила).
Теперь непонятно, хотите ли вы:
- Подсчитать, сколько разделов (максимум) может иметь один из этих PSOF (для меня не ясно, имеет ли каждый PSOFта же мощность - вероятно)
- Алгоритм для поиска разделов одного из этих PSOF.
- Подсчет количества PSOF.
- Алгоритм для поиска всех возможных PSOF с помощьюразделы каждого из них.
Ни один из них не кажется мне легким.(Извините, я знаю, что это не ответ, а пояснение, но оно не уместилось в комментариях)