Новосибирский Государственный Университет
Опубликован: 08.11.2006 | Доступ: свободный | Студентов: 1941 / 96 | Оценка: 4.27 / 4.09 | Длительность: 12:16:00
Специальности: Программист
Лекция 5:

Комбинаторика разбиений

< Лекция 4 || Лекция 5: 12 || Лекция 6 >

Число сочетаний

Рассмотрим подмножества множества, состоящего из пяти элементов, и подсчитаем их число. При этом записывать подмножества будем не с помощью букв, как обычно, а в виде последовательностей длиной пять, составленных из нулей и единиц. Каждая из единиц указывает на наличие в подмножестве соответствующего элемента. Например, подмножества, содержащие один элемент, будут изображаться следующими последовательностями: 10000, 01000, 00100, 00010, 00001. Пустое подмножество \emptyset будет соответствовать последовательности 00000. Подмножества, содержащие по два элемента из пяти, запишутся с помощью следующих последовательностей: 11000, 10100, 10010, 10001, 01100. 01010, 01001, 00110, 00101, 00011. Всего их C_5^2=10.

Вообще, число сочетаний из n элементов по m равно числу всевозможных последовательностей из m единиц и n -
m нулей.

Задачи на разбиение чисел

Теперь мы переходим к задачам, в которых все разделяемые предметы совершенно одинаковы. В этом случае можно говорить не о разделении предметов, а о разбиении натуральных чисел на слагаемые (которые, конечно, тоже должны быть натуральными числами).

Здесь возникает много различных задач. В одних задачах учитывается порядок слагаемых, в других - нет.

Задача 4. Отправка бандероли.

За пересылку бандероли надо уплатить 18 рублей. Сколькими способами можно оплатить ее марками стоимостью 4, 6, и 10 рублей, если два способа, отличающиеся порядком марок, считаются различными (запас марок различного достоинства считаем неограниченным)?

Обозначим через f(N) число способов, которыми можно наклеить марки в 4, 6 и 10 рублей так, чтобы общая стоимость этих марок равнялась N. Тогда для f(N) справедливо следующее соотношение:

f(N) = f(N- 4) + f(N - 6) + f(N - 10). ( 5.4)
Пусть имеется некоторый способ наклейки марок с общей стоимостью N, и пусть последней наклеена марка стоимостью 4 рубля. Тогда все остальные марки стоят ( N - 4 ) рубля. Наоборот, присоединяя к любой комбинации марок общей стоимостью ( N - 4 ) рубля одну четырехрублевую марку, получаем комбинацию марок стоимостью N рублей. При этом из разных комбинаций стоимостью ( N - 4 ) рублей получается разные комбинации стоимостью N рублей. Итак, число искомых комбинаций, где последней наклеена марка стоимостью 4 рубля, равно f(N - 4).

Точно так же доказывается, что число комбинаций, оканчивающихся на шестирублевую марку, равно f(N - 6), а на десятирублевую марку оканчиваются f(N - 10) комбинацией. Поскольку любая комбинация оканчивается на марку одного из указанных типов, то по правилу суммы получаем соотношение 5.4.

Соотношение 5.4 позволяет свести задачу о наклеивании марок на сумму N рублей к задачам о наклеивании марок на меньшие суммы. Но при малых значениях N задачу легко решить непосредственно. Простой подсчет показывает, что

f(0)=1,f(1)=f(2)=f(3)=0,f(4)=1,f(5) = 0,\\ f(6) = 1,f(7)=0,f(8)=1,f(9)=0.
Равенство f(0)=1 означает, что сумму в 0 рублей можно уплатить единственным образом: совсем не наклеивая марок. А сумму в 1,2,3,5,7 и 9 рублей вообще никак нельзя получить с помощью марок стоимостью 4, 6 и 10 рублей. Используя значения f(N) для N = 0,1,2,3,4,5,6,7,8,9, легко найти f(10):
f(10)=f(6)+f(4)+f(0)=3.
После этого находим
f(11)=f(7) + f(5) + f(1) = 0,
f(12)=f(8) + f(6) + f(2) = 2
и т.д. Наконец, получаем значение f(18)=8. Таким образом, марки можно наклеить восемью способами. Эти способы таковы: 10,4,4 ; 4,10,4 ; 4,4,10 ; 6,4, 4,4 ; 4,6,4,4 ; 4,4,6,4 ; 4,4,4,6 ; 6,6,6. Отметим, что значения f(N) для N = 1,2,3,4,5,6,7,8,9 можно было получить иначе, не приводя непосредственно проверки. Дело в том, что при N <
0 имеем f(N) = 0, поскольку отрицательную сумму нельзя уплатить, наклеивая неотрицательное количество марок. В то же время, как мы видели, f(0) = 1. Поэтому f(1)=f(-3)+f(-5)+f(-9)=0.

