การแก้สมการไดโอแฟนไทน์เชิงเส้นประมาณ


15

พิจารณาปัญหาต่อไปนี้:

อินพุต : ไฮเปอร์เพลนH={yRn:aTy=b} , ที่กำหนดโดยเวกเตอร์aZnและbZในการแทนเลขฐานสองมาตรฐาน

xZn=argmind(x,H)

d(x,S)xRnSRnd(x,S)=minySxy2

ในคำพูดเราได้รับไฮเปอร์เพลนและเรากำลังมองหาจุดในโครงตาข่ายจำนวนเต็มที่ใกล้กับไฮเปอร์เพลนมากที่สุด

คำถามคือ:

ความซับซ้อนของปัญหานี้คืออะไร?

โปรดทราบว่าเวลาพหุนามที่นี่จะหมายถึงพหุนามในบิตขนาดของอินพุต เท่าที่ฉันเห็นปัญหาน่าสนใจแม้ในสองมิติ ดังนั้นจึงไม่ยากที่จะเห็นว่าเพียงพอที่จะพิจารณาเฉพาะโซลูชันเหล่านั้น(x1,x2)ด้วย0x1|a1|/gcd(a1,a2)แต่นั่นเป็นตัวเลือกมากมาย

ปัญหาที่เกี่ยวข้องอย่างใกล้ชิดคือการแก้สมการไดโอแฟนไทน์เชิงเส้นคือการหาเพื่อให้ T x = bหรือพิจารณาว่าไม่มีxดังกล่าวอยู่ ดังนั้นการแก้สมการไดโอแฟนไทน์เชิงเส้นจึงเท่ากับการหาว่ามีทางออกของค่า 0 กับปัญหาที่ฉันกำหนดไว้ข้างต้นหรือไม่ สมการไดโอแฟนไทน์เชิงเส้นสามารถแก้ไขได้ในเวลาพหุนาม ในความเป็นจริงแม้แต่ระบบของสมการไดโอแฟนไทน์เชิงเส้นสามารถแก้ไขได้ในเวลาพหุนามโดยการคำนวณสมิ ธ รูปแบบปกติของเมทริกซ์A ที่ให้ระบบ มีอัลกอริธึมเวลาพหุนามที่คำนวณรูปแบบสมิ ธ ปกติของเมทริกซ์จำนวนเต็มซึ่งเป็นอันดับแรกที่กำหนดโดยxZnaTx=bxAคานและ BACHEM

