Образовательный портал Павла Добряка

2.2. Основы комбинаторики

Это один из важнейших параграфов. Подходы к решению задач, изложенные здесь, используются почти во всех других главах книги. Важно не только выучить, но и понять весь изложенный здесь материал. На основе теории из этого параграфа построена целая глава этой книги «Комбинаторика» (предпоследняя).

Задача 2.2.1. Сколько можно составить пятибуквенных слов, если используются только буквы A, B, C (каждая буква может повторяться несколько раз или не встречаться в слове вовсе).

Теория. Целесообразно вывести формулу. Количество букв (ячеек) в слове (в нашей задаче - 5) –это показатель степени, в которое мы возвели число 3. А откуда взялось число 3 – основание степени? Это мощность алфавита, то есть количество букв, которые могут использоваться при составлении слов (в нашей задаче – А, В, C). Таким образом, получаем формулу:

w = mn

Где w-количество слов, m-мощность алфавита, n-количество ячеек.

Примечание 1. Некоторые ученики предпочитают выучить формулу, но очень часто при решении задачи путают основание и показатель степени, то есть наоборот, количество ячеек возводят в степень мощности алфавита. Кроме того, задача может быть сформулирована и так: «Первая ячейка принимает значения из 2 букв, вторая из четырех, третья – из шести». В этом случае количество слов вычисляется через произведение 2 * 4 * 6. И вы об этом легко догадаетесь, если запомните ход решения, но формула вам для получения решения никак не поможет. Это пример того, почему важно понять и запомнить ход рассуждений, а не формулу.

Примечание 2. Есть связь с системами счисления. Если в нашей задаче мы заменим буквы на цифры, то получим последовательность чисел в троичной системе. Последнее число будет 222-троичное. Но поскольку ряд чисел начинается с нуля, то всего будет чисел 1000 (но это ответ в троичном виде). Переведем его в десятичный вид, чтобы получить ответ в десятичном виде: 

100003 = 1 * 35 = 24310

 

Задача 2.2.2. Есть четыре флага разных цветов и четыре мачты. Сколько можно передать сообщений, если флаги вывешивать на мачты в разном порядке (на каждой мачте обязательно должен висеть один из флагов).

Теория. Решеная задача называется перестановками, выражение вида 1 * 2 * 3 * 4 – факториалом. Формула для вычисления:

Pn = n! = 1 * 2 * 3 * … * n

Задача могла бы быть сформулирована в более общем виде, например, есть 6 флагов и три мачты. Тогда произведение не нужно было бы доводить до конца: 6*5*4.

Выведем формулу через факториалы для нашего примера:


Эта задача называется размещением и обозначается буквой A, от английского и французского arrangement. В формуле m – это   мощность алфавита (количество разных предметов, которые существуют только в одном экземпляре), а n-количество ячеек.

Примечание. На ЕГЭ формулу можно не вспомнить, поэтому будет лучше, если вы поймете и запомните ход рассуждений. Подвохом может быть то, что в задаче будет большое количество предметов и ячеек. Поэтому важно уметь привести пример на маленьких числах и понять принцип вычислений.

 

Задача 2.2.3. В магазине продается 7 видов фруктов. Мы можем купить только три вида фруктов, чтобы сделать из них салат. Сколько различных видов салатов мы могли бы приготовить из имеющегося в магазине ассортимента?

Теория 1. Рассмотренная задача с салатом называется задачей на сочетания и обозначается буквой С (от латинского combinatio). Она тесно связана с расстановками и перемещениями формулой:

Я не советую запоминать формулу, так как очень легко ошибиться. Намного проще понять и запомнить ход решения, тогда вероятность ошибки снизится.

Теория 2. С комбинаторикой тесно связан бином Ньютона и треугольник Паскаля. Эта информация является дополнительной, поэтому, если вы ограничены во времени, можете её не читать.

Рассмотрим формулы:

В общем виде то, что мы хотим вычислить, называется биномом Ньютона:

(a + b)n

