ความซับซ้อนแบบสอบถามแบบสุ่มของปัญหาต้นไม้ทรงจำ


23

กระดาษ 2546 ที่มีความสำคัญโดย Childs และคณะแนะนำ "ปัญหาต้นไม้ที่มีความทรงจำ": ปัญหาในการยอมรับการเร่งความเร็วควอนตัมแบบเอ็กซ์โปเนนเชียลซึ่งไม่เหมือนกับปัญหาอื่น ๆ ที่เรารู้ ในปัญหานี้เราได้รับกราฟขนาดใหญ่แบบเอ็กซ์โปเนนเชียลเช่นเดียวกับภาพด้านล่างซึ่งประกอบด้วยต้นไม้ไบนารีสองต้นที่มีความลึก n ซึ่งใบไม้เชื่อมต่อกันโดยรอบสุ่ม เราจัดทำฉลากของจุดเข้าใช้งาน นอกจากนี้เรายังมี oracle ที่ระบุฉลากของจุดสุดยอดใด ๆ ให้เราทราบถึงฉลากของเพื่อนบ้าน เป้าหมายของเราคือค้นหาจุดสุดยอด EXIT (ซึ่งสามารถจดจำได้ง่ายเป็นจุดสุดยอดระดับ 2 เท่านั้นในกราฟอื่นที่ไม่ใช่จุดสุดยอดการเข้า) เราสามารถสันนิษฐานได้ว่าเลเบลเป็นสตริงแบบสุ่มที่มีความยาวน่าจะเป็นดังนั้นจุดสุดยอดอื่นที่ไม่ใช่ทางเข้าจุดยอดจะถูกกำหนดโดย oracle

พระเกศาและคณะ แสดงให้เห็นว่าอัลกอริธึมการเดินควอนตัมสามารถทะลุผ่านกราฟนี้และค้นหาจุดยอด EXIT หลังจากขั้นตอนโพลี (n) ในทางตรงกันข้ามพวกเขายังแสดงให้เห็นว่าอัลกอริธึมการสุ่มแบบคลาสสิกต้องใช้ขั้นตอน exp (n) เพื่อหาจุดสุดยอด EXIT ที่มีความน่าจะเป็นสูง พวกเขากล่าวถึงขอบเขตล่างของพวกเขาว่าΩ (2 n / 6 ) แต่ฉันเชื่อว่าการตรวจสอบหลักฐานที่ใกล้ชิดของพวกเขาให้ผลตอบแทนΩ (2 n / 2 ) โดยสัญชาตญาณเพราะนี่คือความน่าจะเป็นอย่างยิ่งการเดินสุ่มบนกราฟ (แม้กระทั่งการหลีกเลี่ยงการเดินด้วยตนเอง ฯลฯ ) จะติดอยู่ในภูมิภาคกลางอันกว้างใหญ่เป็นระยะเวลาแบบทวีคูณ: เมื่อใดก็ตามที่วอล์คเกอร์เริ่มมุ่งหน้าไปยัง EXIT จำนวนของขอบที่มากขึ้นซึ่งชี้ออกจาก EXIT จะทำหน้าที่เป็น "แรงผลักดัน" ที่ผลักกลับไปที่ตรงกลาง

วิธีที่พวกเขาทำให้ข้อโต้แย้งเป็นทางการนั้นแสดงให้เห็นว่าจนกระทั่งถึงจุดยอด~ 2 n / 2อัลกอริธึมแบบสุ่มยังไม่พบวัฏจักรใด ๆในกราฟ: กราฟย่อยที่เหนี่ยวนำซึ่งมันเห็นเป็นเพียงต้นไม้ ข้อมูลใด ๆ เกี่ยวกับจุดสุดยอดออกที่อาจเป็น

ฉันสนใจที่จะตรึงความซับซ้อนของแบบสอบถามแบบสุ่มของปัญหานี้ให้แม่นยำยิ่งขึ้น คำถามของฉันคือ:

