Добро пожаловать на BlackSAMP - ФОРУМ

  • Приватные и секретные разделы доступны только зарегистрированным пользователям.

    Вся важная информация в нашем ТГ: t.me/gtablack

    На данном форуме запрещено публиковать контент нарушающий Российское законодательство, за это последует блокировка ФА.

Комбинаторика - как считать, не считая?

Количество просмотров: 74
Статус
В этой теме нельзя размещать новые ответы.

Holmes

Я не высокомерный - я просто прав.
Социопат
Модератор
Регистрация
17 Авг 2024
Сообщения
11
Реакции
12
Баллы
8
Приветствую, юные гении, на связи снова Holmes.
В данной теме я расскажу вам про комбинаторику.

Комбинаторика — это не про тупой перебор, а про то, как быстро считать варианты, когда их миллионы. Вот простой пример: допустим, у вас есть 5 разных книг, и вы хотите расставить их на полке. Сколько способов это сделать? Можно, конечно, начать перебирать: "Сначала "Война и мир", потом "Преступление и наказание"...", но комбинаторика сразу даёт ответ — 5! = 120 вариантов. Факториал — это и есть комбинаторика в действии: вместо того чтобы вручную считать все перестановки, мы просто умножаем числа от 1 до 5.

Теперь задача посложнее: в конкурсе участвуют 10 человек, нужно выбрать троих победителей — первое, второе и третье места. Здесь уже не просто сочетания, а размещения, потому что порядок важен. Формула говорит нам: 10 вариантов на первое место, 9 на второе, 8 на третье — итого 10×9×8=720 способов распределить призы. А если бы места были равнозначны (например, просто отобрать трёх человек в финал), то считали бы сочетания: 10! / (3!×7!) = 120 вариантов. Разница в пять раз — вот почему важно понимать, важен ли порядок.

Где это применяется? Да везде. Вот вы заходите в личный кабинет, вводите пароль из 8 символов. Сколько возможных комбинаций? Если использовать буквы (52), цифры (10) и спецсимволы (10), то на каждый символ приходится 72 варианта. Итого 72 в восьмой степени — это примерно 722 триллиона комбинаций. Именно поэтому подбор пароля методом грубой силы — дело почти безнадёжное. Или другой пример: в генетике нужно понять, сколько разных комбинаций генов может получиться у потомства — это тоже задача на сочетания.

Как изучать комбинаторику?

Начальный уровень:
- Н.Я. Виленкин – "Комбинаторика" (классический учебник для старших классов)
- И.М. Яглом – "Комбинаторные задачи" (простые и наглядные примеры)
- А. Шень – "Программирование: теоремы и задачи" (раздел по комбинаторике)

Средний уровень:
- Р. Стенли – "Перечислительная комбинаторика. Том 1" (фундаментальный курс)
- В.А. Успенский – "Лекции о вычислимых функциях"*(разделы по дискретной математике)
- Дж. Риордан – "Введение в комбинаторный анализ"

Продвинутый уровень:
- Ф.Харари – "Теория графов" (комбинаторные аспекты)
- Л. Ловас – "Комбинаторные задачи и упражнения" (углублённые задачи)
- Д. Кнута – "Искусство программирования. Том 4А" (комбинаторные алгоритмы)

Практика:
- Сборник задач А.М. Яглома и И.М. Яглома
- Олимпиадные задачи Всероссийской математической олимпиады
- Задачи из журнала "Квант" (раздел "Математический кружок")

Дополнительно:
- В. Липский – "Комбинаторика для программистов" (прикладные аспекты)
- М. Айгнер – "Доказательства и вычисления в комбинаторике"
- Сборник "Задачи Санкт-Петербургских олимпиад"

By Holmes
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу