แก้ไขระยะทางในพื้นที่ sublinear


19

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

หากต้องการทำให้คำถามมีความเฉพาะเจาะจงมากขึ้นเพียงเล็กน้อยช่องว่างที่nคือความยาวของแต่ละสตริงอินพุตΘ(n)n


แก้ไข การปฏิบัติตามคำตอบของ David Eppstein ดูเหมือนว่าคำถามที่ดีคือหากระยะทางแก้ไขสามารถพบได้ในเวลาพหุนามและพื้นที่ ขอบเขตที่ต่ำกว่าก็น่าสนใจเช่นกันΘ(n)


1
เกี่ยวกับการแก้ไข: ฉันคิดว่าคุณเข้าใจผิดบางอย่าง คำตอบของ David Eppstein แสดงให้เห็นว่าปัญหาสามารถแก้ไขได้ใน NL ดังนั้นใน P.
Emil Jeřábekสนับสนุนโมนิกา

1
... จริงๆแล้วอัลกอริทึมของแว็กเนอร์ - ฟิชเชอร์ดั้งเดิมทำเช่นนั้น
Emil Jeřábekสนับสนุน Monica

3
ฉันถือว่ารุ่นที่แก้ไขนั้นมีวัตถุประสงค์เพื่อขออัลกอริธึมที่มีทั้งช่องว่างย่อยและเวลาพหุนาม
David Eppstein

@DavidEppstein ใช่แน่นอน ฉันได้แก้ไขอีกครั้งเพื่อความกระจ่าง
เฟลิกซ์

BTW สมมติว่ารูปแบบการกำหนดราคามาตรฐานเท่ากับ 1 ต่อ midmatch / delete / insert จากนั้นหากระยะทางแก้ไขเป็น l เส้นทางจะทำให้เส้นทางที่สั้นที่สุดในระยะแก้ไข matric อยู่ในระยะทางที่ l จากเส้นทแยงมุมหลักแล้ว คำนวณระยะทางแก้ไขโดยใช้พื้นที่ O (l) ดังนั้นด้วยพื้นที่ sqrt (n) คุณสามารถคำนวณระยะทางแก้ไขได้ถ้ามันมีขนาดเล็ก (เช่นเล็กกว่า sqrt (n)) มันก็ต่อเมื่อมันมีขนาดใหญ่ซึ่งมันดูยาก แน่นอนในกรณีนี้คุณควรใส่ใจน้อยกว่า
Sariel Har-Peled

คำตอบ:


16

O(log2n)nO(logn)

มีระยะห่างที่ต่ำกว่าสำหรับการแก้ไขระยะทางในhttp://arxiv.org/abs/1106.4412แต่ฉันไม่คิดว่ามันจะตรงกับปัญหาของคุณ


คุณจะตรวจสอบเส้นทางที่คุณพบว่าดีที่สุดได้อย่างไร
Lembik

1
การค้นหาแบบไบนารี่หรือการค้นหาตามลำดับสำหรับระยะทางที่เล็กที่สุดซึ่งสามารถหาพา ธ ได้คือไม่มีอะไรเกินกว่าความเท่าเทียมมาตรฐานของการตัดสินใจและปัญหาการค้นหา สิ่งนี้จะไม่ส่งผลต่อรูปแบบของพื้นที่หรือเวลาที่ถูกผูกไว้
David Eppstein

@ David ฉันคิดว่าคุณถูกต้องดังนั้นฉันได้ลบคำตอบของฉัน
SamiD

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