Quel est l'algorithme polynomial le plus simple pour PLANARITY?


28

Il existe plusieurs algorithmes qui décident en temps polynomial si un graphique peut être dessiné dans le plan ou non, même beaucoup avec un temps d'exécution linéaire. Cependant, je n'ai pas trouvé d'algorithme très simple que l'on pourrait expliquer facilement et rapidement en classe et qui montrerait que PLANARITY est en P. Vous en connaissez?

Si nécessaire, vous pouvez utiliser le théorème de Kuratowski ou de Fary mais pas de trucs profonds, comme le théorème des graphes mineurs. Notez également que je ne me soucie pas du temps de fonctionnement, je veux juste quelque chose de polynomial.

Vous trouverez ci-dessous les 3 meilleurs algorithmes jusqu'à présent, montrant un compromis simplicité / absence de théorie profonde.

Algorithme 1: En utilisant cela, nous pouvons vérifier si un graphe contient un ou un K 3 , 3 en tant que mineur en temps polynomial, nous obtenons un algorithme très simple utilisant la théorie profonde. (Notez que cette théorie utilise déjà des plongements de graphes, comme l'a souligné Saeed, donc ce n'est pas une véritable approche algorithmique, juste quelque chose de simple à dire aux étudiants qui connaissaient / acceptaient déjà le théorème mineur des graphes.)K5K3,3

Algorithme 2 [basé sur la réponse de quelqu'un]: Il est facile de voir qu'il suffit de traiter des graphiques à 3 connexions. Pour ceux-ci, trouvez un visage puis appliquez le théorème du ressort de Tutte.

Algorithme 3 [recommandé par Juho]: algorithme Demoucron, Malgrange et Pertuiset (DMP). Dessinez un cycle, les composants du graphique restant sont appelés fragments, nous les intégrons de manière appropriée (en attendant, en créant de nouveaux fragments). Cette approche n'utilise aucun autre théorème.


1
Je pense que beaucoup conviennent que l'algorithme de temps polynomial le plus simple est l'algorithme de Demoucron, Malgrange et Pertuiset (DMP). Il s'agit d'un algorithme qui couvre généralement les manuels (voir par exemple Gibbons 1985 ou Bondy & Murty 1976). Est-il suffisant de simplement décider de la planéité, ou l'algorithme devrait-il également produire une intégration planaire? IIRC le document SODA'99 de Boyer et Myrvold @joro fait probablement référence à des détails laissés de côté, notamment en ce qui concerne la complexité temporelle.
Juho

2
Si vous voulez juste que le problème de décision soit PLANAIRE, deux mineurs interdits dont l'existence peut être vérifiée en temps polynomial ne suffisent-ils pas?
joro

2
@joro: Oui, bien sûr, ce serait une solution simple mais je préférerais éviter d'utiliser un théorème aussi fort.
domotorp

1
L'algorithme que j'ai mentionné était essentiellement l'algorithme Auslander-Parter. Le problème dans mon algorithme était la partie 7 quand j'ai dit que nous pouvons graphe bipartition des composants. Nous pouvons dans l'algorithme d'origine, mais dans l'algorithme que j'ai dit, nous avons besoin de définitions plus précises des composants et il était hors de mon désir de l'expliquer en détail. La partie récursive était clairement vraie (si nous pouvons faire l'étape 7 alors nous avons terminé), où vous doutez de son exactitude. Je n'ai pas mis à jour ma réponse car j'ai vu qu'elle contiendra environ deux pages et je ne peux pas l'abréger davantage et ce n'est pas bien d'appeler cela simple.
Saeed

3
La réduction à 3 cas connectés est un concept simple et doit être expliquée dans tous les cas. Si nous ne sommes pas trop intéressés par la réduction de l'efficacité en cas de connexion à 3, cela peut être fait facilement. Vérifiez toutes les coupes à 2 nœuds.
Chandra Chekuri

Réponses:


6

Je vais décrire un algorithme. Je ne suis pas sûr qu'il soit qualifié de "facile" et certaines des preuves ne sont pas si faciles.

Nous divisons d'abord le graphique en 3 composants connectés, comme mentionné par Chandra Chekuri.

  1. Divisez le graphique en composants connectés.
  2. vGiGiv
  3. v,uGiGi{v,u}

G

  1. CG
  2. CD
  3. D
  4. UGV(C)DG[UV(C)]GFDG[UV(C)]CFGCCC
  5. GG

Remarques:

  • Il n'est pas simple d'affirmer que l'intégration au printemps de Tutte donne une intégration plane. J'ai aimé la présentation dans le livre d'Edelsbrunner et Harer, Computational Topology, mais ce n'est que pour les triangulations. Colin de Verdiere discute de l'intégration du printemps dans http://www.di.ens.fr/~colin/cours/algo-graphs-surfaces.pdf , section 1.4. Une référence générale est Linial, Lovász, Wigderson: bandes élastiques, plongements convexes et connectivité graphique. Combinatorica 8 (1): 91-102 (1988).
  • La résolution d'un système linéaire d'équations dans un nombre polyomial d'opérations arithmétiques est facile via l'élimination gaussienne. Le résoudre à l'aide d'un nombre polyonomial de bits n'est pas si simple.

J'ai modifié la réponse pour éviter d'utiliser des ponts et le graphique de chevauchement.
quelqu'un le

Supposons que chaque composant connecté à 3 puisse être intégré. Alors, que pouvons-nous déduire du graphique d'origine? En utilisant que les graphiques connectés à 3 ont (au plus) une intégration, nous pouvons probablement terminer à partir d'ici, mais cette étape doit également être effectuée.
domotorp

À la fin, à l'étape 4, qu'est-ce qu'une face dans un dessin non plan? Je suppose que cela peut encore être défini de manière naturelle. Et à la toute fin, "Sinon G n'est pas planaire" semble en effet assez banal.
domotorp

DG[UV(C)]G

En cela, nous sommes d'accord, mais je ne vois pas en quoi cela aide.
domotorp

3

L'algorithme de Boyer et Myrvold est considéré parmi l'état de l'art des algorithmes de test de planarité

À la pointe de la technologie: Planarité O (n) simplifiée par ajout de bords par Boyer et Myrvold.

Ce chapitre du livre examine de nombreux algorithmes de test de planarité et nous espérons que vous trouverez un algorithme assez simple.


Je ne suis pas intéressé par la pointe des algorithmes de planarité, je veux quelque chose de facile à expliquer. Je n'ai rien trouvé de plus simple que l'algorithme Demoucron, Malgrange et Pertuiset (DMP) dans le livre.
domotorp

0

Qu'en est-il de l'algorithme de Hopcroft et Tarjan de 1974 {1} ?


{1} Hopcroft, John et Robert Tarjan. "Test de planéité efficace." Journal de l'ACM (JACM) 21.4 (1974): 549-568.


C'est un algorithme rapide et pas simple.
domotorp

0

Deux algorithmes, tous deux dans LogSpace

  1. Eric Allender et Meena Mahajan - La complexité des tests de planarité
  2. Samir Datta et Gautam Prakriya - Les tests de planarité revisités

Le second est beaucoup plus simple que le premier.


Pas simple du tout.
domotorp
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.