การค้นหาชุดจำนวนเต็มขนาดเล็กซึ่งทุกองค์ประกอบเป็นผลรวมของอีกสองชุด


16

นี่คือการติดตามคำถามนี้ใน math.stackexchange

ให้เราบอกว่าเป็นชุดที่ไม่ว่างเปล่า S ⊆ℤเป็นตัวเองได้ถ้าทุก ∈ S มีอยู่องค์ประกอบที่แตกต่างB, C  ∈ S ดังกล่าวว่า =  B  + C สำหรับจำนวนเต็มบวกnตัวอย่างง่ายๆประกอบด้วยอุดมคติ S =  n ℤหรือ (สำหรับn > 3) ช่วงจำนวนเต็ม [- nn ]

เราจะบอกว่า S สนับสนุนตัวเองอย่างยิ่งถ้า S แยกจาก −S: นั่นคือถ้าa  ∈ S ดังนั้น - a  ∉ S. ทั้งสองตัวอย่างข้างต้นไม่สนับสนุนตัวเองอย่างรุนแรงเพราะพวกเขาอยู่ในความเป็นจริงปิด ภายใต้การปฏิเสธ มีเซต จำกัด อยู่ซึ่งสนับสนุนตัวเองอย่างยิ่ง: ตัวอย่างเช่นชุด {−22, −20, −18, −16, −14, −12, −10, −2, 1, 3, 7, 8, 15 , 23} และ {−10, −8, −6, −2, 1, 3, 4, 5}

คำถามที่ 1. สำหรับจำนวนเต็มบวกN > 0 จะมีอัลกอริทึมโพลี ( N ) - เวลา [หรือโพโลล็อก ( N ) - เวลา] เพื่อ(i)  สร้างชุดการสนับสนุนตัวเองอย่างยิ่งซึ่งมีค่าสัมบูรณ์สูงสุดคือNหรือ(ii )  กำหนดว่าไม่มีชุดดังกล่าวอยู่หรือไม่ [ แก้ไข : ตามที่ระบุไว้ในคำตอบที่เก่าที่สุด + ความคิดเห็นของฉันที่มีอยู่เสมอชุดดังกล่าวสำหรับN  ≥ 10]

คำถาม # 2 สำหรับN > 0 คุณสามารถสร้างชุดการสนับสนุนตัวเองอย่างยิ่งด้วยค่าสัมบูรณ์สูงสุดNและมีองค์ประกอบที่เป็นไปได้น้อยที่สุดหรือไม่


1
การโยกย้ายคำถามที่ตอบแล้วไม่ใช่เรื่องทั่วไปและคำถามก็ดูดีที่นี่ แต่ถ้าคุณต้องการฉันจะโยกย้ายมัน
Kaveh

ฉันก็ไม่แน่ใจเหมือนกันว่าการโยกย้ายคำถามที่ตอบแล้ว
Suresh Venkat

ตามที่คุณปรารถนาแล้ว ความจริงที่ว่าคำถามนี้ยังคงอยู่ที่นี่ได้รบกวนฉันบางครั้งเนื่องจากเว็บไซต์กลายเป็นฟอรั่มสำหรับคำถามและคำตอบที่เป็นผู้ใหญ่ในหัวข้อทางทฤษฎี ฉันคิดว่าน้ำเสียงอาจจะเหมาะสมกว่าสำหรับ cs.SE (ไม่ใช่ระดับการวิจัย) มากขึ้น แต่ถ้าคุณไม่รู้สึกว่ามีปัญหาเรื่องความมั่นคงที่สำคัญฉันจะหยุดกังวลเกี่ยวกับเรื่องนี้
Niel de Beaudrap

คำตอบ:


6

ฉันคิดว่าอัลกอริทึมเวลาเชิงเส้นควรเป็นไปได้สำหรับคำถาม # 1) (และถ้าคุณยินดีที่จะจัดการกับการเป็นตัวแทนที่แตกต่างกันอัลกอริทึมเวลา O (1))

รับ N> = 23 เราสร้างชุดสนับสนุนตัวเองอย่างยิ่งซึ่งประกอบด้วย 1 และ N

เราสามารถทำได้อย่างง่ายดายถ้าเราสร้างสิ่งเดียวกันสำหรับ N-1 แล้วเพิ่ม N ไปยังชุดผลลัพธ์

สำหรับกรณีพื้นฐานของ 23 เราสามารถเริ่มต้นด้วยชุดตัวอย่างของคุณ

เพื่อลดขนาดลงเราควรจะสามารถใช้วิธีการที่คล้ายกัน:

สร้างชุดที่มี 1, N and N-1.

