Biểu đồ hỗn hợp là một biểu đồ có thể có cả hai cạnh có hướng và không có hướng. Đồ thị vô hướng nằm bên dưới của nó có được bằng cách quên các hướng của các cạnh được định hướng và theo hướng khác, một hướng của đồ thị hỗn hợp có được bằng cách gán một hướng cho mỗi cạnh không được định hướng. Một tập hợp các cạnh tạo thành một chu kỳ trong một biểu đồ hỗn hợp nếu nó có thể được định hướng để tạo thành một chu trình có hướng. Một đồ thị hỗn hợp là chu kỳ khi và chỉ khi nó không có chu kỳ.
Đây là tất cả các tiêu chuẩn và có nhiều bài báo được công bố đề cập đến đồ thị hỗn hợp theo chu kỳ. Vì vậy, phải biết thuật toán sau đây để kiểm tra tính linh hoạt của đồ thị hỗn hợp:
Lặp lại các bước sau:
- Loại bỏ bất kỳ đỉnh nào không có cạnh hướng đến và không có cạnh vô hướng nào, vì nó không thể là một phần của bất kỳ chu kỳ nào.
- Nếu bất kỳ đỉnh nào không có cạnh được định hướng đến nhưng nó có chính xác một sự cố không có cạnh, thì bất kỳ chu kỳ nào sử dụng cạnh không bị chặn phải xuất hiện ở cạnh đó. Thay thế cạnh vô hướng bằng cạnh hướng đến.
Dừng lại khi không thể thực hiện thêm các bước. Nếu kết quả là một biểu đồ trống, thì biểu đồ ban đầu nhất thiết phải có tính chu kỳ. Mặt khác, bắt đầu từ bất kỳ đỉnh nào còn lại, người ta có thể quay lại qua biểu đồ, ở mỗi bước tiếp theo lùi qua một cạnh đến hoặc theo một cạnh không được xác định không phải là đỉnh được sử dụng để đạt đến đỉnh hiện tại, cho đến khi nhìn thấy một đỉnh lặp lại. Chuỗi các cạnh theo sau giữa lần lặp thứ nhất và lần thứ hai của đỉnh này (theo thứ tự ngược lại) tạo thành một chu kỳ trong biểu đồ hỗn hợp.
Bài viết Wikipedia về các biểu đồ hỗn hợp đề cập đến các biểu đồ hỗn hợp theo chu kỳ nhưng không đề cập đến cách kiểm tra chúng, vì vậy tôi muốn thêm vào đó một vài điều về thuật toán này, nhưng tôi cần một tài liệu tham khảo được xuất bản. Ai đó có thể cho tôi biết nó (hoặc bất kỳ thuật toán nào khác để kiểm tra tính linh hoạt) xuất hiện trong tài liệu không?