Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен / АКП_ответы_2010_FINAL.doc
Скачиваний:
56
Добавлен:
10.02.2015
Размер:
3.8 Mб
Скачать

18. Метод параллельно-последовательной свертки. Алгоритм сортировки слиянием. Оценка его вычислительной сложности.

Метод предназначен для объединения элементов множества в некоторые подмножества. Это объединение выполняется в общем случае для элементов, равнозначных для некоторого критерия, в качестве которого может выступать и определенное свойство.

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

Процесс формирования подмножеств данным методом осуществляется следующим образом: до начала свёртки в качестве кандидатов на объединение рассматриваются все элементы множества Х.На первом шаге оценивают соответствие элементов некоторому критерию и выбирают элементы, в наибольшей степени удовлетворяющие ему. В общем случае могут объединятся 2,3 и т.д. элементов. Сформированные подмножества рассматриваются, как элементы нового множества, по отношению к которому процедура может быть повторена. Включение в состав формирующегося множества элементов или частей других подмножеств, как правило, не возможна в соответствии со смыслом задачи. При объединении элементов происходит отсечение других вариантов состава подмножеств, следовательно, точность получаемого решения определяется тем, является ли критерий выбора отсекающей оценкой или оценкой перспективности. В первом варианте решение может быть получено точное, во втором – приближённое.

Возможно два варианта окончания свертки:

  1. Свертка заканчивается, когда все вершины объединены в одно подмножество. С практической точки зрения это необходимо, если требуется установить, обладает ли в целом множество некоторым определенным свойством.

  2. Требуется выделить подмножество удовлетворяющее некоторым ограничениям. Процесс свёртки заканчивается при удовлетворении всех условий.

Алгоритм сортировки слиянием:

Алгоритм сортировки слиянием является примером точного алгоритма, реализующего метод уравновешенной двоичной свёртки.

Идея алгоритма: попарно сравнивая числа исходного множества (впоследствии это числа, принадлежащие двум разным подмножествам), заносят их в подмножества, состоящие из двух, четырёх и т.д. чисел, записывая, например, сначала меньшее из чисел пары. Алгоритм заканчивает работу, когда исходные числа объединены в одно (новое) множество.

Характерными особенностями реализации метода уравновешенной двоичной свёртки в данном случае являются:

  • Критерий слияния подмножеств – их принадлежность одному уровню дерева свёртки; он не связан с целевой функцией, но позволяет построить достаточно эффективную схему сортировки

  • Сортировка обеспечивается упорядочиванием элементов каждого подмножества при его получении слиянием двух подмножеств предыдущего уровня

  • Окончание процесса свёртки означает реализацию на множестве чисел Хотношения порядка (по возрастанию их значений)

Оценка количества операций сравнения Nc, необходимых для упорядочиванияnэлементов множестваХалгоритма слияния. Еслиn– степень двойки, то количество подмножеств (вершин) на уровнеи число элементов в них –2j-1, где. Число сравнений элементов двух подмножеств уровня будет. Суммарное количество сравнений на уровнеjравно:

. Суммируя поj,получим:.

Очевидно, что , в то время как алгоритм сортировки «выбором» (посредством поиска максимального или минимального элемента) требуетопераций сравнения чисел.

Соседние файлы в папке Экзамен