¿Qué es un gráfico bipartito?

Una forma visual de verlo:

Es un grupo de puntos que pueden ser de dos colores y líneas que conectan los puntos donde no hay dos puntos del mismo color conectados por una línea.

La figura a continuación lo deja claro,

Los “puntos” se conocen técnicamente como “vértices” y las líneas se llaman “bordes”

La estructura gráfica bipartita se puede utilizar para capturar una relación entre dos tipos de objetos donde la distinción entre los tipos de objetos es importante.

Una relación de estudiante aplicado a la universidad puede (por ejemplo) almacenarse en el gráfico bipartito que se muestra arriba. Los puntos azules podrían ser estudiantes (por ejemplo, Mary, Jane, Joe) y los puntos rojos podrían ser universidades a las que aplicaron (por ejemplo, Princeton, Cornell, MIT)

Como hay pocas explicaciones aquí antes de escribir … Simplemente iré con una respuesta simple …

Los gráficos bipartitos son aquellos que tienen dos conjuntos de vértices que son mutuamente disjuntos. La relación o aristas en estos gráficos existe solo entre dos vértices que no son del mismo conjunto de vértices.

Ejemplo famoso:
La asignación de n trabajos a m personas se puede modelar utilizando un Gráfico bipartito.
La ventaja existe si un trabajo se puede asignar a una persona p.

Obviamente, esto requiere un modelo de gráfico bipartito, ya que aquí no puede existir una ventaja entre un trabajo para otro trabajo o una persona para otra persona.

Un gráfico (V, E)
Mientras que los vértices (V) se pueden dividir en dos conjuntos V1 y V2 st cada borde e es un par {v1, v2} st v1 pertenece a V1 y v2 pertenece a V2;
Y V1, V2 son conjuntos disjuntos

Tenga en cuenta que dicho gráfico no contiene ciclos de longitud impar. Además, un gráfico sin ciclos de longitud impar es bipartito

Por ejemplo, el árbol siempre es bipartito (no contiene ciclos y especialmente ciclos de longitud no impar),
Para dividir los vértices de algunos árboles en dos conjuntos, puede ejecutar el algoritmo BFS y marcar todos los vértices que encontró en cualquier paso extraño como V1 y todos los demás vértices como V2

Las descripciones anteriores describen las propiedades, pero no la utilidad o razón por la que debería preocuparse.

¿Qué es? Lo considero un criterio de búsqueda sobre los datos del gráfico, donde estoy buscando un caso especial muy útil. Estoy buscando una estructura de datos llamada Matriz de adyacencia, también conocida como: una matriz de 2 modos.

Una matriz de dos modos mapea juntas instancias de entidades de dos tipos. Eso significa, por ejemplo, que los encabezados de fila son escuelas y los encabezados de columna son estudiantes. En las bases de datos, estas son tablas de resolución que permiten relaciones de muchos a muchos. La respuesta de Prathyush Kashyap ilustra esto muy bien.

Hay muchas definiciones técnicas de gráficos bipartitos en toda la web como esta de http://www.cs.cmu.edu/afs/cs.cmu … (ppt):

Pero una manera fácil de entender y razonar sobre los gráficos bipartitos es pensar en dos grupos de personas que se emparejan en alguna actividad. Por ejemplo, chicos y chicas saliendo. Suponiendo solo parejas heterosexuales, incluso sin monogamia, obtienes un gráfico bipartito donde los vértices son personas, los bordes representan relaciones entre ellos, y los dos conjuntos son el conjunto de niños y el conjunto de niñas.

Piense Bi-partite (2 partes). Es un gráfico G = (V, E) con un conjunto V dividido en V1 y V2 y un conjunto E para bordes.
Lo que hace que un gráfico bipartito sea especial es que cada arista (i, j) que existe en E tiene (i en V1) y (j en V2).
Simplemente, todos los bordes en el gráfico bipartito deben tener un extremo en V1 y el otro extremo en V2 (por lo que se permiten bordes que conectan nodos en V1 o nodos en V2).

