Жадная раскраска графов на параллельных системах с распределенной памятью.

Презентация:



Advertisements
Похожие презентации
Раскраски графов Раскраска вершин Пусть Г (V,E,Ф) – граф, раскраска вершин Г в n цветов – отображение f : V {1,2,…,n } Правильная раскраска вершин графа.
Advertisements

МЕТОДЫ ОПТИМИЗАЦИИ § 1. Основные понятия. Под оптимизацией понимают процесс выбора наилучшего варианта из всех возможных В процессе решения задачи оптимизации.
МЕТОДЫ СОРТИРОВКИ. Сортировка - расположение элементов множества в порядке расположения некоторого ключа. ОГРАНИЧЕНИЯ: 1. Рассматриваются внутренние сортировки.
Алгоритм как модель деятельности. Что такое алгоритмическая модель Алгоритм- это понятное и точное предписание конкретному исполнителю совершить конечную.
M-чередующаяся декомпозиция Лекция 10. Нечетная декомпозиция Теорема 9.7 (Lovász [1972] ) Граф является фактор-критическим тогда и только тогда, когда.
Алгоритм Флойда-Уоршалла Находит кратчайшие расстояния между всеми парами вершин графа Идея: Строится специальная матрица D, элементы которой – кратчайшие.
ПОИСК В ПРОСТРАНСТВЕ СОСТЯНИЙ. Методы решения задач Представление задач в пространстве состояний
ЛЕКЦИЯ 13. Курс: Проектирование систем: Структурный подход Каф. Коммуникационные и системы, Факультет радиотехники и кибернетики Московский физико-технический.
АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ Лекции для студентов-заочников 2 курса, специальность (Прикладная информатика)
Остовные деревья Лекция 4. Задача «Минимальное остовное дерево» Дано: Граф G, веса c: E(G) R. Найти остовное дерево в G наименьшего веса или определить,
ТЕОРИЯ ГРАФОВ ЗАДАЧА КОММИВОЯЖЕРА Гамильтоновы графы применяются для моделирования многих практических задач. Основой всех таких задач служит классиче.
В практических применениях математики очень часто встречается такая задача: Это могут быть результаты эксперимента, данные наблюдений или измерений, статистической.
Алгоритм как модель деятельности 10 класс Учитель информатики: Грязных В.С.
Принципы разработки параллельных алгоритмов. Введение Для определения эффективных способов организации параллельных вычислений необходимо: Выполнить анализ.
Задача о максимальном потоке в сети Алгоритм Фалкерсона-Форда.
Решение нестандартных задач Цифры не управляют миром, но они показывают, как управляется мир. (И. Гете) План презентации 1. Круги Эйлера 2. Графы 3. Решение.
Методика решения и оценивания задач «С1», «С2» Единого Государственного Экзамена.
Алгоритм Что такое алгоритм Алгоритм точное и понятное предписание исполнителю совершить последовательность действий, направленных на решение поставленной.
Виды алгоритмических структур: –блок-схема. –линейный алгоритм. –алгоритмическая структура «ветвление». –алгоритмическая структура «выбор». –алгоритмическая.
Задачи раскраски графов А.В.Пяткин. Вершинная раскраска Раскрасить вершины графа в минимальное число цветов так, чтобы смежные вершины получали бы разные.
Транксрипт:

Жадная раскраска графов на параллельных системах с распределенной памятью

Евгений Власов, Введение Умение раскрашивать графы – это очень хорошо. Например для задачи распараллеливания. Задача раскраски: поделить все вершины графа на классы, в каждом из которых вершины попарно не связаны (минимально возможное число таких классов называется хроматическим числом графа). Задача нахождения хроматического числа NP- трудна. Но огорчаться не стоит – для наших целей ее не обязательно решать точно. Нам хочется параллельный алгоритм для решения

Евгений Власов, Цели Хотим получить семейство алгоритмов (framework) и выбрать из них наилучший. Масштабируемость: время работы уменьшается с числом процессоров Количество цветов, выдаваемое алгоритмами семейства, должно быть близко к идеалу

