больше 1 года назад
Курс:  Алгоритмы и модели вычислений
38 подписчиков

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

Приведены и исследованы два алгоритма решения задачи о максимальном потоке (алгоритмы Форда-Фалкерсона и Карзанова). В качестве приложения потоковых алгоритмов дан алгоритм планирования вычислений в многопроцессорных вычислительных системах. Исследован алгоритм сортировки с помощью кучи. Рассматривая в качестве модели процесса вычислений детерминированную машину Тьюринга, введены и исследованы понятия рекурсивных и рекурсивно перечислимых языков, сложностных классов языков и задач (P, NP, co-NP, NPC, NPH и др.), изучена их взаимосвязь. Рассмотрены методы доказательства NP-полноты. Даны некоторые методы решения переборных задач (метод “ветвей и границ”, рандомизированные алгоритмы, приближенные алгоритмы и др.) и показана возможность применения теории NP-полноты к разработке алгоритмов решения этих задач. Приведены и исследованы параллельные алгоритмы решения некоторых задач, связанных с работой со списками и деревьями. Для каждого из приведенных алгоритмов дается обоснование и определяется вычислительная сложность.