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 ≤ 15
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):≤ k
(a) Énumérer tous les graphes non isomorphes sur sommets et la largeur d'arbre .≤ k
(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 ≤ k
(c) Coupez en supprimant des copies du même graphique.
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 4
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.≤ k
Réponses:
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 kk G G P d v∈P l u∈G∖P w∈P G d+l k 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 > 515 4 t t>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).Gk G
la source
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,B G k B k G B
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,B G n−1 G′ S B v S B′ k B∪v G′,B′ G′
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×nn⋅3k-1(nk) k×n n⋅3k−1
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
la source