HALF CLIQUE - NP Hoàn thành vấn đề


20

Hãy để tôi bắt đầu bằng cách lưu ý đây là một vấn đề bài tập về nhà, xin vui lòng chỉ cung cấp lời khuyên và các quan sát liên quan, xin vui lòng KHÔNG TRẢ LỜI TRỰC TIẾP . Như đã nói, đây là vấn đề tôi đang xem xét:

Đặt HALF-CLIQUE = { | là một đồ thị vô hướng có một sơ đồ con hoàn chỉnh với ít nhất nút, trong đó n là số nút trong }. Cho thấy HALF-CLIQUE là NP-hoàn chỉnh.G n / 2 GGGn/2G

Ngoài ra, tôi biết những điều sau đây:

  • Về vấn đề này một bè lũ , được định nghĩa là một đồ thị con vô hướng của đồ thị đầu vào, trong đó mỗi hai nút được nối với nhau bằng một cạnh. Một -clique là một cụm chứa nút.kk
  • Theo sách giáo khoa của chúng tôi, " Giới thiệu về lý thuyết tính toán " của Michael Sips , trang 268, rằng vấn đề CLIQUE = { | là một đồ thị vô hướng với -clique} nằm trong NPG kG,kGk
  • Hơn nữa, theo cùng một nguồn (trên trang 283) lưu ý rằng CLIQUE nằm trong NP-Complpete (do đó cũng rõ ràng là trong NP).

Tôi nghĩ rằng tôi có hạt nhân của một câu trả lời ở đây, tuy nhiên tôi có thể sử dụng một số dấu hiệu cho thấy có gì sai với nó hoặc bất kỳ điểm liên quan nào có thể liên quan đến câu trả lời . Đây là ý tưởng chung mà tôi có cho đến nay,

Ok, trước tiên tôi xin lưu ý rằng một chứng chỉ đơn giản sẽ là HALF-QLIQUE của . Bây giờ, có vẻ như những gì tôi cần làm là tạo một trình xác minh giảm thời gian đa thức từ CLIQUE (mà chúng ta biết là NP-Complete) sang HALF-CLIQUE. Ý tưởng của tôi sẽ là điều này sẽ được thực hiện bằng cách tạo ra một máy Turing chạy trình xác minh máy Turing trong cuốn sách dành cho CLIQUE với các ràng buộc bổ sung cho HALF-CLIQUE.kích thướcn/2

Điều này nghe có vẻ đúng với tôi, nhưng tôi chưa thực sự tin tưởng bản thân vào chủ đề này. Một lần nữa, tôi muốn nhắc nhở mọi người đây là VẤN ĐỀ HOMEWORK vì vậy hãy cố gắng tránh trả lời câu hỏi. Bất kỳ hướng dẫn nào thiếu điều này sẽ được hoan nghênh nhất!

Câu trả lời:


15

Đánh giá theo mô tả và nhận xét của bạn, bạn có thể được giúp đỡ tốt nhất bằng một mô tả chính xác về cách giảm có thể được sử dụng để chứng minh tính đầy đủ của NP:

Một vấn đề là NP-Complete iff nó nằm trong NP và nó là NP-hard. Điều này có nghĩa là bất kỳ bằng chứng nào về tính đầy đủ của NP đều có hai phần: bằng chứng cho thấy vấn đề nằm ở NP và bằng chứng cho thấy đó là NP-hard.

Đối với phần đầu tiên, bạn phải chứng minh rằng các trường hợp CÓ có thể được xác minh trong thời gian đa thức bằng cách sử dụng một số chứng chỉ phù hợp. Ngoài ra, bạn có thể hiển thị vấn đề có thể được giải quyết trong thời gian đa thức bằng máy Turing không xác định, nhưng điều này thường không được thực hiện vì các lỗi dễ dàng xảy ra.

Trong trường hợp của bạn, điều này chứng minh rằng với mọi đồ thị có tỷ lệ , bạn có thể tìm thấy một số bằng chứng cho thấy có một cụm sao như vậy, được trang bị bằng chứng như vậy, bạn có thể kiểm tra thời gian đa thức thực sự có một cụm như vậy.n/2

Đối với phần thứ hai, bạn phải chỉ ra rằng vấn đề là NP-hard. Điều này gần như trong tất cả các trường hợp được thể hiện bằng cách chứng minh rằng vấn đề của bạn ít nhất cũng khó như một số vấn đề NP-hard khác. Nếu HALF-CLIQUE ít nhất là cứng như CLIITE, thì nó cũng phải là NP-hard.