ทุกคนสามารถคิดอัลกอริธึมแบบคลาสสิคที่พบจุดยอด EXIT ในเวลาน้อยกว่า ~ 2 nก้าว --- พูดว่าใน O (2 n / 2 ) หรือ O (2 2n / 3 ) อีกวิธีหนึ่งใครสามารถให้ขอบเขตล่างดีกว่าΩ (2 n / 2 )?

(โปรดทราบว่าโดยเส้นขนานวันเกิดมันไม่ยากที่จะหาวัฏจักรในกราฟหลังจากขั้นตอนO (2 n / 2 ) คำถามคือว่าใครสามารถใช้วงจรเพื่อรับเบาะแสใด ๆ เกี่ยวกับจุดยอดของ EXIT)

ถ้าใครสามารถปรับปรุงขอบเขตล่างที่ผ่านมาΩ (2 n / 2 ), จากความรู้ของฉัน, นี่จะเป็นตัวอย่างแรกที่พิสูจน์ได้ของปัญหากล่องดำที่มีการเร่งควอนตัมเชิงเลขชนวน, ซึ่งความซับซ้อนของแบบสอบถามแบบสุ่มมากกว่า randomN . (โดยที่ N ~ 2 nคือขนาดของปัญหา)

อัปเดต:ฉันได้เรียนรู้จาก Andrew Childs ว่าในหมายเหตุนี้ Fenner และ Zhang ปรับปรุงขอบเขตล่างแบบสุ่มสำหรับต้นไม้ที่อยู่ในความทรงจำเป็นΩ (2 n / 3 ) หากพวกเขายินดีที่จะยอมรับความน่าจะเป็นที่ประสบความสำเร็จคงที่ (มากกว่าเล็ก) ฉันเชื่อว่าพวกเขาสามารถปรับปรุงขอบเขตต่อไปเป็น to (2 n / 2 )

ป้อนคำอธิบายรูปภาพที่นี่

คำตอบ:


22

ฉันคิดว่าฉันมีอัลกอริทึมที่กำหนดไว้ซึ่งพบทางออกใน oracle callO(n2n/2)

ก่อนอื่นค้นหาป้ายกำกับสำหรับจุดยอดทั้งหมดของระยะทางจากทางเข้า สิ่งนี้ต้องใช้แบบสอบถามO ( 2 n / 2 ) จากนั้นเริ่มจากทางเข้าและเดินn + 1ขั้นตอนเพื่อไปยังโหนดXระยะทางn + 1จากทางเข้า เราจะพยายามไปให้ถึงทางออกจากโหนดนี้n/2O(2n/2)n+1Xn+1

เรามีสองตัวเลือกว่าจะไปที่ไหนจากและเราต้องการเลือกทางออกที่ใกล้กว่า การทำเช่นนี้เลือกหนึ่งในตัวเลือกที่พลที่เดินทางมาถึงโหนดY จากนั้นสำรวจทั้งหมดO ( 2 n / 2 )วิธีการเดินn / 2ขั้นตอนจากY หากหนึ่งในนั้นให้ฉลากของระยะทางn / 2จากทางเข้าเรารู้ว่าการไปจากXเป็นYเป็นตัวเลือกที่ผิด มิฉะนั้นYเป็นตัวเลือกที่ถูกต้อง ดังนั้นในO ( 2 n / 2XYO(2n/2)n/2Yn/2XYYเราพบโหนด X 2ของระยะทาง n + 2จากทางเข้าO(2n/2)X2n+2

เราสามารถดำเนินการต่อด้วยวิธีนี้ เพื่อหาโหนดของระยะทางจากทางเข้าเราเริ่มต้นที่X 2และเดินสองขั้นตอนโดยพลการ จากนั้นเราสำรวจตัวเลือกทั้งหมดสำหรับการเดินn / 2ขั้นตอนเพิ่มเติม (ในขณะที่ไม่เดินย้อนกลับ) และตรวจสอบว่ามีวิธีใดระยะทางn / 2จากทางเข้า สิ่งนี้จะเกิดขึ้นหากว่าขั้นตอนแรกที่เราเดินจากX 2นั้นผิดn+3X2n/2n/2X2

การไปยังทางออกต้องใช้ครั้งนี้เพื่อให้มีการเรียกใช้ oracle ทั้งหมดO ( n 2 n / 2 ) นอกจากนี้อาจจะแปลกใจว่าอัลกอริทึมนี้กำหนดขึ้นnO(n2n/2)

แก้ไข:เพียงชี้แจงจะได้รับจากเพื่อX T + 1เราเดินทีขั้นตอนโดยพลแล้วเรียกใช้การค้นหาของความลึกn / 2รวมของT + 2 n / 2ขั้นตอน หากขั้นตอนแรกนำห่างจากทางออกแล้วทั้งหมดเป็นครั้งแรกทีทำตามขั้นตอนไม่ได้และเราจึงพบป้ายชื่อของระยะไกลn / 2จากทางเข้า ซึ่งหมายความว่าT + 2 n / 2ขั้นตอนพอเพียงสำหรับการกำหนดขั้นตอนเดียวต่อไปที่จะใช้เวลาจากX ทีXtXt+1tn/2t+2n/2tn/2t+2n/2Xt.


ฉันไม่เข้าใจ เพื่อหาคุณจะทำให้ทีโดยพลการไม่ไกลจากX Tแล้วn / 2ขั้นตอนเพิ่มเติม? นี่จะไม่ให้2 t 2 n / 2ขั้นตอนซึ่งมากเกินไปหรือไม่ Xt+1tXtn/22t2n/2
domotorp

ฉันสองความสับสนของ domotorp มันไม่ใช่กรณีที่ยิ่งคุณเข้าใกล้ EXIT มากเท่าไหร่เส้นทางที่คุณจะต้องเดินทางไปถึงหนึ่งในจุดที่คุณเริ่มต้นตอนนี้ ถึงกระนั้นคุณอาจใช้ประโยชน์จากความจริงที่ว่าเส้นทางที่เริ่มเข้าใกล้ EXIT นั้นมีแนวโน้มที่จะเคลื่อนตัวไปทางซ้ายตรงกลางจนกว่าจะถึงจุดสูงสุด (นี่จะเพิ่มการสุ่มให้อัลกอริทึมของคุณสักหน่อย)2n/2
Scott Aaronson

ลองคิดดูสิถ้าเราใช้ประโยชน์จากความจริงที่ว่าจากจุดสุดยอดในครึ่งขวาของกราฟคุณมีโอกาส 1/2 ที่จะเลือกทิศทางที่จะนำคุณกลับมาที่ศูนย์อย่างไม่รู้จักจบสิ้น นั่นอาจเพียงพอที่จะทำให้เรา n / 2 อยู่ห่างจากจุดสุดยอดของ EXIT ซึ่งจะทำให้เราสามารถค้นหาจุดสุดยอดของ EXIT ได้ด้วยข้อความค้นหาเพิ่มเติม2n/2
Scott Aaronson

1
Xt+1tXtt2tn/22n/2t+2n/2ttt

1
แนวคิดของการเริ่มต้นค้นหาจากปลายทั้งสองและนำไปสู่การปรับปรุง sqrt () เหนืออัลกอริทึมไร้เดียงสาเป็นที่รู้จักกันในชื่อการค้นหาแบบสองทิศทางและได้รับการค้นพบใหม่อย่างอิสระหลายครั้งในบริบทต่างๆเช่นการวางแผนเส้นทางในแผนที่ ข้อมูลอ้างอิงดั้งเดิมน่าจะเป็น: GB Dantzig การเขียนโปรแกรมเชิงเส้นและส่วนขยาย สำนักพิมพ์มหาวิทยาลัยพรินซ์ตัน, 1962.
Alex Lopez-Ortiz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.