Tìm ra một bộ bằng cách so sánh giao lộ


8

Vấn đề sau đây nổi lên gần đây từ nghiên cứu của tôi và tôi muốn hỏi liệu có ai biết vấn đề này đã được xem xét trước đây hay đã nghe về bất cứ điều gì có thể liên quan.

Các thiết lập chung là như sau. Chúng tôi được cung cấp , một họ -subets của , đối với một số tham số (tôi quan tâm nhất đến trường hợp ). Có một kẻ thù người chọn một bộ trong , ký hiệu bởi . Công việc của chúng tôi là tìm ra là gì . Để làm điều này, chúng tôi được phép gửi bất kỳ hai tập hợp nào trong tới đối thủ, giả sử và và đối thủ sẽ xuất nếuvà nếuFt{1,2,...,n}tt=n/2FSSFABA|AS||BS|B|BS||AS|. Lưu ý rằng nếusau đó các đối thủ có thể ra một trong hai hoặc .|AS|=|BS|AB

Vấn đề này có thể được giải quyết một cách tầm thường nếu chúng ta không quan tâm chúng ta có thể hỏi bao nhiêu truy vấn vì nếu chúng ta so sánh tất cả các cặp, sẽ là bộ duy nhất luôn được trả về từ đối thủ khi chúng ta gửi truy vấn , đối với bất kỳ . Tuy nhiên, mục tiêu của chúng tôi là giảm thiểu số lượng truy vấn.( S , B ) B SS(S,B)BS

Mục tiêu của tôi là chỉ ra rằng vấn đề này có thể được giải quyết bằng các truy vấn hoặc số lượng truy vấn siêu đa thức được yêu cầu. Tôi đặc biệt quan tâm đến trường hợp là tập hợp tất cả -subets của .F n / 2 { 1 , . . . , n }O(poly(n))Fn/2{1,...,n}

Bất kỳ con trỏ đến bất cứ điều gì liên quan sẽ được đánh giá cao.


1
Bạn có thể làm rõ điều kiện "đối thủ có thể trả lời bất cứ điều gì" không? Bạn có nghĩa là câu trả lời sẽ làhoặcvà điều đó đúng vì cả hai đều đúng khi, hoặc câu trả lời có thể được đưa ra? | B S | | A S | | A S | = | B S ||AS||BS||BS||AS||AS|=|BS|
mjqxxxx

1
Tại sao giải pháp tầm thường lại đúng? Chắc chắn bất kỳ superset của cũng sẽ thỏa mãncho tất cả . S | S 'S | | B S | B S 'SS|SS||BS|BS
mjqxxxx

@mjqxxxx: Cảm ơn cả hai bình luận của bạn. Tôi đã đọc lại câu hỏi để làm cho nó rõ ràng hơn.
Danu

Câu trả lời:


10

Đây là một biến thể của câu đố nổi tiếng về việc tìm kiếm một đồng tiền giả bằng cách sử dụng số dư . Nhưng trước khi tiếp tục, trước tiên hãy giải quyết câu hỏi, bởi vì kỹ thuật giải quyết nó cũng hữu ích khi thấy mối liên hệ với vấn đề tiền giả.

Đầu tiên, giả sử rằng các bộ truy vấn MộtB không phải là từ gia đình F . Sau đó, bạn có thể tìm thấy tập S bằng tối đa truy vấn như sau. Thực hiện truy vấn ({ a }, { b }) cho 1≤ a < bn . Lưu ý rằng mọi phần tử i ∈ {1, Trực, n } được sử dụng trong n −1 truy vấn. Nếu một phần tử i thuộc về S , thì tập { i } được trả lời ít nhất khi đối thủ không thuộc về S(n2)=O(n2)(n2)và do đó, tập { i } được trả lời ít nhất n - t lần. Nếu một phần tử i không thuộc về S , thì tập { i } không thể được trả lời nếu đối thủ thuộc về S , và do đó tập { i } được trả lời nhiều nhất là n - t −1 lần. Do đó, đếm bao nhiêu lần mỗi bộ được trả lời, chúng ta có thể xác định toàn bộ S .