Евгений Власов, Основные черты алгоритмов Делим все вершины графа между процессорами. Каждый процессор на очередном шаге красит S своих вершин. S >0. Каждый шаг алгоритма – покраска + этап обнаружения конфликтов (обмен информацией с другими процессорами и проверка коллизий). На этапе обнаружения конфликтов процессор проверяет только недавно покрашенные вершины. Алгоритм завершается при отсутствии конфликтов.

Евгений Власов, Оси вариации Параметр S. Закраска вершин разными процессорами на одном шаге – синхронно или асинхронно. Выбор очередных вершин для покраски. Выбор цвета для покраски той или иной вершины. Общение процессоров – один алгоритм для всех или индивидуальная настройка.

Евгений Власов, Немного истории Алгоритм Luby Алгоритм Йохансона Его улучшение данное Финоччи Алгоритм Gebremedhin'а-Manne Недостатки этих алгоритмов

Евгений Власов, Общий framework

Евгений Власов, Вариации : выбор цвета Выбираем цвет из некоторого множества FF (First Fit) – берем цвет с наименьшим подходящим номером. Если ни один не подходит – добавляем цвет, расширяя множество. SFF (Staggered First Fit) – опираясь на заранее подобранное K, i-й процессор выбирает номер цвета из отрезка [i*K / P],...., K. Если нужного цвета там нет, то пытаемся взять из другого отрезка – с меньшими номерами. Не повезло и на этот раз – добавляем новый цвет.

Евгений Власов, Вариации : порядок покраски Внутренние вершины до граничных. Внутренние вершины после граничных И те и другие параллельно.

Евгений Власов, Вариации : стратегии обхода У нас полная свобода относительно этого =)

Евгений Власов, Вариации : синхронизация Можем поставить барьер, у которого процессоры, закончившие покраску, ждут товарищей. Меньше сообщений, больше время простоя Без барьера. Простоев нет, сообщений - туча.

Евгений Власов, Вариации : коммуникация Каждый передает информацию только тем, кому она и впрямь нужна Каждый попросту транслирует информацию.

Евгений Власов, Использованные алгоритмы Последовательный алгоритм покраски граничных вершин Алгоритм секвенциального разрешения конфликтов Модифицированный алгоритм Джонса-Плазмана

Евгений Власов, Алгоритм покраски граничных вершин Параллельной обработке подвергаем только внутренние вершины. Граф, индуцированный граничными вершинами кидаем на специальный процессор, который считает и красит все последовательно

Евгений Власов, Разрешение конфликтов (SCR) Это вариант SPCFramework с одним раундом Конфликты, обнаруженные в этом раунде разрешаются на одном процессоре последовательно. Граф, индуцированный граничными конфликтными вершинами, кладется на отдельный процессор и раскрашивается последовательно.

Евгений Власов, Алгоритм Джонса-Плазмана Применяется только для граничных вершин. Внутренние раскрашиваются тривиально в конце алгоритма. У i-го процессора – свой список D(i) доминирующих вершин (большее значение рандомной функции). i-й процессор отсылает новости только тем, кто владеет вершинами, соседними с D(i). Если после окраски вершины V какой-либо ее бесцветный сосед W вдруг стал доминировать над своими бесцветными соседями, то заносим его в список. Продолжаем пока все вершины не покрасятся Утверждение. Раундов здесь не меньше чем в SPCFramework

Евгений Власов, Эксперименты и выбор лучшего алгоритма Каждая буква – выбор варианта в соответствующей вариации FIAC FISC FBAC FUAC FIAC

Евгений Власов, Эксперименты и выбор лучшего алгоритма Для естественных графов лучшими оказались FIAC и FBAC, для синтетических - FIAB и FBAB. SPCFramework показал отличные результаты в плане масштабируемости – сокращение времени практически линейно от числа процессоров, в отличие от алгоритма Джонса-Плазмана SFF, как и ожидалось дает меньше конфликтов, чем FF, но и цветов получается больше FIAC и FIAB практически неотличимы на естественных графах, а вот на синтетических лучше FIAB

Евгений Власов, Литература A Framework for Scalable Greedy Coloring on Doruk Bozda˘g, Assefaw H. Gebremedhin, Fredrik Manne, Erik G. Boman, Umit Catalyurek