Как видите, количество вычислений резко возрастает при увеличении степени.

Хотелось бы иметь способ быстрого вычисления коэффициентов при слагаемых в биноме Ньютона. И в этом нам поможет треугольник Паскаля. Он представляет собой пирамиду, в вершине которой находится 1, а каждая нижняя клетка равна сумме двух верхних клеток, которые на неё опираются (то есть треугольник Паскаля заполняется сверху):

Если строки треугольника нумеровать сверху, то числа в треугольнике являются коэффициентами при разложении бинома Ньютона. А какая же связь с комбинаторикой? Вернемся к задаче про салат. Там мы вычисляли количество сочетаний из 7 элементов по три:

Если элементы строки тоже нумеровать с нуля, то посмотрите третий элемент в седьмой строке треугольника Паскаля. Это тоже 35. То есть коэффициенты при разложении бинома Ньютона являются сочетаниями.


Задача 2.2.4. Сколько шестибуквенных слов можно составить из букв A,B,C,D, если буква A встречается в каждом слове ровно три раза, а остальные буквы могут присутствовать в любых количествах или не быть вообще.



Задача 2.2.5. В соревновании принимали участие 20 спортсменов. Какой объем памяти (бит) нужен, чтобы запомнить номера трех победителей?



Ошибка из-за модификации задачи

Некоторые ученики рассуждают следующим образом: у нас есть 20 спортсменов, нужно выбрать троих из них. Спортсмены повторяться не могут (то есть один спорстмен не может занять сразу два места). Порядок имеет значение (то есть важно, какое именно место займет спортсмен). Поэтому применим формулу для размещения:

Но что мы найдем таким способом? Вовсе не количество памяти, необходимое для запоминания трех победителей, а количество вариантов списков чемпионов. Вот если бы была задача сделать заготовки поздравительных пресс-релизов с указанием фамилий победителей еще до проведения соревнований, то тогда бы количество пресс-релизов рассчитывалось бы таким способом.

 

Задача 2.2.6. Петя и Вася живут напротив друг друга и решили обмениваться сообщениями с помощью табло из лампочек. Каждая лампочка может быть выключенной, включенной или мигать. Сколько лампочек нужно, чтобы закодировать 33 буквы русского алфавита?

 

Задача 2.2.7. В детскую игрушку «Набор юного шпиона» входят два одинаковых комплекта из четырех флажков различных цветов. Сколько различных тайных сообщений можно передать этими флажками, условившись менять выставленный флажок каждые пять минут и наблюдая за процессом 15 минут? Наблюдатель видит вынос первого флажка и две перемены флажка. При этом возможна смена флажка на флажок того же цвета.



Задача 2.2.8. Команды для некоторого устройства задаются тремя одинаковыми тумблерами. Сколько положений должно быть в тумблере, чтобы можно было закодировать 120 различных команд?



Задача 2.2.9. Метеостанция измеряет температуру в диапазоне от -8 до 8 с точностью 0,5 градусов. Сколько бит нужно, чтобы сохранить результаты одного измерения?

 

Задача 2.2.10. Какой объем памяти в байтах нужен, чтобы сохранить картинку размером 8X8 пикселей, при использовании палитры из 32   цветов?



Задача 2.2.11. Производится двухканальная звукозапись с частотой дискретизации 100 Гц. При записи использовались 256 уровней дискретизации. Запись длится 5 минут. Сколько байт требуется для сохранения звукозаписи?

Примечание. Приведенная задача может быть сформулирована и другими способами: 1. Вместо уровней дискретизации может быть приведен диапазон изменения величины и точность, как в задаче с метеостанцией 2.2.6. В этом случае надо посчитать количество уровней дискретизации и закодировать их.

2. Задача может быть приведена и в упрощенном виде. Вместо уровней дискретизации сразу может быть приведен объем памяти в битах на один отсчет. То есть для нашего случая вместо 256 уровней дискретизации сразу будет дано 8 бит.

 

