Внимание!!!! Книга удалена по требованию
правообладателя!!!!
Об авторе....12
О научном редакторе....13
Благодарности....14
Введение....16
Для кого написана эта книга....18
О книге....19
Настройка окружения....20
Установка Python в системе Windows....20
Установка Python в macOS....21
Установка Python в системе Linux....22
Установка сторонних модулей....22
Резюме....23
От издательства....24
Глава 1. Алгоритмы при решении задач....25
Аналитический подход....26
Модель Галилея....26
Стратегия решения для x....28
Внутренний физик....30
Алгоритмический подход....31
Как думать шеей....31
Применение алгоритма Чепмена....35
Решение задач с применением алгоритмов....36
Резюме....37
Глава 2. Алгоритмы в истории....39
Русское крестьянское умножение....40
RPM вручную....40
Реализация RPM на Python....45
Алгоритм Евклида....47
Алгоритм Евклида вручную....48
Реализация алгоритма Евклида на Python....49
Японские магические квадраты....50
Создание квадрата Ло Шу на Python....50
Реализация алгоритма Курусимы на Python....52
Резюме....64
Глава 3. Максимизация и минимизация....65
Выбор ставки налога....65
Шаги в правильном направлении....66
Преобразование шагов в алгоритм....70
Аргументы против градиентного подъема....72
Проблема локальных экстремумов....73
Образование и пожизненный доход....74
Правильный путь к вершинам образования....76
От максимизации к минимизации....78
О пользе подъема....80
Когда не следует применять алгоритм....81
Резюме....83
Глава 4. Сортировка и поиск....84
Сортировка методом вставки....85
Вставка в сортировке методом вставки....85
Сортировка методом вставки....88
Оценка эффективности алгоритма....89
Почему так важна эффективность....90
Точное измерение времени....91
Подсчет шагов....92
Сравнение с известными функциями....95
Повышение теоретической точности....98
Нотация «О большое»....100
Сортировка слиянием....102
Слияние....102
От слияния к сортировке....104
Спящая сортировка....108
От сортировки к поиску....110
Бинарный поиск....110
Применение бинарного поиска....113
Резюме....114
Глава 5. Чистая математика....115
Непрерывные дроби....115
Компактное представление числа φ....116
Подробнее о непрерывных дробях....119
Алгоритм генерирования непрерывных дробей....120
От десятичных дробей к непрерывным....125
От дробей к корням....127
Квадратные корни....128
Вавилонский алгоритм....128
Квадратные корни на языке Python....130
Генераторы случайных чисел....131
Возможна ли случайность....131
Линейные конгруэнтные генераторы....133
Оценка ГПСЧ....134
Тесты Diehard....136
Регистры сдвига с линейной обратной связью....138
Резюме....141
Глава 6. Расширенная оптимизация....142
Жизнь коммивояжера....143
Постановка задачи....144
Ум против грубой силы....148
Алгоритм ближайшего соседа....150
Реализация поиска ближайшего соседа....150
Проверка дальнейших улучшений....152
Жадные алгоритмы....154
Температурная функция....155
Имитация отжига....158
Настройка алгоритма....161
Предотвращение крупных потерь....163
Поддержка отмены....164
Проверка эффективности....166
Резюме....168
Глава 7. Геометрия....169
Задача почтмейстера....169
Треугольники: краткий курс....172
Продвинутая теория треугольников....175
Поиск центра описанной окружности....175
Расширение графического вывода....178
Триангуляция Делоне....180
Инкрементное генерирование триангуляций Делоне....182
Реализация триангуляций Делоне....185
От триангуляции Делоне к диаграмме Вороного....190
Резюме....195
Глава 8. Язык....196
Почему языковые алгоритмы сложны....196
Расстановка пробелов....197
Определение списка слов и поиск слов....198
Составные слова....200
Проверка потенциальных слов между существующими пробелами....201
Использование импортированного корпуса для проверки действительных слов....202
Поиск первой и второй половин потенциальных слов....204
Завершение фраз....207
Разбиение на лексемы и получение n-грамм....208
Наша стратегия....209
Поиск подходящих n + 1-грамм....210
Выбор фразы на основании частоты....211
Резюме....213
Глава 9. Машинное обучение....214
Деревья принятия решений....214
Построение дерева принятия решений....217
Загрузка набора данных....217
Изучение данных....218
Разбиение данных....219
Умное разбиение....221
Выбор переменных разбиения....224
Добавление глубины....226
Оценка дерева принятия решений....229
Проблема чрезмерной подгонки....231
Улучшения и доработка....233
Случайные леса....235
Резюме....236
Глава 10. Искусственный интеллект....237
Точки и квадраты....238
Рисование игрового поля....239
Представление партии....240
Ведение счета....241
Деревья игры и как победить....243
Построение дерева....245
Выигрыш....248
Улучшения....252
Резюме....254
Глава 11. Полный вперед....255
Как сделать больше с помощью алгоритмов....256
Построение чат-бота....257
Векторизация текста....259
Сходство векторов....262
Лучше и быстрее....264
Алгоритмы для смелых....265
Решение самых сложных задач....268
Алгоритмы — это не только задачи поиска, сортировки или оптимизации, они помогут вам поймать бейсбольный мяч, проникнуть в «механику» машинного обучения и искусственного интеллекта и выйти за границы возможного.Вы узнаете нюансы реализации многих самых популярных алгоритмов современности, познакомитесь с их реализацией на Python 3, а также научитесь измерять и оптимизировать их производительность.