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 ≡ 1p0p−1u≠0uu-1u+1puv .uv≡1modp

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.