Введение

Физическое моделирование для визуализации графов

Алгоритмы рисования графов с использованием силовых полей — это класс алгоритмов для эстетически привлекательного представления графов. Их задача — расположить узлы графа в двух- или трехмерном пространстве таким образом, чтобы длины всех ребер были примерно одинаковы, а количество пересекающихся ребер было минимальным. Это достигается путем назначения сил между ребрами и узлами на основе их взаимного расположения, а затем использования этих сил для моделирования движения ребер и узлов или для минимизации их энергии. Хотя задача визуализации графов может быть сложной, алгоритмы, основанные на силовых полях, будучи физическими симуляциями, обычно не требуют специальных знаний в области теории графов, таких как планарность.

Силы

Алгоритмы отрисовки графов с использованием сил назначают силы между набором рёбер и набором вершин графа. Обычно для притяжения пар конечных точек рёбер графа друг к другу используются пружиноподобные силы притяжения, основанные на законе Гука, в то время как одновременно для разделения всех пар вершин используются отталкивающие силы, подобные силам электрически заряженных частиц, основанные на законе Кулона. В состояниях равновесия для этой системы сил рёбра стремятся иметь одинаковую длину (из-за пружинных сил), а вершины, не связанные ребром, стремятся располагаться на большем расстоянии друг от друга (из-за электрического отталкивания). Силы притяжения рёбер и отталкивания вершин могут быть определены с использованием функций, не основанных на физическом поведении пружин и частиц; например, в некоторых системах, использующих силы, пружины имеют логарифмическую, а не линейную силу притяжения. Альтернативная модель рассматривает пружиноподобную силу для каждой пары вершин, где идеальная длина каждой пружины пропорциональна теоретическому расстоянию между вершинами i и j, без использования отдельной отталкивающей силы. Минимизация разницы (обычно квадратичной разницы) между евклидовым и идеальным расстояниями между вершинами эквивалентна задаче метрической многомерной шкалы. Граф, отрисованный с использованием сил, может включать силы, отличные от механических пружин и электрического отталкивания. Сила, аналогичная гравитации, может использоваться для притяжения вершин к фиксированной точке пространства отрисовки; это может быть использовано для объединения различных связных компонент несвязного графа, которые в противном случае имели бы тенденцию разлетаться друг от друга из-за отталкивающих сил, а также для размещения вершин с большей центральностью в более центральных позициях на отрисовке; это также может влиять на расстояние между вершинами внутри одной компоненты. Аналоги магнитных полей могут использоваться для ориентированных графов. Отталкивающие силы могут быть приложены как к рёбрам, так и к вершинам, чтобы избежать перекрытия или почти перекрытия в окончательной отрисовке. В отрисовках с изогнутыми рёбрами, такими как круговые дуги или сплайны, силы также могут быть приложены к контрольным точкам этих кривых, например, для улучшения их углового разрешения.

Методы

После того, как силы на узлах и ребрах графа определены, поведение всего графа под воздействием этих сил может быть смоделировано, как если бы это была физическая система. В таком моделировании силы прикладываются к узлам, сближая или удаляя их друг от друга. Этот процесс повторяется итеративно до тех пор, пока система не достигнет состояния механического равновесия, то есть их относительные положения перестанут изменяться от одной итерации к другой. Положения узлов в этом равновесии используются для построения схемы графа. Для сил, заданных пружинами с идеальной длиной, пропорциональной теоретическому расстоянию в графе, мажоризация напряжений обеспечивает хорошо предсказуемый (то есть монотонно сходящийся) и математически изящный способ минимизировать эти различия и, следовательно, найти хорошее расположение для графа. Также возможно использовать механизмы, которые непосредственно ищут энергетические минимумы, либо вместо физического моделирования, либо в сочетании с ним. Эти механизмы, являющиеся примерами общих методов глобальной оптимизации, включают в себя имитацию отжига и генетические алгоритмы.

История

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