Como praticamente construir gráficos de expansão regulares?

14

Eu preciso construir um gráfico de expansão d-regular para alguns pequenos d fixos (como 3 ou 4) de n vértices.

Qual é o método mais fácil de fazer isso na prática? Construindo um gráfico d-regular aleatório, que provou ser um expansor?

Também li sobre construções Margulis e gráficos Ramanujan que são expansores e uma construção usando um produto em zig-zag. A Wikipedia fornece uma visão geral agradável, mas muito curta: http://en.wikipedia.org/wiki/Expander_graph#cite_note-10 Mas qual método eu escolho na prática?

Para mim, esses métodos parecem todos muito complicados de implementar e, em particular, de entender e talvez bastante específicos. Não existem métodos mais fáceis, talvez baseados em permutações, para gerar praticamente uma sequência de gráficos expansores regulares d?

Talvez seja mais fácil construir gráficos expansores bipartidos d-regulares?

Também tenho outra pergunta: e as famílias de expansores D-regulares ruins? Essa noção faz sentido? Pode-se construir uma família de gráficos d-regulares (que obviamente estão conectados) o mais ruim possível no sentido de um expansor?

Desde já, obrigado.

user2145167
fonte
2
Existem construções explícitas mais fáceis do que as listadas, mas gráficos aleatórios devem fazer o truque e ter melhores parâmetros.
Yuval Filmus
Você pode dar nomes ou referências às construções? Por parâmetros melhores, você quer dizer uma expansão melhor (de ponta), eu acho?
user2145167
1
András deu o exemplo que eu tinha em mente, mas, em geral, gráficos aleatórios são (quase sempre) melhores do que construções explícitas. A expansão da borda não é apenas maior, qualquer outra propriedade semelhante que seja útil para o seu algoritmo é provavelmente automaticamente satisfeita por gráficos aleatórios.
Yuval Filmus
Ok, para o grau 3, o exemplo da András ou os gráficos aleatórios parecem bons o suficiente para a minha aplicação. Seria interessante, em particular no que diz respeito aos gráficos aleatórios, construir uma família de gráficos de 3 reg que não seja um expansor. Mas isso é provavelmente muito difícil ou não é possível?
usar o seguinte comando
3
Faça uma união de s. Se você deseja um gráfico conectado, remova uma aresta de cada K 4 (formando um gráfico conhecido como gráfico de diamante) e conecte-os em um ciclo. K4K4
Yuval Filmus

Respostas:

9

Se você não se importa com gráficos com auto-loops, provavelmente a família de expansores "mais fácil" é essa, fornecendo expansores três vezes regulares.

Comece com algum número primo e construa vértices numerados de 0 a p - 1 . Para cada vértice u 0 , conecte u a u - 1 e u + 1 , módulo p . Conecte também u ao vértice exclusivo v, de modo que u v 1p0 0p-1você0 0vocêvocê-1você+1pvocêv .vocêv1modp

Como exemplo, o gráfico de 7 vértices na família é um ciclo de 7 com vértices numerados sequencialmente ao redor do ciclo; existem auto-loops em , 0 e 1 ; finalmente, há acordes unindo 3 e 5 e 2 e 4 .60 013524

Consulte /mathpro/124708/an-expander-graph para mais discussões e referências. Existem muitos indicadores mais detalhados pesquisando no "expansor" em CSTheory , Math.SE e MO .

Como Yuval Filmus aponta, é provável que a construção aleatória dê melhores resultados em geral, mas é claro que pode não produzir um expansor (especialmente para gráficos pequenos).

András Salamon
fonte
Obrigado pela observação. Eu já havia pesquisado expansores antes em outros sites, mas não no MO, realmente parece haver mais resultados.
usar o seguinte comando