Я думаю, что проблема немного сложнее; и учитывая, что вы рассматриваете группу только как одномерную проблему, вы получите очень странное представление о том, что собой представляют группы.
Во-первых, проблема размерна в зависимости от количества групповых простых чисел и групповых комбинаций, с которыми вы имеете дело. По математике; это представляется как n в степени n или n ^ n, которые можно перевести в! n (множитель n).
Если у меня есть 5 групп, выстроенных в виде (1, 2, 3, 4, 5), то я хотел бы представить их как определенные группы или комбинации групп согласно факториальному выражению, тогда комбинации становятся больше
Группа 1х1 = 1,2,3,4,5
Группа 2x1 = 12, 23, 45, 13, 14, 15, 21, 24, 25, 31, 32, 34, 35, 41, 42, 43, 45, 51, 52, 53, 54
таким образом стратегия создает ветку систематической ветки (достаточно просто)
12, 13, 14, 15
21, 22, 23, 24
31, 32, 34, 35
41, 42, 43, 45
51, 52, 53, 55
Группа 1 + 2x2x1 = (1, 23, 45), (2, 13, 45), (3, 12, 45), (4, 12, 35), (1, 24, 35), (1, 25, 35), (1, 32, 45), (1, 34, 25), (1, 35, 24), ... и т. Д.
Как вы можете видеть, когда вы начинаете добавлять факторные наборы, сочетания становятся не так легко создать математическую ссылку для выражения терминов. Хуже всего, когда ты встаешь в базовый набор длиной> 3 или 4.
Если я понимаю ваш вопрос: вы хотите выразить в общих выражениях алгоритм, который позволяет вам программно создавать стратегии группировки?
Это сложный набор; и представлен лучше всего в исчислении; как теория множеств. В противном случае все, что вы делаете, - это обработка двумерного массива.
первый массив выражает стратегию группировки;
второй массив выражает элементы группировки.
Я не думаю, что это то, что вас просят сделать, потому что термин «ГРУППА» в математике имеет очень конкретное распределение для этого термина. Вы не должны использовать термин группа; скорее выразите это как набор; set1, set2, если вы это делаете.
Set1 содержит элементы из set2; и поэтому для этого используется та же математика, что и для множеств и выражений. Поиск "Вин Диаграммы" и "Союз"; Избегайте использования термина группа, если вы не представляете фактор набора.
http://en.wikipedia.org/wiki/Group_(mathematics)
Я думаю, что вы пытаетесь выразить это группы в известном наборе или таблице; Это на примере Wikipedia.org D2.
В этом случае это означает, что вы должны смотреть на проблему как на кубик Рубика; и это становится сложным.
Я работаю над той же проблемой в JavaScript; когда я закончу, я могу опубликовать это;). Это очень сложно.