ปัญหาความครอบคลุม (ตัวส่งและตัวรับ)


14

ฉันพยายามที่จะแก้ปัญหาความคุ้มครองต่อไปนี้

มีตัวส่งสัญญาณพร้อมพื้นที่ครอบคลุม 1 กม. และตัวรับสัญญาณตัดสินใจในที่ตัวรับสัญญาณทั้งหมดได้รับการคุ้มครองโดยตัวส่งสัญญาณใด ๆ ผู้เปิดเผยและเครื่องส่งสัญญาณทั้งหมดจะถูกแทนด้วยพิกัดและของพวกเขาnnO(nlogn)xy

วิธีการแก้ปัญหาที่ทันสมัยที่สุดที่ฉันจะมาพร้อมกับใช้เวลาlog) สำหรับตัวรับสัญญาณทุกตัวเรียงลำดับตัวส่งทั้งหมดตามระยะทางถึงตัวรับสัญญาณปัจจุบันจากนั้นนำตัวส่งสัญญาณด้วยระยะทางที่สั้นที่สุดและระยะทางที่สั้นที่สุดนี้ควรอยู่ภายใน 0.5 กม.O(n2logn)

แต่วิธีการที่มีลักษณะไร้เดียงสาชอบมากดีขึ้นในเวลาซับซ้อน2) เพียงคำนวณระยะทางทั้งหมดระหว่างเครื่องส่งสัญญาณและตัวรับสัญญาณทุกคู่O(n2)

ฉันไม่แน่ใจว่าฉันสามารถใช้อัลกอริธึมการค้นหาระยะในปัญหานี้ได้ไหม ตัวอย่างเช่น kd-trees ทำให้เราสามารถค้นหาช่วงดังกล่าวได้ แต่ฉันไม่เคยเห็นตัวอย่างและฉันไม่แน่ใจว่ามีการค้นหาแบบวงกลมสำหรับแวดวงหรือไม่

ความซับซ้อนที่ได้รับถือว่าวิธีการแก้ปัญหาควรคล้ายกับการเรียงลำดับO(nlogn)


1
หากเวลาที่คาดหวังไม่เป็นไรฉันคิดว่าคุณสามารถสร้างk d -tree ผ่านเครื่องส่งสัญญาณ (สละเวลาO ( n log n ) ) จากนั้นดำเนินการค้นหาเพื่อนบ้านที่ใกล้ที่สุดสำหรับผู้รับแต่ละคน (รับค่าเฉลี่ย ของO ( log n )เวลาสำหรับผู้รับแต่ละราย) นี่ควรเป็นกลอุบาย แต่ฉันคิดว่าคุณต้องการความซับซ้อนของกรณีที่แย่ที่สุด ดูเหมือนว่าจะมีเทคนิคสำหรับการเร่งความเร็วเมื่อคุณทำการค้นหาเพื่อนบ้านที่ใกล้ที่สุดหลายรายการในk d -tree O(nlogn)kdO(nlogn)O(logn)kd
utdiscant

1
ฉันเดาว่าอัลกอริทึมการกวาดบรรทัดสามารถทำเคล็ดลับได้: เรียงลำดับทั้งเครื่องส่งสัญญาณและตัวรับโดยพิกัด x และก้าวผ่านรายการ การจัดการที่ชาญฉลาดของชุดเครื่องส่งสัญญาณที่มีศักยภาพเป็นสิ่งจำเป็น
Raphael

@ ราฟาเอลคุณช่วยอธิบายเพิ่มเติมอีกหน่อยได้ไหมดูเหมือนว่ามันจะช้ามากในกรณีที่เลวร้ายที่สุด
com

1
ฉันคิดว่ามันคุ้มค่าที่จะดูอัลกอริธึมของฟอร์จูนในการคำนวณแผนภาพ Voronoiบนเครื่องบิน มันทำงานได้ในและเมื่อมีแผนภาพ Voronoi ปัญหาของคุณก็จะง่ายขึ้น O(nlogn)
Syzygy

คำตอบ:


4

คุณสามารถใช้แผนภาพ Voronoi ร่วมกับโครงสร้างข้อมูลของ Kirkpatrickเพื่อแก้ปัญหานี้

O(nlogn)

1 km

O(logn)O(nlogn)O(nlogn)

แต่ละเซลล์ในไดอะแกรม Voronoi เป็นรูปหลายเหลี่ยมนูนที่ไม่มีขอบเขต

...

จำนวนจุดยอด [ของแผนภาพ Voronoi ของ n sites] V ≤ 2n-5

- www.cs.arizona.edu

Θ(v)vnnO(n)O(n)O(n)O(n)O(n)

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