Комбинато́рика — раздел математики, посвящённый решению задач, связанных с выбором и расположением элементов некоторого (чаще всего конечного) множества в соответствии с заданными правилами. Каждое такое правило определяет некоторую выборку из элементов исходного множества, которая называется комбинаторной конфигурацией. Простейшими примерами комбинаторных конфигураций являются перестановки, сочетания и размещения.

Типичные задачи комбинаторики: определить количество комбинаторных конфигураций, соответствующих заданным правилам (в частности, доказать или опровергнуть их существование); найти практически пригодный алгоритм их полного построения; определить свойства заданного класса комбинаторных конфигураций.

Комбинаторика тесно связана со многими другими областями математики — алгеброй, геометрией, теорией вероятностей, теорией чисел и другими. Она применяется в самых различных областях знаний, например, в генетике, информатике, статистике, статистической физике, лингвистике, музыке.

Термин «комбинаторика» был введён в математический обиход в 1666 году Лейбницем в труде «Рассуждения о комбинаторном искусстве».

Примеры комбинаторных конфигураций и задач Для формулировки и решения комбинаторных задач используют различные модели комбинаторных конфигураций. Примерами комбинаторных конфигураций являются: Размещением из элементов по называется упорядоченный набор из различных элементов некоторого -элементного множества. Перестановкой из элементов (например чисел 1, 2, … ) называется всякий упорядоченный набор из этих элементов. Перестановка также является размещением из элементов по . Сочетанием из по называется набор элементов, выбранных из данных элементов. Наборы, отличающиеся только порядком следования элементов (но не составом), считаются одинаковыми, этим сочетания отличаются от размещений. Композицией числа называется всякое представление в виде упорядоченной суммы целых положительных чисел. Разбиением числа называется всякое представление в виде неупорядоченной суммы целых положительных чисел.

Примеры комбинаторных задач: Сколько имеется способов разместить предметов по ящикам, чтобы выполнялись заданные ограничения? Сколько существует функций из -элементного множества в -элементное, удовлетворяющих заданным ограничениям? Сколько существует различных перестановок из 52 игральных карт? Ответ: 52! (52 факториал), то есть 80 658 175 170 943 878 571 660 636 856 403 766 975 289 505 440 883 277 824 000 000 000 000, или примерно При игре в кости бросаются две кости, и выпавшие очки складываются; сколько существует комбинаций, в которых сумма очков на верхних гранях равна двенадцати? Решение: Каждый возможный исход соответствует функции (аргумент функции — это номер кости, значение — очки на верхней грани). Очевидно, что лишь 6 + 6 даёт нам нужный результат 12. Таким образом, существует всего одна комбинация, при которой сумма очков на верхних гранях равна двенадцати.

История

Древность и средние века Основные комбинаторные понятия и вычислительные результаты появились в древнем мире. Классическая задача комбинаторики: «сколько есть способов извлечь элементов из возможных» упоминается ещё в сутрах древней Индии (начиная примерно с IV века до н. э.)Amulya Kumar Bag. Binomial theorem in ancient India. Indian J. History Sci., 1:68-74, 1966.. Индийские математики, видимо, первыми открыли биномиальные коэффициенты и их связь с биномом Ньютона. Во II веке до н. э. индийцы знали, что сумма всех биномиальных коэффициентов степени равна . Индийский математик Нарайяна Пандита впервые предложил алгоритм порождения всех перестановок.

Комбинаторные мотивы можно заметить в символике китайской «Книги Перемен» (V век до н. э.). По мнению её авторов, всё в мире комбинируется из различных сочетаний мужского и женского начал, а также восьми стихий: земля, горы, вода, ветер, гроза, огонь, облака и небо. Историки отмечают также комбинаторные проблемы в руководствах по игре в Го и другие игры. Большой интерес математиков многих стран с древних времён неизменно вызывали магические квадраты.

Античные греки также рассматривали отдельные комбинаторные задачи, хотя систематическое изложение ими этих вопросов, если оно и существовало, до нас не дошло. Хрисипп (III век до н. э.) и Гиппарх (II век до н. э.) подсчитывали, сколько следствий можно получить из 10 аксиом; методика подсчёта нам неизвестна, но у Хрисиппа получилось более миллиона, а у Гиппарха — более 100000. Аристотель при изложении своей логики безошибочно перечислил все возможные типы трёхчленных силлогизмов. Аристоксен рассмотрел различные чередования длинных и коротких слогов в стихотворных размерах. Какие-то комбинаторные правила пифагорейцы, вероятно, использовали при построении своей теории чисел и нумерологии (совершенные числа, фигурные числа, пифагоровы тройки и др.).