Deje que [math] A [/ math] y [math] B [/ math] sean conjuntos de vértices, de modo que no compartan elementos comunes (es decir, son disjuntos). Un gráfico bipartito [matemático] G = (A \ cup B, E) [/ matemático] es donde cada borde [matemático] \ {u, v \} \ en [/ matemático] [matemático] E [/ matemático] tal que [matemática] u \ en A [/ matemática] y [matemática] v \ en B [/ matemática], pero no hay borde que conecte dos vértices en [matemática] A [/ matemática] o dos vértices en [matemática] ] B [/ matemáticas]. Es decir, los bordes solo van entre [matemática] A [/ matemática] y [matemática] B [/ matemática].

Un gráfico que se puede dividir en dos conjuntos de manera que no haya ningún vínculo entre los miembros de un conjunto.

Todos los enlaces van del conjunto A a B o de B a A.

Los gráficos bipartitos son un tipo específico de gráficos que los nodos se pueden descomponer en dos conjuntos disjuntos de modo que dos nodos en un mismo conjunto no estén conectados, por lo tanto, esos gráficos generalmente se escriben B = ( L , R , E ), donde L , R (izquierda / derecha) son los conjuntos disjuntos de nodos y E los bordes. En este contexto, un gráfico bipartito completo es un gráfico bipartito en el que todos los nodos de un conjunto están conectados a todos los nodos del otro conjunto
Fuente :
http://friggeri.net/blog/a-genet

Las competiciones deportivas son un gráfico bipartito: dos equipos jugando un juego.

Los vértices son los equipos, los bordes son las relaciones de ambos equipos en juegos / partidos anteriores, y los dos conjuntos son jugadores del equipo 1 y jugadores del equipo 2.

Un gráfico bipartito es un gráfico cuyos vértices se pueden dividir en dos conjuntos independientes, U y V, de modo que cada borde (u, v) conecta un vértice de U a V o un vértice de V a U. En otras palabras, para cada edge (u, v), u u pertenece a U y v a V, u u pertenece a V y v a U. También podemos decir que no hay borde que conecte los vértices del mismo conjunto.

Para obtener información sobre otros tipos de gráficos, visite: Gráficos de barras, Gráficos circulares, Gráficos lineales.

Un gráfico que se puede dividir en dos conjuntos de vértices A y B de modo que solo haya conexiones entre un vértice en A y un vértice en B pero no entre dos vértices en A o dos vértices en B.

More Interesting

Informática teórica: ¿cómo empiezo a resolver el problema P = NP?

Si el punto (3, -4) divide la línea entre el eje x y el eje y en la relación 2: 3, ¿cuál será la ecuación lineal?

Cómo usar algoritmos y estructura de datos en la vida real

¿Debo demostrar la mayoría de los teoremas en los libros de texto de matemáticas al aprender? (Lea los detalles).

Teoría de la complejidad computacional: ¿cómo es posible que P! = NP no se haya probado todavía?

¿Necesitaríamos resolver P vs. NP como prerrequisito en el diseño de inteligencia general artificial?

Cómo salir de la culpa de buscar la solución del problema

En términos simples, ¿qué es SOCP (programación de cono de segundo orden / programación semi-definida) y en qué se diferencia la optimización convexa de otros tipos de optimizaciones?

¿Cómo funciona el software de ajuste de curvas? ¿Cuál es el proceso automático que ajusta una línea compleja en un gráfico a una serie de puntos de datos?

¿Cuáles son algunas formas interesantes de usar tecnologías no convencionales en la programación?

¿Cómo podría razonar matemáticamente sobre la corrección y solidez de un programa en programación funcional?

¿En qué ciencia necesitas pensar más analítica y lógicamente?

Alguien me dijo que me especializara en un dominio CS para evitar quedar desempleado cuando envejeciera, ¿es cierto?

¿Cuáles son los fundamentos matemáticos de la inteligencia artificial?

Me siento cómodo resolviendo problemas matemáticos. Sin embargo, cuando tengo que programar y derivar la respuesta para esos problemas, tengo dificultades para traducir mis pasos matemáticos en código. ¿Qué me recomiendan hacer para superar este problema?