Дугова діаграма
Дугова діаграма — це спосіб подання графа, в якому вершини розташовуються вздовж прямої на евклідовій площині, а ребра малюються у вигляді півкіл на одній з двох півплощин, або у вигляді гладких кривих, утворених півколами. У деяких випадках, якщо ребра з'єднують сусідні вершини на прямій, їх зображають відрізками прямої.
Назва «дугова діаграма» для такого подання графів походить від використання подібного типу діаграм Ваттенберга[1], які він використовував для візуалізації повторюваних фрагментів рядків, з'єднуючи пари однакових підрядків. Проте, сам стиль подання графа значно старший за назву і датується роботами Сааті[2] і Нікольсона[3], які використовували дугові діаграми для вивчення числа схрещень графів. Старіша, але рідше використовувана назва дугових діаграм — лінійне вкладення[4].
Хір, Босток і Огіветскі[5] написали, що дугові діаграми «не можуть виражати повної структури графа так само ефективно, як це робить двовимірне подання», але дає змогу простіше уявити багатовимірні дані, пов'язані з вершинами графів.
Планарні графи
ред.Як зауважив Ніколсон[3], будь-яке вкладення графа в площину можна перетворити на дугову діаграму, не змінивши числа перетинів. Зокрема, будь-який планарний граф має планарну дугову діаграму. Однак таке вкладення може вимагати використання більш ніж одного півкола для малювання деяких ребер графа.
Якщо граф намальовано без перетинів дуг у вигляді дугової діаграми, в якій кожне ребро подано одним півколом, малюнок є двосторінковим книжковим вкладенням, що можливо тільки для підгамільтонових графів, підмножини планарних графів[6]. Наприклад, максимальний планарний граф має таке вкладення тоді й лише тоді, коли він містить гамільтонів цикл. Таким чином, негамільтонів максимальний планарний граф, такий як граф Голднера — Харарі, не може мати планарного вкладення з одним півколом на ребро. Перевірка, чи граф має дугову діаграму без перетинів цього типу (або, еквівалентно, книжкова товщина графа дорівнює двом), є NP-повною задачею[7].
Однак будь-який планарний граф має дугову діаграму, в якій кожне ребро подано у вигляді бідуги, що складається не більше ніж з двох півкіл. Строгіше, будь-який st-планарний орієнтований граф (планарний спрямований ациклічний граф з одним витоком і одним стоком, обидва на зовнішній грані) має дугову діаграму, в якій будь-яке ребро утворює монотонну криву, всі криві (ребра) направлені в один бік[8]. Для неорієнтованих планарних графів одним зі способів побудови дугової діаграми максимум з двома півколами на ребро є поділ графа та додання додаткових ребер з метою отримати гамільтонів цикл (при цьому ребра діляться максимум на дві частини), потім використовується порядок уздовж гамільтонового циклу як порядок проходження вершин на прямій[9].
Мінімізація перетинів
ред.Оскільки перевірка, чи має даний граф дугову діаграму без перетинів з одним півколом на ребро, є NP-повною задачею, також NP-складною задачею є пошук дугової діаграми, що мінімізує число перетинів. Завдання мінімізації числа перетинів залишається NP-складною для непланарних графів, навіть якщо порядок вершин уздовж прямої вже задано[4]. Однак, у разі заданого порядку вершин, вкладення без перетинів (якщо таке існує) можна знайти за поліноміальний час, перевівши задачу в задачу 2-виконанності[en], в якій змінні подають розташування кожної дуги, а обмеження запобігають розташуванню двох ребер, що перетинаються, по один бік від прямої з вершинами[10]. Крім того, у разі фіксованого розташування вершин, вкладення з мінімізацією числа перетинів можна апроксимувати, розв'язавши задачу максимального розрізу в допоміжному графі, який подає півкола та їх потенційні перетини[11].
Кіміковський, Шоуп[12][13], Хе, Сікора та Врто[14] обговорювали евристичні алгоритми пошуку дугових діаграм із кількома перетинами.
Орієнтація за годинниковою стрілкою
ред.Для подання орієнтованих графів загальноприйнятим є напрямок дуг за годинниковою стрілкою, так що дуги, спрямовані зліва направо, малюються над прямою, а спрямовані справа наліво — під прямою. Цю домовленість про орієнтацію за годинниковою стрілкою розробила, як частину іншого способу подання графа, Фекет, Ванг, Данг і Аріс[15], а до дугових діаграм її застосували Преторіус і ван Вейк[16].
Інше використання
ред.Брандес[17] використовував дугові діаграми для візуалізації діаграм станів зсувового регістра, а Джиджев і Врто[18] — для доведення, що число перетинів будь-якого графа принаймні дорівнює квадрату його ширини розрізу.
Примітки
ред.- ↑ Wattenberg, 2002.
- ↑ Saaty, 1964.
- ↑ а б Nicholson, 1968.
- ↑ а б Masuda, Nakajima, Kashiwabara, Fujisawa, 1990.
- ↑ Heer, Bostock, Ogievetsky, 2010.
- ↑ Півкола для малювання ребер у книжковому вкладенні застосували вже Бернхарт і Кайнен 1979 року (Bernhart, Kainen, 1979), але явний зв'язок дугових діаграм із двосторінковими вкладеннями, очевидно, належить Масуді, Накаджимі, Кашивабарі і Фуджисаві (Masuda, Nakajima, Kashiwabara, Fujisawa, 1990).
- ↑ Chung, Leighton, Rosenberg, 1987.
- ↑ Giordano, Liotta, Mchedlidze, Symvonis, 2007.
- ↑ Bekos, Kaufmann, Kobourov, Symvonis, 2013.
- ↑ Efrat, Erten, Kobourov, 2007.
- ↑ Cimikowski, Mumey, 2007.
- ↑ Cimikowski, Shope, 1996.
- ↑ Cimikowski, 2002.
- ↑ He, Sýkora, Vrt'o, 2005.
- ↑ Fekete, Wang, Dang, Aris, 2003.
- ↑ Pretorius, van Wijk, 2007.
- ↑ Brandes, 1999.
- ↑ Djidjev, Vrt'o, 2002.
Література
ред.- Michael A. Bekos, Michael Kaufmann, Stephen G. Kobourov, Antonios Symvonis. Graph Drawing: 20th International Symposium, GD 2012, Redmond, WA, USA, September 19–21, 2012, Revised Selected Papers. — Springer, 2013. — Т. 7704. — С. 150–161. — (Lecture Notes in Computer Science) — DOI:
- Frank R. Bernhart, Paul C. Kainen. The book thickness of a graph // Journal of Combinatorial Theory. — 1979. — Т. 27, вип. 3. — С. 320–331. — (Series B). — DOI: .
- Ulrik Brandes. Graph Drawing: 7th International Symposium, GD’99, Štiřín Castle, Czech Republic September 15–19, 1999, Proceedings. — Springer, 1999. — Т. 1731. — С. 410–415. — (Lecture Notes in Computer Science) — DOI:
- Fan R. K. Chung, Frank T. Leighton, Arnold L. Rosenberg. Embedding graphs in books: A layout problem with applications to VLSI design // SIAM Journal on Algebraic and Discrete Methods. — 1987. — Т. 8. — С. 33–58. — DOI: . Архівовано з джерела 14 жовтня 2021. Процитовано 25 квітня 2022..
- Robert Cimikowski. Algorithms for the fixed linear crossing number problem // Discrete Applied Mathematics. — 2002. — Т. 122. — С. 93–115. — DOI: .
- Robert Cimikowski, Brendan Mumey. Approximating the fixed linear crossing number // Discrete Applied Mathematics. — 2007. — Т. 155. — С. 2202–2210. — DOI: .
- Robert Cimikowski, Paul Shope. A neural-network algorithm for a graph layout problem // IEEE Transactions on Neural Networks. — 1996. — Т. 7. — С. 341–345. — DOI: .
- Hristo Djidjev, Imrich Vrt'o. Graph Drawing: 9th International Symposium, GD 2001, Vienna, Austria, September 23–26, 2001, Revised Papers. — Springer, 2002. — Т. 2265. — С. 96–101. — (Lecture Notes in Computer Science) — DOI:.
- Alon Efrat, Cesim Erten, Stephen G. Kobourov. Fixed-location circular arc drawing of planar graphs // Journal of Graph Algorithms and Applications. — 2007. — Т. 11. — С. 145–164. — DOI: .
- Jean-Daniel Fekete, David Wang, Niem Dang, Aleks Aris, Catherine Plaisant. IEEE Symp. on Information Visualization, Poster Compendium. — 2003. — С. 82–83.
- Francesco Giordano, Giuseppe Liotta, Tamara Mchedlidze, Antonios Symvonis. Algorithms and Computation: 18th International Symposium, ISAAC 2007, Sendai, Japan, December 17-19, 2007, Proceedings. — Springer, 2007. — Т. 4835. — С. 172–183. — (Lecture Notes in Computer Science) — DOI:
- Hongmei He, Ondrej Sýkora, Imrich Vrt'o. Crossing Minimisation Heuristics for 2-page Drawings // Electronic Notes in Discrete Mathematics. — 2005. — Т. 22. — С. 527–534. — DOI: .
- Jeffrey Heer, Michael Bostock, Vadim Ogievetsky. A tour through the visualization zoo // Communications of the ACM. — 2010. — Т. 53. — С. 59–67. — DOI: .
- Sumio Masuda, Kazuo Nakajima, Toshinobu Kashiwabara, Toshio Fujisawa. Crossing minimization in linear embeddings of graphs // IEEE Transactions on Computers. — 1990. — Т. 39. — С. 124–127. — DOI: .
- T. A. J. Nicholson. Permutation procedure for minimising the number of crossings in a network // Proceedings of the Institution of Electrical Engineers. — 1968. — Т. 115. — С. 21–26. — DOI: .
- A. J. Pretorius, J. J. van Wijk. Bridging the semantic gap: Visualizing transition graphs with user-defined diagrams // IEEE Computer Graphics and Applications. — 2007. — Т. 27. — С. 58–66. — DOI: .
- Thomas L. Saaty. The minimum number of intersections in complete graphs // Proceedings of the National Academy of Sciences of the United States of America. — 1964. — Т. 52. — С. 688–690. — DOI: .
- M. Wattenberg. Proc. IEEE Symposium o nInformation Visualization (INFOVIS 2002). — 2002. — С. 110–116. — DOI: