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.nkn≤knkk≤5n≤15

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):n≤k

(a) Enumera tutti i grafici non isomorfi su vertici e larghezza dell'albero ≤ k .n−1≤k

(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 .Gn−1≤kC≤kGSCG′G−SvCG′Ln≤k

(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).≤k≤k4

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.n≤k


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 . n≤15
— 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.

kGGPdv∈Plu∈G∖Pw∈PGd+lk

154tt>5

kG


1

G,BGkBkGB

G,BGn−1G′SBvSB′kB∪vG′,B′G′

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×nn⋅3k-1(nk)k×nn⋅3k−1

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.