«УТВЕРЖДАЮ» - Факультет информационных технологий

advertisement
1. Организационно-методический раздел.
1.1. Название курса «Комбинаторные алгоритмы анализа и синтеза графовой информации.»
специальная дисциплина в рамках стандарта магистерской программы «Технология разработки
программных систем» по направлению подготовки магистров техники и технологии 230100 «Информатика
и вычислительная техника»
1.2. Цели и задачи курса
Дисциплина предназначена для систематизации знаний о возможностях и особенностях применения
различных алгоритмов визуализации графовой информации в зависимости от конкретных требований к
разрабатываемой системе, о взаимозависимости используемых алгоритмов при создании системы, а также о
структурах данных, позволяющих эффективную реализацию этих алгоритмов.
Основной целью освоения дисциплины является начальное формирование у студента точки зрения
аналитика, способного сделать обоснованный выбор методов, алгоритмов и структур данных для решения
задач разного типа, умеющего определить критерии этого выбора и увязать принятые решения в единую
систему.
Для достижения поставленной цели выделяются задачи курса:
- дать сравнительный анализ методов и алгоритмов, применяемых для решения различных подзадач на
каждом этапе разработки системы, рассмотреть основные целевые функции, и способы их оптимизации.
- продемонстрировать взаимосвязи между алгоритмами и методами, выбираемыми для реализации
отдельных подсистем, и влияние этих выборов на глобальный результат работы системы.
- показать значимость и полезность теоретических результатов, излагаемых в курсе, для решения
практических вопросов на уровне создания систем.
1.3.Требования к уровню освоения содержания курса
По окончании изучения указанной дисциплины студент должен
- иметь представление
об основных областях, в которых используются методы данного курса
о проблемах, решаемых при создании систем визуализации графовой информации в различных областях,
об основных требованиях, предъявляемых к системам в зависимости от области применения
- знать
оценки сложности основных алгоритмов и характеристики получаемых результатов
способы оптимизации различных целевых функций
границы применимости существующих алгоритмов на практике
- уметь
разбить задачу на подзадачи и организовать в систему отдельные подсистемы, решающие выделенные
подзадачи
сделать сравнительный анализ известных алгоритмов и обосновать их выбор при разработке систем разных
типов
выбирать структуры данных, позволяющих эффективную реализацию известных алгоритмов
1.4. Формы контроля
Итоговый контроль. Для контроля усвоения дисциплины учебным планом предусмотрен экзамен.
Текущий контроль.
2. Содержание дисциплины.
2.1 Новизна и актуальность курса
За последние 10 лет значительно расширился круг областей, в которых используются алгоритмы
автоматической генерации графовой информации и ее визуализации. Проектирование и реинжениринг
программного обеспечения, проектирование баз данных, различные системы автоматизации
проектирования - список может оказаться очень длинным. По мере того как возрастают размеры
автоматически генерируемых графов, возрастает необходимость в развитых и изощренных алгоритмах для
их обработки. Общее знакомство с такими алгоритмами и их применением при реализации различных
систем и является целью данного курса.
Графы являются универсальным средством описания абстрактной информации. Поэтому визуализаторы
графов используются в настоящее время в качестве графического пользовательского интерфейса в системах
представления знаний, а дисциплина «Визуализация информации», основанная прежде всего на
визуализации графов, преподается во всех ведущих американских и европейских университетах.
Одной из основных трудностей при создании подобного курса является явная недостаточность
русскоязычной литературы, касающейся как самих алгоритмов визуализации графов, так и структур
данных, используемых для эффективной реализации этих алгоритмов. Курс построен таким образом, что
каждый алгоритм визуализации предваряется элементами теории графов, необходимыми для понимания
данного алгоритма. Полезность приводимых алгоритмов демонстрируется на примере существующих
систем, использующих эти алгоритмы. Большее внимание уделяется сравнительно новым недавним
результатам.
2.2. Тематический план курса (распределение часов).
Количество
Наименование разделов и тем
Лекции
часов
ЛабораторСеминар ные работы
ы
Самостоятельная работа
Всего
часов
Раздел 1 Введение
Раздел 2. Алгоритмы
визуализации деревьев
Раздел 3. Алгоритмы работы с
двусвязными компонентами.
Раздел 4. Планарные графы,
проверка планарности и
алгоритмы визуализации
планарных графов.
Раздел 5. Вспомогательные
алгоритмы
Раздел 6. Алгоритмы
визуализации ориентированных
графов
Раздел 7 Алгоритмы
визуализации
неориентированных графов
Раздел 8. Работа с графами
большого объема. Задача
разбиения графа
Раздел 9. Визуализация
динамических графов
Раздел 10. Иерархические
методы визуализации графов
2
14
2
14
8
8
10
10
8
8
8
8
6
6
4
6
8
10
Итого по курсу:
72
72
4
2.3.Содержание отдельных разделов и тем:
1. Введение
1.1 Примеры различных практических приложений визуализации графов.
1.2 Основные стили визуализации графов и критерии для оптимизации изображений графов: минимизация
площади, длины соединений, количества сгибов, максимизация углов, симметрии. Примеры существующих
программ.
2. Алгоритмы визуализации деревьев
2.1 Деревья, основные свойства.
2.2 Эстетические критерии, используемые при визуализации деревьев.
2 .3 Алгоритмы построения поуровневого изображения бинарных деревьев.
2.4 Алгоритмы визуализации деревьев, оптимизирующие площадь изображения. Hv- изображения для
полных бинарных деревьев. Н-деревья.
2.5 Алгоритмы Чана для построения строго восходящего и строго сохраняющего порядок изображения для
бинарных деревьев.
2.6 Радиальные и круговые изображения деревьев.
2.7 Алгоритмы визуализации типа Treemap.
2.8 Методы визуализации деревьев большого объема. Подход «фокус+контекст».
Рассматриваются алгоритмы визуализации, позволяющие видеть одновременно и общий план и детали на
примере гиперболических кизуализаторов и визуализаторов типа «рыбий глаз».
3. Алгоритмы работы с двусвязными компонентами.
3.1 Алгоритм поиска в глубину и свойства глубинных остовных деревьев.
3.2 Алгоритм выделения двусвязных компонент для неориентированного графа.
3.3 Представление связного графа в виде bc-дерева.
3.4 Алгоритм построения st-нумерации st-ориентации.
4. Планарные графы, проверка планарности и алгоритмы визуализации планарных графов.
4.1.Понятие планарного графа, основные свойства планарных графов, формула Эйлера для планарных
графов и оценка количества ребер произвольного планарного графа, а также планарного двудольного графа.
Графы Куратовского. Непланарность графов Куратовского.
4.2 Понятие комбинаторной укладки планарного графа. Трехсвязные и и триангулированные планарные
графы. Теорема Whitney про единственность укладки трехсвязного графа. Приведение планарного графа к
триангулированному виду.
4.3 Каноническое упорядочение вершин триангулированных планарных графов.
4.4 Построение обзорного изображения для планарного графа.
4.5 Задача минимизации количества сгибов при построении ортогонального изображения.
4.6 Задача вычисления геометрических размеров ортогонального изображения.
5. Вспомогательные алгоритмы
5.1 Метод сканирующей прямой и алгоритм поиска пересечений прямоугольников.
5.2 Задача компактизации и построение графа ограничений при помощи алгоритма сканирующей прямой
6. Алгоритмы визуализации ориентированных графов
6.1 Метод Сугиямы поуровневого изображения ориентированных графов,основные критерии, принимаемые
во внимание при поуровневых визуализациях.
6.2 Алгоритмы и стратегии, реализуемые на каждом из этапов метода: разбиение множества вершин на
уровни, упорядочение вершин на одном уровне с целью минимизации количества пересечений ребер,
вычисление координат каждой вершины и проблема отрисовки ребер графа.
6.3 Радиальные и круговые изображения графов.
7 Алгоритмы визуализации неориентированных графов
7.1 Пружинные алгоритмы для построения изображения неориентированных графов общего вида.
7.2 Алгоритм имитации отжига и генетический алгоритм для построения визуализации неориентированных
графов общего вида
8. Визуализация динамических графов
8.1 Понятие «мысленной карты» (mental map).
8.2 Два подхода к сохранению мысленной карты: анимация изменений и минимизация изменений.
8.3 Адаптация существующих алгоритмов визуализации на случай динамических визуализаций.
9. Работа с графами большого объема. Задача разбиения графа
9.1 Целевые функции используемые при разбиении графа.
9.2 Алгоритм Kernighan-Lin.
9.3 Алгоритм Fiducchia – Mattheyses.
9.4 Многуровневое разбиение (hMetis).
10. Иерархические методы визуализации графов
10.1 Иерархические представления – средство работы с графами большого объема.
10.2 Основные этапы обработки для графов, имеющих иерархическую структуру.
10.3 Подзадачи, возникающие в работе с иерархическими представлениями графов.
2.4 Перечень
примерных контрольных вопросов и заданий для самостоятельной работы
3. Учебно-методическое обеспечение дисциплины
3.3. Образцы вопросов для подготовки к экзамену
1. Эстетические критерии, используемые при визуализации деревьев.
2. Алгоритмы построения поуровневого изображения бинарных деревьев.
3. Алгоритмы визуализации деревьев, оптимизирующие площадь изображения. Hv- изображения для
полных бинарных деревьев. Н-деревья.
4. Алгоритмы Чана для построения строго восходящего и строго сохраняющего порядок изображения для
бинарных деревьев.
5. Радиальные и круговые изображения деревьев.
6. Алгоритмы визуализации типа Treemap.
7. Методы визуализации деревьев большого объема. Подход «фокус+контекст».
Рассматриваются алгоритмы визуализации, позволяющие видеть одновременно и общий план и детали на
примере гиперболических кизуализаторов и визуализаторов типа «рыбий глаз».
8. Алгоритм поиска в глубину и свойства глубинных остовных деревьев.
9. Алгоритм выделения двусвязных компонент для неориентированного графа.
10. Представление связного графа в виде bc-дерева.
11. Алгоритм построения st-нумерации st-ориентации.
12..Понятие планарного графа, основные свойства планарных графов, формула Эйлера для планарных
графов и оценка количества ребер произвольного планарного графа, а также планарного двудольного графа.
Графы Куратовского. Непланарность графов Куратовского.
13 Понятие комбинаторной укладки планарного графа. Трехсвязные и и триангулированные планарные
графы. Теорема Whitney про единственность укладки трехсвязного графа. Приведение планарного графа к
триангулированному виду.
15. Каноническое упорядочение вершин триангулированных планарных графов.
16. Построение обзорного изображения для планарного графа.
17. Задача минимизации количества сгибов при построении ортогонального изображения.
18. Задача вычисления геометрических размеров ортогонального изображения.
19. Метод сканирующей прямой и алгоритм поиска пересечений прямоугольников.
20. Задача компактизации и построение графа ограничений при помощи алгоритма сканирующей прямой
21.Метод Сугиямы поуровневого изображения ориентированных графов,основные критерии, принимаемые
во внимание при поуровневых визуализациях.
22. Алгоритмы и стратегии, реализуемые на каждом из этапов метода: разбиение множества вершин на
уровни, упорядочение вершин на одном уровне с целью минимизации количества пересечений ребер,
вычисление координат каждой вершины и проблема отрисовки ребер графа.
23.Радиальные и круговые изображения графов.
24.Пружинные алгоритмы для построения изображения неориентированных графов общего вида.
25. Алгоритм имитации отжига и генетический алгоритм для построения визуализации неориентированных
графов общего вида
26. Понятие «мысленной карты» (mental map).
27. Два подхода к сохранению мысленной карты: анимация изменений и минимизация изменений.
28. Адаптация существующих алгоритмов визуализации на случай динамических визуализаций.
29. Целевые функции используемые при разбиении графа.
30. Алгоритм Kernighan-Lin.
31. Алгоритм Fiducchia – Mattheyses.
33. Многуровневое разбиение (hMetis).
34. Иерархические представления – средство работы с графами большого объема.
35. Основные этапы обработки для графов, имеющих иерархическую структуру.
36. Подзадачи, возникающие в работе с иерархическими представлениями графов.
3.4.Список основной и дополнительной литературы:
Основная литература:
1. Ахо Ф., Хопкрофт Дж., Ульман Дж. Д. Построение и анализ вычислительных алгоритмов Москва Мир
1979.
2. Емеличев В.А., Мельников О.И., Сарванов В.И., Тышкевич Р.И. Лекции по теории графов Наука,
Физматлит, 1990.
3. Евстигнеев В.А., Касьянов В.Н. Графы в программировании: обработка визуализация и применение.
БХВ Петербург. 2000.
4. Ривест Р., Кормен Т., Лейзерсон Ч. Алгоритмы: построение и анализ.
Москва МЦНМО 2002.
5. Апанович З.В. Марчук А.Г.Современные стили проектирования и алгоритмы размещения при
проектировании СБИС// Системная информатика Вып 1 Проблемы современного программирования.Новосибирск Наука Сиб отд-ние 1991.
6. Апанович З.В. Задача миграции технологии СБИС и алгоритмы компактизации//Системная информатика
Вып 5 Архитектура, формальные и программные модели Новосибирск Наука Сиб отд-ние 1997.
7. Апанович З. В. Средства для работы с графами большого объема: построение и оптимизация
компоновочных планов. // Системная информатика. Вып. 10: Методы и модели современного
программирования. — Новосибирск: Издательство СО РАН — 2006. — С. 7-56. (принято к публикации).
Вспомогательная литература (все публикации этого списка доступны через Интернет)
http://graphml.graphdrawing.org описание формата GraphML, основанного на XML. И используемого
многими системами визуализации графов.
Isabel F. Cruz, Roberto Tamassia . Graph Drawing - Tutorial
www.cs.brown.edu/people/rt/ papers/gd-tutorial/gd-constraints.pdf
http://www.csd.uoc.gr/~hy483/english/notes.html - записи лекций ИоаннисаТоллиса (Греция) Ioannis Tollis, в
университете Крита.
. http://www.student.cs.uwaterloo.ca/~cs762/Notes/index.php - “Алгоритмы теории графов» - записи лекций,
читаемых на факультете Computer Science в Университете Ватерлоо (Канада).
Bastert O., Matuszewski C. Layered Drawings of Digraphs. in M. Kaufmann D. Wagner Drawing Graphs LNCS
2025, pp.87-120, 2001.
Baur M., Brandes U. An improved heuristic for crossing minimization in circular layout, Working Paper, 2003.
Bertolazzi P., di Battista G., Didimo W. Computing Orthogonal Drawings with the Minimum Number of Bends,
IEEE Transactions on Computers. Vol. 49, N 8, 2000.
Bhasker J., Sahni S. A linear Algorithm to find a Rectangular Dual of Planar Triangulated Graph // Proc. 23d
ACM/IEEE Design Automat. Conf., Las Vegas, 1986.New York, 1986.  P. 108-114.
Boyer J., Myrvold W. Stop minding yourP’s and Q’s: A simplified O(n) planar embedding algorithm. In SIAMACM Symposium on Discrete Algorithms, pp. 140-146,1999.
Booth K., Lueker L. Testing for the consecutive ones property, interval graphs and graph planarity using PQ-tree
algorithms J. of Computer and System Sciences, 13:335-379,1976.
Brandes U. Eager st-Ordering. Konstanzer Schriften in Mathematik und Informatik, N171, April 2002.
Brandes U., Kpf B. Fast and Simple Horizontal Coordinate Assignement. In Proceedings of Graph Drawing
2001, LNCS 2265, pp. 31-44, 2001.
Brandes U. Drawing on Physical Analogies in M. Kaufmann D. Wagner Drawing Graphs LNCS 2025, pp.71-86,
2001.
Chan T.M. A Near-Linear Area Bound for Drawing Binary trees. Proc. Of the 10th ACM-SIAM Symposium on
Discrete Algorithms pp. 161-168.
Chiang Y.T., Lin C.-C., Lu H.-I Orderly spanning trees with applications// SIAM Journal on Computing —2005.
—Vol. 34, N 4 —P. 924-945.
Coffman E., Graham R. Optimal scheduling for two processor systems. Acta Informatica, 1, pp.200-213, 1971.
Crescenzi P., Di Battista G., Piperno A. A note on optimal area algorithms for upward drawings of binary trees.
Computational Geometry: Theory and Applications N2, pp.187-200, 1992.
Chrobak M., Payne T.H. A Linear-time Algorithm for Drawing a Planar Graph on a Grid. Technical Report UCRCS-89-1, Department of Mathematics and Computer Science, University of California at Riverside, 1989.
Davidson R., Harel D. Drawing Graphs Nicely Using Simulated Annealing ACM Transactions on Graphics Vol
15, No 4, October 1996 pp. 301-333.
de Fraysseix H., Pach J., Pollack R. How to draw a planar graph on a grid. Combinatorica, 10 (1), pp. 41-51,
1990.
Even S., Tarjan R.E. Computing an st-numbering. Theoretical Computer Science, 2(3), pp. 339-344, 1976.
Fiduccia C.M., Mattheyses R.M. A linear time heuristic for improving network partitions //Proc. 19th ACM/IEEE
Design Automat. Conf., Las Vegas, 1982.— New Jersey, 1982.—P.175-181.
U. Fößmeier,M. Kaufman Drawing High Degree Graphs with Low Bend Numbers, LNCS 1027 pp. 254-266.
Garg A., Tamassia R. A new Minimum-cost Flow Algorithm with Applications to Graph Drawing LNCS 1190, pp.
201-216, 1997.
Hopcroft J. E.,Tarjan R.E. Efficient planarity testing J. Association Computing Machinery, 21(4) pp. 549-568,
1974.
Karypis G. Aggarwai R., Kumar V, Shekhar S. Multilevel hypergraph partitioning: Application in VLSI domain
// Proc. 34th Design Automat. Conf., Anaheim, 1997.—P.526-529.
Karypis G. Kumar V. A fast and high quality multilevel scheme for partitioning irregular graphs.// SIAM Journal
on Scientific Computing. —1999.— Vol. 20, N 1. — P.359—392.
Karypis G., Kumar V. Multilevel k-way Hupergraph Partitioning (http://www.cs.umn.edu/~metis).
Kernighan B.M.,Lin S. An efficient heuristic for partitioning graphs. // The Bell System Technical Journal. —
1970. —Vol. 49, N2.—P. 291-307.
Kozminski K., Kinnen E Rectangular dual of planar graphs// Networks— 1985 — Vol. 15, N2 —P. 145-157.
Lai Y.-T., Leinwand S.M. Algorithms for floorplan design via rectangular dualization //IEEE
Trans.Comp.Aid.Des.,  1988.  N 7  P.1278-1289.
Mehlhorn K., Mutzel P., Nher St. An implementation of the Hopcroft and Tarjan planarity test and embedding
algorithm. Technical Report MPI-I-93-51, Max-Planck-Institut fr Informatik, Saarbrcken,1993.
Mehlhorn K., Mutzel P. On the Embedding Phase of the Hopcroft and Tarjan Planarity Testing Algorithm
Algorithmica, 16, pp. 233-242,1996.
Otten R. H. J. M. A new algorithm for floorplan design // Proc. 19th ACM/IEEE Design Automat. Conf.,Las
Vegas, 1982, —New Jersey, 1982 P.—101-107.
Six J. M., Tollis I.G. Circular drawings of biconnected graphs. LNCS 1619, pp. 57-73, 1999.
Reingold E., Tilford J. Tidier drawings of trees. IEEE Transactions on Software Engineering, 7 (2) pp. 223228,1981.
Tamassia R. On Embeddinga Graph in the Grid with the Minimum Number of Bends” SIAM J. Computing vol. 16,
n 3, pp. 421-444, 1987.
Walker J. A node-positioning algorithm for general trees. Software-Practice and Experience, 20(7) pp. 685705,1990.
Программу подготовила
к.ф.-м.н., с н.с. ИСИ СО РАН
Апанович З.В.
Download