Генетический алгоритм для рисования графика? Проблема назначения позиции

У меня есть проблема с назначением, и мне интересно, насколько подходящим было бы применить методы локального поиска для достижения желаемого решения (пространство поиска довольно велико).

У меня есть ориентированный граф (блок-схема), который я хотел бы визуализировать на 2-D плоскости таким образом, чтобы он был очень четким, понятным и легко читаемым человеческим глазом. Следовательно; Я буду назначать (x, y) позиции каждой вершине. Я подумываю решить эту проблему, используя моделирование отжига, генетические алгоритмы или любой подобный метод, который вы можете предложить

Вход: График G = (V, E)
Выход: Набор присваивания, {(xi, yi) для каждого vi в V} . Другими словами, каждой вершине будет присвоена позиция (x, y), где все координаты - целые числа и> = 0.

Это критерии, которые я буду использовать для оценки решения (я приветствую любые предложения):

  • Количество пересекающихся кромок должно быть минимальным,
  • Все кромки текут в одном направлении (т.е. слева направо),
  • Высокое угловое разрешение (наименьший угол, образованный двумя кромками инцидент в той же вершине),
  • Маленькая область - наименее важна.

Кроме того; У меня есть начальная конфигурация (привязка позиций к вершинам), сделанная вручную. Это очень запутанно, и поэтому я пытаюсь автоматизировать этот процесс.

Мои вопросы:

  • Насколько разумно было бы использовать методы локального поиска? Насколько вероятно приведет ли это к желаемому результату?

  • А с чего начать? Имитация отжига, генетические алгоритмы или что-то еще?

  • Должен ли я использовать случайное семя в начале или использовать начальное конфигурация, с которой начать?

  • Или, если вы уже знаете о подобной реализации / псевдокоде / вещи, укажите мне ее.

Любая помощь будет принята с благодарностью. Спасибо.

РЕДАКТИРОВАТЬ: Это не обязательно должно быть быстро - не в реальном времени. Более того; | V | = ~ 200 и каждая вершина имеет в среднем около 1,5 исходящих ребер. Граф не имеет отключенных компонентов. Это действительно связано с циклами.

9
задан tskuzzy 12 July 2011 в 02:22
поделиться