Trovare un doppio di un grafico


11

Secondo il libro Topological Graph Theory di Gross and Tucker, dato l'incorporamento cellulare di un grafico su una superficie (per "superficie" intendo qui una sfera con alcune maniglie , e sotto S n si riferisce alla sfera con esattamente n maniglie), è possibile definire una doppia multigrafo trattando le facce del grafico originale incorporandole come vertici e aggiungendo un bordo tra due vertici per ogni lato che le facce corrispondenti hanno in comune nel grafico originale.n0Snn

Ecco il mio problema . Dato un grafo , ho bisogno di trovare un altro grafico G ' tale che esiste una superficie S e un incorporamento cellulare di G su S tale che G ' è il doppio di questa incorporamento di G . So che ci sono molti possibili grafici G ; Ho solo bisogno di trovare uno per ogni grafo G .GGSGSGGGG

Ho diverse domande . La mia attuale strategia è (1) determinare il genere di G , (2) trovare un incorporamento di G su S n e (3) trovare il doppio di questo incorporamento. Tutti questi passaggi hanno algoritmi noti (sebbene (1) sia NP-Hard). Mi chiedo se c'è un modo per trovare un G ' che ignori il calcolo del genere, dal momento che questo è il collo di bottiglia di questo approccio, e questa è la mia prima domanda. La mia seconda domanda è: se so che G è regolare, ciò può facilitare il calcolo del genere? E la mia terza domanda è una richiesta per eventuali riferimenti che possono aiutarmi a risolvere questo problema.nGGSnGG


Sto postando una domanda simile che richiede un semplice doppio grafico qui
becko

Risposte:


17

Il tuo doppio deve essere di genere minimo? Perché è banale trovare un incorporamento cellulare per qualsiasi grafico: basta scegliere un ordinamento circolare per i bordi incidente a ciascun vertice, arbitrariamente, e quindi determinare le facce dell'incorporamento come sequenze di bordi coerenti con gli ordini scelti.

Mi piace la rappresentazione GEM (mappa con codifica grafica) di un incorporamento dal libro Foundations of Topological Graph Theory di Bennington e Little. In questa rappresentazione, un incorporamento è rappresentato da un grafico a 3 regolari di 3 bordi colorati con un vertice per ogni bandiera dell'incorporamento (un triplo incidente di vertice, bordo e faccia) e un bordo per ogni due bandiere che differiscono in solo uno degli elementi degli insiemi vertice / bordo / faccia che rappresentano. Ad esempio, l'immagine sotto di Wikipedia può essere interpretata come una GEM di un dodecaedro regolare, in cui i cicli rossi rappresentano le sue facce, i cicli gialli rappresentano i suoi bordi e i cicli blu rappresentano i suoi vertici; i bordi possono essere colorati in base ai colori delle loro due facce incidente.

grande rombicosidodecaedro

Dato un ordinamento circolare dei bordi di un grafico G, il suo GEM può essere trovato realizzando un ciclo di vertici 2d per ciascun vertice grado-d di G, due per ogni bordo, con le coppie di vertici per ciascun bordo incidente che si verificano nel ciclo nell'ordine circolare prescelto, quindi per ciascun bordo e di G che collega le due coppie di bordi GEM per i due punti finali di e in un rettangolo. Se vuoi un orientamento orientato alla scelta di come collegare questi quattro vertici in un rettangolo dovrebbe essere coerente con gli ordinamenti circolari, altrimenti può essere arbitrario.

Quindi, i vertici, i bordi e le facce dell'incorporamento di G sono rappresentati da cicli nella GEM che si alternano tra due dei tre colori dei bordi. Il doppio di G è rappresentato da un GEM con lo stesso grafico a 3 regolari sottostante ma con due dei suoi colori di bordo scambiati. E il grafico rappresentato da un GEM può essere formato contraendo tutti i suoi cicli di vertici e fondendo coppie di bordi paralleli in bordi singoli. Quindi la costruzione di un doppio di G (purché non ti interessi quale doppio) può essere facilmente eseguita in tempo lineare.


1
In realtà, il doppio può essere "costruito" dalla rappresentazione gemma in zero tempi, con un semplice typecast. La stessa struttura di dati rappresenta sia la mappa originale che la sua doppia.
Jeffε

1
Inoltre, per "scegliere un ordinamento circolare per i bordi incidenti per ciascun vertice", ti consiglio di utilizzare l'ordinamento nella struttura dei dati dell'elenco di adiacenza che stai utilizzando per rappresentare comunque il grafico.
Jeffε

G

+1 Questo post risponde chiaramente alla domanda come ho affermato. Non so se dovrei contrassegnare questo come la risposta in questo momento e iniziare un nuovo post con il nuovo problema, o modificare questo post, poiché il problema è chiaramente nel contesto qui.
becko,

1
Sai quanti vertici, spigoli e facce hai, quindi puoi calcolare il genere dalla caratteristica di Eulero (con un po 'di attenzione se la superficie è orientabile o meno).
David Eppstein,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.