ค้นหาลูกบาศก์ที่ใหญ่ที่สุดที่มีอยู่ในสหภาพของลูกบาศก์


18

ฉันมีลูกบาศก์จำนวนมากในพื้นที่ 3 มิติแต่ละจุดมีจุดเริ่มต้นที่ (x, y, z) และมีขนาด (Lx, Ly, Lz) ฉันสงสัยว่าจะหาลูกบาศก์ที่ใหญ่ที่สุดในพื้นที่ 3 มิตินี้ที่อยู่ในสหภาพของลูกบาศก์ได้อย่างไร มีอัลกอริทึมที่มีประสิทธิภาพสำหรับสิ่งนี้หรือไม่?

เช่นถ้าฉันมีลูกบาศก์ต่อไปนี้:

  • หนึ่งลูกบาศก์เริ่มต้นที่ (0,0,0) ขนาด (10,10,10)
  • ทรงลูกบาศก์ที่ (10,0,0) ที่มีขนาด (12,13,15)
  • รูปทรงลูกบาศก์ที่ (0,10,0) ขนาด (10,10,10)
  • รูปทรงลูกบาศก์ที่ (0,0,10) ขนาด (10,10,10) และ
  • ทรงลูกบาศก์ที่ (10,10,10) ที่มีขนาด (9,9,9)

จากนั้นก้อนที่ใหญ่ที่สุดที่อยู่ในสหภาพของลูกบาศก์เหล่านี้จะเป็นลูกบาศก์เริ่มต้นที่ (0,0,0) ที่มีขนาด (19,19,19)

คำถามทั่วไปมากกว่านี้:

รับชุดของกล่องใน ให้หาไฮเปอร์คิวบ์ที่ใหญ่ที่สุดที่อยู่ในกล่องสี่เหลี่ยมR dnRd


8
ฉันคิดว่ามีคำถามที่ดีกว่าซ่อนอยู่ภายใน: กล่าวคือได้รับกล่องสหภาพในคำนวณ hypercube ที่ใหญ่ที่สุดที่มีอยู่ในสหภาพ Rd
Suresh Venkat

1
ลูกบาศก์เหล่านี้สามารถทับซ้อนกันได้หรือไม่
Peter Boothe

@Suresh ขอบคุณสำหรับการชี้แจงและพูดคุยคำถาม :) @ Peter ในกรณีของฉัน ... มันจะไม่ทับซ้อนกัน :)
pantoffski

2
วิธีที่คุณทำ phesed สิ่งนี้ดูเหมือนว่าด้านข้างของลูกบาศก์จะถูกจัดแนวกับแกน x, y และ z เป็นกรณีนี้หรือลูกบาศก์สามารถมีการวางแนวโดยพลการ? สิ่งนี้เห็นได้ชัดว่าสร้างความแตกต่างอย่างมีนัยสำคัญต่อประสิทธิภาพของอัลกอริทึม
Joe Fitzsimons

ในกรณีของฉันใบหน้าของลูกบาศก์แต่ละรูปมีมุมฉากกับแกนเท่านั้น
pantoffski

คำตอบ:


15

ทีนี้นี่คือคำตอบที่โง่ลองครั้งแรก ... ใช้ระนาบผ่านกล่องสี่เหลี่ยมแต่ละหน้า แบบฟอร์มนี้ตารางขนาด ) ไม่ยากที่จะคำนวณสำหรับแต่ละกริดเซลล์ดังกล่าวไม่ว่าจะอยู่ภายในสหภาพหรือภายนอก ตอนนี้จากจุดยอดของกริดแต่ละจุดให้เพิ่มคิวบ์ (ให้จุดยอดนี้เป็นจุดยอด) พยายามทำให้มันมีขนาดใหญ่ที่สุดเท่าที่จะทำได้ การทำอย่างไร้เดียงสาที่สุดใช้เวลาO ( n 3บันทึกn )ต่อจุดสุดยอด แต่อาจใช้เวทมนตร์ค้นหาช่วงมุมฉากใครจะสามารถทำได้ในบันทึกO ( 1 ) nต่อจุดยอด ดังนั้นO ( n 3)O(n3)O(n3logn)logO(1)nควรเป็นไปได้ ...O(n3logO(1)n)

ลองครั้งที่สอง: คำนวณยูเนี่ยน ในกรณีเฉพาะนี้สามารถทำได้ในเวลา (โดยการกวาดเครื่องบิน) ตอนนี้สังเกตได้ว่าคุณเพียงแค่ต้องคำนวณL Voronoi ไดอะแกรมของขอบเขตของสหภาพ โดยใช้ผล: http://vw.stanford.edu/~vladlen/publications/vor-polyhedral.pdfนี้สามารถทำได้ในO ( n 2 + ε )เวลาการคงขนาดเล็กโดยพลε > 0O(nlogn)LO(n2+ε)ε>0

O(n2)


ขอบคุณคุณฉันคิดว่าL∞เป็นทางออกที่ดีที่สุดสำหรับปัญหานี้จนถึงตอนนี้ เนื่องจากฉันเคยทำL∞สำหรับกรณี 2D มาก่อน (นำไปใช้โดยวิธีการที่ให้ไว้ในบทความนี้inf.usi.ch/faculty/papadopoulou/publications/ijcga01.pdf ) เคส 3 มิติที่มีเฉพาะกล่องไม่น่าจะยากนัก
pantoffski

8

Rdd<0>01×1×1×n×n×n...×n hypercuboid

2×2×...×21×1×...×1


ฉันคิดว่าคุณสามารถพิสูจน์ได้ว่ามันอยู่ใน FNP (อย่างน้อยในกรณีของรูปสี่เหลี่ยมจัตุรัสที่จัดเรียงตามแนวแกน) โดยใช้การโต้แย้งข้างต้นในสิ่งที่ตรงกันข้ามและแสดงให้เห็นว่าทรงลูกบาศก์ใด ๆ ถือเป็นข้อ จำกัด ซึ่งสามารถตรวจสอบได้ในเวลาพหุนาม
Joe Fitzsimons
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.