Перечисление плоских графов ограниченной ширины дерева

9

Я ищу ссылки на следующую задачу: с учетом целых чисел и перечислить все неизоморфные плоские графы по вершинам и ширине дерева . Меня интересуют как теоретические, так и практические результаты, но в основном практические алгоритмы, которые можно кодировать и запускать для максимально больших значений и (подумайте, и ). Если у вас уже есть ответ, не обращайте внимания на сообщения ниже.nknknkk5n15

Следующий подход работает нормально для перечисления всех неизоморфных графов по вершинам и ширине дерева (т.е. когда ограничение планарности сброшено):nk

(a) Перечислите все неизоморфные графы по вершинам и ширине дерева .n1k

(b) Для каждой вершины на вершинах и ширине дерева , каждой клике на вершинах в и каждом подмножестве ребер в , сделайте из , добавив новую вершину примыкает к . Добавьте в список грахов по вершинам и ширине дерева .Gn1kCkGSCGGSvCGLnk

(c) Обрежьте , удалив копии того же графа.L

Заманчивый способ расширить это для перечисления плоских графов treewidth - просто отфильтровывать непланарные графы на каждой итерации. К сожалению, это не в состоянии генерировать все плоские графы с шириной дерева (например, потому что он перечисляет только вырожденные графы).kk4

Конечно, мы могли бы перечислить все графы по вершинам и ширине дерева и только затем отфильтровать неплоские, но это не позволяет использовать большинство графов неплоских и кажется очень неоптимальным.nk

Даниелло
источник
Вы уверены, что хотите реализовать это и проверить результат? Количество неизоморфных деревьев уже экспоненциально.
Саид
@Saeed: конечно - для 20 узлов число деревьев меньше миллиона, поэтому я ожидаю, что это будет возможно по крайней мере для . n15
Даниелло
1
как насчет того, чтобы начать с вершинных хордальных графов с максимальным размером клики и удалить ребра, чтобы сделать их плоскими? nk+1
Исинь Цао
@Yixin Cao, это похоже на перечисление графов + их разложение по дереву (то есть один и тот же граф виден один раз на одно дерево). Пока что это было довольно медленно (но некоторая оптимизация могла бы сделать этот подход жизнеспособным)
Даниелло
2
@daniello, я понимаю вашу точку зрения, но вы видели это приложение: cs.anu.edu.au/~bdm/plantri , они утверждают, что могут генерировать 1M планарные графы в секунду (относительно изоморфизма). (это не совсем то, что вы хотите, хотя, для 1-2-3 связанных плоских графов это кажется идеальным, хотя не так много 4-5 связанных плоских графов на 15 вершинах).
Саид

Ответы:

2

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

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

Для менее чем трехсвязных графов также возможно применить эвристику путем нахождения вершин среза, а затем исправления этих вершин и определения ширины дерева оставшегося графа. Но так как число узлов мало ( ), если граф соединен, то диаметр не большой, и я думаю, что первая эвристика должна работать там. (Я не знаю, существует ли 5-ти связный плоский граф не более чем в 15 вершинах, но, как мы знаем, связного плоского графа не существует при )154tt>5

Поскольку размер наибольшего обструкции для ширины дерева не известно , мы не можем просто угадать UpperBound значения древесной ширины данного графа . Но, похоже, что, по крайней мере, для плоских графов он не должен быть таким большим (нужно это доказать).kG

Saeed
источник
1

Можно перечислить все пары где - плоский граф с шириной трёх не более , - мешок размера такой, что существует дерево-разложение с в качестве пакета.G,BGkBkGB

Теперь для каждой пары где имеет вершин, мы строим новый граф для каждого подмножества в , добавляя вершину с качестве соседей, и пусть будет подмножеством размера из , Добавьте если плоско и не изоморфно любой паре, уже найденной.G,BGn1GSBvSBkBvG,BG

Простая верхняя граница количества записей, которое нужно сохранить, раз, сколько перечислимых графов, но это пессимистическая граница. Для большинства графиков ширины дерева k большинство подмножеств размера k не может содержать сумку, например, сетка имеет только возможных сумок.(nk)k×nn3k1

Я полагаю, что это будет работать так же хорошо, как алгоритм для неплоских графов, поскольку для каждой пары G, B мы получаем граф, делая B кликой, большинство этих графов будет неизоморфным.

Есть несколько приемов, которые можно применить, чтобы ускорить это, я бы посоветовал изучить: http://www.siam.org/meetings/alenex04/abstacts/HBodlaender.pdf

Мартин Ватшелле
источник
Не будут ли все перечисленные графы иметь ограниченную ширину пути, а не ширину пути?
Даниелло
Я думаю, вы правы. выбор B 'слишком ограничен.
Мартин Ватшелле