Разработка алгоритмов и программного продукта для...

13
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ КЫРГЫЗСКОЙ РЕСПУБЛИКИ Государственное образовательное учреждение высшего профессионально образования КЫРГЫЗСКО-РОССИЙСКИЙ СЛАВЯНСКИЙ УНИВЕРСИТЕТ Естественно-технический факультет Кафедра информационных и вычислительных технологий ДИПЛОМНАЯ РАБОТА Разработка алгоритмов и программного продукта для ускорения обработки графов с использованием алгебры графов по специальности 230105, 552801.04 – Программное обеспечение ВТ и АС Выполнил студент группы ИВТ-1-08 Бачевский А.Е. Руководитель дипломной работы проф. д.ф-м.н. Десятков Г.А. Заведующий кафедрой ИВТ проф. д.ф-м.н. Десятков Г.А.

Upload: artem-bachevsky

Post on 17-Feb-2017

33 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Разработка алгоритмов и программного продукта для ускорения обработки графов с использованием алгебры

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ КЫРГЫЗСКОЙ РЕСПУБЛИКИ

Государственное образовательное учреждение высшего профессионально образования

КЫРГЫЗСКО-РОССИЙСКИЙ СЛАВЯНСКИЙ УНИВЕРСИТЕТ

Естественно-технический факультетКафедра информационных и вычислительных технологий

ДИПЛОМНАЯ РАБОТА

Разработка алгоритмов и программного продукта для ускорения обработки графов с использованием алгебры

графов

по специальности 230105, 552801.04 – Программное обеспечение ВТ и АС

Выполнил студент группы ИВТ-1-08 Бачевский А.Е.Руководитель дипломной работы проф. д.ф-м.н. Десятков Г.А.

Заведующий кафедрой ИВТ проф. д.ф-м.н. Десятков Г.А.

Бишкек 2013г.

Page 2: Разработка алгоритмов и программного продукта для ускорения обработки графов с использованием алгебры

Применимость данного исследования

Социальные сети1 миллиард пользователей в Facebook

Интернетнесколько триллионов страниц

МикропроцессорыНесколько миллиардов транзисторов

Page 3: Разработка алгоритмов и программного продукта для ускорения обработки графов с использованием алгебры

Постановка задачиЗадачей дипломного проектирования является

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

Конечным результатом исследования должен быть:• эффективный алгоритм сжатия• оценки сжатия алгоритмом для различных типов

графов• реализованный алгоритм с интерфейсом для

получения сжатых формул по графу на входе• оценки ускорения алгоритмов на графах при

применении сжатия графов

Page 4: Разработка алгоритмов и программного продукта для ускорения обработки графов с использованием алгебры

Схема алгоритма ускорения обработки графа

|V| = 6; |E| = 9 |V| = 7; |E| = 6

Page 5: Разработка алгоритмов и программного продукта для ускорения обработки графов с использованием алгебры

Алгебра графовАлгебра графов представляет из себя кортеж , где это

множество графов, чьи вершины выбраны из алфавита .

𝐸=𝑐→ (𝑎+𝑏)+𝑑𝐸=𝑐+𝑑 𝐸=𝑐→𝑎

Описание операций + и

Примеры графов и их представлений в алгебре

Page 6: Разработка алгоритмов и программного продукта для ускорения обработки графов с использованием алгебры

Алгоритм работы программы

Page 7: Разработка алгоритмов и программного продукта для ускорения обработки графов с использованием алгебры

Алгоритм внутреннего сжатия

+

𝐸 ′=𝑑→𝑒+ (𝑎→𝑑 )→ (𝑏+𝑐 )+ (𝑒+ 𝑓 )→𝑔

𝑘=|𝐸|

¿𝐸 ′∨¿=169 ≈1,8¿

Page 8: Разработка алгоритмов и программного продукта для ускорения обработки графов с использованием алгебры

Алгоритм на основе модульной декомпозиции

𝐸 ′=𝑔→((𝑎→𝑏→𝑐→𝑑+𝑑→𝑐→𝑏→𝑎 )+𝑒+ 𝑓 )𝑘= |𝐸|

¿𝐸 ′∨¿=4411=4 ¿

Page 9: Разработка алгоритмов и программного продукта для ускорения обработки графов с использованием алгебры

Оценки сжатия для различных видов графов алгоритмом основанным на модульной

декомпозицииТип графа Поведение оценки

Случайный граф(a) k растет с увеличением числа вершин и реберКлик(b) k растет с увеличением числа вершин

Двумерная сетка(c) k уменьшается с увеличением стороны сетки Несколько объединённых

кликов(d)k растет с увеличением числа вершин

и кликов

a b c

d

Page 10: Разработка алгоритмов и программного продукта для ускорения обработки графов с использованием алгебры

Роль сжатия в ускорении алгоритмов на графах

Оценка времени сжатия для проверки достижимости вершины:

Число ребер осталось прежним.

Введем дополнительную вершину t

Преобразовывая сжатое выражение, можно не допустить квадратичного роста ребер при добавление не более S вершин, где S – число вершин в сжатом выражение.

Page 11: Разработка алгоритмов и программного продукта для ускорения обработки графов с использованием алгебры

Результат работы программы

Сжатие алгоритмом основанным на модульной декомпозиции

Page 12: Разработка алгоритмов и программного продукта для ускорения обработки графов с использованием алгебры

Результат работы программы

Сжатие алгоритмом основанным на модульной декомпозиции с заменой

Page 13: Разработка алгоритмов и программного продукта для ускорения обработки графов с использованием алгебры

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

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

графов до выражений алгебры• произведены оценки сжатия алгоритма по сравнению с иными

представлениями графа Разработанный программный продукт позволяет:• производить сжатие полученного на входе графа различными алгоритмами• производить сжатие сгенерированных по заданным параметрам графов• получать на выходе сжатое выражение или граф пригодный для

дальнейшей обработки