กลับไปหน้าบทความ

อ่าน 3 นาที

ปัญหาจุดที่อยู่ใกล้กันที่สุด

ปัญหา จุดคู่ที่ใกล้ที่สุดหรือปัญหาคู่ที่ใกล้ที่สุดเป็นปัญหาทางเรขาคณิตเชิงคำนวณ : กำหนดจุดในปริภูมิเมตริกหาคู่ของจุดที่มีระยะห่างน้อยที่สุดระหว่างกัน

ปัญหาจุดที่อยู่ใกล้กันที่สุด

จุดที่อยู่ใกล้กันที่สุดแสดงด้วยสีแดง

ปัญหา จุดคู่ที่ใกล้ที่สุดหรือปัญหาคู่ที่ใกล้ที่สุดเป็นปัญหาทางเรขาคณิตเชิงคำนวณ : กำหนดจุดในปริภูมิเมตริกหาคู่ของจุดที่มีระยะห่างน้อยที่สุดระหว่างกัน ปัญหาคู่ที่ใกล้ที่สุดสำหรับจุดในระนาบยุคลิด[ 1 ]เป็นหนึ่งในปัญหาทางเรขาคณิตแรกๆ ที่ได้รับการศึกษาในช่วงเริ่มต้นของการศึกษาอย่างเป็นระบบเกี่ยว กับ ความซับซ้อนในการคำนวณของอัลกอริทึมทางเรขาคณิต

ขอบเขตเวลา

อัลกอริทึมแบบสุ่มที่แก้ปัญหาในเวลาเชิงเส้นเป็นที่รู้จักในพื้นที่ยุคลิดซึ่งมิติถือเป็นค่าคงที่เพื่อวัตถุประสงค์ของการวิเคราะห์เชิงอะซิมโทติก [ 2 ] [ 3 ] [ 4 ] ซึ่งเร็วกว่าเวลา (แสดงในที่นี้ในสัญกรณ์บิ๊กโอ ) ที่จะได้รับจากอัลกอริทึมแบบง่ายในการหาระยะห่างระหว่างจุดทุกคู่และเลือกจุดที่เล็กที่สุดอย่างมีนัย สำคัญ

นอกจากนี้ยังสามารถแก้ปัญหาได้โดยไม่ต้องใช้การสุ่ม ใน แบบจำลอง การคำนวณเครื่องจักรแบบเข้าถึงแบบสุ่ม ที่มีหน่วยความจำไม่จำกัดซึ่งอนุญาตให้ใช้ฟังก์ชันพื้นในเวลา ใกล้เคียงกับเชิงเส้น [ 5 ]ในแบบจำลองการคำนวณที่จำกัดยิ่งกว่า เช่นต้นไม้ตัดสินใจเชิงพีชคณิตปัญหาสามารถแก้ไขได้ในขอบเขตเวลา ที่ช้าลงเล็กน้อย [ 6 ]และนี่คือสิ่งที่ดีที่สุดสำหรับแบบจำลองนี้ โดยการลดจากปัญหาเอกลักษณ์ขององค์ประกอบทั้งอัลกอริทึมแบบกวาดเส้นและอัลกอริทึมแบบแบ่งและพิชิตที่มีขอบเขตเวลาที่ช้าลงนี้ มักถูกสอนเป็นตัวอย่างของเทคนิคการออกแบบอัลกอริทึมเหล่านี้[ 7 ] [ 8 ]

อัลกอริทึมแบบสุ่มเชิงเส้นตามเวลา

