Слайд 2Метод математической индукции
Рассуждения бывают общие и частные.
Натуральное число, сумма цифр которого делится
![Метод математической индукции Рассуждения бывают общие и частные. Натуральное число, сумма цифр](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1143214/slide-1.jpg)
на 3, делится на 3 - общее.
Число 741 делится на 3 - частное.
Переход от общего утверждения к частному называется дедукцией. Дедукция широко используется в математике.
Слайд 3Переход от частных утверждений к общему называется индукцией. Индукция лежит в основе
![Переход от частных утверждений к общему называется индукцией. Индукция лежит в основе](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1143214/slide-2.jpg)
получения нового знания.
Индукция бывает полной (все частные случаи рассмотрены) и неполной (на основании ряда частных случаев делается общий вывод). Неполная индукция может привести к ошибкам.
Рассмотрим пример полной индукции.
Слайд 4Существуют правильные многогранники следующих видов (таб. 1).
Таб. 1 Правильные многогранники
Пусть В, Г,
![Существуют правильные многогранники следующих видов (таб. 1). Таб. 1 Правильные многогранники Пусть](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1143214/slide-3.jpg)
Р — число вершин, граней и ребер правильного многогранника. Перебором легко доказать, что В+Г=Р+2. Это полная индукция
Слайд 9Элементы комбинаторики
В самых разных ситуациях приходится решать вопросы о том, сколько комбинаций,
![Элементы комбинаторики В самых разных ситуациях приходится решать вопросы о том, сколько](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1143214/slide-8.jpg)
удовлетворяющих тем или иным условиям, можно получить из имеющихся объектов. Например, руководителю проекта необходимо разделить работу между программистами. Сколько возможно вариантов расписания занятий в университете.
Слайд 11Пример. Студенту требуется начать работу с языком Python. Он может воспользоваться услугами
![Пример. Студенту требуется начать работу с языком Python. Он может воспользоваться услугами](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1143214/slide-10.jpg)
двух облачных сервисов (Google Colaboratory или RStudio Cloud) или установить на своем компьютере среду разработки (Anaconda, PyCharm, Visual Studio с нагрузкой Python, RStudio). Сколькими способами он может начать работу с Python, если он выбирает только один вариант: или использует облачную среду, или устанавливает среду разработки на свой компьютер?
Слайд 14Размещения, сочетания, перестановки
![Размещения, сочетания, перестановки](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1143214/slide-13.jpg)
Слайд 24Формула бинома Ньютона доказывается методом математической индукции.
Биномиальные коэффициенты играют важную роль
![Формула бинома Ньютона доказывается методом математической индукции. Биномиальные коэффициенты играют важную роль](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1143214/slide-23.jpg)
в теории вероятностей (биномиальный закон распределения случайной величины). В современной компьютерной графике используются кривые и поверхности Безье, основанные на полиномах Бернштейна, в которых используются биномиальные коэффициенты.
Слайд 25Комбинаторика в Python
Решение задач комбинаторики требует выполнения громоздких вычислений. Рассмотрим компьютерную реализацию
![Комбинаторика в Python Решение задач комбинаторики требует выполнения громоздких вычислений. Рассмотрим компьютерную](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1143214/slide-24.jpg)
этих вычислений на примере пакетов языка Python. Но для того, чтобы понять вычислительные аспекты комбинаторики, будем писать свои программы и сравнивать их с программами из пакетов Python.
Слайд 26Начнем с вычисления факториала. Тем более, что вычисление факториала – классический пример
![Начнем с вычисления факториала. Тем более, что вычисление факториала – классический пример](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1143214/slide-25.jpg)
при изучении рекурсии.
Рис. 2. Программа для вычисления факториала и примеры ее использования
Вместо рекурсии можно использовать цикл.
Отметим, что факториал от аргумента 15 – это весьма большая величина.
Слайд 27Выполним те же вычисления с помощью функции из пакета NumPy (рис. 3).
Рис.
![Выполним те же вычисления с помощью функции из пакета NumPy (рис. 3).](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1143214/slide-26.jpg)
3. Вычисление факториала с помощью функции из пакета NumPy
В реальных задачах использование пакетов предпочтительнее.
Язык Python не ограничивает длину целого числа. Всегда ли это хорошо?
Найдем количество перестановок для 50 объектов, равное 50! (рис. 4).
Слайд 28
Рис. 4 Вычисление количества перестановок для 50 объектов
Мы получили целое число перемещений
![Рис. 4 Вычисление количества перестановок для 50 объектов Мы получили целое число](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1143214/slide-27.jpg)
– точное, но малополезное. Преобразовав это число в вещественное, мы получили возможность оценить его. С помощью форматирования мы сделали вывод более удобным для оценки.
Слайд 29Более интересный подход к вычислению факториала реализован в научном пакете scipy.special (рис.
![Более интересный подход к вычислению факториала реализован в научном пакете scipy.special (рис.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1143214/slide-28.jpg)
5)
Рис. 5. Вычисление факториала функцией пакета scipy.special
Функция scipy.special.factorial принимает 2 аргумента. Первый аргумент – неотрицательное целое число, факториал которого вычисляется.