Trong khoa học máy tínhlý thuyết đồ thị, thuật toán Karger là một thuật toán Monte Carlo để tìm lát cắt nhỏ nhất của một đồ thị vô hướng. Bài toán lát cắt nhỏ nhất yêu cầu tìm cách chia đồ thị làm hai phần sao cho số cạnh nối các đỉnh ở hai phần khác nhau là nhỏ nhất. Thuật toán được tìm ra bởi David Karger.

Thuật toán

sửa

Ý tưởng chính của thuật toán là sử dụng phép hợp nhất hai đầu của một cạnh   trong đồ thị  . Sau mỗi lần hợp nhất, số đỉnh của đồ thị giảm đi 1. Thuật toán sử dụng một chuỗi các phép hợp nhất các cạnh ngẫu nhiên của đồ thị. Xác suất chọn mỗi cạnh tỉ lệ với trọng số của nó. Thuật toán này là một thuật toán đệ quy. Trong mỗi tầng đệ quy, thuật toán hoạt động như sau. Thử hai lần độc lập nhau việc lặp đi lặp lại phép hợp nhất để giảm số đỉnh của   xuống   và gọi đệ quy để tính lát cắt nhỏ nhất trong đồ thị thu được. Sau đó, chọn kết quả tốt hơn trong hai lần gọi đệ quy và trả về giá trị đó.

Phép hợp nhất

sửa

Trong mỗi lần thực hiện, phép toán này hợp nhất hai đỉnh xy của một cung e thành một đỉnh mới   kề với tất cả các đỉnh kề của xy. Định nghĩa cụ thể là như sau.

Cho một đồ thị   , kết quả phép hợp nhất hai đỉnh kề với cạnh   (ký hiệu  ) là một đa đồ thị định nghĩa như sau:

 

và:

  hoặc  

Có thể chứng minh phép toán này không làm giảm nhưng có thể làm tăng giá trị lát cắt nhỏ nhất.

Thời gian thực hiện

sửa

Thuật toán Karger là thuật toán ngẫu nhiên nhanh nhất hiện nay cho việc tìm lát cắt nhỏ nhất, với thời gian chạy O(|V|2 log3|V|). Để chứng minh điều này, tác giả chỉ ra cách thực hiện chuỗi các phép hợp nhất để giảm kích thước   xuống   đỉnh trong thời gian  . Do đó thời gian chạy của thuật toán là  . Phương trình này cho kết quả  . Sau mỗi lần thực hiện thuật toán, xác suất tìm ra lát cắt nhỏ nhất là  . Nếu thực hiện thuật toán   lần thì xác suất không tìm ra lát cắt nhỏ nhất giảm xuống O(1/n2).

Tham khảo

sửa
  1. David R. Karger (1993). “Global Min-cuts in RNC and Other Ramifications of a Simple Mincut Algorithm”. Proceedings of the 4th Annual ACM-SIAM Symposium on Discrete Algorithms.
  2. Karger, David R.; Stein, Clifford (1996), “A New Approach to the Minimum Cut Problem”, Journal of the ACM, 43 (4): 601–640