¿Cuáles son los mejores algoritmos de partición de gráficos para gráficos grandes?

P: ¿Cuáles son los mejores algoritmos de partición de gráficos para gráficos grandes?

Una técnica que me gusta es correr una caminata aleatoria desde cada vértice.

Como punto de partida, divida los vértices en n particiones con un vértice en cada partición. Después de un paso de la caminata, unifique las particiones que incluyen cualquiera de los vértices en la caminata de un paso.

Continuando en la caminata (bueno, camina en plural ya que tenemos n viajeros comenzando desde cada vértice). Para los próximos vértices de la caminata, repita la unificación.

Si el gráfico está desconectado, siempre habrá más de una partición.

Para encontrar las partes más conectadas de un gráfico, pondere el algoritmo para que los vértices más visitados resistan la unificación con otra partición que también tenga muchas visitas entre sus vértices.

Para gráficos grandes, puede elegir limitar la longitud de las caminatas. También puede detener una caminata cuando llegue a su punto de partida nuevamente. Otra variación es ejecutar el algoritmo más de una vez para verificar que los resultados sean consistentes.

Hay muchas variaciones, dependiendo de lo que intente descubrir.