Énumération des graphiques planaires de la largeur d'arbre borné

9

Je cherche des références pour le problème suivant: étant donné les entiers et , énumérer tous les graphes planaires non isomorphes sur sommets et la largeur d'arbre . Je m'intéresse à la fois aux résultats théoriques et pratiques, mais surtout aux algorithmes pratiques qu'il est possible de coder et d'exécuter pour des valeurs aussi grandes que possible de et (pensez et ). Si vous avez déjà une réponse, ignorez les divagations ci-dessous.k n k n k k 5 n 15nknknkk5n15

L'approche suivante fonctionne en quelque sorte ok pour énumérer tous les graphes non isomorphes sur sommets et la largeur de l'arborescence (c'est-à-dire lorsque la contrainte de planarité est supprimée):knk

(a) Énumérer tous les graphes non isomorphes sur sommets et la largeur d'arbre .kn1k

(b) Pour chaque sommet sur sommets et largeur d'arbre , chaque clique sur sommets en et chaque sous-ensemble d'arêtes en , faire de en ajoutant un nouveau sommet adjacent à . Ajoutez à la liste de grahs sur sommets et arborescence .n - 1 k C k G S C G G - S v C G L n kGn1kCkGSCGGSvCGLnk

(c) Coupez en supprimant des copies du même graphique.L

Une manière tentante de l'étendre pour énumérer les graphiques planaires de la largeur d'arbre consiste à simplement filtrer les graphiques non plans à chaque itération. Malheureusement, cela ne parvient pas à générer tous les graphiques planaires de la largeur d'arbre (par exemple, car il énumère uniquement les graphiques à degrés).k 4kk4

Bien sûr, nous pourrions énumérer tous les graphiques sur sommets et la largeur de l'arborescence et ensuite filtrer les non-plans, mais cela ne permet pas d'exploiter le fait que la plupart des graphiques ne sont pas plans et semblent très sous-optimaux.knk

daniello
la source
Voulez-vous vraiment l'implémenter et tester le résultat? Le nombre d'arbres non isomorphes est déjà exponentiel.
Saeed
@Saeed: bien sûr - pour 20 nœuds, le nombre d'arbres est inférieur à un million, donc je m'attends à ce que cela soit possible au moins pour . n15
daniello
1
que diriez-vous de commencer à partir de graphes d'accords -vertex de taille de clique max , et de supprimer les bords pour le rendre plan? k + 1nk+1
Yixin Cao
@Yixin Cao, cela ressemble à l'énumération de graphiques + décompositions d'arbres (c'est-à-dire que le même graphique est vu une fois par déc. D'arbre). Jusqu'à présent, cela a été assez lent (mais une optimisation pourrait rendre cette approche viable)
daniello
2
@daniello, je vois votre point mais avez-vous vu cette application: cs.anu.edu.au/~bdm/plantri , ils prétendent qu'ils peuvent générer des graphes planaires 1M en une seconde (en ce qui concerne l'isomorphisme). (ce n'est pas exactement ce que vous voulez cependant, pour les graphes planaires connectés 1-2-3, cela semble être parfait, il n'y a pas beaucoup de graphiques planaires connectés 4-5 sur 15 sommets).
Saeed

Réponses:

2

Il existe un joli logiciel qui génère de petits graphes planaires par rapport à l'isomorphisme qui pourraient aider. Comme je le vois, l'un des problèmes était de générer des graphes planaires non isomorphes et la plupart de ces graphes planaires (sur moins de 15 sommets) ont une petite largeur d'arbre.

Pour vérifier si leur largeur d'arbre est inférieure à la valeur donnée , une façon consiste à utiliser des algorithmes heuristiques pour accélérer ce calcul, juste au cas où des algorithmes exacts ne seraient pas pratiques. Par exemple, dans un graphe planaire nous pouvons d'abord trouver un diamètre de et le chemin correspondant de longueur (qui est un diamètre). Ensuite , trouver un sommet , qui a la plus courte distance la plus longue ( ) à un autre sommet parmi tous les sommets . La largeur d'arbre de est au plus , si elle est inférieure àG G P d v P l u G P w P G d + l kkGGPdvPluGPwPGd+lk alors nous avons terminé sinon appliquer d'autres algorithmes heuristiques ou exécuter l'algorithme exact.

Pour moins de 3 graphiques connectés, il est également possible d'appliquer une heuristique en trouvant des sommets coupés puis en fixant ces sommets et en trouvant la largeur d'arbre d'un graphique restant. Mais comme le nombre de nœuds est petit ( ) si le graphe est connecté à alors le diamètre n'est pas grand et je pense que la première heuristique devrait y fonctionner. (Je ne sais pas s'il y a un graphe planaire 5 connecté sur au plus 15 sommets, mais comme nous savons qu'il n'y a pas -connexe graphe planaire pour )4 t t > 5154tt>5

Comme la taille de la plus grande obstruction pour la largeur d'arbre n'est pas connue, nous ne pouvons pas simplement deviner la valeur supérieure de la largeur d'arbre d'un graphique donné . Mais il semble qu'au moins pour les graphes plans, il ne devrait pas être aussi grand (il faut en donner la preuve).GkG

Saeed
la source
1

On peut énumérer toutes les paires où est un graphe planaire avec une largeur d'arbre au plus , est un sac de taille tel qu'il existe une décomposition arborescente de avec comme sac.G k B k G BG,BGkBkGB

Maintenant, pour chaque paire où a sommets, nous construisons un nouveau graphe pour chaque sous-ensemble de en ajoutant un sommet avec S comme voisins et que B soit un sous-ensemble de taille k de B v . Ajoutez G , B si G est planaire et n'est pas isomorphe à une paire déjà trouvée.G n - 1 G S B vG,BGn1GSBvSBkBvG,BG

Une limite supérieure facile sur le nombre d'entrées à stocker est fois le nombre de graphiques énumérés, mais il s'agit d'une limite pessimiste. Pour la plupart des graphiques de la largeur d'arbre k, la plupart des sous-ensembles de taille k ne peuvent pas ba bag, par exemple une grille a seulement sacs possibles. k×nn3k-1(nk)k×nn3k1

Je crois que cela fonctionnera aussi bien que l'algorithme pour les graphes non planaires car pour chaque paire G, B nous obtenons un graphe en faisant de B une clique, la plupart de ces graphes seront non isomorphes.

Il y a plusieurs astuces que l'on peut appliquer pour accélérer cela, je suggère de consulter: http://www.siam.org/meetings/alenex04/abstacts/HBodlaender.pdf

Martin Vatshelle
la source
Tous les graphiques énumérés n'auront-ils pas une largeur de chemin limitée plutôt qu'une largeur d'arbre?
daniello
Je pense que tu as raison. le choix de B 'est trop limité.
Martin Vatshelle