Enumerazione dei grafici planari della larghezza degli alberi vincolati


9

Sto cercando riferimenti per il seguente problema: dati interi e k , enumera tutti i grafici planari non isomorfi su n vertici e larghezza dell'albero k . Sono interessato sia ai risultati teorici che a quelli pratici, ma per lo più algoritmi pratici che sono possibili per codificare ed eseguire per valori il più alti possibili di n e k (pensa k 5 e n 15 ). Se hai già una risposta, ignora le incoerenze sottostanti.nknknkk5n15

L'approccio seguente funziona in modo ok per enumerare tutti i grafici non isomorfi su vertici e larghezza dell'albero k (ovvero quando il vincolo di planarità viene eliminato):nk

(a) Enumera tutti i grafici non isomorfi su vertici e larghezza dell'albero k .n1k

(b) Per ogni vertice su n - 1 vertici e larghezza dell'albero k , ogni cricca C su k vertici in G e ogni sottoinsieme S di spigoli in C , ricava G da G - S aggiungendo un nuovo vertice v adiacente a C . Aggiungi G all'elenco L di grah su n vertici e larghezza dell'albero k .Gn1kCkGSCGGSvCGLnk

(c) Tagliare rimuovendo le copie dello stesso grafico.L

Un modo allettante per estenderlo per enumerare i grafici planari della larghezza degli alberi è semplicemente filtrare i grafici non planari ad ogni iterazione. Sfortunatamente questo non riesce a generare tutti i grafici planari della larghezza dell'albero k (ad esempio perché elenca solo grafici a 4 gradi).kk4

Naturalmente potremmo enumerare tutti i grafici su vertici e larghezza dell'albero k e solo allora filtrare quelli non planari, ma questo non riesce a sfruttare il fatto che la maggior parte dei grafici non sono planari e sembra molto non ottimale.nk


Sei sicuro di voler implementarlo e testare il risultato? Il numero di alberi non isomorfi è già esponenziale.
Saeed,

@Saeed: certo - per 20 nodi il numero di alberi è inferiore a un milione, quindi mi aspetto che questo sia fattibile almeno per . n15
daniello,

1
che ne dici di partire da -vertex grafici cordali di dimensione massima della cricca k + 1 e rimuovere i bordi per renderlo planare? nk+1
Yixin Cao,

@Yixin Cao sembra simile all'enumerazione di grafici + decomposizioni degli alberi (vale a dire lo stesso grafico è visto una volta per albero dec.). Finora è stato piuttosto lento (ma alcune ottimizzazioni potrebbero rendere possibile questo approccio)
daniello

2
@daniello, vedo il tuo punto ma hai visto questa applicazione: cs.anu.edu.au/~bdm/plantri , sostengono di poter generare 1M di grafici planari in un secondo (rispetto all'isomorfismo). (Non è esattamente quello che vuoi però, per 1-2-3 grafici planari collegati sembra essere perfetto, non ci sono molti 4-5 grafici planari collegati su 15 vertici).
Saeed,

Risposte:


2

C'è un bel software che genera piccoli grafici planari rispetto all'isomorfismo che potrebbero aiutare. Come vedo, uno dei problemi era generare grafici planari non isomorfi e la maggior parte di quei grafici planari (su meno di 15 vertici) sono di larghezza ridotta.

kGGPdvPluGPwPGd+lk

154tt>5

kG


1

G,BGkBkGB

G,BGn1GSBvSBkBvG,BG

Un limite superiore facile per quante voci è necessario memorizzare è volte il numero di grafici enumerati ma questo è un limite pessimistico. Per la maggior parte dei grafici della larghezza dell'albero k, la maggior parte dei sottoinsiemi della dimensione k non possono essere bag bag, ad esempio una griglia ha solo bag possibili. k×nn3k-1(nk)k×nn3k1

Credo che questo funzionerà così come l'algoritmo per i grafici non planari poiché per ogni coppia G, B otteniamo un grafico rendendo B una cricca, la maggior parte di questi grafici sarà non isomorfa.

Ci sono diversi trucchi che si possono applicare per accelerare questo, suggerirei di esaminare: http://www.siam.org/meetings/alenex04/abstacts/HBodlaender.pdf


Tutti i grafici elencati non hanno una larghezza del percorso limitata piuttosto che una larghezza degli alberi?
daniello,

Penso che tu abbia ragione. la scelta di B 'è troppo limitata.
Martin Vatshelle,
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.