อัลกอริทึมแบบสุ่มเชิง เส้น ที่ คาดหวังเวลาของRabin (1976)ซึ่งได้รับการดัดแปลงเล็กน้อยโดยRichard Liptonเพื่อให้การวิเคราะห์ง่ายขึ้น ดำเนินการดังต่อไปนี้ บนชุดข้อมูลนำเข้าที่ประกอบด้วยจุดในปริภูมิยุคลิดมิติ:

  1. เลือกคู่จุดแบบสุ่มอย่างสม่ำเสมอโดยมีการใส่คืน และให้เป็นระยะทางขั้นต่ำระหว่างคู่จุดที่เลือก
  2. ปัดจุดข้อมูลนำเข้าให้เป็นตารางสี่เหลี่ยมจัตุรัสที่มีขนาด (ระยะห่างระหว่างจุดตารางที่อยู่ติดกัน) เป็นและใช้ตารางแฮชเพื่อรวบรวมคู่ของจุดข้อมูลนำเข้าที่ปัดเศษแล้วได้จุดตารางเดียวกัน
  3. สำหรับจุดข้อมูลแต่ละจุด ให้คำนวณระยะห่างไปยังจุดข้อมูลอื่นๆ ทั้งหมดที่ปัดเศษไปยังจุดกริดเดียวกัน หรือไปยังจุดกริดอื่นภายในบริเวณใกล้เคียงแบบมัวร์ของจุดกริดโดยรอบ
  4. ส่งคืนค่าระยะทางที่น้อยที่สุดที่คำนวณได้ตลอดกระบวนการนี้

อัลกอริทึมจะกำหนดคู่ที่ใกล้ที่สุดได้อย่างถูกต้องเสมอ เนื่องจากจะแมปคู่ใดๆ ที่อยู่ใกล้กันมากกว่าระยะทางไปยังจุดกริดเดียวกันหรือจุดกริดที่อยู่ติดกัน การสุ่มตัวอย่างคู่แบบสม่ำเสมอในขั้นตอนแรกของอัลกอริทึม (เมื่อเทียบกับวิธีการอื่นของ Rabin สำหรับการสุ่มตัวอย่างคู่จำนวนใกล้เคียงกัน) ช่วยลดความซับซ้อนของการพิสูจน์ว่าจำนวนระยะทางที่คาดหวังที่คำนวณโดยอัลกอริทึมเป็นเชิงเส้น[ 4 ]

แต่ในทางกลับกัน อัลกอริทึมที่แตกต่างออกไปของKhuller & Matias (1995)ประกอบด้วยสองขั้นตอน: กระบวนการกรองแบบวนซ้ำแบบสุ่มที่ประมาณระยะทางที่ใกล้ที่สุดภายในอัตราส่วนการประมาณค่าพร้อมกับขั้นตอนสุดท้ายที่เปลี่ยนระยะทางโดยประมาณนี้ให้เป็นระยะทางที่ใกล้ที่สุดที่แน่นอน กระบวนการกรองจะทำซ้ำขั้นตอนต่อไปนี้ จนกว่าจะว่างเปล่า:

  1. เลือกจุดหนึ่งแบบสุ่มอย่างสม่ำเสมอจากกลุ่มจุดทั้งหมด
  2. คำนวณระยะทางจากจุดหนึ่งไปยังจุดอื่นๆ ทั้งหมดในและให้เป็นระยะทางต่ำสุดดังกล่าว
  3. ปรับจุดข้อมูลนำเข้าให้เป็นตารางสี่เหลี่ยมขนาดและลบจุดทั้งหมด ที่ ไม่มีจุดอื่นอยู่ในบริเวณใกล้เคียงแบบมัวร์

ระยะทางโดยประมาณที่พบโดยกระบวนการกรองนี้คือค่าสุดท้ายของ ซึ่งคำนวณในขั้นตอนก่อนที่ จะว่างเปล่า แต่ละขั้นตอนจะลบจุดทั้งหมดที่มีเพื่อนบ้านที่ใกล้ที่สุดอยู่ที่ระยะทางหรือมากกว่า อย่างน้อยครึ่งหนึ่งของจุดโดยเฉลี่ย ซึ่งส่งผลให้เวลาที่คาดหวังทั้งหมดสำหรับการกรองเป็นเชิงเส้น เมื่อทราบค่าโดยประมาณของ แล้ว สามารถนำไปใช้ในขั้นตอนสุดท้ายของอัลกอริทึมของ Rabin ได้ ในขั้นตอนเหล่านี้ จุดกริดแต่ละจุดจะมีจำนวนอินพุตคงที่ที่ปัดเศษเป็นค่าของมัน ดังนั้นเวลาจึงเป็นเชิงเส้นอีกครั้ง[ 3 ]

