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.
Respostas:
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 ≡ 1p 0 0 p - 1 u ≠ 0 você u - 1 u + 1 p você v .u v ≡ 1modp
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 .6 0 0 1 3 5 2 4
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).
fonte
Dado que um gráfico regular aleatório é um expansor whp (siga a referência fornecida na documentação do código MATLAB vinculada abaixo), uma vez eu usei o seguinte:
http://www.mathworks.com/matlabcentral/fileexchange/29786-random-regular-generator/content/randRegGraph/createRandRegGraph.m
fonte