Tìm các bộ số nguyên nhỏ trong đó mọi phần tử là tổng của hai số nguyên khác


16

Đây là phần tiếp theo của câu hỏi này trên math.stackexchange.

Hãy để chúng tôi nói rằng một tập hợp không rỗng S ⊆ là tự hỗ trợ nếu với mỗi a  ∈ S, tồn tại các phần tử riêng biệt b, c  ∈ S sao cho a  =  b  + c. Đối với số nguyên dương n , các ví dụ đơn giản bao gồm S = n ideal lý tưởng  hoặc (với n > 3) khoảng số nguyên [- nn ].

Chúng tôi sẽ nói rằng S rất tự hỗ trợ nếu S tách rời khỏi −S: nghĩa là, nếu a  ∈ S, thì - a  ∉ S. Cả hai ví dụ trên đều không hỗ trợ mạnh mẽ, vì thực tế chúng đã bị đóng dưới sự phủ định. Tồn tại các tập hữu hạn có khả năng tự hỗ trợ mạnh mẽ: ví dụ: các tập {−22, −20, −18, −16, 14, −12, 10, −2, 1, 3, 7, 8, 15 , 23} và {10, 8, 6, 2, 1, 3, 4, 5}.

Câu hỏi 1. Đối với số nguyên dương N > 0, có tồn tại thuật toán poly ( N ) -time [hoặc polylog ( N ) -time ] để (i)  tạo ra một tập hợp tự hỗ trợ mạnh mẽ có giá trị tuyệt đối tối đa là N hoặc (ii )  xác định rằng không có tập hợp như vậy tồn tại? [ Chỉnh sửa : như được chỉ ra trong câu trả lời cũ nhất + nhận xét của tôi về nó, luôn tồn tại một tập hợp như vậy cho N  ≥ 10.]

Câu hỏi 2. Đối với N > 0, bạn có thể xây dựng bộ tự hỗ trợ mạnh mẽ với giá trị tuyệt đối tối đa N và có ít yếu tố nhất có thể không?


1
di chuyển câu hỏi trả lời không phải là một thực tế phổ biến và câu hỏi có vẻ tốt ở đây. Nhưng nếu bạn muốn tôi sẽ di chuyển nó.
Kaveh

Tôi cũng không chắc chắn rằng việc di chuyển một câu hỏi đã trả lời có ý nghĩa hay không.
Suresh Venkat

Như bạn muốn, sau đó. Thực tế là câu hỏi này vẫn còn ở đây đã làm phiền tôi một thời gian kể từ khi trang web trở thành một diễn đàn trưởng thành cho hỏi đáp về các chủ đề lý thuyết. Tôi nghĩ rằng giai điệu có thể phù hợp hơn nhiều với cs.SE (cấp độ không nghiên cứu); nhưng nếu bạn không cảm thấy rằng có một vấn đề nhất quán đáng kể, thì tôi sẽ ngừng băn khoăn về nó.
Niel de Beaudrap

Câu trả lời:


6

Tôi cho rằng một thuật toán thời gian tuyến tính nên có thể cho Câu hỏi số 1) (và nếu bạn sẵn sàng xử lý một biểu diễn khác, thuật toán thời gian O (1))

Với bất kỳ N> = 23, chúng tôi xây dựng một bộ tự hỗ trợ mạnh mẽ chứa 1 và N.

Chúng ta có thể làm điều đó một cách dễ dàng nếu chúng ta xây dựng tương tự cho N-1, sau đó thêm N vào tập kết quả.

Đối với trường hợp cơ sở là 23, chúng ta có thể bắt đầu với tập hợp ví dụ của bạn.

Để giảm kích thước, chúng ta có thể sử dụng một cách tiếp cận tương tự:

Xây dựng bộ có chứa 1, N and N-1.

Chúng tôi sử dụng các bộ bị ràng buộc này và thực hiện việc xây dựng này một cách đệ quy để đưa kích thước xuống O (logN) như sau:

  • Nếu N chẵn, để xây dựng một tập hợp chứa 1, N và N-1, hãy xây dựng đệ quy một tập hợp chứa 1, N / 2 và N / 2-1 (tức là đặt tương ứng với N / 2) và thêm N và N-1 để thiết lập kết quả. Vì N-1 = N / 2 + N / 2-1 và N = 1 + N-1, đây là một bộ hợp lệ.

  • Nếu N là số lẻ, xây dựng một tập hợp cho N-1 và N thành tập kết quả.

