• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Магистратура 2025/2026

Алгоритмы во внешней памяти

Статус: Курс по выбору (Современные компьютерные науки)
Когда читается: 1-й курс, 1, 2 модуль
Охват аудитории: для своего кампуса
Язык: русский

Программа дисциплины

Аннотация

Учебная дисциплина «Алгоритмы во внешней памяти» знакомит студентов с основными методами разработки и анализа алгоритмов решения задач обработки, хранения и эффективного использования массивов данных и информационных структур, размещенных на твердотельных (SSD) и дисковых (HDD) устройствах. Цель учебной дисциплины — создание базы для разработки эффективных алгоритмов решения прикладных задач, возникающих при использовании больших объемов информации и формирование у студентов умения использовать современные научные достижения в области адаптации эффективных алгоритмов для решения конкретных прикладных.
Цель освоения дисциплины

Цель освоения дисциплины

  • В данном курсе будет дан обзор текущего состояния в области вычислений с учетом иерархической структуры памяти. Мы рассмотрим базовые примитивы (буферизация при чтении и записи, сортировка) и структуры данных (B-деревья и их вариации, буферизованные деревья, приоритетные очереди), поговорим о некоторых стандартных приемах и подзадачах (time forward processing, list ranking). Также мы поговорим про практические подходы к работе с дисками в разных структурах данных, расскажем про Log structured merge trees. Будет затронута тема кеширования и cache-oblivious алгоритмов. Также во второй части курса мы рассмотрим модель streaming-вычислений, в которой данные на вход поступают итеративно и их количество такого, что сохранить их в оперативной памяти или на диске не представляется возможным. Тем не менее, даже в такой модели многие задачи оказываются решаемыми (зачастую лишь приближенно и с некоторой вероятностью); мы подробно рассмотрим такие классические задачи, как поиск порядковой статистики, построение структуры данных для подсчета частот встречаемости элементов, задачу поиска числа различных элементов и многие другие. Часть семинаров будет посвящена решению теоретических задач и рассказу различных тем, не помещающихся в лекционный материал, но тем не менее важных для получения целостной картины изучаемого курса. На оставшейся части семинаров мы рассмотрим вопросы устройства оперативной памяти и жесткого диска в современных компьютерах, а также научимся эффективно реализовывать на практике часть алгоритмов, рассказанных на лекциях. Будет несколько практических домашних заданий, в рамках которых вам предстоит поработать с дисками в операционной системе Linux, реализовать эффективную сортировку во внешней памяти и научиться существенно обгонять стандартный std::binary_search за счет эффективной работы с cache-ом процессора.
Планируемые результаты обучения

Планируемые результаты обучения

  • основы проектирования систем машинного обучения
  • подготовка инфраструктуры обучения для командной работы
  • свести задачу к постановке машинного обучения
  • анализировать данные
  • строить проект, учитывая командную работу
  • понимать проблемы, возникающие по ходу разработки
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Алгоритмы во внешней памяти
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание
  • неблокирующий Контрольная работа
Промежуточная аттестация

Промежуточная аттестация

  • 2025/2026 2nd module
    0.3 * Домашнее задание + 0.3 * Домашнее задание + 0.4 * Контрольная работа
Список литературы

Список литературы

Рекомендуемая основная литература

  • 33892 - Алгоритмы - Д.Эриксон - ДМК Пресс - 9785970609811 - 2023 - https://hse.alpinadigital.ru/document/33892 - Alpina
  • Computer Science : основы программирования на Java, ООП, алгоритмы и струкуры данных, Седжвик, Р., 2018

Рекомендуемая дополнительная литература

  • Алгоритмы : вводный курс, Кормен, Т. Х., 2016
  • Седжвик, Р. Алгоритмы на С++ : учебное пособие / Р. Седжвик. — 2-е изд. — Москва : ИНТУИТ, 2016. — 1772 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100565 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Авторы

  • Яковлева Илона Александровна
  • Фисенко Анна Сергеевна