ปัญหาการจับคู่ที่ใกล้ที่สุดแบบไดนามิก

รูปแบบไดนามิกของปัญหาการจับคู่ที่ใกล้ที่สุดมีรายละเอียดดังนี้:

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

หาก ทราบ ขอบเขตของจุดทั้งหมดล่วงหน้าและมีฟังก์ชันพื้นแบบเวลาคงที่โครงสร้างข้อมูลพื้นที่ที่คาดหวังได้รับการแนะนำซึ่งรองรับการแทรกและการลบแบบเวลาคาดหวังและเวลาสอบถามคงที่ เมื่อปรับเปลี่ยนสำหรับแบบจำลองต้นไม้ตัดสินใจเชิงพีชคณิต การแทรกและการลบจะต้องการเวลาคาดหวัง[ 9 ]ความซับซ้อนของอัลกอริทึมคู่ที่ใกล้ที่สุดแบบไดนามิกที่กล่าวถึงข้างต้นเป็นแบบเลขชี้กำลังตามมิติดังนั้นอัลกอริทึมดังกล่าวจึงไม่เหมาะสมสำหรับปัญหาที่มีมิติสูง

อัลกอริทึมสำหรับปัญหาคู่ที่ใกล้ที่สุดแบบไดนามิกในพื้นที่มิติได้รับการพัฒนาโดย Sergey Bespamyatnikh ในปี 1998 [ 10 ]สามารถแทรกและลบจุดได้ในเวลาต่อจุด (ในกรณีที่เลวร้ายที่สุด)

ดูเพิ่มเติม

