การคำนวณออราเคิลเสร็จสมบูรณ์ / เส้นทางการดำรงอยู่ของออราเคิล


9

มีคำถามสองสามข้อ ( 1 , 2 , 3 ) เกี่ยวกับความสมบูรณ์ของสกรรมกริยาที่นี่ทำให้ฉันคิดว่าถ้าเป็นไปได้:

สมมติว่าเราได้รับกราฟกำกับการป้อนข้อมูล G และต้องการตอบคำถามประเภท "(u,v)G+? "คือถามว่ามีขอบระหว่างจุดยอดสองจุดในการทำให้สกรรมกริยาของกราฟเสร็จสมบูรณ์หรือไม่ G? (อย่างเท่าเทียมกัน "จะมีเส้นทางจากu ถึง v ใน G? ")

สมมติว่าหลังจากที่ได้รับ G คุณได้รับอนุญาตให้เรียกใช้การประมวลผลล่วงหน้าตามเวลาที่กำหนด f(n,m) และต้องตอบคำถามในเวลา g(n,m).

เห็นได้ชัดว่าถ้า f=0 (เช่นไม่อนุญาตให้ทำการประมวลผลล่วงหน้า) สิ่งที่ดีที่สุดที่คุณสามารถทำได้คือตอบแบบสอบถามในเวลา g(n)=Ω(n+m). (เรียกใช้ DFS จากu ถึง v และคืนค่าจริงถ้ามีเส้นทาง)

ผลการค้นหาที่น่ารำคาญก็คือถ้า f=Ω(min{nm,nω})คุณสามารถคำนวณการปิดสกรรมกริยาแล้วตอบแบบสอบถามใน O(1).

มีอะไรอยู่ตรงกลาง? หากคุณได้รับอนุญาตให้พูดf=n2 เวลาประมวลผลล่วงหน้าคุณสามารถตอบคำถามได้เร็วกว่า O(m+n)? อาจปรับปรุงเป็นO(n)?

รูปแบบอื่นคือ: สมมติว่าคุณมี poly(n,m) เวลาประมวลผลล่วงหน้า แต่เท่านั้น o(n2) คุณสามารถใช้การประมวลผลล่วงหน้าเพื่อตอบคำถามที่มีประสิทธิภาพมากกว่า O(n+m)?

เราสามารถพูดอะไรโดยทั่วไปเกี่ยวกับ f,g ข้อเสียที่อนุญาตให้ตอบแบบสอบถามเช่นนี้?

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


Hamming ระยะทางระหว่างสองโหนด i และ j สามารถเข้าถึงได้ tกระโดดอาจเป็นตัวชี้วัดที่ให้ข้อมูลเพิ่มเติม
ชาด Brewbaker

คำตอบ:


6

มี oracles ที่สามารถเข้าถึงได้ขนาดกะทัดรัดสำหรับกราฟระนาบ

Mikkel Thorup: ออราเคิลขนาดกะทัดรัดสำหรับการเชื่อมและประมาณระยะทางใน digraphs J. ACM 51 (6): 993-1024 (2004)

แต่เป็น "ยาก" สำหรับกราฟทั่วไป (แม้แต่กราฟหร็อมแหร็ม)

หมดเวลา Patrascu: Unifying ภูมิทัศน์ของ Cell-Probe ล่างขอบเขต SIAM J. Comput 40 (3): 827-847 (2011)

อย่างไรก็ตามมีอัลกอริทึมที่สามารถคำนวณการติดฉลากการเข้าถึงได้ใกล้เคียงกับที่เหมาะสมที่สุด

อีดิ ธ โคเฮน Eran Halperin ฮาอิมแคปแลนยูริซวิค: reachability และระยะทางแบบสอบถามผ่านทางป้าย SIAM J. Comput 32 (5): 1338-1355 (2003)

Maxim A. Babenko, แอนดรู V. Goldberg, Anupam แคนด์ Viswanath Nagarajan: อัลกอริทึมสำหรับการเพิ่มประสิทธิภาพ Hub ฉลาก ICALP 2013: 69-80

การสร้างผลงานของโคเฮนและคณะ และอื่น ๆ มีการวิจัยประยุกต์เล็กน้อย (ชุมชนฐานข้อมูล) ดูเช่น

Ruoming Jin, Guan Wang: Oracle การเข้าถึงได้ง่ายรวดเร็วและปรับขนาดได้ PVLDB 6 (14): 1978-1989 (2013)

Yosuke Yano, ทาคุยะอากิ Yoichi วาตะยูอิจิโยชิดะ: ด่วนและปรับขนาดได้คำสั่งเชื่อมในกราฟโดยการติดฉลากตัดกับสถานที่สำคัญและเส้นทาง CIKM 2013: 1601-1606


4

ฉันจะตอบคำถามของคุณบางส่วน: ดูเหมือนจะมีเหตุผลบางประการที่การก่อสร้างดังกล่าวอาจหาได้ยาก

สมมติว่ากราฟที่กำกับโดย n-node m-edge ใด ๆ ที่คุณสามารถประมวลผลล่วงหน้าในเวลา T (m, n) เพื่อให้สามารถตอบแบบสอบถามการเข้าถึงได้ในเวลา q (m, n) ยกตัวอย่างเช่นคุณสามารถหาสามเหลี่ยมในกราฟของ n-node m-edge กราฟT(O(m),O(n))+nq(O(m),O(n))เวลา. ด้วยเหตุนี้T(m,n)=O(n2) และ q(m,n)=O(n)จะบ่งบอกถึงผลการฝ่าฟัน อัลกอริทึมที่ดีที่สุดที่เรามีสำหรับการค้นหารูปสามเหลี่ยมวิ่งเข้ามาO(nω) เวลาและมันไม่ชัดเจนว่า ω=2.

หากต้องการดูการลดลงสมมติว่าเราต้องการหาสามเหลี่ยมในกราฟ G. สร้างกราฟ 4 ชั้นใน 4 ชุดn แต่ละโหนด X,Y,Z,W ที่แต่ละโหนดเดิม v ใน G มีสำเนา vX,vY,vZ,vW. ตอนนี้สำหรับแต่ละขอบ(u,v) ใน G เพิ่มขอบกำกับ (uX,vY),(uY,vZ),(uZ,vW). สิ่งนี้จะทำให้กราฟสมบูรณ์ ตอนนี้ทำการประมวลผลล่วงหน้าT(O(m),O(n)) เวลาและถามคำถามเกี่ยวกับ vX,vW แต่ละ v.

อาจเป็นไปได้ที่จะมีงานอีกหลายชิ้นที่สามารถเปลี่ยนการลดลงเพื่อแสดงรายการสามเหลี่ยมในกราฟ (ขณะนี้แสดงเฉพาะโหนดในรูปสามเหลี่ยม) หากใครสามารถทำสิ่งนี้ได้อย่างมีประสิทธิภาพก็อาจจะมีขอบเขตล่างที่มีเงื่อนไขตาม 3SUM ที่ต้องการn2+o(1) เวลาเช่นกันโดยใช้ผลลัพธ์ของ Patrascu จากปี 2010

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