Điều này đòi hỏi các bộ truy vấn không phải từ gia đình F , không được phép trong vấn đề. Nhưng chúng ta có thể giải quyết vấn đề này bằng cách thêm các phần tử t −1 giống nhau cho cả hai bên. Ví dụ: thay vì thực hiện truy vấn ({1}, {2}), chúng tôi có thể thực hiện truy vấn ({1,3,4, Lỗi, t +1}, {2,3,4, Lỗi, t +1 }). Do đó, vấn đề có thể được giải quyết bằng các truy vấn O ( n 2 ).

Bây giờ phần vui vẻ bắt đầu. Hãy xem xét n đồng tiền có nhãn 1, Nhận, nt trong số đó là tiền giả và nặng hơn một chút so với tiền thật. Tất cả các đồng tiền giả đều có cùng trọng lượng. Bạn phải tìm các thiết lập S của các nhãn của t tiền giả bằng cách sử dụng một sự cân bằng chỉ poly ( n ) lần. Mỗi lần bạn sử dụng số dư, bạn có thể đặt tối đa các đồng xu { t , n - t } cho mỗi bên của số dư. Sự cân bằng hơi không chính xác theo nghĩa là nếu hai bên có cùng trọng lượng, một trong hai bên có thể đi xuống (bất lợi). Như tôi hy vọng rằng bạn có thể thấy bây giờ, đây chính xác là vấn đề tương tự như câu hỏi.

Chỉnh sửa : Phiên bản 4 trở về trước có lỗi này hoặc lỗi khác (rất tiếc) trong kết nối chính xác với câu đố tiền giả.


Điều này trả lời câu hỏi của tôi độc đáo! Cảm ơn cho sự kết nối với vấn đề tiền giả là tốt.
Danu

@Tsuyoshi Tuyệt vời ... Tôi cảm thấy thật tuyệt vời! Bạn có thể chỉ ra cách thuật toán - trong trường hợp n = 4, t = 2 ... - có thể phân biệt đối xử trong n ^ 2 truy vấn giữa giải pháp {1,2} và giải pháp {1,3} (xem tất cả các truy vấn có thể và có thể câu trả lời cân bằng trong ví dụ của tôi)?
Marzio De Biasi

2
@Vor: Tôi nghĩ rằng tôi đã nêu cách làm điều đó đủ rõ ràng trong câu trả lời. Nếu bất kỳ phần nào không rõ ràng, tôi vui lòng giải thích hoặc viết lại nó.
Tsuyoshi Ito

@Vor: Đó không phải là cách thuật toán bắt đầu. Tôi đề nghị bạn đọc kỹ câu trả lời, đặc biệt là đoạn 2 (mô tả một giải pháp cho phiên bản thoải mái của vấn đề trong đó các bộ truy vấn không bị hạn chế đối với các bộ trong F). Trước tiên chúng tôi thực hiện truy vấn và sau đó chúng tôi đưa ra quyết định. Chúng tôi không chọn bất cứ thứ gì cho đến bước cuối cùng. (n2)
Tsuyoshi Ito

1
@Vor: Đối với nhận xét của bạn tại 22:02 UTC, nếu F là họ của tất cả các tập hợp con có kích thước t (1≤t≤n − 1) như trong câu hỏi ban đầu và đối thủ có thể nói dối nếu sự khác biệt tuyệt đối giữa | A |S | và | B∩S | nhiều nhất là 1, khi đó đối thủ có thể giả vờ như S = [t] khi câu trả lời đúng là S = [t − 1] {t + 1}, và do đó, tập S không thể được xác định duy nhất nói chung ngay cả với cấp số nhân nhiều truy vấn.
Tsuyoshi Ito

2

... uhm ... Tôi đang cố gắng tìm ra một thuật toán đa thức ... vẫn đang làm việc với nó ... nhưng tôi nghĩ vấn đề nên được cải cách tốt hơn, bởi vì có những trường hợp không thể chiến thắng (ít nhất là nếu F là họ của tất cả các tập con)

Ví dụ:

Let n=3

F={{1},{2},{3},{1,2},{1,3},{2,3}}

Queries     S={1}    S={1,2}
{1}>={2}      T      lie
{1}>={3}      T       T
{2}>={1}      F      lie 
{2}>={3}     lie      T
{3}>={1}      F       F
{3}>={2}     lie      F
{1}>={2,3}    T      lie
{2}>={1,3}    F      lie
{3}>={1,2}    F       F
{2,3}>={1}    F      lie
{1,3}>={2}    T      lie 
{1,2}>={3}    T       T