หมายเหตุ

  1. ^ Shamos, Michael Ian ; Hoey, Dan (1975). "ปัญหาจุดที่ใกล้ที่สุด". การประชุมวิชาการประจำปีครั้งที่ 16 ว่าด้วยพื้นฐานของวิทยาศาสตร์คอมพิวเตอร์, เบิร์กลีย์, แคลิฟอร์เนีย, สหรัฐอเมริกา, 13-15 ตุลาคม 1975.สมาคมคอมพิวเตอร์ IEEE. หน้า  151–162 . doi : 10.1109/SFCS.1975.8 .
  2. ^ Rabin, M. (1976). "อัลกอริทึมเชิงความน่าจะเป็น" อัลกอริทึมและความซับซ้อน: ผลลัพธ์ล่าสุดและทิศทางใหม่ Academic Press. หน้า  21–39 .ตามที่อ้างอิงโดยKhuller & Matias (1995 )
  3. ^ a b Khuller, Samir ; Matias, Yossi (1995). "อัลกอริทึมตะแกรงแบบสุ่มอย่างง่ายสำหรับปัญหาคู่ที่ใกล้ที่สุด" . ข้อมูลและการคำนวณ . 118 (1): 34– 37. doi : 10.1006/inco.1995.1049 . MR 1329236 . S2CID 206566076 .  
  4. ^ a b Lipton, Richard (24 กันยายน 2011). "Rabin โยนเหรียญ" . จดหมายที่หายไปของ Gödel และ P=NP .
  5. ^ Fortune, Steve; Hopcroft, John (1979). "หมายเหตุเกี่ยวกับอัลกอริทึมเพื่อนบ้านที่ใกล้ที่สุดของ Rabin" Information Processing Letters . 8 (1): 20– 23. doi : 10.1016/0020-0190(79)90085-1 . hdl : 1813/7460 . MR 0515507 . 
  6. ^ Clarkson, Kenneth L. (1983). "อัลกอริทึมที่รวดเร็วสำหรับปัญหาเพื่อนบ้านที่ใกล้ที่สุดทั้งหมด" การประชุมวิชาการประจำปีครั้งที่ 24 ว่าด้วยพื้นฐานของวิทยาศาสตร์คอมพิวเตอร์ ทูซอน รัฐแอริโซนา สหรัฐอเมริกา 7-9 พฤศจิกายน 1983 สมาคมคอมพิวเตอร์ IEEE หน้า  226–232 doi : 10.1109 /SFCS.1983.16 ISBN 0-8186-0508-1.
  7. ^ Cormen, Thomas H. ; Leiserson, Charles E. ; Rivest, Ronald L. ; Stein, Clifford (2001) [1990]. "33.4: การหาจุดสองจุดที่ใกล้ที่สุด". บทนำสู่อัลกอริธึม (ฉบับที่ 2). สำนักพิมพ์ MIT และ McGraw-Hill. หน้า  957–961 . ISBN 0-262-03293-7.
  8. ^ Kleinberg, Jon M. ; Tardos, Éva (2006). "5.4 การหาจุดสองจุดที่ใกล้ที่สุด". การออกแบบอัลกอริทึม . Addison-Wesley. หน้า  225–231 . ISBN 978-0-321-37291-8.
  9. ^ Golin, Mordecai; Raman, Rajeev; Schwarz, Christian; Smid, Michiel (1998). "โครงสร้างข้อมูลแบบสุ่มสำหรับปัญหาการจับคู่ที่ใกล้ที่สุดแบบไดนามิก" (PDF) . SIAM Journal on Computing . 27 (4): 1036– 1072. doi : 10.1137/S0097539794277718 . MR 1622005 . S2CID 1242364 .  
  10. ^ Bespamyatnikh, SN (1998). "อัลกอริทึมที่เหมาะสมที่สุดสำหรับการบำรุงรักษาคู่ที่ใกล้ที่สุด"เรขาคณิตแบบไม่ต่อเนื่องและการคำนวณ 19 (2): 175– 195. doi : 10.1007/PL00009340 . MR 1600047 . 
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Closest_pair_of_points_problem&oldid=1346622690 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ปัญหาจุดที่อยู่ใกล้กันที่สุด

ปัญหา จุดคู่ที่ใกล้ที่สุดหรือปัญหาคู่ที่ใกล้ที่สุดเป็นปัญหาทางเรขาคณิตเชิงคำนวณ : กำหนดจุดในปริภูมิเมตริกหาคู่ของจุดที่มีระยะห่างน้อยที่สุดระหว่างกัน

ขอบเขตเวลา

อัลกอริทึมแบบสุ่มที่แก้ปัญหาใน เวลาเชิงเส้น เป็นที่รู้จักใน พื้นที่ยุคลิด ซึ่งมิติถือเป็นค่าคงที่เพื่อวัตถุประสงค์ของ การวิเคราะห์เชิงอะซิมโทติก [ 2 ] [ 3 ] [ 4 ] ซึ่ง เร็วกว่าเวลา (แสดงในที่นี้ใน สัญกรณ์บิ๊กโอ )...

อัลกอริทึมแบบสุ่มเชิงเส้นตามเวลา

อัลกอริทึมแบบสุ่มเชิง เส้น ที่ คาดหวังเวลา ของ Rabin (1976) ซึ่งได้รับการดัดแปลงเล็กน้อยโดย Richard Lipton เพื่อให้การวิเคราะห์ง่ายขึ้น ดำเนินการดังต่อไปนี้ บนชุดข้อมูลนำเข้าที่ประกอบด้วยจุดในปริภูมิยุคลิดมิติ: เอส {\displaystyle S} n {\displaystyle n} เค...

ปัญหาการจับคู่ที่ใกล้ที่สุดแบบไดนามิก

รูป แบบไดนามิก ของปัญหาการจับคู่ที่ใกล้ที่สุดมีรายละเอียดดังนี้: