Vòng kiểm tra Google Hash Code 2015 ( tuyên bố vấn đề ) đã hỏi về vấn đề sau:
- đầu vào: a lưới với một số ô vuông được đánh dấu, một ngưỡng T ∈ N , một khu vực tối đa Một ∈ N
- đầu ra: tổng diện tích lớn nhất có thể của một tập hợp các hình chữ nhật rời nhau có tọa độ nguyên trong như vậy mà mỗi hình chữ nhật bao gồm ít nhất T ô vuông đánh dấu và mỗi hình chữ nhật có diện tích tối đa là Một .
Theo thuật ngữ của Google, lưới là một chiếc bánh pizza, các ô vuông được đánh dấu là ham và các hình chữ nhật rời rạc là các lát cắt.
Chúng ta có thể nói lại rõ ràng vấn đề này cho một vấn đề quyết định bằng cách thêm một đầu vào bổ sung và để cho các câu trả lời là "có một tập hợp các hình chữ nhật rời nhau đáp ứng các điều kiện có diện tích tổng cộng là ít nhất n hình vuông".
Câu hỏi của tôi: trong khi vấn đề của Google yêu cầu các ứng viên tìm ra giải pháp "tốt nhất có thể" cho vấn đề tính toán trên một trường hợp cụ thể, tôi nghĩ có khả năng vấn đề chung (trong giai đoạn quyết định của nó) là hoàn thành NP. Tuy nhiên, tôi không thể tìm thấy mức giảm để hiển thị độ cứng NP. (Thành viên NP là ngay lập tức.) Làm thế nào để chứng minh rằng vấn đề này là NP-hard?
Một vài ví dụ sau đây, để giúp hình dung vấn đề. Hãy xem xét bởi 4 lưới { 0 , 1 , 2 , 3 } × { 0 , 1 , 2 , 3 } , với ô vuông đánh dấu ( 1 , 1 ) , ( 0 , 2 ) và ( 2 , 2 ) , đại diện đồ họa với để chỉ ra các ô vuông được đánh dấu:X
..X.
.X..
..X.
....
Đặt (hình chữ nhật có nhiều nhất 6 hình vuông) và T = 1 (ít nhất một hình vuông được đánh dấu trên mỗi hình chữ nhật), một giải pháp tối ưu (bao trùm toàn bộ lưới) là lấy các hình chữ nhật sau:
aaAa
bBcc
bbCc
bbcc
Trên lưới sau, với và T = 2 :
XXX
.X.
...
Người ta không thể làm tốt hơn là chỉ bao gồm ba hình vuông:
AAA
.X.
...
hoặc là
XBX
.B.
.b.
(hãy nhớ rằng hình chữ nhật trong phân vùng không thể trùng nhau).
Với những người khác đang xem xét câu hỏi này, chúng tôi đã thử giảm bớt việc đóng gói bin, giải quyết các vấn đề, chu trình 3-SAT và Hamilton và chúng tôi đã không quản lý để có được một công việc.