Đồ thị hai phía

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm
Ví dụ về đồ thị hai phía không có chu trình

Trong Lý thuyết đồ thị, đồ thị hai phía (đồ thị lưỡng phân hay đồ thị hai phần) (tiếng Anh: bipartite graph) là một đồ thị đặc biệt, trong đó tập các đỉnh có thể được chia thành hai tập không giao nhau thỏa mãn điều kiện không có cạnh nối hai đỉnh bất kỳ thuộc cùng một tập.

Những tính chất của đồ thị hai phía được đề cập đến đầu tiên bởi Dénes Kőnig(1916) [1][2][3]. Dénes Kőnig cũng là người viết cuốn sách đầu tiên Theorie der endlichen und unendlichen Graphen 1936 [4] về Lý thuyết đồ thị.

Đồ thị hai phía xuất hiện trong các bài toán dùng đồ thị biểu diễn quan hệ hai ngôi giữa hai tập A và tập B không giao nhau. Một ví dụ cho quan hệ này là quan hệ hôn nhân giữa hai tập hợp người nam và nữ.

Định nghĩa[sửa | sửa mã nguồn]

Một đồ thị đơn vô hướng G:=(V,E) được gọi là hai phía mà tập đỉnh của nó có thể chia thành hai tập con XY rời nhau sao cho bất kì cạnh nào của đồ thị cũng nối một đỉnh của X với một đỉnh thuộc Y. Khi đó người ta còn kí hiệu là: G:=(X \bigcup Y, E)và gọi một tập (chẳng hạn X) là tập các đỉnh trái và tập còn lại (chẳng hạn Y) là tập các đỉnh phải của đồ thị hai phía G..[5]

Nếu |V_1|=|V_2| thì G được gọi là đồ thị hai phía cân bằng.

Ví dụ[sửa | sửa mã nguồn]

Ví dụ về các đồ thị hai phía
Ví dụ đồ thị không phải đồ thị hai phía

K_3 không phải là đồ thị lưỡng phân vì nếu ta chia các đỉnh của nó thành 2 phần rời nhau thì một trong 2 phần này phải chứa 2 đỉnh. Nếu đồ thị là lưỡng phân thì các đỉnh này không thể nối với nhau bằng một cạnh. Nhưng trong K3 mỗi đỉnh được nối với đỉnh khác bằng một cạnh.

Một vài ví dụ trừu tượng:

  • Mỗi cây là đồ thị hai phía.[6]

Thuật toán kiểm tra một đồ thị liên thông là đồ thị hai phía[5][sửa | sửa mã nguồn]

Để kiểm tra một đồ thị liên thông có phải là đồ thị hai phía hay không, ta có thể áp dụng thuật toán sau:

Với một đỉnh v bất kì:

X:= {v}; Y:= \varnothing ;
repeat
 Y:= Y   \cup  Kề(X);
 X:= X  \cup  Kề(Y);
until (X  \cap  Y  \ne \; \varnothing ) or (X và Y là tối đại - không bổ sung được nữa);
if X  \cap  Y  \ne \; \varnothing  then
 (Không phải đồ thị hai phía)
else
 (Đây là đồ thị hai phía
  X là tập các đỉnh trái: các đỉnh đến được từ v qua một số chẵn cạnh
  Y là tập các đỉnh cạnh phải: các đỉnh đến được từ v qua một số lẻ cạnh);

Định lí[sửa | sửa mã nguồn]

Một đồ thị G là hai phần khi và chỉ khi G không có chu trình lẻ[2].

  • Chứng minh

Chứng minh theo chiều thuận

G là hai phần và có 1 chu trình đi qua u ∈ U khi đó số lần đi vào u bằng số lần đi ra khỏi u và tổng số cạnh của chu trình là số cạnh kề với tập đỉnh thuộc một trong hai tập U hoặc V thuộc chu trình đó,nên ta có 1 chu trình độ dài chẵn.

Ta có hình vẽ minh hoạ như sau:

Hình minh hoạ

Chứng minh theo chiều nghịch

Không mất tính tổng quát ta giả sử G liên thông,chọn một đỉnh u bất kì,với mỗi đỉnh v ∈ V(G) do tính liên thông của G sẽ tồn tại một đường đi từ u đến v nếu độ dài đường đi này là chẵn thì cho v vào tập U,ngược lại thì cho v vào V.

