Cada gráfico bipartito puede ser coloreado por dos colores, de modo que ningún vértice adyacente tenga el mismo color.
Elija cualquier vértice y asígnele el color rojo. Luego proceda coloreando a todos sus vecinos de azul. Para cada vértice coloreado, colorea a todos sus vecinos con el color opuesto. Si hay colisiones, lo que significa que queremos colorear un vértice con un color diferente al que tiene, abortamos y concluimos que el gráfico no puede ser bicolor y, por lo tanto, no es bipartito (debe contener un ciclo extraño).
Actualización [1]
Aquí hay algunas formas de particionar:
- agrupamiento espectral [2]
los vértices corresponden a objetos de datos, los bordes corresponden a las relaciones entre objetos y los pesos de los bordes corresponden a la fuerza de las relaciones. el conjunto de vértices V se divide en dos subconjuntos V1 y V2. Luego, la agrupación se logra minimizando el corte
- ¿Existe un algoritmo óptimo para jugar Bejeweled?
- ¿Por qué las computadoras pueden completar algunas tareas excepcionalmente bien y otras terriblemente?
- ¿Cuál es el algoritmo matemático para el reflejo del equilibrio humano?
- ¿Por qué la gente habla de algoritmos como si pudieran resolver todos los problemas?
- ¿Cuáles son algunos buenos algoritmos matemáticos que miden el litoral de una masa continental en particular?
- Copartición coherente : realizar el método anterior por separado en {X, Y} y {Y, Z} [2]
- Escribí esta respuesta rápidamente y pasé por alto la segunda parte de la pregunta:
- inconveniente: problema de particionamiento:
La respuesta de Sameer Gupta a ¿Cuáles son algunos buenos problemas con los juguetes (un solo codificador puede hacer durante un fin de semana) en ciencia de datos? Estoy estudiando el aprendizaje automático y las estadísticas, y estoy buscando algo socialmente relevante utilizando conjuntos de datos / API disponibles públicamente.
en.wikipedia.org/wiki/Bipartite_graph