No creo que exista un algoritmo para encontrar el máximo conjunto de vértices independiente en un gráfico bipartito distinto del método de fuerza bruta para encontrar el máximo entre todos los conjuntos independientes posibles.Algoritmo de conjunto independiente máximo
Me pregunto acerca del pseudocódigo para encontrar todos los posibles conjuntos de vértices.
Diga un gráfico bipartito con 4 vértices azules y 4 rojos. Actualmente me
Start with an arbitrary blue,
find all red that don't match this blue
put all these red in Independent Set
find all blue that dont match these red
put these blue in Independent Set
Repeat for next vertex in blue
Repeat all over again for all blue then all vertices in red.
que entender que de esta manera no me da todas las posibles combinaciones de conjunto independiente en absoluto, ya que tras el primer paso que estoy eligiendo todos los siguientes vértices de color que no coinciden en vez de pasar a través de cada posibilidad.
Por ejemplo da una gráfica la búsqueda
B R
1 1
1 3
2 1
2 3
3 1
3 3
4 2
4 4
Start with blue 1
Choose red 2 and 4 since they dont match
Add 2, 4 to independent Set
Choose 2 and 3 from blue since they dont with 2 or 4 from red
Add 2 and 3 from blue to independent set as well.
Independent Set = 1,2,3 from blue 2,4 from red
Repeat for blue 2, blue 3, ... red n (storing the cardinality for each set)
¿Hay alguna manera de mejorar este algoritmo para mejorar la búsqueda de todas las posibilidades. Sé que a | Conjunto máximo para un gráfico bipartito | = | Rojo | + | Azul | - | Coincidencia máxima |
El problema surge con la posibilidad de que al elegir todo el rojo posible en el primer intento para un azul determinado, si esos rojos se conectan al resto de azul posible, mi conjunto solo tiene todos los 1 azul y rojo restante.
¿Qué tan grande es el gráfico? ¿Número de nodos y números de bordes? Es posible alimentar el complemento del gráfico en un algoritmo de camarilla máximo estándar. –