Bí quyết của việc thêm một số lượng lớn vào việc giảm bớt từ 3-phân vùng là gì?


7

Vấn đề: Để chứng minhNP-Completenessvề vấn đề "Đóng gói hình vuông (với chiều dài cạnh khác nhau) thành hình chữ nhật" ,3-Partition được giảm xuống, như thể hiện trong hình dưới đây.

đóng gói vuông

bên trong 3-Partition ví dụ, có n yếu tố (a1,,ai,,an). Tổng mục tiêutt=ain/3.

Trong giảm Blà một số lượng lớn (không đổi) và mỗiai được đại diện bởi một (B+ai)×(B+ai)Quảng trường. Khoảng trống trong hình chữ nhật sẽ được điền theo đơn vị (1×1) hình vuông.


Câu hỏi: Tôi không hiểu lắm về thủ thuật "thêm một số lượng lớnB"trong phần giảm. Tôi đoán nó được sử dụng để buộc rằng bất kỳ sơ đồ đóng gói nào cũng sẽ đưa ra giải pháp cho 3-Partition. Nhưng bằng cách nào?

Câu hỏi 1: Bí quyết "thêm một số lượng lớn" để giảm từ 3-Partition? Cụ thể, tại sao việc giảm này hoạt động? Tại sao thủ thuật này lại cần thiết, tức là tại sao việc giảm giá sẽ không hiệu quả nếu chúng ta bỏ quaB (bộ B=0)?

Tôi đã cố gắng xác định lỗ hổng của bằng chứng "bất kỳ bao bì nào cũng cho phân vùng 3" nhưng không thể có được điểm chính.

Trên thực tế tôi cũng đã thấy giảm khác từ 3-Partitionmà cũng dùng thủ thuật này. Vì thế,

Câu hỏi 2: Mục đích chung của thủ thuật "thêm một số lượng lớn" này là gì trong việc cắt giảm từ 3-Partition( nếu có )?


Lưu ý: Vấn đề này là từ bài giảng video (từ 01:15:15) của Giáo sư Erik Demaine. Trước tiên tôi nên kiểm tra tờ giấy gốc "Đóng gói hình vuông thành hình vuông" . Tuy nhiên, nó không thể truy cập được trên Internet. Nếu bạn có một bản sao và muốn chia sẻ, bạn có thể tìm thấy hộp thư của tôi trong hồ sơ của tôi. Cảm ơn trước.


Tôi chưa thấy bằng chứng của Demaine, nhưng bạn đã giảm bớt một vấn đề tương tự ở đây .
RB

Ý bạn là gì khi "mánh khóe của ..." là gì? Bạn có thể xây dựng Câu hỏi 1 theo cách cụ thể hơn không? Bạn có nghĩa là, tại sao giảm này hoạt động? Ý bạn là, tại sao điều này lại cần thiết, tức là tại sao việc giảm giá sẽ không hiệu quả nếu chúng ta bỏ điB (bộ B=0)? Thứ gì khác? Và, sau khi bạn đánh vần nó, bạn có thể cho chúng tôi biết bạn đã cố gắng tự trả lời câu hỏi đó không?
DW

@DW Cảm ơn lời đề nghị của bạn. Tôi đã cố gắng tìm ra lỗ hổng của bằng chứng "mọi bao bì đều cho 3 phân vùng" khiB=0. Tuy nhiên tôi không có bằng chứng ban đầu và gặp khó khăn trong việc này.
hengxin 2/2/2015

Bạn có nghĩa là bạn không có các chi tiết về việc giảm từ 3 phân vùng thành các hình vuông đóng gói, chỉ có một phác thảo về nó? Bạn có ý nghĩa gì bởi "bằng chứng ban đầu"? Theo như bài báo mà bạn không thể tìm thấy trên Internet: Bạn đã thử truy cập thư viện địa phương của bạn để xem họ có thể lấy cho bạn một bản sao của bài báo mà bạn đề cập hoặc thử liên hệ với các tác giả không?
DW

@DW Hoàn toàn có thể tôi có thể tìm thấy câu trả lời từ bằng chứng trong bài báo (không thể truy cập được). Bằng chứng phác thảo (hình ảnh) bỏ lỡ quá nhiều chi tiết. Về cơ bản tôi muốn tìm hiểu tại saoBlà cần thiết trong việc giảm. Có lẽ tôi có thể cố gắng liên hệ với các tác giả.
hengxin 2/2/2015

Câu trả lời:


1

Lớn B ở đây để đảm bảo rằng các hình vuông theo mô hình được hiển thị trong hình.

Trong phần "tồn tại một bao bì tồn tại 3 phân vùng ". Bạn cần thể hiện các bộ ba số nguyên với tổng =t. Điều này thật dễ dàng nếu các ô vuông mã hóa trong bao bì được sắp xếp 3 nhân 3 như trong hình, nhưng làm thế nào để bạn biết đây là trường hợp? Ví dụ, với các hình vuông màu xanh nhỏ hơn một chút, bạn có thể có hai hình vuông nhỏ cạnh nhau trong cùng một cột và sau đó bạn sẽ gặp rắc rối.

Một cách để sử dụng thủ thuật của B không đổi là để nói rằng không thể có bất kỳ đường ngang nào vượt quá hơn n/3 hình vuông (một dòng như vậy có chiều dài (B+t)n3, một hình vuông có kích thước ít nhất BB>tn3). Vì vậy, mỗi đường ngang gặp một hình vuông thứ nhất, hình vuông thứ 2, v.v., và sau đó bạn có thể hiển thị (một lần nữa bằng cách sử dụng lớnB), rằng itất cả các ô vuông của mỗi dòng phải gặp nhau trong cùng một cột. Khi bạn đã có được điều này, sau đó bạn nhận được một phân vùng 3.

Về Câu hỏi 2, rõ ràng rất khó để đưa ra câu trả lời chính thức, nhưng mẫu chung là như sau: với 3 phân vùng, bạn cần đưa ra một số loại độ chùng để cho phép bất kỳ số nguyên nào trong một khoảng [min,max]có thể được mã hóa bằng cách nào đó và được nhúng vào một khe (sau đó phải tương ứng với kích thước tối đa có thể). Nhưng sau đó, một vấn đề phổ biến là có hai số nguyên khớp trong cùng một vị trí, hoặc nói chung là các vấn đề chồng chéo khác (như với các hình vuông ở đây). Điều này được giải quyết bằng cách đảm bảo rằngmin là đủ lớn so với kích thước khe (chúng ta thường cần min>max/2, hoặc là min>max(n1)/(n) ở đây): điều này dễ dàng đạt được với hằng số phụ gia B.

Chỉnh sửa ví dụ mẫu trong đóB là cần thiết: Đặt trường hợp của 3 phân vùng là (10,7,2,10,9,2) với t=20. Đây là một ví dụ. Tuy nhiên, vớiB=0, bạn có một bao bì hợp lệ của 40×20 hình chữ nhật: sử dụng một cột đầu tiên với bốn hình vuông (10,7,2,2), hai cái cuối cùng nằm cạnh nhau và một cột thứ hai chỉ có (10,9). Điều này là không thể với, nói,B=100và một 240×320 hình chữ nhật.

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.