В целом хорошо. Некоторые части были немного быстрее, чем я ожидал, но примеры были полезны.
Разработка аппроксимационных алгоритмов для NP-трудных задач
Развивать фундаментальные навыки для разработки и анализа алгоритмов полиномиального времени, которые находят доказанные близкие к оптимальным решениям вычислительно сложных задач оптимизации.
-
💬
ИИ инструктор
Задавайте вопросы по любому уроку — понятный ответ придёт мгновенно, в любой момент. -
🕐
Начните в любое время
Без расписаний и дедлайнов — учитесь в своём темпе, когда удобно. -
🌐
На русском языке
Уроки, задания и сертификат — всё полностью на вашем языке.
О курсе
Содержание курса
6 модулей · 31 уроков · 3 ч 7 мин
1
Основы вычислительной сложности
Понять, почему некоторые задачи невозможно решить идеально и зачем нужна аппроксимация
- Что такое NP-трудность?
Введение в концепцию задач, для которых не существует быстрых точных решений.6 мин - Проблема экспоненциального взрыва
Иллюстрация того, как время решения растет до миллионов лет при увеличении входных данных.5 мин - Классы P и NP: простыми словами
Разбор фундаментальных определений теории сложности без сложной математики.7 мин - Суть аппроксимации
Почему 'почти оптимальное' решение — это стандарт индустрии для сложных задач.6 мин - Обзор алгоритмических парадигм
Знакомство с подходами, которые мы будем использовать для обхода NP-трудности.6 мин
2
Математика и анализ качества
Научиться математически доказывать, насколько близко наше решение к идеалу
- Коэффициент аппроксимации (ρ)
Определение метрики, которая гарантирует качество алгоритма в худшем случае.7 мин - Верхние и нижние границы
Как оценить оптимальное решение, не зная его заранее.6 мин - Принципы математического доказательства
Как связать результат алгоритма с оптимальным значением через неравенства.8 мин - Относительная ошибка
Измерение точности алгоритма в процентах от оптимума.5 мин - Практикум: Анализ простого примера
Пошаговый разбор доказательства для интуитивно понятной задачи.7 мин
3
Жадные алгоритмы и задачи упаковки
Освоить классические стратегии для задач Bin Packing и Set Cover
- Жадная стратегия: бери лучшее сейчас
Принцип локально оптимального выбора и его ограничения.6 мин - Задача об упаковке (Bin Packing)
Формулировка задачи минимизации используемых контейнеров.5 мин - Алгоритм First Fit
Реализация и анализ простейшего жадного алгоритма упаковки.6 мин - Задача о покрытии множества (Set Cover)
Как покрыть все элементы минимальным количеством наборов.6 мин - Эвристики в задачах покрытия
Использование частотности элементов для улучшения жадного выбора.6 мин - Логарифмический коэффициент
Почему для Set Cover жадный алгоритм дает именно такое качество.7 мин
4
Кластеризация и сетевые задачи
Применить аппроксимацию к группировке данных и анализу графов
- Сложность кластеризации
Почему идеальное разделение данных на группы — это NP-трудная задача.6 мин - Стратегии группировки данных
Разбор подходов к минимизации расстояний внутри кластеров.5 мин - Алгоритм для задачи k-центров
Простая 2-аппроксимация для размещения центров кластеров.7 мин - Разделение сетевых узлов
Задача о разрезе графа и ее применение в компьютерных сетях.6 мин - Метрики качества в сетях
Как оценить эффективность разбиения сетевой топологии.5 мин - Графовые эвристики
Применение локального поиска для улучшения разбиения узлов.6 мин
5
Инженерия на Python
Научиться писать чистый и типизированный код для алгоритмов
- Type Hinting для алгоритмиста
Использование подсказок типов для описания сложных структур данных.6 мин - Dataclasses и модели данных
Организация входных данных задачи в структурированные объекты.6 мин - Паттерн 'Стратегия' в алгоритмах
Как легко переключаться между разными эвристиками в коде.6 мин - Реализация Bin Packing на Python
Пишем полноценный типизированный код для задачи упаковки.8 мин - Валидация и тестирование
Как проверить, что аппроксимационный алгоритм не нарушает ограничений задачи.6 мин
6
Компромиссы в реальном мире
Научиться балансировать между точностью решения и временем работы
- Время vs Точность
Анализ кривой компромисса при выборе алгоритма.5 мин - Выбор алгоритма под задачу
Когда достаточно 2-аппроксимации, а когда нужно бороться за 1.1.6 мин - Профилирование производительности
Инструменты Python для поиска узких мест в реализации.6 мин - Заключение: твой алгоритмический путь
Как систематически подходить к любой новой сложной задаче.4 мин
Оптимизация облачной инфраструктуры
Необходимо распределить виртуальные машины (задачи) по физическим серверам (контейнерам) с минимальными затратами ресурсов, учитывая связность задач.
Что вы получите
-
📜
Сертификат об окончании
Добавьте в профиль LinkedIn -
💬
Личный AI-наставник
Застрял на уроке? Спроси встроенного наставника о чём угодно, в любой момент. -
🎧
Аудиоверсия включена
Учитесь в дороге — экран не нужен -
♾️
Пожизненный доступ
Возвращайтесь в любое время, без срока -
📱
Телефон или компьютер
Работает везде и на любом устройстве -
💸
Возврат в течение 14 дней
Без вопросов -
⚡
Кратко и по делу
3 ч 7 мин практического материала
Сертификат об окончании
Каждый курс, который ты завершаешь на PickAClass, выдаёт такой сертификат — оригинальный, со своим кодом, проверяемый по URL и подробный о том, что реально продемонстрировано.
Отзывы (1)
Студенты также прошли
Практическая клиентская аналитика с Python
Обработка больших данных с помощью Spark и Scala
Прикладной Python для веб-разработки, машинного обучения и криптографии
Практическая инженерия данных на Python
Часто спрашивают
Что нужно для прохождения курса? +
Только смартфон или компьютер с доступом в интернет. Никаких установок и оборудования.
Как оплатить? +
Банковской картой через Stripe. Данные карты обрабатывает Stripe — мы их не храним.
Можно ли вернуть деньги? +
Да — полный возврат в течение 14 дней, без вопросов.
Как долго будут доступны материалы? +
Навсегда. После покупки курс остаётся с вами — возвращайтесь в любое время.
Получу ли я сертификат? +
Да. По окончании выдаётся сертификат, который можно добавить в профиль LinkedIn.
10 курсов каждый месяц
Подписчики получают 10 любых курсов каждый месяц за 0 ֏. Никакой оплаты за курсы — вы платите только за подписку.
- ✓ 10 курсов каждый месяц
- ✓ Отмена в любой момент
Продлевается ежемесячно. Неиспользованные курсы сгорают в конце каждого оплаченного месяца.