
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.12.107.50] |
![]() |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Добрейшего времени суток, уважаемые!
Под термином "оптимальная" будем понимать, например min(X*((N*N)!)+sum(Li)), где X - количество пересечений ребер графа на рисунке, N - количество вершин графа, Li - длину i-того ребра (в чем угодно, сантиметрах, пикселях, не важно). Ну а теперь, собственно, описание проблемы. Не секрет, что один и тот же граф, при достаточном количестве вершин, можно так отрисовать, что получится "клубок" в котором, ориентироваться будет сложно. С другой стороны, если "развернуть" и пререразместить расположения вершин - можем получить более простое и наглядное представление одного и того же графа. В котором более очевидно будет наличие возможных суб-структур (типа петель, петель-петель). Какие есть мысли по сабжу? Может есть уже какие-то готовые решения? PS. Поинмаю, формула "оптимальности" от балды. Хотелось просто показать, что наиболее важный критерий - уменьшение количества пересечений ребер. |
![]() |
Сообщ.
#2
,
|
|
Не имея никаких сведений об особенностях графа (даже не сказано, направленный он или нет), вряд ли можно вести речь об оптимизации...
|
Сообщ.
#3
,
|
|
|
Одна из самых известных библиотек:
http://www.graphviz.org/ Еще что-то тут: http://alenacpp.blogspot.ru/2006/02/blog-post_10.html https://en.wikipedia.org/wiki/Graph_drawing |
Сообщ.
#4
,
|
|
|
Цитата Akina @ даже не сказано, направленный он или нет Направленность значения не имеет. Речь идет о размещении вершин на плоскости. Пусть "знакоместо" вершины для направленного графа включает возможность прорисовки в нем "стрелки", если граф направленный". Добавлено MBo, спасибо! И за материалы, и за оперативность! Буду разбираться, благо там и исходники в наличии. |
Сообщ.
#5
,
|
|
|
Цитата MBo @ Еще что-то тут: ![]() Точно!!! Де жа вю ... ![]() |
Сообщ.
#6
,
|
|
|
Самое простое - разместить вершины на окружности.
|
Сообщ.
#7
,
|
|
|
Цитата foreach @ Но не всегда даёт нужный результат.Самое простое - разместить вершины на окружности. Полный граф с четырьмя вершинами является плоским, а размещая вершины на окружности, его без пересечения рёбер нарисовать нельзя. |
Сообщ.
#8
,
|
|
|
Цитата amk @ Я бы даже так сказал: если планарный граф перерисовать, расположив его вершины на окружности, то с вероятностью 1, будут пересечения рёбер. (см. замечание ниже).Но не всегда даёт нужный результат. Цитата amk @ Подразумевая под рёбрами прямые отрезки. размещая вершины на окружности, его без пересечения рёбер нарисовать нельзя. ![]() |
Сообщ.
#9
,
|
|
|
Если произвольными кривыми рисовать, то вершины можно размещать как угодно - плоский граф можно будет нарисовать без пересечений.
|
Сообщ.
#10
,
|
|
|
Цитата amk @ плоский граф можно будет нарисовать без пересечений. Даже если, к примеру, 10 вершин соединены все-ко-всем? |
Сообщ.
#11
,
|
|
|
Цитата JoeUser @ Он не планарен будет! Даже если, к примеру, 10 вершин соединены все-ко-всем? ![]() Добавлено П.С. полный граф на K вершинах становится непланарным уже при K>4. ![]() |
Сообщ.
#12
,
|
|
|
Цитата Славян @ П.С. полный граф на K вершинах становится непланарным уже при K>4. Вот поэтому и я засумневался ![]() |
Сообщ.
#13
,
|
|
|
Цитата JoeUser @ В чём? Вот поэтому и я засумневался ![]() Цитата JoeUser @ Широко известное утверждение. А откуда инфа про K>4? ![]() Добавлено Цитата вики Графы с K1 по K4 являются планарными. Полные графы с большим количеством вершин не являются планарными, так как содержат подграф K5 и, следовательно, не удовлетворяют критерию Понтрягина-Куратовского. |
Сообщ.
#14
,
|
|
|
Сообщ.
#15
,
|
|
|
Цитата Славян @ Широко известное утверждение. И ты умудрился его "обрезать" ... а оно в вики звучит так: Цитата Необходимое условие — если граф непланарный, то он должен содержать больше 4 вершин, степень которых больше 3, или больше 5 вершин степени больше 2. |