Задача 2.2.12.  Производится од­но­ка­наль­ная (моно) зву­ко­за­пись с ча­сто­той дискретизации 48 кГц и глу­би­ной кодирования 16 бит. За­пись длится 2 минуты, ее ре­зуль­та­ты записываются в файл, сжа­тие данных не производится. Какое из при­ве­ден­ных ниже чисел наи­бо­лее близко к раз­ме­ру полученного файла, вы­ра­жен­но­му в мегабайтах?

 

1) 11

2) 12

3) 13

4) 20

Теория.

Приведем различные единицы измерения:

 

1 байт = 8 бит = 23 бит

1 Килобайт = 1024 байта = 210 байта = 213 бит

1 Мегабайт = 1024 Килобайта = 210 Килобайта = 220 байт = 223 бит

1 Терабайт = 1024 Мегабайта = 210 Мегабайта = 220 Килобайт = 230 байт = 233 бит

 

Терабайты в ЕГЭ до сих пор не встречались, но, поскольку появились жесткие диски на такой объем памяти, то весьма вероятно, что эта единица измерения также появится в ЕГЭ.

Обратите внимание, что вместо 1000 при переводе из одной единицы измерения в другую используется множитель 1024. Так удобнее в информатике. При примерных подсчетах 1000 и 1024 можно сокращать.

Ошибка. Школьная физика приучила решать задачи по шагам. Но этот путь приведет к громоздким вычислениям. Правильный способ решения – записать итоговую формулу, подставить числа, потом сокращать.

 

Задача 2.2.13. B не­ко­то­рой стра­не ав­то­мо­биль­ный номер дли­ной 7 сим­во­лов со­став­ля­ют из за­глав­ных букв (ис­поль­зу­ют­ся толь­ко 33 раз­лич­ных буквы) и де­ся­тич­ных цифр в любом по­ряд­ке. Каж­дый такой номер в ком­пью­тер­ной про­грам­ме за­пи­сы­ва­ет­ся ми­ни­маль­но воз­мож­ным и оди­на­ко­вым целым ко­ли­че­ством бай­тов (при этом ис­поль­зу­ют по­сим­воль­ное ко­ди­ро­ва­ние и все сим­во­лы ко­ди­ру­ют­ся оди­на­ко­вым и ми­ни­маль­но воз­мож­ным ко­ли­че­ством битов). Опре­де­ли­те объём па­мя­ти, от­во­ди­мый этой про­грам­мой для за­пи­си 125 но­ме­ров.

Ошибка из-за модификации задачи

Иногда ученики рассуждают следующим образом: количество ячеек равно 7. Мощность алфавита 33 + 10 = 43. Следовательно, применим степенную формулу:

43= ?!!

Но что мы найдем таким образом? Количество всех возможных автомобильных номеров! Это совсем другая задача (ошибка сродни той, которая приводилась в задаче на объем картинки).

 

Задача 2.2.14. Автоматическое устройство осуществило перекодировку информационного сообщения на русском языке, первоначально записанного в 16-битном коде Unicode, в 8-битную кодировку КОИ-8. При этом информационное сообщение уменьшилось на 480 бит. Какова длина сообщения в символах?

 

Задача 2.2.15. Герасим составляет 7-буквенные коды из букв Г, Е, Р, А, С, И, М. Каждую букву нужно использовать ровно 1 раз, при этом нельзя ставить подряд две гласные или две согласные. Сколько различных кодов может составить Герасим?

 

Задача 2.2.16. Левий составляет 5-буквенные коды из букв Л, Е, В, И, Й. Каждую букву нужно использовать ровно 1 раз, при этом код не может начинаться с буквы Й и не может содержать сочетания ЕИ. Сколько различных кодов может составить Левий?

 

Комбинаторика «пронизывает» весь ЕГЭ. Мы неоднократно встретимся с приемами этого параграфа в задачах на графы и деревья, логические уравнения и IP-адресацию. Предпоследняя глава книги «Комбинаторика» содержит как комбинаторные задачи на повторение из всех разделов ЕГЭ, так и задачи повышенной сложности.