Bài toán phủ đỉnh (vertex cover)

Một phần của tài liệu Giáo trình môn độ phức tạp tính toán (Trang 35)

Phủ đỉnh của một đồ thị là tập các đỉnh sao cho mỗi cạnh liên thuộc với ít nhất một đỉnh thuộc tập này.

Bài toán đặt ra là tìm phủ đỉnh bé nhất.

Bài toán phủ đỉnh và bài toán tập độc lập liên quan chặt chẽ với nhau: Bù của một tập độc lập là một phủ đỉnh và ngược lại.

Thí dụ 3.6. Trong đồ thị trên bù của phủ đỉnh là tập các đỉnh{2,4}. Hai đỉnh này độc lập nhau.

38 Các bài toán nan giải (intractable problems)

Hình 3.3. Thí dụ về phủ đỉnh

Chúng ta sẽ phát biểu bài toán phủ định dưới dạng bài toán quyết định Yes/No: Cho một đồ thịGvà một sốk: 0< k <|v| −1.

Hỏi:∃? phủ đỉnh với số đỉnh≤k. Định lý 3.7. Bài toán phủ đỉnh là NP-C. Chứng minh:

a) Rõ ràng bài toán phủ đỉnh thuộc NP: Lấy một tập k đỉnh và kiểm tra xem đó có phải là phủ đỉnh hay không tức là mỗi cạnh bất kỳ của G có một đầu nằm trong tập đó.

b) Quy dẫn bài toán tập độc lập về bài toán phủ đỉnh. Trước hết nhận xét rằng bù của một tập độc lập là một phủ đỉnh. Chẳng hạn trong hình 3.8 tập các nút không tô màu đỏ tạo thành một phủ đỉnh. Vì các nút đỏ là tập độc lập cực đại nên các nút còn lại tạo thành một phủ đỉnh cực tiểu.

Xây dựng phép quy dẫn: GọiGvới một cận dướik là một thể hiện của bài toán tập độc lập. NếuGcónnút, gọiGvới cận trênn−k là một thể hiện của bài toán phủ đỉnh. Phép biến đổi này có thể thực hiện được trong thời gian tuyến tính. Ta khẳng định rằng:

Gcó tập độc lập kích thướck ⇔Gcó một phủ đỉnh kích thước n−k. Chứng minh:

3.4. Một số bài toán NP-C khác 39

• Đủ: GọiN là tập các nút của Gvà C là phủ đỉnh với kích thước n−k. Ta chứng minh:N\Clà một tập độc lập. Giả sử không phải, nghĩa là tồn tại cặp đỉnhv, w∈N\C sao cho có cạnh nối chúng thuộcG. Thế thì, vìv, w6∈C, cạnh (v, w)∈ Gkhông được phủ bởi C. Mâu thuẫn. Như vậyN \C là tập độc lập với k nút.

• Cần: Giả sửI là tập độc lập có k nút. Ta sẽ chứng minh rằng N \I là một phủ đỉnh cón−k nút. Ta cũng chứng minh bằng phản chứng. Giả sử N \I không phải là phủ đỉnh. Khi đó tồn tại một cạnh (v, w)không được phủ bởi N \I, tức là cảv, w6∈N \I ⇒v, w∈I. Mâu thuẫn vì I là tập độc lập.

Một phần của tài liệu Giáo trình môn độ phức tạp tính toán (Trang 35)