Như bạn có thể thấy - nếu đối thủ là một con cáo - anh ta có thể làm cho hai cột bằng nhau để không có cách nào để phân biệt giữa giải pháp và giải pháp .... thậm chí với một số lượng truy vấn theo cấp số nhân.S = { 1 , 2 }S={1}S={1,2}

Và tôi nghĩ rằng ngay cả khi bạn hạn chế gia đình F, bạn vẫn có thể "gục ngã" trong một trò chơi không thể. Ví dụ: thêm phần tử ở đâu đó vào một hoặc nhiều bộ F trong ví dụ, sẽ không giết được con cáo :-)))4


Nó trông giống như một biến thể của Trò chơi trí tuệ thông thường là đa thức nhưng có phiên bản tĩnh hoàn chỉnh NP ( xem bằng chứng ).

... Trò chơi Mastermind ban đầu được phát minh vào năm 1970 bởi Meirowitz, vì một trò chơi cờ có lỗ cho các chuỗi có độ dài N = 4 và K = 6 chốt màu. Knuth (1) sau đó đã chỉ ra rằng trường hợp này của trò chơi Mastermind có thể được giải quyết trong năm lần đoán hoặc ít hơn. Chv Lúc sinh (2) đã nghiên cứu tổ hợp của Mastermind nói chung, cho thấy rằng nó có thể được giải quyết trong thời gian đa thức, trong trường hợp K> = N .... Stuckman và Zhang (3) cho thấy rằng nó hoàn toàn NP để xác định xem một chuỗi các phỏng đoán và câu trả lời trong Mastermind đếm kép nói chung là thỏa đáng. ...

(1) D. Knuth. Máy tính như một tâm trí chủ. Tạp chí toán học giải trí, 9: 1 trận5, 1977.

(2) V. Chv Lúc sinh. Chủ mưu. Combinatorica, 3 (3/4): 325 trừ329, 1983.

(3) J. Stuckman và G.-Q. Trương. Mastermind hoàn thành np, 2005. http://arxiv.org/abs/cs/0512049 .


@Vor: Master Mind có thể được giảm bớt vấn đề này không?
Marcus Ritt

@Vor: Cảm ơn câu trả lời của bạn. Các trò chơi tâm trí chủ có vẻ liên quan. Tôi nghĩ rằng vấn đề mà tôi đã hỏi cũng khó như trò chơi chủ mưu (nhưng có thể khó hơn) theo nghĩa là vấn đề của bạn có thể được giảm xuống cho vấn đề này (nhưng tôi không biết liệu có thể giải quyết được vấn đề này không), như sau. Giả sử chỉ có hai mã màu, đen và trắng. Đối với mỗi chốt , tôi có thể biểu thị màu của nó bằng một phần tử (tính bằng S hoặc không). Sau đó, để đối thủ trả lời liệu, anh ta có thể đặt hai hàng chốt tương ứng với và và nhìn vào các chốt với màu sắc và vị trí chính xác. | A S | | B S | A Bpi|AS||BS|AB
Danu

@Vor: Trước khi bạn cập nhật giải pháp của mình, tôi đã đọc lại câu hỏi để làm cho nó rõ ràng hơn (như @mjqxxxx đã nhận xét). Bây giờ chúng tôi yêu cầu tất cả các bộ trong có cùng kích thước để trường hợp của bạn không thể xảy ra. Xin lỗi vì sự nhầm lẫn. F
Danu

@Danu ... ok ... mmm ... nếu mọi tập hợp con trong F có cùng kích thước thì thuật toán có độ phức tạp O (N ^ 2): chỉ cần chọn tập hợp điểm TRUE trên tất cả các truy vấn khi so sánh với các truy vấn khác | F | -1 bộ?!? Hoặc bạn không coi F là đầu vào của thuật toán?
Marzio De Biasi

... (Không thể chỉnh sửa nhận xét sau 5 phút) ... nếu bạn yêu cầu tất cả các bộ F phải có cùng kích thước (bao gồm giải pháp), thì kích thước này phải là tham số đầu vào , trừ khi bạn chỉ định mọi tập hợp con của F (nhưng trong trường hợp này, bạn rơi vào giải pháp O (N ^ 2) tầm thường).
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.