2013 Вычислительные методы в дискретной математике №2(20)
УДК 519.1
ФОРМУЛА ДЛЯ ЧИСЛА СОЧЕТАНИЙ С ПОВТОРЕНИЯМИ ПРИ ОГРАНИЧЕНИЯХ И ЕЁ ПРИМЕНЕНИЕ
В. В. Гоцуленко
Институт технической теплофизики НАН Украины, г. Киев, Украина
E-mail: [email protected]
Получены различные обобщения понятия числа сочетаний с повторениями. Найдены формулы для вычисления введённых комбинаторных чисел и рассмотрены различные задачи, которые решаются с их применением.
Ключевые слова: сочетания с повторениями при ограничениях, диофантовы уравнения, формальный полином, производящие функции, мультимножества.
Введение
Всё разнообразие комбинаторных формул может быть фактически выведено из нескольких основных утверждений, касающихся конечных множеств [1, 2]. Тем не менее во многих отношениях полезно вводить различные комбинаторные числа, характеризующие те или иные количественные соотношения на множествах произвольной природы. Классические понятия числа сочетаний, размещений и перестановок в случае возможности дублирования элементов в выборках обобщаются в различных направлениях. Так, в частности, возникают сочетания, размещения и перестановки с повторениями [1]. Существует множество комбинаторных задач, которые можно эффективно решать, не обращаясь всякий раз к основным принципам комбинаторики, например к правилу произведения, а используя различные обобщения основных комбинаторных чисел.
Непосредственное прикладное применение комбинаторных чисел связано с подсчётом количества подмультимножеств заданного мультимножества [3], обладающих определёнными свойствами. При этом данная задача может рассматриваться и как универсальный способ построения и классификации комбинаторных чисел в зависимости от задаваемых свойств подмультимножеств.
Первичная спецификация мультимножества приводит к задаче подсчета m-элементных подмультимножеств заданного мультимножества с фиксированными весами его элементов. Например, в [4] получена формула для решения данной задачи. В [5] на основе данной формулы получено выражение, более удобное для проведения вычислений. В этой же работе получена формула для числа упорядоченных подмультимно-жеств. Другой подход для определения количества m-элементных подмультимножеств заданного мультимножества через их вторичные спецификации рассматривается в [6].
В данной работе получено несколько новых возможных способов обобщения понятия числа сочетаний с повторениями и рассмотрены некоторые комбинаторные задачи, решаемые с их помощью. В частности, полученные результаты имеют непосредственное применение к задаче о подсчёте количества подмультимножеств заданного мультимножества.
1. Определение числа сочетаний с повторениями при ограничениях
Формулировка достаточно общей комбинаторной задачи, приводящей к сочетаниям с повторениями, может быть следующей: имеется большое число предметов, например бесконечное, п различных типов. Необходимо определить, сколько из них можно составить различных т-элементных наборов, не принимая во внимание порядок элементов. В качестве точной формализации понятия к-элементного набора можно рассматривать п-компонентный вектор (х1, х2,... , хп), где Хк означает количество элементов к-го типа, к = 1,... , п, в соответствующем т-элементном наборе.
Следовательно, исходная задача эквивалентна задаче определения количества неотрицательных решений линейного диофантова уравнения
Х1 + Х2 + ... + Хп = т, (1)
где Хк ^ 0, к = 1,... , п. Для числа сочетаний с повторениями в литературе используются различные обозначения, например Сп или /П; будем придерживаться последнего обозначения. Решение задачи (1) дается следующей формулой [1]:
/п _ СП—1
/п Сп— 1+п<,
где С” — число сочетаний без повторений из п элементов по т элементов.
Если в исходной задаче количество элементов каждого типа не является бесконечным, а ограничено некоторым числом, для каждого типа своим, то приходим к понятию числа сочетаний с повторениями при ограничениях. Иными словами, рассмотрим следующую комбинаторную задачу. Имеется п ящиков с конфетами. Разрешается взять ровно т конфет из этих ящиков, причём из к-го ящика разрешается взять не более тк конфет. Необходимо найти, сколькими способами это можно сделать. Формулировка данной задачи в терминах диофантовых уравнений следующая: необходимо найти количество неотрицательных решений линейного диофантова уравнения (1) при наличии ограничений
0 ^ Хк ^ тк, к = 1,..., п. (2)
Обозначим данное число символом /П [т1,т2,... ,тп] и будем его называть числом сочетаний с повторениями из п типов элементов по т элементов при (простых) ограничениях, определяемых неравенствами (2).
Замечание 1. Несложно проверить, что решение задачи (1), (2), т. е. формула для /П [т1, т2,... , тП], имеет смысл лишь при тк ^ 0 для к = 1,... , п и т1 + т2 + + ... + тп ^ т.
Задача (1), (2) также может быть сформулирована как задача подсчёта т-эле-ментных подмультимножеств заданного мультимножества с весами элементов т1, т2, ..., тП. Применяя метод производящих функций, далее мы получим новую формулу для решения задачи (1), (2) и некоторых её обобщений.
Отметим, что конфеты в ящиках могут быть упакованы не насыпью, а находиться в коробках или блоках по rj штук, ] = 1,...,Ж. Таким образом, имеется N типов коробок, где в коробке ]-го типа находится г^ конфет.
Замечание 2. В отношении последней задачи возможны два варианта. В первом случае разрешается из каждого ящика брать не более одной коробки конфет. Решение задачи в этом случае будем называть числом сочетаний с повторениями при блочных
т1, т2,..., тП
ограничениях и обозначать символом /
п
П
Во втором случае огра-
Г1,Г2, . . . ,Глг
ничений на количество коробок нет. Необходимо лишь, чтобы суммарное количество
конфет, взятых из к-го ящика, не превышало Шк, к = 1,...,п. Решение второй задачи будем называть числом сочетаний второго типа с повторениями при блочных
Ш1,Ш2,...,Ш„
ограничениях и обозначать символом гг' '
Ш1,Ш2
m
n
Интерпретация формулы f
m
n
Гі,Г2,. . . ,rN
, mn
в терминах числа решений диофан-
Г1,Г2, . . . ,гм
това уравнения (1) приводит к следующим ограничениям для допустимых решений:
О 4 Xk 4 mk, Xk Є {гі, r2,..., rN} , k = l,..., n,
l,
, N, —произвольные целые неотрицательные числа, удовлетворяющие ^ шт {шк}.
Введём в рассмотрение следующие множества целых чисел (к = 1,... , п):
где Tj, j
условию min {тЛ ^ min |mkj.
J i^j^N { j J ЫМ/n { k J
N
I (mk; гі, r2,..., rN) = <J r : r = Y, akprp 4 mk, akp Є Z+ = N U {0}, p = l,..., N
p=l
m
n
ml, m2, . . . , mn
через целочис-
Тогда для определения комбинаторного числа Fn
T1,T2, ...,Tn
ленные решения уравнения (1) приходим к следующим ограничениям:
0 ^ Xk ^ mk, Xk е I (mk; Ti,T2,..., tn), k = 1,..., n.
2. Формулы для числа сочетаний с повторениями при ограничениях
Для вывода формул числа сочетаний с повторениями при ограничениях воспользуемся следующей конструкцией метода производящих функций [7]. Рассмотрим формальный полином
P(t) = (1 + t + t2 + ... + tmi) (1 + t + t2 + ... + tm2) ... (1 + t + t2 + ... + tmn) =
mi+m2+...+m„ /q\
= E t^l t^2 tXn (3)
j = 0,xi + X2 + ...+xn=j,
0^.xfc ,k=1,...,n
Представим P(t) в стандартной форме по возрастающим показателям степеней:
P (t) = 1 + pit + p2t2 + ... + PntR, R = mi + m2 + ... + mn.
Тогда из тождества (3) следует, что fm [m1, m2,... , mn] = pm. Для вычисления данного коэффициента положим в тождестве (3) t = exp {i‘}, где i = V —1 —мнимая единица. Умножим обе части полученного соотношения на exp {—im‘} и проинтегрируем его по переменной ‘ на отрезке [—п,п]. Учитывая, что система функций {exp {ik‘}}^0 является ортогональной в пространстве L2 [—п, п], получим следующее представление:
,m г 1 1 п / • m eXP {i (mk + 1) ‘Л — 1 .
fn [mi, m2,... ,m„] = — J exp (—im‘^ --------------____ r . ,-- -----d‘.
2n.
Аналогично, рассматривая тождество
k=l exp {i^} - l
tj tj
tj
E
txltx2 ...tx
.j:rj 4m l
,j:rj 4m2
Kj:rj 4mn
Q^Xk^mk, k=l,...,n,
Xke{rl,r2,...,rN }
n
приходим к представлению
ml, m2,..., mn
m
n
l П n
2“/ П Е exp {i^ (rj - m)} d^.
2n —п p=l j:04rj<mp
Т1,Т2,. . . ,Глг Наконец, используя тождество
Е «*) ( Е I ■ ■ ■ I Е V
е/(тх;г1,г2,...,г^) / у:^ €/(т,2;г1,Г2,...,г^) / £1 (т„;гх,г2,...,г^)
= Е «Х1 «Х2 ...«Ж" ,
^т^, к = 1,...,п,
хке1(тк ;г1,г2,...,гм)
получаем выражение для числа сочетаний второго типа с повторениями при блочных ограничениях:
Fm
n
ml, m2, . . . , mn
Г1, Г2,
rN
inn
^ 1 11 Е
^/l —п p=l j:rjЄДш^гі,^,...,^)
exp {i^ (rj - m)}d^.
(5)
3. Некоторые следствия и обобщения
Отметим, что если элементы в последовательности {т1, т2, . . . , Tn} рекуррентно связаны, например образуют геометрическую прогрессию, то подынтегральные выражения в соотношениях (4), (5) допускают дальнейшее упрощение. Например, если Tj/Tj-1 = a = const для j = 2,... , N, то, учитывая, что
^—1 ■ ••• W. (—
tj = t
rl
где ф (k)
j :r j 4mk
rl
« - 1
соотношение (4) примет в этом случае более простую форму
Ш1, Ш2, . . . , Шп
[z] — целая часть числа z,
f
n
m
n
Г1,Г2, . . . ,rN
l п
— \ exp {-im^} A (i^)d^, 2п _ п
где
A (t)
tnrl
(t - l)n k=l
- 0-
Выше мы рассмотрели задачи о количестве выборок конфет различного состава для одного ребенка. В качестве небольшого обобщения рассмотрим задачу, когда конфеты необходимо распределить между несколькими детьми. Пусть имеется п ящиков с конфетами, причём в разных ящиках конфеты разных видов. Пусть также в ^-м ящике находится г/ конфет. Конфеты из всех ящиков необходимо распределить между Ш детьми так, чтобы первому досталось ровно к1 конфет, второму — к2 конфет и т. д., последнему — кт конфет. Необходимо определить, сколькими способами это можно сделать. Интерпретация данной задачи в терминах решений диофантовых уравнений приводит к следующей формулировке.
Рассматривается система линейных диофантовых уравнений
X11 + X12 + ... + Xln — kl, X21 + X22 + ... + X2n = k2,
Xml + Xm2 + ... + Xmn =
X11 + X21 + ... + Xml
Г1,
X12 + X22 + ... + Xm2 = r 2,
Xln + X2n + ... + Xm
Гп,
где
п т
Е г, = Е кг; кг ^ 0, г = 1,... ,т; г,- ^ 0,3 = 1,..., п. (7)
,=1 г=1
Необходимо определить количество её неотрицательных решений. Решение задачи (6), (7) обозначим символом /т1.ПП"’кт’Г1’'"’Гп, который также может рассматриваться как некоторое расширение понятия числа сочетаний с повторениями. Для определения данного комбинаторного числа рассмотрим следующую промежуточную подзадачу. Обозначим через А = ||а, : г = 1,... , т;3 = 1,... ,п|| произвольную матрицу с целыми неотрицательными элементами. Через Ь = ||Ьг : г = 1,...,т|| обозначим произвольный вектор-столбец с целыми неотрицательными элементами. Рассматривается задача определения количества неотрицательных решений системы линейных диофантовых уравнений
«г1Х1 + а»2Х2 + ... + «гпХп = Ь», г = 1,... ,т. (8)
Обозначим решение рассматриваемой задачи через N (А, Ь). Данное число равно коэффициенту при ^ ^22 ... ^ в разложении по возрастающим показателям степеней производящей функции
к
]“[ ^ (9)
j=1 k=0
r ь n\ ^
Vi = 1,..., m (ajj > 0) >, j = 1,..., n.
+ sgn 1 (j — [bj!
_ aij _ \ V aij . aij _
где Kj = 1 + max
Поступая по аналогии, как и ранее, положим в (9) tk = exp {iVk}, k = 1,... , m. Далее, интегрируя полученное выражение на кубе [—п,п]т по переменным Vk, учитывая ортогональность системы функций -|exp —i Е qk Vk : ^ Z+, k = 1,... , m
в пространстве L2 [—n,n]m, приходим к следующему результату:
1 п п 'jraKj f m
N (A, b) = j—rm I ... j exp — i ^ bk Vk f П E exp ^ ik a^ Vi f dvi... dVm.
/о \т ,} • • • Л ч о ^ г | | / ^ \ ыь ^
(2п) —п —п I. к=1 J ,=1 к=0 I. г=1
Для применения полученной формулы к определению числа целочисленных неотрицательных решений системы диофантовых уравнений (6), (7) перенумеруем неизвестные , г = 1,... , т, 3 = 1,... , п, с помощью одного индекса к построчно слева направо и сверху вниз. Это соответствие для к = 1,...,тп задаётся правилом: ^п,т (к) = (г, 3), если к = (г - 1) п + 3.
Следовательно, задача (6), (7) допускает представление в виде (8), если положить
А = ||а, : г = 1,... ,т + п,3 = 1,..., тп||, Ь = ||Ьг : г = 1,..., т + п||,
где для г = 1,..., т + п, 3 = 1,..., тп
1, если г € {1, 2,..., т} и ^пт (3) е {(г, д) : 1 ^ q ^ п} ,
1, если г = т + р, 1 ^ р ^ п и ^п>т (3) е {(д,р): 1 ^ ^ т} , (10)
0 в остальных случаях;
кг, если 1 ^ г ^ т,
Ьг = < (11)
г,, если г = т + 3,1 ^ 3 ^ п.
aij
Таким образом, справедлива формула /?к1.П"’кт;Г1’'"’Гп = N (А, Ь), где матрица А и вектор Ь определяются с помощью соотношений (10), (11).
Пример. Рассмотрим применение полученных выше формул для решения задачи (6), (7). Пусть т = 3 и п = 2. Необходимо найти количество всех целых неотрицательных решений системы уравнений
Хц + Ж]_2 — ^1,
Х21 + Х22 = &2,
Х31 + Х32 = кз,
Х11 + Х21 + Х31 = ГЪ Х11 + Х21 + Х31 = Г 2.
Пусть также к1 = 3, к2 = 5, к3 = 2, г1 = 4 и г2 = 6. Очевидно, что условие (7) при этом выполнено. Матрица А и вектор Ь имеют вид
А
1 1 0 0 0 0 3
0 0 1 1 0 0 5
0 0 0 0 1 1 , Ь = 2
1 0 1 0 1 0 4
0 1 0 1 0 1 6
Таким образом, количество всех целых неотрицательных решений рассматриваемой системы уравнений даётся формулой
(•3,5,2;4,6
/3;2
1
1111 (<£1,<£2,<£3,<£4,<£5) ^1 ^2^3^4^5 =11,
(2п ) —п —п —п —п —
где
^ (^1, ^2, ¥>3, ¥4, ^5) = е—^1+5^2+4^б) П ^ (^1, ^2, ¥3, ¥4, Ы
.7=1
^1 (¥1, ¥2, ¥3, ¥4, ¥5)
^2 (¥1, ¥2, ¥3, ¥4, ¥5)
*3 (¥1, ¥2, ¥3, ¥4, ¥5)
^4 (^Ъ ^ ^ ^ ¥5)
^5 (¥Ъ ^ ^ ¥4> ¥5)
^6 (¥1, ¥2, ¥3, ¥4, ¥5)
+ е»(^1+^4)+ е2»(^1+^4)+ е3»(^1+^4)+ е4»(^1+^4)+ е5»(^1 +Ы + е6»(^1+^4)
+ е»(^1+^Б)+ е2г(^1+^б)+ е3г(^1+^Б)+ е4г(^1+^б)+ е5»(^1 +^Б)+ е6г(^1+^Б)
+ е»(^2+^4)+ е2»(^2+^4)+ е3»(^2+^4)+ е4»(^2+^4)+ е5»(^2 +^4)+ е6»(^2+^4)
+ е»(^2+^Б)+ е2»(^2+^Б)+ е3»(^2+^Б)+ е4»(^2+^Б)+ е5»(^2 +^Б)+ е6»(^2+^Б)
+ е»(^3+^4)+ е2»(^3+^4)+ е3»(^3+^4)+ 64»(^3+^4)+ е5»(^3 +Ы + е6»(^3+Ы
+ е»(^3+^Б)+ 62»(^3+^Б)+ 63»(^3+^Б)+ 64»(^3+^Б)+ 65»(^3 +^Б)+ 66»(^3+^Б)
Заключение
Получены некоторые обобщения понятия числа сочетаний с повторениями. Найдены интегральные формулы для рассматриваемых комбинаторных чисел, применение которых может рассматриваться как альтернатива использованию различных переборных алгоритмов, реализуемых на ЭВМ с помощью языков программирования. Однако использование данных формул приводит к вычислению определённых интегралов; вопросы, связанные с эффективностью реализации операции интегрирования, требуют дальнейшего исследования.
ЛИТЕРАТУРА
1. Виленкин Н. Я. Комбинаторика. М.: Наука, 1969. 323 с.
2. Новиков Ф. А. Дискретная математика для программистов. СПб.: Питер, 2009. 384 с.
3. Петровский А. Б. Пространства множеств и мультимножеств. М.: УРСС, 2003. 248 с.
4. MacMahon P. A. Combinatory analysis. Cambridge: The University Press, 1915. 296 p.
5. Juric Z. and Siljak H. A new formula for the number of combinations and permutations of multisets // Appl. Math. Sci. 2011. V. 5. No. 18. P. 875-881.
6. Заторский Р. А. Подсчет m-подмультимножеств через их вторичные спецификации // Комбинаторный анализ. Вып. 7. М.: МГУ, 1986. С. 136-145.
7. Полиа Г., Сеге Г. Задачи и теоремы из анализа. М.: Наука, 1978. 391 с.