В Средние века комбинаторика также продолжала развиваться, в основном, за пределами европейской цивилизации. В XII веке индийский математик Бхаскара в своём основном труде «Лилавати» подробно исследовал задачи, связанные с перестановками и сочетаниями, включая перестановки с повторениями. Другой индийский математик, (середина IX века), опубликовал формулы для числа перестановок и сочетаний, причём эти формулы, возможно, были знакомы индийским математикам ещё в VI веке н. э. Философ и астроном рабби Авраам ибн Эзра (около 1140 года) подсчитал число размещений с перестановками в огласовках имени БогаКраткий комментарий к Исход, 3:13.. Он же установил симметрию биномиальных коэффициентов. Точную формулу для них обнародовал позже талмудист и математик Леви бен Гершом (более известный как Герсонид) в 1321 году.

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

Новое время

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

В эпоху Возрождения, наряду с прочими науками, комбинаторика начала стремительное развитие. Джероламо Кардано написал проницательное математическое исследование игры в кости, опубликованное посмертно. Теорией этой игры занимались также Никколо Тарталья и Галилео Галилей. История теории вероятностей началась с переписки заядлого игрока шевалье де Мерэ с Пьером Ферма и Блезом Паскалем, где были затронуты несколько тонких комбинаторных вопросов. Помимо азартных игр, комбинаторные методы использовались (и продолжают использоваться) в криптографии — как для разработки шифров, так и для их взлома.

Сам термин «комбинаторика» придумал Лейбниц, он считается основоположником современной комбинаторики. В 1666 году (ему было тогда 20 лет) опубликовал книгу «Рассуждения о комбинаторном искусстве». Правда, термин «комбинаторика» Лейбниц понимал чрезмерно широко, включая в него всю конечную математику и даже логику. Ученик Лейбница Якоб Бернулли, один из основателей теории вероятностей, изложил в своей книге «Искусство предположений» (1713) множество сведений по комбинаторике.

В этот же период формируется терминология новой науки. Термин «сочетание» (combination) впервые встречается у Паскаля (1653, опубликован в 1665 году). Термин «перестановка» (permutation) употребил в указанной книге Якоб Бернулли (хотя эпизодически он встречался и раньше). Бернулли использовал и термин «размещение» (arrangement).

После появления математического анализа обнаружилась тесная связь комбинаторных и ряда аналитических задач. Абрахам де Муавр и Джеймс Стирлинг нашли формулы для аппроксимации факториала.

Окончательно комбинаторика как самостоятельный раздел математики оформилась в трудах Эйлера. Он детально рассмотрел, например, следующие проблемы: задача о ходе коня; задача о семи мостах, с которой началась теория графов; построение греко-латинских квадратов; обобщённые перестановки.

Кроме перестановок и сочетаний, Эйлер изучал разбиения, а также сочетания и размещения с условиями.

Современное состояние Работы Паскаля, Ньютона, Якоба Бернулли и Эйлера стали фундаментальными в развитии этой области. В наше время работы Дж. Дж. Сильвестра (конец XIX века) и (начало XX века) помогли заложить основы перечислительной и алгебраической комбинаторики. Теория графов также вызывала растущий интерес, особенно в связи с теоремой о четырёх красках и задачами экономики.

Во второй половине XX века комбинаторика пережила новый бурный рост, что было связано с быстрым раз­ви­ти­ем дис­крет­ной ма­те­ма­ти­ки, ин­фор­ма­ти­ки, ки­бер­не­ти­ки и пла­ни­ро­ва­ния экс­пе­ри­мен­та. Частично этот рост был стимулирован обнаруженными связями и приложениями в других областях математики — в алгебре, теории вероятностей, функциональном анализе, теории чисел Эти связи стирают границы между комбинаторикой и другими областями математики, но в то же время приводят к определённой фрагментации комбинаторики.

В начале XX века началось развитие комбинаторной геометрии: были доказаны теоремы Радона, Хелли, Юнга, Бляшке, а также строго доказана изопериметрическая теорема. На стыке топологии, анализа и комбинаторики были доказаны теоремы Борсука — Улама и . Во второй четверти XX века были поставлены проблема Борсука и проблема Нелсона — Эрдёша — Хадвигера. В 1940-х годах оформилась теория Рамсея. Отцом современной комбинаторики считается Пал Эрдёш, который ввёл в комбинаторику вероятностный анализ. Внимание к конечной математике и, в частности, к комбинаторике значительно повысилось со второй половины XX века, когда появились компьютеры. Сейчас это содержательная и быстроразвивающаяся область математики.

Методы и разделы комбинаторики

Перечислительная комбинаторика

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

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

Числа Фибоначчи являются типичным примером задачи в перечислительной комбинаторике, а также известная Задача о письмах. Двенадцатеричный путь обеспечивает единую структуру для подсчета перестановок, сочетаний и разбиений.

Аналитическая комбинаторика

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

Теория разбиения

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

Теория графов