เราใช้ชุดที่มีข้อ จำกัด เหล่านี้และทำสิ่งนี้ซ้ำเพื่อนำขนาดลงไปที่ O (logN) ดังนี้:

  • ถ้า N เป็นเลขคู่ให้สร้างชุดที่ประกอบด้วย 1, N และ N-1, สร้างชุดที่ประกอบด้วย 1, N / 2 และ N / 2-1 ซ้ำ (เช่นชุดที่สอดคล้องกับ N / 2) และเพิ่ม N และ N-1 เพื่อตั้งค่าผลลัพธ์ เนื่องจาก N-1 = N / 2 + N / 2-1 และ N = 1 + N-1 นี่เป็นชุดที่ถูกต้อง

  • ถ้า N เป็นเลขคี่สร้างชุดสำหรับ N-1 และ N เป็นชุดผลลัพธ์

สำหรับกรณีพื้นฐานเราสามารถเริ่มต้นด้วย {−22, −20, −18, −16, −14, −12, −10, −2, 1, 3, 7, 8, 15, 23, 24,24} สำหรับ N = 24 สำหรับ 24 <N <= 47 เราสามารถใช้อัลกอริธึมเชิงเส้นเวลาด้านบนและสร้างตามชุดสำหรับ N = 24 สำหรับ N> = 48 เราเปลี่ยนเป็นการลดลงครึ่งหนึ่ง

ในความเป็นจริงสำหรับคอมโพสิต N เราสามารถนำขนาดลงไปอีกขนาดที่จำเป็นสำหรับหนึ่งในจำนวนเฉพาะที่แบ่ง N: ค้นหาชุดสำหรับนายกขนาดเล็กและเพียงแค่คูณตัวเลขทั้งหมดด้วยปัจจัยที่เหมาะสม

มันอาจน่าสนใจที่จะพิสูจน์ขอบเขตที่ต่ำกว่าในกรณีที่ N เป็นไพร์ม


+1 ให้บริการฉันถูกต้องสำหรับการโพสต์คำถามด้วยห้องหย่อนมากเกินไปฉันคิดว่า คุณสามารถทำเช่นเดียวกันกับ N> 10 ได้ ซึ่งทำให้เรามีคำถามของการสร้างชุดที่มีขนาดเล็กกว่านี้ (อาจเป็นขนาดเล็กที่สุดเช่นใน # 2)
Niel de Beaudrap

สำหรับคำตอบที่แก้ไขแล้วเพื่อลดขนาด: ฉันไม่ทำตาม ฉันรวบรวมว่าคุณต้องการให้ N "สนับสนุน" (แสดงเป็นผลรวมขององค์ประกอบที่แตกต่าง) เป็น 1 + (N-1) แต่คุณจะ "สนับสนุน" N-1 ได้อย่างไร --- นอกจากนี้: ฉันสนใจขนาดมากขึ้นเช่นความเป็นหัวใจของชุดตัวเองแม้ว่าขอบเขตที่น่าสนใจในการเป็นตัวแทนอาจน่าสนใจเช่นกัน
Niel de Beaudrap

@Niel: ผมกำลังจะแสดงความคิดเห็น: เห็นการแก้ไขของฉัน :-)
Aryabhata

พิจารณากรณีของ N = 46 จากนั้น N / 2 = 23; เรานำตัวอย่างที่ระบุในคำถามเป็นชุดการสนับสนุนตนเองและรวม N-1 = 45 และ N = 46 แล้วเราจะ "สนับสนุน" N-1 = 45 ได้อย่างไร
Niel de Beaudrap

2
(คุณอาจต้องการพิจารณาเปลี่ยนชื่อเล่นของคุณทำไมไม่โฆษณาว่าคุณเป็นใครจริง ๆ มันยังช่วยให้ฉันสามารถพูดกับคุณโดยไม่มองว่าฉันดูถูกใครบางคนในที่สุดคุณควรเปลี่ยนชื่อเล่นของคุณในภายหลัง)
Niel de Beaudrap

5

สำหรับ N ≥ 10 คนสามารถสร้างชุดขนาดที่สามารถรองรับตัวเองได้อย่างมากที่สุดที่สิบเอ็ดดังนี้:

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

ตัวอย่างสั้นที่นำเสนอในสอดคล้องกับคำถามเดิมกับกรณี N = 10 นี้อยู่ใกล้ที่จะเป็นที่ดีที่สุดเช่นใดชุดขอตัวเองได้ต้องมี cardinality อย่างน้อยแปด

ดังนั้นปัญหาสามารถแก้ไขได้ในเวลา O (log (N)) [ถ่ายในการดำเนินการทางคณิตศาสตร์ทางโลกบน N] ซึ่งให้ชุดของภาวะเชิงการนับระหว่างแปดถึงสิบเอ็ด

การก่อสร้างสำหรับคำตอบนี้ถูกนำเสนอเป็นครั้งแรกสำหรับคำถามทางคณิตศาสตร์การไหลย้อนกลับซึ่งยังให้ปรีชาสำหรับการก่อสร้าง เราสามารถรับสิ่งก่อสร้างที่มีขนาดเล็กลงได้เช่นจับคู่ขอบเขตล่างของแปดสำหรับทุก N> 9 หรือไม่? สิ่งที่เกี่ยวกับกรณีของ N ∈ {8,9}

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.