¿Puede un gráfico en el que los pesos de los bordes no son necesariamente distintos tener más de un MST? Si es así, da un ejemplo. Si no, justifíquelo.

Por supuesto.

Si realiza un resumen mental de un algoritmo de generación de MST como el de Kruskal, después de ordenar todos los bordes, intercambiar los bordes con pesos iguales en la lista ordenada los consideraría en diferentes órdenes. Esto puede conducir a nuevas órdenes de generaciones de conjuntos disjuntos (pasos intermedios del algoritmo de Kruskal) y, por lo tanto, en última instancia, múltiples árboles de expansión mínima únicos.

Sin embargo, déjame darte un ejemplo mucho más fácil de por qué son posibles múltiples árboles de expansión mínima. Considere el siguiente gráfico

Todos los 5 vértices dados forman un ciclo en el gráfico. Para generar el árbol de expansión mínimo, debemos eliminar un borde de este ciclo. Ahora, para decidir qué borde eliminar, hay un teorema que establece que en cualquier ciclo, el borde con el peso máximo no puede ser un pert del árbol de expansión mínimo (Definitivamente intente probar esto por su cuenta). Sin embargo, aquí todos los bordes tienen el mismo peso, por lo que podemos eliminar cualquier borde y seguir obteniendo un MST.

Para los no iniciados, MST significa árbol de expansión mínimo. Dejemos la palabra mínimo por un momento. Un árbol de expansión es un subgrafo de un gráfico en el que todos los vértices están conectados y no tiene ningún bucle. Un gráfico puede tener múltiples árboles de expansión. Sin embargo, un MST es uno de esos árboles de expansión cuya suma de pesos de borde es la menor de todas. Ahora, veamos algunos escenarios:

  • Si la gráfica está mínimamente conectada , es decir, es un árbol. Entonces el gráfico en sí es el único MST posible.
  • Si el gráfico está completo, entonces tiene un total de [matemáticas] n ^ {n-2} [/ matemáticas] que abarcan árboles. Aquí tenemos tres casos a considerar:
  • Si todos los pesos de los bordes son distintos , una vez que clasifique todos los pesos de los bordes, solo puede tener un conjunto de bordes de árbol de expansión que le brinden el peso mínimo, por lo tanto, solo un MST.
  • Si todos los pesos de borde son iguales , entonces cualquier árbol de expansión tiene el peso mínimo, es decir, todos los árboles de expansión son MST.
  • Si los pesos de borde son una mezcla de algunos distintos y otros iguales , entonces puede tener una cantidad de MST que se encuentran dentro de los valores máximos y mínimos encontrados en los dos casos anteriores.
  • Si el gráfico está más que mínimamente conectado pero tampoco está completo, entonces el número de árboles de expansión en dicho gráfico se puede obtener de la siguiente manera:
    • Encuentra la matriz laplaciana, L, para el gráfico dado.
    • Calcule los valores propios distintos de cero de L y encuentre su producto.
    • Luego divide el producto por n, el número de vértices. Eso te da el número de árboles de expansión en el gráfico. Ahora, todos o algunos de estos árboles de expansión pueden ser MST. El número de MST puede razonarse en función de la discusión anterior para gráficos completos.

    Entonces, la conclusión es que si el gráfico está más que mínimamente conectado y los pesos de los bordes no son necesariamente distintos, entonces puede tener múltiples MST.

    Espero que responda tu pregunta 🙂

    More Interesting

    ¿Cuáles son las mejores aplicaciones de algoritmos en la vida real?

    ¿Cuáles son los mejores algoritmos actuales de visión por computadora que pueden aprender a reconocer un objeto (digamos una flor) a partir de una sola imagen?

    ¿Cómo inserta este código un nuevo nodo en un árbol binario?

    ¿Existe algún algoritmo de procesamiento de imágenes para mejorar tanto la calidad como la resolución de una imagen usando otras imágenes de la misma área?

    ¿Puede alguien ayudarme a preparar un plan para preparar estructuras de datos y algoritmos en un mes de tiempo desde el punto de vista de las entrevistas?

    ¿Alguien puede aprender las ideas asociadas con los algoritmos sin aprender a codificar primero?

    ¿Qué algoritmos de Machine Learning pueden usarse para el aprendizaje supervisado incremental?

    ¿Hay alguna aplicación práctica de algoritmos que calculen los equilibrios de Nash?

    ¿Cuál es la recurrencia de este problema DP?

    ¿Cuál es un buen algoritmo para priorizar mensajes DENTRO de su bandeja de entrada?

    ¿Los programadores diseñan algoritmos o simplemente los toman de Internet?

    ¿Cuál es el mejor algoritmo de compresión de imágenes y cuál es el algoritmo de compresión de Facebook?

    ¿Cuál es el algoritmo de árboles extra en el aprendizaje automático?

    ¿Cuál es la diferencia entre el orden de fusión de arriba hacia abajo y el de fusión de abajo hacia arriba?

    ¿Cómo pasan su tiempo exactamente los participantes en varios sitios de codificación de algoritmos?