Đối với các trường hợp cơ sở, chúng ta có thể bắt đầu với {22, −20, 18, 16, 14, −12, 10, −2, 1, 3, 7, 8, 15, 23,24} cho N = 24. Đối với 24 <N <= 47, chúng ta có thể sử dụng thuật toán thời gian tuyến tính ở trên và xây dựng theo tập hợp cho N = 24. Với N> = 48, chúng tôi chuyển sang giảm một nửa.

Trong thực tế, đối với N tổng hợp, chúng ta có thể đưa kích thước xuống thấp hơn kích thước cần thiết cho một trong các số nguyên tố nhỏ chia N: Tìm một tập hợp cho số nguyên tố nhỏ và chỉ cần nhân tất cả các số với một hệ số phù hợp.

Nó có thể thú vị để chứng minh một số giới hạn thấp hơn trong trường hợp N là số nguyên tố.


+1. Tôi phục vụ tôi ngay khi đặt câu hỏi với quá nhiều phòng chùng, tôi cho là vậy. Bạn có thể làm tương tự cho N> 10, tất nhiên. Điều này khiến chúng ta phải đặt câu hỏi về việc xây dựng các bộ nhỏ hơn cái này (có thể có kích thước tối thiểu, như trong # 2).
Niel de Beaudrap

Đối với câu trả lời sửa đổi của bạn để giảm kích thước: Tôi không làm theo. Tôi tập hợp rằng bạn muốn có N "được hỗ trợ" (được biểu thị dưới dạng tổng của các phần tử riêng biệt) là 1 + (N-1). Nhưng làm thế nào để bạn "hỗ trợ" N-1, sau đó? --- Ngoài ra: Tôi quan tâm nhiều hơn đến kích thước, tức là tính chính xác của bộ, mặc dù giới hạn thú vị về đại diện của nó cũng có thể thú vị.
Niel de Beaudrap

@Niel: Tôi chuẩn bị bình luận: xem bản chỉnh sửa của tôi :-)
Aryabhata

Xét trường hợp N = 46. Khi đó N / 2 = 23; chúng tôi lấy ví dụ được đưa ra trong câu hỏi dưới dạng tập tự hỗ trợ và bao gồm N-1 = 45 và N = 46. Vậy thì chúng ta "hỗ trợ" N-1 = 45 như thế nào?
Niel de Beaudrap

2
(Bạn có thể muốn xem xét thay đổi tên hiệu của mình. Tại sao không quảng cáo bạn thực sự là ai? Nó cũng cho phép tôi giải quyết bạn mà không có vẻ như tôi đang xúc phạm ai đó, cuối cùng bạn nên chọn thay đổi tên hiệu của mình sau.)
Niel de Beaudrap

5

Đối với N ≥ 10, người ta có thể xây dựng một bộ kích thước tự hỗ trợ mạnh mẽ nhiều nhất là mười một, như sau:

{N, N + 2, N + 4, −2, 1, 3, 4, 5, N − 7, N − 6, N 5}.

Ví dụ ngắn hơn được trình bày trong câu hỏi ban đầu tương ứng với trường hợp N = 10. Điều này gần như là tối ưu, vì bất kỳ bộ tự hỗ trợ mạnh mẽ nào cũng phải có ít nhất tám thẻ .

Do đó, vấn đề có thể giải quyết được trong thời gian O (log (N)) [được đưa lên trong các phép toán số học trần tục trên N], mang lại một tập hợp số lượng từ tám đến mười một.

Cấu trúc cho câu trả lời này lần đầu tiên được trình bày cho câu hỏi math.stackoverflow , cũng cung cấp trực giác cho việc xây dựng. Chúng ta có thể có được các công trình nhỏ hơn không, ví dụ khớp với giới hạn dưới của tám cho mỗi N> 9? Còn trường hợp của N {8,9} thì sao?

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.