Vấn đề đồ thị con được kết nối tối đa trong đồ thị phẳng


8

Vấn đề đồ thị con được kết nối trọng lượng tối đa như sau:

Input: một đồ thị G=(V,E) và một trọng lượng wTôi (có thể là tiêu cực) cho mỗi đỉnh TôiV .

Đầu ra: một tập hợp con có trọng số tối đa S của các đỉnh sao cho G[S] được kết nối.

Vấn đề này là NP-hard. David S. Johnson đề cập đến pg. 149 của cột này cho rằng vấn đề vẫn còn khó khăn trong các đồ thị phẳng bậc ba tối đa với tất cả các trọng số +1 hoặc -1 .

Tôi không thể tìm thấy bài báo được trích dẫn - A. Vergis, bản thảo (1983)

Bất kỳ ý tưởng như để tìm giấy ở đâu? Hoặc những gì đã giảm?

Câu trả lời:


3

Trong "Cột hoàn thành NP: Hướng dẫn liên tục" số 14, Johnson viết "... Vergis [49]. Chuyển đổi từ STEINER TREE IN GRAPHS [ND12] ..." . Tôi không có quyền truy cập vào bài viết của Vergis, tuy nhiên việc giảm khả năng có thể là như sau.

Cây Steiner (ST) trong bài toán đồ thị

Ví dụ : một đồ thị vô hướng , một tập hợp con của các đỉnh R V , được gọi là các nút thiết bị đầu cuối ; một số nguyên không âm kG= =(V,E)RVk

Câu hỏi : có một cây con của bao gồm tất cả các đỉnh của R (một cây bao trùm cho R ) và có chứa nhiều nhất k cạnh không?GRRk

Vấn đề vẫn là NPC ngay cả đối với các đồ thị phẳng (M. Garey và D. Johnson. Vấn đề cây Steiner trực tràng là NP-đầy đủ).

Cho một ví dụ của ST phẳng, bây giờ giả sử rằng bạn có thể gán trọng số tùy ý cho các nút. Nếu | E | = q , bạn có thể gán trọng số q + 1 cho các nút của R và bạn có thể thêm một nút giữa cho mọi cạnh của E và gán trọng số - 1 cho nó. Cân Gán 0 cho các nút còn lại trong V R . Biểu đồ ban đầu G có cây bao trùm cho R với tối đa k|R|= =p|E|=qq+1RE10VRGRkcạnh nếu và chỉ khi trong biểu đồ được chuyển đổi, bạn có thể tìm thấy một sơ đồ con có trọng lượng mục tiêu lớn hơn hoặc bằng .W=p(q+1)k

Để đạt được số lượng cách không chính thức, bạn phải bao gồm tất cả các nút của R trong sơ đồ con và bạn phải bao gồm tối đa k nút giữa (tương ứng với các cạnh của G ) có trọng số âm -1 để giữ cho chúng được kết nối .p(q+1)RkG

Bạn có thể giảm mức độ tối đa của toàn bộ đồ thị xuống còn ba theo cách này: if chỉ cần chuyển đổi mỗi nút u i thành một chuỗi tròn của các nút D (và điều chỉnh giá trị của p cho phù hợp). Kết nối các cạnh trong với các nút riêng biệt của chuỗi (sẽ có độ 3).D=max{deg(ui)uiV}uiDp

Và nếu bạn chỉ muốn sử dụng trọng số thì bạn phải: (A) gán + 1 cho tất cả các nút của chuỗi tròn tương ứng với các nút trong V R , (B) biến đổi mọi nút giữa thành chuỗi tuyến tính của các nút có trọng lượng - 1 và chiều dài l E = | V R | + 1(C) tiếp tục mở rộng chuỗi vòng tròn (có trọng số +1) tương ứng với các nút của R đến ít nhất chiều dài l R =+1,-1
+1VR
-1tôiE= =|VR|+1
R ; và thiết lập mục tiêu trọng lượng W = p l R - k l E . Một cách không chính thức, các chuỗi mở rộng và mục tiêu mới làm chotrọng số + 1 của các nút tương ứng với V R (điểm A) không liên quan.tôiR= =tôiE(|E|+1)W=plRklE
+1VR


1
bạn rất nhanh chóng trong việc thiết kế các tiện ích NP-độ cứng!
Suresh Venkat

1
@SureshVenkat: nhưng tôi vẫn không chắc là nó đúng: -S. Tuy nhiên, tôi cũng chuyên giảm "Tái tạo bánh xe" (RTW) :-). Hơn nữa với yEd, bạn có thể vẽ biểu đồ trong vài phút ... sử dụng tikzit sẽ mất hàng giờ :).
Marzio De Biasi

Khi có một nhiệm vụ thỏa mãn, làm thế nào để bạn chắc chắn rằng nó được kết nối?
Austin Hội trưởng

@AustinBuchanan: Tôi đã thay đổi toàn bộ bằng chứng ... xem nếu nó có thể làm việc (trước đó vá với cạnh là đúng nhưng không đảm bảo một đồ thị phẳng :-)(yTôi,yTôi+1)
Marzio De Biasi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.