Vấn đề cắt giảm tối đa là vấn đề dựa trên các khái niệm phân vùng để đơn giản hóa đồ thị, nhƣng nó là một trong những vấn đề khó khăn nhất để giải quyết bài toán tối ƣu hóa tổ hợp. Mục tiêu của việc cắt giảm tối đa là phân vùng các tập đỉnh của đồ thị thành hai tập con, sao cho tổng các trọng số của các cạnh có một điểm cuối trong mỗi tập là tối đa. Vấn đề này đã đƣợc chứng minh là NP - đầy đủ.
Cho một đồ thị G = (V, E ) là một đồ thị vô hƣớng bất kỳ, trong đó bao gồm V= {1,2,..., n} là tập đỉnh của đồ thị và E là bộ cạnh của G. Và một ánh xạ 𝑤: 𝐸 ⟼ 𝑅 là một chức năng trọng lƣợng xác định trên tập các cạnh. (G,w) đƣợc gọi là một đồ thị cạnh trọng. Vì vậy có thể dễ dàng khái quát một đồ thị G = (V, E ) không có trọng số là đồ thị cạch trọng (G, w), bằng cách xác định chức năng trọng lƣợng nhƣ sau:
𝑤𝑖𝑗 = 1, 𝑛ế𝑢 (𝑖, 𝑗) ∈ 𝐸
0, 𝑛ế𝑢 (𝑖, 𝑗) ∉ 𝐸 (3.1)
Cho G=(V, E) là một đồ thị vô hƣớng và đồ thị cạnh trọng (G, w), w là trọng lƣợng kết nối. Cắt đƣợc định nghĩa là một phân vùng của đỉnh đƣợc thiết lập thành hai tập con S và 𝑆 : = 𝑉\𝑆. Trọng lƣợng giảm (S, 𝑆 ) đƣợc cho bởi hàm 𝑊: 𝑆 × 𝑆 ⟼ 𝑅 và đƣợc định nghĩa là:
𝑊(𝑆, 𝑆 ) = 𝑤𝑖𝑗
𝑖∈𝑆,𝐽∈𝑆
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Đối với một đồ thị cạnh trọng (G,w), cắt giảm tối đa là một cắt giảm tối đa trọng lƣợng và đƣợc định nghĩa là:
𝑀𝐶(𝐺, 𝑤) : = 𝑚𝑎𝑥 𝑊(𝑆, 𝑉\𝑆) 𝑣ớ𝑖 ∀ 𝑆 ⊆ 𝑉 (3.3)
Ta có thể xây dựng công thức cho vấn đề cắt giảm tối đa nhƣ sau:
𝑚𝑎𝑥 1
2 𝑤𝑖𝑗 1 − 𝑦𝑖𝑦𝑗
1≤𝑖<𝑗≤𝑛
(3.4)
Với giả thiết là
𝑦𝑖 ∈ −1, 1 , 𝑣ớ𝑖 ∀ 𝑖 ∈ 𝑉 (3.5)
Và với mỗi tập con 𝑆 ⊆ 𝑉 𝑣ớ𝑖 𝑆 ∶ = 𝑖 ∈ 𝑉: 𝑦𝑖 = 1 gây ra một cắt (S, 𝑆 ) với trọng lƣợng tƣơng ứng bằng:
𝑊 𝑆, 𝑆 : = 1
2 𝑤𝑖𝑗 1 − 𝑦𝑖𝑦𝑗
1≤𝑖<𝑗 ≤𝑛
(3.6)
Định lý 1: Cho một đồ thị G=(V,E ) với 𝑉 = 𝑛. Mục tiêu tối ƣu chức năng giá trị của vấn đề cắt giảm tối đa đƣợc cho bởi:
𝑚𝑎𝑥 𝑥𝑇𝑊(𝑒 − 𝑥), 𝑣ớ𝑖 𝑥 ∈ 0,1 𝑖,𝑗 =1𝑛 (3.7) Trong đó 𝑊 = 𝑤𝑖𝑗 𝑖,𝑗 =1 𝑛 là ma trận trọng lƣợng cạnh và 𝑒 ∶= 1,1, . . . . , 1 𝑇 là vector đơn vị. Và 𝑓(𝑥) ∶= 𝑥𝑇𝑊(𝑒 − 𝑥) (3.8)
Là biểu thị hàm mục tiêu của phƣơng trình (3.7). Ta nhận thấy rằng ma trận W có một đƣờng chéo là số không, tức là 𝑤𝑖𝑖 = 0, ∀ 𝑖 ∈ (1,2, . . . , 𝑛). Điều này có nghĩa rằng f(x) là tuyến tính đối với mỗi biến, và do đó luôn tồn tại một giải pháp tối ƣu x* của công thức (3.7) mà 𝑥∗ ∈ 0, 1 . Vì vậy chúng ta có:
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
max
𝑥∈ 0,1 𝑛 𝑥𝑇𝑊 𝑒 – 𝑥 = max
𝑥∈ 0,1 𝑛 𝑥𝑇𝑊(𝑒 − 𝑥) (3.9)
Xét một vector 𝑥 bất kỳ với 𝑥 ∈ 0, 1 𝑛 . Giả sử thiết lập phân vùng tập đỉnh V thành hai tập con và đƣợc phân chia nhƣ sau:
𝑉1: = 𝑖 𝑥 𝑖 = 0 𝑣à 𝑉2: = 𝑖 𝑥 𝑖 = 1 Đánh giá hàm mục tiêu chúng ta có: 𝑓(𝑥 ) = 𝑤𝑖𝑗 (𝑖,𝑗 )∈𝑉1×𝑉2 (3.10) Do đó 𝑓(𝑥 ) = (𝑉1, 𝑉2 )
Giá trị của việc cắt giảm đƣợc xác định bởi các phân vùng
𝑉 = 𝑉1 ∪ 𝑉2
Ngoài ra, xét hai phân vùng bất kỳ V1, V2 là hai tập con đƣợc phân chia từ tâp đỉnh V, ( 𝑉1, 𝑉2 ⊆ 𝑉). Ta có:
𝑉 = 𝑉1 ∪ 𝑉2 𝑣à 𝑉1⋂𝑉2 = ∅
Chúng ta có thể xây dựng các vector 𝑥 nhƣ sau:
𝑥 𝑖 = 1, 𝑛ế𝑢 𝑖 ∈ 𝑉1
0, 𝑛ế𝑢 𝑖 ∈ 𝑉2 (3.11)
Một lần nữa ta đánh giá lại hàm mục tiêu trên 𝑥 . Ta có:
𝑓(𝑥 ) = 𝑤𝑖𝑗 𝑖,𝑗 ∈𝑉1×𝑉2 (3.12) Và cuối cùng chúng ta có: max 𝑥∈ 0,1 𝑛𝑥𝑇𝑊 (𝑒 − 𝑥) = max 𝑥∈ 0,1 𝑛 𝑥𝑇𝑊(𝑒 − 𝑥) = max 𝑉=𝑉1∪𝑉2,𝑉1∩𝑉2=∅ 𝑤𝑖𝑗 (𝑖,𝑗 )∈𝑉1×𝑉2
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Ví dụ:
V1 = { 1,2,3 }, V2 = { 4, 5}