✨Thuật toán Karger

Thuật toán Karger

Trong khoa học máy tính và lý 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

Ý 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 e trong đồ thị G = (V, E). 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 G xuống \left\lceil n / \sqrt{2} + 1 \right\rceil 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

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 v_e 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ị G = \left (V, E \right)e = \lbrace x, y \rbrace \in E, kết quả phép hợp nhất hai đỉnh kề với cạnh e (ký hiệu G/e = \left (V', E'\right)) là một đa đồ thị định nghĩa như sau:

:V' = \left(V \setminus \lbrace x, y \rbrace \right) \cup \lbrace v_e \rbrace

và:

:E' = \lbrace \lbrace v, w \rbrace \in E \mid \lbrace v,w \rbrace \cap \lbrace x,y \rbrace = \emptyset \rbrace \cup \lbrace \lbrace v_e,w \rbrace \mid \lbrace x,w \rbrace \in E \setminus \lbrace e \rbrace hoặc \lbrace y,w \rbrace \in E \setminus \lbrace e \rbrace \rbrace

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

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 G xuống \left\lceil n / \sqrt{2} + 1 \right\rceil đỉnh trong thời gian O(n^2). Do đó thời gian chạy của thuật toán là T(n) = 2 \left(n^2 + T\left(\left\lceil n / \sqrt{2} + 1 \right\rceil \right) \right) . Phương trình này cho kết quả T(n)= O(n^2 log(n)) . 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à \Omega(1/ log(n)). Nếu thực hiện thuật toán O(log^2(n)) lần thì xác suất không tìm ra lát cắt nhỏ nhất giảm xuống .

👁️ 0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
Trong khoa học máy tính và lý 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
Bài viết này là **danh sách các thuật toán** cùng một mô tả ngắn cho mỗi thuật toán. ## Thuật toán tổ hợp ### Thuật toán tổ hợp tổng quát * Thuật toán Brent: tìm
**Thuật toán Borůvka** là một thuật toán để tìm cây bao trùm nhỏ nhất trên đồ thị. Thuật toán này được xuất bản lần đầu năm 1926 bởi Otakar Borůvka dưới dạng một phương pháp
Bài này nói về từ điển các chủ đề trong toán học. ## 0-9 * -0 * 0 * 6174 ## A * AES * ARCH * ARMA * Ada Lovelace * Adrien-Marie Legendre *
thumb|[[Stonewall Inn ở làng đồng tính Greenwich Village, Manhattan, được trang trí bằng cờ cầu vồng trong một sự kiện tự hào. Nhà trọ là nơi diễn ra cuộc bạo loạn Stonewall cùng tên vào
**_American Sniper_** (tựa tiếng Việt: **_Lính bắn tỉa Mỹ_**) là một bộ phim điện ảnh chính kịch tiểu sử đề tài chiến tranh năm 2014 của Mỹ, do Clint Eastwood làm đạo diễn và Jason