Dado un gráfico bipartito, ¿cómo puedo encontrar su subgrafo que es un gráfico bipartito completo y tiene la mayor cantidad de vértices?

Este problema es solucionable en tiempo polinómico.

En primer lugar, tomemos el complemento bipartito del gráfico de entrada [matemática] G [/ matemática]: todavía tendremos las mismas particiones [matemática] A [/ matemática] y [matemática] B [/ matemática], pero en el nuevo gráfico [matemática] G ‘[/ matemática] dos vértices [matemática] a \ en A [/ matemática] y [matemática] b \ en B [/ matemática] están conectados si y solo si no estaban conectados en [matemática ] G [/ matemáticas].

Las subgrafías bipartitas completas de [matemática] G [/ matemática] corresponden a conjuntos independientes en [matemática] G [/ matemática]: conjuntos de vértices que no están conectados por ningún borde directo. Por lo tanto, en [math] G ‘[/ math] estamos buscando el conjunto independiente máximo.

Esto se puede encontrar de la siguiente manera:

  1. Encuentre [math] M [/ math]: la coincidencia bipartita máxima en [math] G ‘[/ math] (consulte Coincidencia en gráficos bipartitos no ponderados)
  2. Utilice esa coincidencia para construir una posible cobertura mínima de vértice de [matemáticas] G ‘[/ matemáticas] (vea la prueba del teorema de Kőnig (teoría de grafos) para un algoritmo)
  3. El complemento de esa cubierta de vértice es un conjunto independiente máximo en [matemática] G ‘[/ matemática], en otras palabras, su subgrafía bipartita completa máxima de [matemática] G [/ matemática].

More Interesting

¿HackerRank es un buen entrenamiento para el IOI?

¿El algoritmo de Kruskal resuelve siempre el problema del vendedor ambulante?

Cómo escribir un script de fuerza bruta, en Eclipse

¿Existen tipos de programas de software que involucren matemáticas, pero que puedan resolver problemas cotidianos (es decir, no un motor de juego de física completo o un nuevo algoritmo criptográfico)?

¿Cuál es la probabilidad de que 2 números sean iguales en una lista aleatoria de n números de m dígitos?

¿Por qué el orden de selección no se denomina orden de intercambio?

¿Le da un algoritmo no recursivo que realiza un trabajo de árbol de orden?

¿Qué pasaría si más personas se dieran cuenta de que la Ley podría entenderse como una serie de algoritmos sociales en un programa que se resiste a la compilación?

¿Son SHA256 y AES256 funciones hash o cifrados o algoritmos?

¿Cómo pruebo que no existen estados recurrentes nulos en un estado finito DTMC (cadena de Markov de tiempo discreto)?

¿Cuál es la forma más eficiente para que un programador sea bueno en algoritmos sin participar en competencias de programación?

Si pudiéramos reescribir las leyes del universo con el único fin de optimizar la computación, ¿cuáles serían estas leyes?

¿Cuáles son las explicaciones sobre las notaciones asintóticas con ejemplos de algoritmos?

¿Cómo encuentras la distancia entre dos lugares, sin usar los mapas de Google?

¿Qué significa "adherencia del brazo" en los algoritmos de programación de E / S?