Точно так же получаем значение f(2)=0,f(3)=0, а для N
= 4 имеем f(4)=f(0)+f(-2)+f(-6)=1.

Задача 5.Общая задача о наклейке марок.

Разобранная задача является частным случаем следующей общей задачи: Имеются марки достоинством в n_1,n_2,\ldots,n_k. Сколькими способами можно оплатить с их помощью сумму в N рублей, если два способа, отличающиеся порядком, считаются различными? Все числа n_1,n_2
,\ldots,n_k различны, а запас марок неограничен. Здесь на первом месте мы будем указывать число слагаемых, на втором – разбиваемое число и на последнем - ограничения на величину слагаемых.

В этом случае число f(N) способов удовлетворяет соотношению

f(N) = f(N - n_1 ) + f(N - n_2 ) + \ldots  + f(N - n_k). ( 5.5)
При этом f(N) = 0, если f(0)=1 и N < 0. С помощью соотношения 5.5 можно найти f(N) для любого N, последовательно вычисляя f(1),f(2),\ldots,f(N-1).

Рассмотрим частный случай этой задачи, когда n_1= 1,n_2  = 2,\ldots
, n_k  = k. Мы получаем всевозможные разбиения числа N на слагаемые 1,2,\ldots,k, причем разбиения, отличающиеся порядком слагаемых, считаются различными. Обозначим число этих разбиений через \varphi(k;N). ( На первом месте мы будем указывать число слагаемых, на втором - разбиваемое число и на последнем – ограничения на величину слагаемых.) Из соотношения 5.5 следует, что

\varphi(k;N-1)+\varphi(k;N-2)+\ldots+\varphi(k;N-k). ( 5.6)
При этом \varphi (k;0) = 1 и \varphi(k;N)= 0, если N <0. Вычисление \varphi (N;k) можно упростить, если заметить, что
\varphi (N-1;k)=\varphi(N-2;k)+\varphi(N-k-1;k),
и потому
\varphi(N;k)=2\varphi(N-1;k)-\varphi (N - k - 1;k). ( 5.7)
Ясно, что слагаемые не могут быть больше N. Поэтому \varphi(N,N) равно числу всех разбиений на N на натуральные слагаемые (включая и "разбиение" N = N. Если число слагаемых равно s, то получаем C_{N
- 1}^{s - 1} разбиений. Поэтому
\varphi(N,N)=C_{N-1}^0+C_{N-1}^1+\ldots+C_{N-1}^{N-1}=2^{N-1}.
Итак, мы доказали, что натуральное число N можно разбить на слагаемые 2^{N - 1} способами. Напомним, что при этом учитывается порядок слагаемых.Например, число 5 можно разбить на слагаемые 2^{5 - 1}  =
16 способами.

5 = 5 5 = 3 + 1 + 1 5 = 1 + 2 + 2
5 = 4 + 1 5 = 1 + 3+ 1 5 = 2 + 1 + 1 + 1
5 = 1 + 4 5 = 1 + 1 + 3 5 = 1 + 2 + 1 + 1
5 = 2 + 3 5 = 2 + 2 + 1 5 = 1 + 1 + 2 + 1
5 = 3 + 2 5 = 2 + 1 + 2 5 = 1 + 1 + 1 + 2
5 = 1 + 1 + 1 + 1 + 1

Комбинаторные задачи теории информации

Информация - сведения, неизвестные до их получения, или данные, или значения, приписанные данным.

Теория информации - математическая дисциплина, изучающая количественные свойства информации.

Задачу, похожую на только что решенную, приходится решать в теории информации. Предположим, что сообщение передается с помощью сигналов нескольких типов. Длительность передачи сигнала первого типа равна t_1, второго типа - t_2,\ldots,k -го типа - t_k единиц времени.

Задача 6. Сколько различных сообщений можно передать с помощью этих сигналов за T единиц времени? При этом учитываются лишь "максимальные" сообщения, то есть сообщения, к которым нельзя присоединить ни одного сигнала, не выйдя за рамки отведенного для передачи времени.

Обозначим число сообщений, которые можно передать за время T через f(T). Рассуждая точно так же, как и в задаче о марках, получаем, что f(T) удовлетворяет соотношению

f(T)=f(T-t_1)+\ldots+f(T-t_k). ( 5.8)
При этом снова f(T) = 0, если T < 0 и f(0) = 1$.

< Лекция 4 || Лекция 5: 12 || Лекция 6 >