Cây bao trùm

Cây bao trùm (tiếng Anh: spanning tree), còn được gọi là cây khung, của đồ thị G là cây con của đồ thị G, chứa tất cả các đỉnh của G. Nói cách khác, cây bao trùm của một đồ thị G là một đồ thị con của G, chứa tất cả các đỉnh của G, liên thông và không có chu trình.

Một cây bao trùm (các cạnh màu xanh) của một đồ thị lưới

Cây bao trùm của đồ thị liên thông G cũng có thể định nghĩa như một đồ thị con không chu trình lớn nhất, hay một đồ thị con liên thông nhỏ nhất của G.

Mọi đồ thị liên thông đều có cây bao trùm.

Định lý (sự tồn tại của cây khung)

Mọi đồ thị liên thông đều có chứa ít nhất 1 cây khung (cây tối đại)

Số các cây bao trùm của một đồ thị liên thông

Công thức Cayley đếm số cây bao trùm của một đồ thị đầy đủ. Có tất cả cây bao trùm của , cây bao trùm của , và cây bao trùm của .

Gọi t(G) là số các cây bao trùm của đồ thị liên thông G. Trong một số trường hợp, số t(G) có thể tính trực tiếp.Chẳng hạn nếu G là một cây, khi đó t(G)=1, còn khi G là một đồ thị vòng với n đỉnh thì t(G)=n.Với đồ thị G bất kỳ, số t(G) có tính nhờ Định lý Kirchhoff.

Công thức Cayley là công thức cho số các cây bao trùm của đồ thị đầy đủ với n đỉnh: .

Nếu Gđồ thị hai phía đầy đủ , thì , còn nếuG là đồ thị khối ''n''-chiều , thì .Các công thức này rút ra từ lý thuyết các ma trận.

Nếu G là một đa đồ thịe là một cạnh của G, thì số t(G) các cây bao trùm của G thỏa mãn quan hệ t(G)=t(G-e)+t(G/e) (deletion-contraction recurrence), trong đó G-e là đa đồ thị suy ra từ G bằng cách xóa đi cạnh eG/e là đồ thị rút gọn cạnhe của G, trong đó các cạnh bội xuất hiện từ phép rút gọn này không bị xóa.

Thuật toán tìm cây bao trùm

Có thể tìm cây bao trùm bằng thuật toán tìm kiếm theo chiều rộng, hoặc thuật toán tìm kiếm theo chiều sâu.

Cây bao trùm nhỏ nhất

Nếu trên tập các cạnh của G có một hàm, được gọi là hàm trọng số, nhận giá trị thực (u,v), thì cây bao trùm có tổng trọng số trên các cạnh nhỏ nhất được gọi là cây bao trùm nhỏ nhất. Có nhiều thuật toán tìm cây bao trùm nhỏ nhất, chẳng hạn như thuật toán Prim, thuật toán Kruskal, thuật toán Borůvka.

Xem thêm

Tham khảo