Программирование задач высокой сложности

  • Цель: Формирование у студентов глубоких знаний и практических навыков решения задач повышенной алгоритмической и вычислительной сложности. Развитие компетенций в области проектирования, оптимизации и реализации эффективных программных решений для сложных прикладных и научных задач. Обучение методам оценки сложности алгоритмов, выбора оптимальных стратегий и технологий программирования для работы с большими объемами данных, ограниченными ресурсами и высокими требованиями к скорости выполнения. Содержание: Введение в задачи высокой сложности: Классификация сложных задач: NP-полные, NP-трудные задачи. Постановка задач и анализ требований к программным решениям. Методы проектирования эффективных алгоритмов: Динамическое программирование.Использование ИИ при моделировании задач с применением метода динамического программирования Жадные алгоритмы. Разделяй и властвуй, метод ветвей и границ. Алгоритмы на графах, теория игр, комбинаторные методы. Оптимизация программных решений: Профилирование и анализ производительности кода. Оптимизация по памяти и времени выполнения. Параллельное и распределенное программирование. Использование специализированных библиотек и инструментов: Библиотеки для высокопроизводительных вычислений (например, OpenMP, MPI, CUDA). Средства для работы с большими данными. Решение прикладных задач высокой сложности: Распознавание образов, машинное обучение. Криптография, защита информации. Оптимизационные задачи в логистике, финансах, медицине. Проектная деятельность: Разработка программного решения для конкретной сложной задачи. Оценка результатов и защита проекта.
  • Образовательная программа 6B01530 Информатика
  • Кредитов 4
  • Селективная дисциплина
  • Год обучения 4
  • Семестр 1
Top