Done all labs
Целью данной лабораторной работы является применение навыков динамического программирования в алгоритмах поиска расстояний Левенштейна и Дамерау-Левенштейн
В рамках выполнения работы необходимо решить следующие задачи:
- изучить расстояния Левенштейна и Дамерау-Левенштейна;
- разработать алгоритмы поиска этих расстояний;
- реализовать разработанные алгоритмы;
- провести сравнительный анализ процессорного времени выполнения реализаций этих алгоритмов;
- провести сравнительный анализ затрачиваемой реализованными алгоритмами пиковой памяти
Целью данной лабораторной работы является изучение способов оптимизации алгоритмов на примере алгоритмов умножения матриц
В рамках выполнения работы необходимо решить следующие задачи:
- изучить алгоритмы умножения матриц;
- разработать и реализовать 3 алгоритма умножения матриц: стандартный, Винограда и Винограда с оптимизациями;
- оценить трудоемкость реализаций алгоритмов;
- провести сравнительный анализ процессорного времени выполнения реализаций алгоритмов.
Целью данной лабораторной работы является получение навыков оценки трудоемкости алгоритмов на примере трех алгоритмов сортировок
В рамках выполнения работы необходимо решить следующие задачи:
- изучить три алгоритма сортировок: сортировку вставками, сортировку пузырьком и шейкерную сортировку;
- разработать и реализовать изученные алгоритмы;
- провести сравнительный анализ трудоёмкости реализаций алгоритмов на основе теоретических расчетов;
- провести сравнительный анализ процессорного времени выполнения реализаций алгоритмов на основе экспериментальных данных.
Целью данной работы является изучение организации параллельных вычислений на базе алгоритма трассировки лучей.
В рамках выполнения работы необходимо решить следующие задачи:
- изучить основы параллельных вычислений;
- изучить алгоритм трассировки лучей;
- разработать параллельную версию алгоритма трассировки лучей;
- реализовать последовательную и параллельную трассировку лучей;
- провести сравнительный анализ времени работы реализаций.
Целью данной работы является изучение организации конвейерной обработки данных на базе алгоритма стандартизации массива.
В рамках выполнения работы необходимо решить следующие задачи:
- изучить основы конвейеризации;
- изучить алгоритм стандартизации;
- разработать параллельную версию конвейера для стандартизации с 3 стадиями обработки;
- реализовать линейный и параллельный конвейерный варианты стандартизации;
- собрать статистику времени обработки заявок конвейром;
- провести сравнительный анализ времени работы реализаций.
Целью данной работы является реализация муравьиного алгоритма для решения задачи коммивояжера и приобретение навыков параметризации алгоритмов.
В рамках выполнения работы необходимо решить следующие задачи:
- реализовать алгоритм полного перебора для решения задачи коммивояжера;
- изучить и реализовать муравьиный алгоритм для решения задачи коммивояжера;
- провести параметризацию муравьиного алгоритма на трех классах данных и подобрать оптимальные параметры;
- провести сравнительный анализ времени выполнения и трудоемкостей реализаций.
Целью данной работы является разработка эффективного алгоритма поиска по словаре.
В рамках выполнения работы необходимо решить следующие задачи:
- изучить три алгоритма поиска в словаре: алгоритм полного перебора, алгоритм бинарного поиска и алгоритм поиска в сегментированном словаре;
- разработать и реализовать изученные алгоритмы;
- провести сравнительный анализ трудоёмкости реализаций алгоритмов на основе теоретических расчетов (в среднем; в лучшем и худшем случаях);
- провести сравнительный анализ процессорного времени выполнения реализаций алгоритмов на основе экспериментальных данных;
- провести сравнительный анализ количества сравнений с заданным ключом, необходимых для поиска каждым алгоритмом значения по ключу и для определения отсутствия заданного ключа в словаре.
Построение графа и истории по данным и по операциям (сортировка)