Bạn làm điều này bằng cách chứng minh giảm TỪ KHIẾN, ĐẾN HẠNH PHÚC. Bạn 'giảm' vấn đề, làm cho nó 'dễ dàng hơn'. Bạn nói "Giải quyết CLIITE rất khó, nhưng tôi đã chứng minh rằng bạn chỉ cần giải HALF-CLIQUE để giải quyết CLIQUE". (nhiều người, thậm chí các chuyên gia, thỉnh thoảng nói điều này sai cách :))

Có nhiều loại giảm khác nhau: mức giảm được sử dụng phổ biến nhất là mức giảm mà bạn ánh xạ các trường hợp trong trường hợp này CLIQUE sang các trường hợp của HALF-CLIQUE có kích thước lớn nhất trong thời gian đa thức. Điều này có nghĩa là nếu chúng ta có thể giải HALF-CLIQUE, thì chúng ta cũng có thể giải CLIITE bằng cách xâu chuỗi thuật toán và rút gọn.

Nói cách khác, chúng ta phải chứng minh rằng chúng ta có thể giải được CLIITE nếu chúng ta có thể giải HALF-CLIQUE. Chúng tôi thực hiện điều này bằng cách chỉ ra rằng đối với mọi trường hợp cho CLIQUE, chúng tôi có thể thiết kế một thể hiện của HALF-CLIQUE sao cho thể hiện của CLIQUE là một ví dụ 'có' nếu ví dụ của HALF-CLIQUE là một ví dụ 'có'.

Do đó, bằng chứng bắt đầu như thế này: cho một đồ thị , tôi có thể tạo ra một số đồ thị H = ( V ' , E ' )G chứa một k -clique iff H chứa n / 2 -clique. Tôi sẽ để lại phần này cho bạn (đây là phần đòi hỏi sự sáng tạo, phần nói về vấn đề cụ thể trong tay).G= =(V,E)H= =(V',E')GkHn/2


Thiết lập tuyệt vời, tôi nghĩ rằng bạn đã làm rất tốt trong việc cung cấp vừa đủ thông tin để hướng dẫn mà không cung cấp câu trả lời và làm như vậy một cách hùng hồn. Cảm ơn bạn.
BrotherJack

1
Một cái gì đó như thế này nên được đặt trong thẻ wiki của np-Complete để tham khảo trong tương lai. Bạn có phiền?
Raphael

8

GkHHGk

Spoiler bên dưới chứa một gợi ý về cách thực hiện việc giảm này:

HG


Tôi không hiểu bạn đang nói gì. Những gì tôi đã cố gắng làm là giảm HALF-CLIQUE thành CLIQUE bằng cách sửa đổi bộ biến đổi được sử dụng trong sách để chứng minh rằng CLIQUE là NP, hãy chạy nó trên biểu đồ đầu vào G và nếu nó tìm thấy CLIITE kiểm tra xem CLIITE có chứa hay không ít nhất là n / 2 nút, trong đó n là số nút trong G. Sẽ không phải là trình xác minh của HALF-CLIQUE cho thấy trình xác minh của CLIQUE là một dạng rút gọn của nó (như trong một vấn đề phụ của việc giải HALF-CLIQUE )?
BrotherJack

Hay bạn đang nói rằng tôi có nó ngược và cần chứng minh CLIQUE cần được giảm xuống HALF-CLIQUE? Tôi cũng hoàn toàn không nhận được spoiler của bạn. Có cách nào để giải thích nó mà không đưa ra câu trả lời?
BrotherJack

3
Có, để hiển thị một vấn đề là NP-đầy đủ, bạn cần (a) cho thấy nó nằm trong NP và (b) giảm một số vấn đề NP-hard đã biết đối với nó. Để nhớ đúng hướng giảm, vấn đề là sử dụng vấn đề mới như một "hộp đen" để giải quyết hiệu quả một vấn đề NP-C đã biết.
Louis

OK, tôi nghĩ rằng tôi hiểu bây giờ. Cảm ơn bạn đã giúp đỡ!
BrotherJack

+1 Tôi nghĩ rằng tôi đã nhận được nó. Gợi ý của bạn là rất nhiều khi tôi hiểu những gì tôi đã làm sai. Cảm ơn một lần nữa!
BrotherJack

0

Bạn có thể giảm từ các vấn đề bìa đỉnh. Nếu đồ thị bổ sung của đồ thị đã cho có đỉnh bao phủ ít hơn n / 2 nút thì đồ thị này sẽ có một cụm gồm hơn n / 2 nút, đó sẽ là một nửa cụm. Chỉ cần nói rằng rất khó để giải quyết vấn đề Vertex Cover cũng vậy.


1
Vì bạn có thể giảm từ bất kỳ vấn đề hoàn thành NP nào , điều này không hữu ích lắm. Thông tin chi tiết về việc giảm được dự kiến.
Raphael

n/2
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.