Ta sẽ chứng minh:

1. Cách xây dựng này là không mâu thuẫn.

2. Không có cạnh nào trong U.

3. Không có cạnh nào trong V.

Từ ba điều trên thì đồ thị đã cho là đồ thị hai phần.

Ta đi chứng minh 3 ý trên.

1. Giả sử phản chứng tồn tại hai đường đi chẵn,lẻ từ u đến v thì sẽ tồn tại một chu trình lẻ suy ra mâu thuẫn với giả thiết.

2. Giả sử tồn tại cạnh (x,y) ∈ U khi đó tồn tại đường đi độ dài chẵn từ u đến x và từ v đến y nên sẽ có 1 chu trình lẻ.

Chu trình lẻ

3. Tương tự như trường hợp 2.

\Rightarrow \; Định lí được chứng minh

Tính chất[sửa | sửa mã nguồn]

Ứng dụng[sửa | sửa mã nguồn]

  • Đồ thị hai phía thường được dùng để mô hình các bài toán ghép cặp (matching problem), quan hệ hôn nhân giữa tập những người đàn ông và tập những người đàn bà, sinh viên chọn trường, thầy giáo chon tiết dạy trong thời khóa biểu v.v...[5]
  • Một ví dụ bài toán phân công công việc. Giả sử ta có một nhóm người P và một tập công việc J, trong đó không phải ai cũng hợp với mọi công việc. Ta có thể mô hình bài toán bằng một đồ thị với tập đỉnh là P + J. Nếu người p_i có thể làm công việc j_i, đồ thị sẽ có một cạnh nối giữa p_ij_i. Định lý hôn nhân cung cấp một đặc điểm của đồ thị hai phía: tồn tại cặp ghép hoàn hảo (perfect matching).
  • Đồ thị Levi là một dạng của đồ thị hai phía sử dụng để mô hình tỷ lệ mắc giữa điểm và đường trong một cấu hình.[11]

Xem thêm[sửa | sửa mã nguồn]

Liên kết ngoài[sửa | sửa mã nguồn]

Tham khảo[sửa | sửa mã nguồn]

  1. ^ Asratian, Armen S., Tristan MJ Denley, and Roland Häggkvist. Bipartite graphs and their applications. Vol. 131. Cambridge University Press, 1998.
  2. ^ a ă D. König, Über Graphen und ihre Anwendung auf Determinantentheorie und Mengenlehre, Math. Ann. 77 (1916), no. 4, 453–465.
  3. ^ Asratian, Denley & Häggkvist (1998), Theorem 2.1.3, p. 8. Asratian et al. attribute this characterization to a 1916 paper by Dénes Kőnig.
  4. ^ Kőnig, Dénes (1936), Theorie der endlichen und unendlichen Graphen, Leipzig: Akademische Verlagsgesellschaft. Translated from German by Richard McCoart, Theory of finite and infinite graphs, Birkhäuser, 1990, ISBN 0-8176-3389-8
  5. ^ a ă â Giải thuật và lập trình (Lê Minh Hoàng), Đại Học Sư Phạm Hà Nội, 1999-2002
  6. ^ a ă Scheinerman, Edward A. (2012), Mathematics: A Discrete Introduction (ấn bản 3), Cengage Learning, tr. 363, ISBN 9780840049421 .
  7. ^ Ovchinnikov, Sergei (2011), Graphs and Cubes, Universitext, Springer . See especially Chapter 5, "Partial Cubes", pp. 127–181.
  8. ^ Asratian, Denley & Häggkvist (1998), p. 7.
  9. ^ Biggs, Norman (1994), Algebraic Graph Theory, Cambridge Mathematical Library (ấn bản 2), Cambridge University Press, tr. 53, ISBN 9780521458979 .
  10. ^ Moon, Todd K. (2005), Error Correction Coding: Mathematical Methods and Algorithms, John Wiley & Sons, tr. 638, ISBN 9780471648000 .
  11. ^ Grünbaum, Branko (2009), Configurations of Points and Lines, Graduate Studies in Mathematics 103, American Mathematical Society, tr. 28, ISBN 9780821843086 .