Come costruire praticamente grafici di expander regolari?


14

Ho bisogno di costruire un grafico di espansione d-regolare per alcuni piccoli d fissi (come 3 o 4) di n vertici.

Qual è il metodo più semplice per farlo in pratica? Costruire un grafico d-regolare casuale, che ha dimostrato di essere un espansore?

Ho anche letto delle costruzioni Margulis e dei grafici Ramanujan che sono espansori e una costruzione che utilizza un prodotto a zig-zag. Wikipedia offre una panoramica piacevole ma molto breve: http://en.wikipedia.org/wiki/Expander_graph#cite_note-10 Ma quale metodo scelgo in pratica?

Per me, questi metodi sembrano tutti molto complicati da implementare e in particolare da capire e forse abbastanza specifici. Non ci sono metodi più semplici, forse basati su permutazioni o giù di lì, per generare praticamente una sequenza di grafici a espansione d-regolare?

È forse più semplice costruire grafici di espansori bipartiti d-regolari?

Ho anche un'altra domanda: che dire delle famiglie di cattivi espansori d-regular? Questa nozione ha senso? Si può costruire una famiglia di grafici d-regolari (che sono ovviamente collegati) che è il più brutto possibile nel senso di un espansore?

Grazie in anticipo.


2
Ci sono costruzioni esplicite più facili di quelle che hai elencato, ma i grafici casuali dovrebbero fare il trucco e avere parametri migliori.
Yuval Filmus,

Puoi forse dare nomi o riferimenti alle costruzioni? Con parametri migliori, intendi un'espansione (edge) migliore, immagino?
user2145167

1
András ha dato l'esempio che avevo in mente, ma in generale i grafici casuali sono (quasi sempre) migliori delle costruzioni esplicite. Non solo l'espansione del bordo è più grande, ma qualsiasi altra proprietà simile che è utile per il tuo algoritmo è probabilmente soddisfatta automaticamente da grafici casuali.
Yuval Filmus,

Ok, per il grado 3, l'esempio di András o i grafici casuali sembrano essere abbastanza buoni per la mia applicazione. Sarebbe interessante, in particolare per quanto riguarda i grafici casuali, costruire una famiglia di grafici a 3 reg che non sia un espansore. Ma questo è probabilmente molto difficile o impossibile?
user2145167

3
Prendi un'unione di s. Se vuoi un grafico collegato, rimuovi un bordo da ogni K 4 (formando un grafico noto come il grafico a diamante) e collegali in un ciclo. K4K4
Yuval Filmus,

Risposte:


9

Se non ti dispiace i grafici con auto-loop, la famiglia di espansori "più semplice" è probabilmente questa, che offre espansori 3-regolari.

Inizia con qualche numero primo e costruisci vertici numerati da 0 a p - 1 . Per ogni vertice u 0 , collegare u per u - 1 e u + 1 , modulo p . Collegarsi anche u all'unico vertice v tale che u V 1p0p1u0uu-1u+1puv .uv1modp

Ad esempio, il grafico a 7 vertici della famiglia è un ciclo a 7 con vertici numerati in sequenza lungo il ciclo; ci sono self-loop su , 0 e 1 ; infine, ci sono accordi che uniscono 3 e 5 e 2 e 4 .6013524

Vedi /mathpro/124708/an-expander-graph per ulteriori discussioni e riferimenti. Ci sono molti suggerimenti più dettagliati cercando "expander" su CSTheory , Math.SE e MO .

Come sottolinea Yuval Filmus, è probabile che la costruzione casuale dia risultati migliori in generale, ma ovviamente potrebbe non produrre un espansore (specialmente per i piccoli grafici).


Grazie per l'osservazione. Avevo cercato espansori prima su altri siti ma non su MO, sembra che ci siano davvero più risultati.
user2145167

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.