เพื่อให้ได้สัญชาตญาณเกี่ยวกับสมการไดโอแฟนไทน์เชิงเส้นเราสามารถพิจารณากรณีสองมิติอีกครั้ง เห็นได้ชัดว่าไม่มีการแก้ปัญหาที่แน่นอนถ้าไม่แบ่งข ถ้ามันไม่แบ่งแล้วคุณสามารถเรียกใช้อัลกอริทึม GCD ขยายเพื่อให้ได้ตัวเลขสองsและtเช่นว่า1 s + 2 T = กรัมd ( 1 , 2 )และชุดx 1 =gcd(a1,a2)bbsta1s+a2t=gcd(a1,a2)และ x 2 = T / กรัมd ( 1 , 2 ) ตอนนี้คุณสามารถดูว่ารุ่นโดยประมาณแตกต่างกันอย่างไร: เมื่อ g c d ( a 1 , a 2 )ไม่แบ่ง bเราจะหาจำนวนเต็ม x 1 , x 2 ได้อย่างไรระยะห่างระหว่าง (x1=sb/gcd(a1,a2)x2=tb/gcd(a1,a2)gcd(a1,a2)bx1,x2และบรรทัด a 1 x 1 + a 2 x 2 = bถูกย่อให้เล็กสุด?(x1,x2)a1x1+a2x2=b

ปัญหาสำหรับฉันฟังดูเหมือนปัญหาเวกเตอร์ที่ใกล้เคียงที่สุดที่สุดในโปรย แต่ฉันไม่เห็นการลดลงที่เห็นได้ชัดจากปัญหาอื่น ๆ



ไม่มันไม่ได้: การประมาณไดโอแฟนไทน์เป็นปัญหาที่แตกต่างจากการแก้สมการไดโอแฟนไทน์ ในปัญหาการประมาณไดโอแฟนไทน์คุณจะได้จำนวนจริงและคุณต้องการคูณพวกมันทั้งหมดด้วยเลขจำนวนเต็มQตัวเดียวเพื่อให้พวกมันทั้งหมดอยู่ภายในϵจากจำนวนเต็มบางตัว ปัญหาที่มีคือการหาถ่วงดุลอำนาจที่ดีที่สุดระหว่างขนาดของQและε ฉันไม่เห็นความสัมพันธ์ระหว่างปัญหาของฉันกับปัญหานี้ nQϵQϵ
Sasho Nikolov

รูปแบบอินพุตของคุณคืออะไร มันดูเหมือนกับว่าถ้ามีสองค่าพิกัดของมีเปรียบเทียบกันไม่ได้แล้วขั้นต่ำในคำถามเป็นศูนย์ (ตัดกับความเหมาะสมของเครื่องบิน 2 มิติที่จะได้รับสมการที่มีรูปแบบs x + T Y = Wกับsและเสื้อเปรียบเทียบกันไม่ได้คืออัลฟ่าsasx+ty=wstไม่ลงตัวและใช้ผลการมาตรฐานใน{nα}αstเพื่อแสดงว่าเส้นผ่านไปโดยพลการใกล้กับจุดขัดแตะ {nα}(mod1)
Steven Stadnicki

โดยเฉพาะอย่างยิ่งนี่หมายความว่า 'ขั้นต่ำ' ของคุณควรเป็น 'inf' (เพราะคุณรับไปได้หลายจุด) และปัญหาว่าแตกต่างจากคำถามหรือไม่ ว่ามีอยู่บางxกับd ( x , H ) = 0 ซึ่งหมายความว่าค่าสัมประสิทธิ์ของจะต้องมีการสรุปตัวเลขสำหรับปัญหาที่จะมีวิธีการแก้ปัญหาขี้ปะติ๋วแล้วปัญหาน่าจะใช้ในรูปแบบยุคลิดมากคู่อย่างใกล้ชิดกับอัลกอริทึม GCD หลายมิติ ฉันพลาดอะไรไปรึเปล่า? inf d(x,H)=0xd(x,H)=0a
Steven Stadnicki

@StevenStadnicki ถูกต้อง คุณสามารถสันนิษฐานZ nและZ (ฉันจะเพิ่มที่คำถามที่ฉันจะต้องพลาดมัน) อินพุตจะถูกกำหนดในการแทนแบบไบนารีมาตรฐาน คำถามที่น่าสนใจแม้เมื่อn = 2 จากนั้นก็เพียงพอที่จะพิจารณาโซลูชันที่เป็นไปได้ทั้งหมด( x 1 , x 2 )ด้วยx 1| 1 | / g c d ( a 1 , a 2 )aZnbZn=2(x1,x2)x1|a1|/gcd(a1,a2)แต่การค้นหา Bruteforce จะ superpolynomial ในฐานเป็นตัวแทนของ1 , 2 a1,a2
Sasho Nikolov

คำตอบ:


5

เอาล่ะการคิดมากกว่านี้ฉันเชื่อว่าฉันมีการลดปัญหาที่ชัดเจนลงไปสู่การขยาย GCD ฉันจะอธิบายไว้ในกรณี แต่ผมเชื่อว่ามันขยายไปถึงพลn โปรดทราบว่านี่เป็นการค้นหาxที่ลดระยะห่างจากไฮเปอร์เพลนให้น้อยที่สุด แต่ไม่จำเป็นต้องเป็นx ที่เล็กที่สุด(ในความเป็นจริงแล้วมีค่ามากมายที่ได้รับระยะทางต่ำสุดเท่ากัน) - ฉันเชื่อว่าปัญหาหลังสุดเป็นไปได้เช่นกัน มันมีความคิดที่แท้จริงเลย อัลกอริทึมนั้นใช้หลักการง่ายๆสองสามข้อ:n=2n xx

  • หากแล้วชุดของค่าดำเนินการในโดยx = 1 x 1 + 2 x 2เป็นอย่างแม่นยำ{ 0 , ± กรัม, ± 2 กรัม, ± 3 กรัม, } ; นอกจากนี้ค่าx 1และx 2กับ1 x 1g=GCD(a1,a2)ax=a1x1+a2x2{0,±g,±2g,±3g,}x1x2สามารถพบได้อย่างมีประสิทธิภาพ (นี่คืออัลกอริทึมแบบยุคลิดแบบขยาย)a1x1+a2x2=g
  • ระยะทางต่ำสุดจากไฮเปอร์เพลนไปยังจุดบนขัดแตะคือระยะทางที่น้อยที่สุดจากจุดบนไฮเปอร์เพลนไปจนถึงไฮเปอร์เพลน (ชัดเจน แต่เป็นปัญหาการผกผันที่เป็นประโยชน์)
  • ระยะทางจากจุดที่กำหนดถึงไฮเปอร์เพลนay = bเป็นสัดส่วนกับ| ax - b | (โดยเฉพาะคือ1 / | a |คูณค่านี้ - แต่เนื่องจากการคูณระยะทางทั้งหมดด้วยค่านี้ไม่มีผลกับตำแหน่งของขั้นต่ำเราจึงสามารถละเว้นปัจจัยการทำให้เป็นมาตรฐานได้)xay=b|axb|1/|a|

นี่เป็นการแนะนำขั้นตอนต่อไปนี้:

  • Compute พร้อมกับx 0 1 , x 0 2ดังกล่าวว่า1 x 0 1 + 2 x 0 2 =กรัมg=GCD(a1,a2)x10,x20a1x10+a2x20=g
  • คำนวณและคำนวณd=min(b-rg,(r+1)g-b); dคือระยะทางที่เล็กที่สุด (สเกล) จากโครงตาข่ายถึงไฮเปอร์เพลน ให้sเป็นrหรือr+1(=br=bgd=min(brg,(r+1)gb)dsrr+1ยกเว้นว่าbเป็นผลคูณของg) ขึ้นอยู่กับว่าใครจะบรรลุระยะทางที่น้อยที่สุด=bgbg
  • คำนวณและx 2 = s x 0 2 ; แล้วx = s กรัมเป็นหลายที่ใกล้ที่สุดของกรัมเพื่อและทำให้| ax - b | บรรลุขั้นต่ำของระยะนี้ในทุกจุดขัดแตะx1=sx10x2=sx20ax=sggb|axb|

เท่าที่ฉันรู้ขั้นตอนเดียวกันแน่นอนควรทำงานอย่างถูกต้องในมิติโดยพล; ที่สำคัญคือว่า GCD มิติยังคงตอบสนองเอกลักษณ์ของเบซูและอื่น ๆ เพื่อหาระยะทางขั้นต่ำที่จะเป็นจุดขัดแตะคุณจะต้องไปหาหลายที่ใกล้ที่สุดของกรัมจะขngb

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