สรุป
- มีทฤษฎีความซับซ้อนของปัญหาการค้นหา (หรือที่เรียกว่าปัญหาความสัมพันธ์) ทฤษฎีนี้รวมถึงคลาสที่เรียกว่าFP , FNPและFBQPซึ่งมีประสิทธิภาพเกี่ยวกับการแก้ปัญหาการค้นหาด้วยทรัพยากรประเภทต่างๆ
- จากปัญหาการค้นหาคุณยังสามารถกำหนดปัญหาการตัดสินใจซึ่งช่วยให้คุณสามารถเชื่อมโยงปัญหาการค้นหากับคลาสP , NPและBQPปกติ
- ไม่ว่าคุณจะพิจารณาเวอร์ชันการค้นหาของเวอร์ชันการตัดสินใจของปัญหาวิธีที่คุณพิจารณาอินพุตสำหรับปัญหาการค้นหาที่ไม่มีโครงสร้างจะกำหนดขอบเขตบนที่คุณสามารถใช้กับความซับซ้อนของมัน
ความซับซ้อนของปัญหาความสัมพันธ์
ดังที่คุณทราบปัญหาของโกรเวอร์แก้ปัญหาการค้นหาซึ่งบางครั้งก็เป็นที่รู้จักกันว่าเป็นปัญหาด้านความสัมพันธ์ นั่นคือมันเป็นปัญหาของการเรียงลำดับต่อไปนี้:
โครงสร้างของปัญหาการค้นหาทั่วไป
รับอินพุตและความสัมพันธ์แบบไบนารีหาค่าที่ถืออยู่R y R ( x , y )xRyR(x,y)
ความซับซ้อนของคลาสFPและFNPถูกกำหนดในแง่ของปัญหาดังกล่าวโดยเฉพาะอย่างยิ่งที่สนใจในกรณีที่มีความยาวที่ฟังก์ชันพหุนามความยาวสูงสุดของและความสัมพันธ์สามารถทำได้ ต้องนำไปคำนวณในจำนวนครั้งที่ล้อมรอบด้วยบางพหุนามในความยาวของy)x R ( x , y ) ( x , y )yxR(x,y)(x,y)
โดยเฉพาะอย่างยิ่ง: ตัวอย่างของปัญหา 'การค้นหาฐานข้อมูล' ซึ่ง Grover's Search มักจะนำไปใช้สามารถอธิบายได้ดังนี้
การค้นหาที่ไม่มีโครงสร้าง
รับอินพุต oracleเช่นนั้นสำหรับฟังก์ชัน , หาเช่นนั้น\ O | a ⟩ | b ⟩ = | a ⟩ | b ⊕ f ( a ) ⟩ f : { 0 , 1 } m → { 0 , 1 } y O | y ⟩ | 0 ⟩ = | y ⟩ | 1 ⟩O:H⊗m+12→H⊗m+12O|a⟩|b⟩=|a⟩|b⊕f(a)⟩f:{0,1}m→{0,1}yO|y⟩|0⟩=|y⟩|1⟩
ที่นี่ oracle เองก็เป็นตัวป้อนปัญหา: มันเล่นบทบาทของและความสัมพันธ์ที่เราใช้คือ
R ( O , y )x
R(O,y)≡[O|y⟩|0⟩=|y⟩|1⟩]≡[f(y)=1].
สมมติว่าแทนที่จะเป็น oracle เราได้รับอินพุตที่เฉพาะเจาะจงซึ่งอธิบายว่าจะคำนวณฟังก์ชันได้อย่างไรจากนั้นเราสามารถพิจารณาว่าความซับซ้อนของปัญหานี้เป็นของคลาสใด ตามที่ระบุระดับความซับซ้อนที่เหมาะสมที่เราได้รับนั้นขึ้นอยู่กับวิธีการป้อนข้อมูลfxfpyramids
สมมติว่าฟังก์ชั่นการป้อนข้อมูลให้เป็นฐานข้อมูล (ในขณะที่ปัญหาจะอธิบายบางครั้ง) ที่เข้าสู่ฐานข้อมูลแต่ละคนมีความยาวบาง\ถ้าคือความยาวของสตริงใช้เพื่ออธิบายฐานข้อมูลทั้งหมดแล้วฐานข้อมูลมีรายการ แล้วมันเป็นไปได้ที่จะละเอียดถี่ถ้วนค้นหาฐานข้อมูลทั้งหมดโดยการสอบถามแต่ละรายการในลำดับและหยุดหากเราพบรายการดังกล่าวว่า1 สมมติว่าแต่ละแบบสอบถามไปยังฐานข้อมูลใช้เวลาเช่นเวลาขั้นตอนนี้จะหยุดในเวลาn x N = n / ℓ N y f ( y ) = 1 O ( บันทึกN ) ⊆ O ( บันทึกn ) O ( N บันทึกN ) ⊆ O ( n บันทึกn )ℓnxN=n/ℓNyf(y)=1O(logN)⊆O(logn)O(NlogN)⊆O(nlogn)เพื่อให้ปัญหาอยู่ในFP
สมมติว่าฐานข้อมูลการค้นหาสามารถทำได้ในการทับซ้อนกันอัลกอริทึมของโกรเวอร์ช่วยให้ปัญหานี้อยู่ในFBQP แต่เป็นFP ⊆ FBQPการค้นหาหมดจดคลาสสิกยังพิสูจน์ให้เห็นว่าปัญหานี้เป็นปัญหาในFBQP สิ่งที่เราได้รับ (ขึ้นอยู่กับปัจจัยบันทึก) คือการเพิ่มความเร็วเป็นกำลังสองเนื่องจากการประหยัดจำนวนการสืบค้นฐานข้อมูล
สมมติว่าฟังก์ชั่นการป้อนข้อมูลถูกอธิบายอย่างกระชับโดยอัลกอริทึมพหุนาม - เวลาที่ใช้สเปคและอาร์กิวเมนต์และคำนวณบนพื้นฐานของรัฐมาตรฐานที่อาจจะมีขนาดใหญ่กว่าn) ตัวอย่างจะเป็นที่ที่ระบุรูปแบบ CNF ของฟังก์ชันบูลีนสำหรับซึ่งในกรณีนี้เราอาจประเมินได้อย่างมีประสิทธิภาพบนอินพุต y ∈ { 0 , 1 } m O : H m + 1 2x∈{0,1}ny∈{0,1}mO:Hm+12→Hm+12m Ω ( บันทึกn ) x f : { 0 , 1 } m → { 0 , 1 } m ∈ O ( n ) f ( y ) y ∈ { 0 , 1 } m O|y⟩|b⟩mΩ(logn)xf:{0,1}m→{0,1}m∈O(n)f(y)y∈{0,1}mและมีประสิทธิภาพประเมินในสถานะมาตรฐาน ซึ่งจะทำให้เกิดปัญหาในการพร่ำO
ให้ขั้นตอนการประเมินจากในเวลาสำหรับอัลกอริทึมของ Grover แก้ปัญหาการค้นหาที่ไม่มีโครงสร้างสำหรับในเวลาn}) นี่ไม่ใช่พหุนามในและไม่เพียงพอที่จะทำให้ปัญหานี้ในFBQP : เราจะได้รับการเพิ่มความเร็วเป็นกำลังสอง - แม้ว่านี่จะยังคงประหยัดเวลาในการคำนวณได้อย่างมากสมมติว่าประโยชน์จากอัลกอริทึมของ Grover ไม่ได้หายไป ค่าใช้จ่ายที่จำเป็นสำหรับการคำนวณควอนตัมที่ทนต่อความผิดพลาด( x , y ) O ( p ( n ) ) n = | x | O O ( p ( n ) √f(y)(x,y)O(p(n))n=|x|O⊆O(p(n)√O(p(n)2m−−−√) n⊆O(p(n)2n−−√)n
ในทั้งสองกรณีซับซ้อนจะพิจารณาในแง่ของความยาวของสตริง * ซึ่งระบุวิธีการคำนวณพยากรณ์O ในกรณีที่แทนตารางการค้นหาเรามีซึ่งในกรณีนี้ประสิทธิภาพการทำงานของฟังก์ชันจะคล้ายกับประสิทธิภาพการทำงานเป็นฟังก์ชันของ ; แต่ในกรณีที่ชัดเจนระบุและข้อความภาพใหญ่ที่โกรเวอร์แก้ปัญหาในx O x N = n / ℓ N n x O N ∈ O ( 2 n / 2 ) O ( √nxOxN=n/ℓNnxON∈O(2n/2)O(N−−√) ข้อความค้นหาปิดบังข้อความที่ละเอียดยิ่งขึ้นซึ่งอัลกอริธึมนี้ยังคงเป็นเลขชี้กำลังสำหรับคอมพิวเตอร์ควอนตัม
การตัดสินใจที่ซับซ้อนจากปัญหาความสัมพันธ์
มีวิธีที่ตรงไปตรงมาที่จะได้รับปัญหาการตัดสินใจจากปัญหาความสัมพันธ์ซึ่งเป็นที่รู้จักกันดีจากทฤษฎีของปัญหา NP- ที่ไม่สมบูรณ์ : เพื่อเปลี่ยนปัญหาการค้นหาเป็นคำถามของการมีอยู่ของการแก้ปัญหาที่ถูกต้อง
เวอร์ชันการตัดสินใจของปัญหาการค้นหาทั่วไป
รับอินพุตและความสัมพันธ์แบบไบนารีพิจารณาว่าหรือไม่R ∃ y : R ( x , y )xR∃y:R(x,y)
ระดับความซับซ้อนของปัญหาสามารถกำหนดได้ในแง่ของปัญหาดังกล่าวเมื่อความสัมพันธ์สามารถคำนวณได้อย่างมีประสิทธิภาพ: ปัญหา NP ที่มีชื่อเสียงที่สุด(CNF-SAT, HAMCYCLE, 3-COLORING) เป็นเพียงการแก้ปัญหาที่ถูกต้อง ปัญหาความสัมพันธ์ที่ตรวจสอบได้อย่างมีประสิทธิภาพ การเปลี่ยนจากการแก้ปัญหาการผลิตเป็นการเพียงแค่ยืนยันว่าการดำรงอยู่ของการแก้ปัญหาเป็นสิ่งที่ช่วยให้เราสามารถอธิบายรุ่นของตัวประกอบจำนวนเต็มซึ่งอยู่ในBQP (โดยการถามว่ามีปัจจัยที่ไม่น่าสนใจมากกว่าการขอค่าปัจจัยที่ไม่สำคัญ) .R
ในกรณีของการค้นหาแบบไม่มีโครงสร้างคลาสความซับซ้อนที่อธิบายปัญหาได้อีกครั้งนั้นขึ้นอยู่กับว่าโครงสร้างข้อมูลเข้านั้นเป็นอย่างไร การพิจารณาว่ามีวิธีแก้ไขปัญหาความสัมพันธ์อยู่หรือไม่อาจลดลงเพื่อค้นหาและตรวจสอบวิธีแก้ไขปัญหา ดังนั้นในกรณีที่อินพุตเป็นสตริงระบุ oracle เป็นตารางการค้นหาปัญหาของการค้นหาที่ไม่มีโครงสร้างอยู่ในP ; และอื่น ๆ โดยทั่วไปถ้าระบุวิธีที่มีประสิทธิภาพในการประเมินคำพยากรณ์ที่เป็นปัญหาในNP อาจเป็นไปได้ว่ามีวิธีการพิจารณาว่ามีอยู่จริงหรือไม่xxx โซลูชันสำหรับการค้นหาแบบไม่มีโครงสร้างซึ่งทำได้โดยไม่ต้องค้นหาโซลูชันแม้ว่าจะไม่ชัดเจนโดยทั่วไปว่าจะทำอย่างไรในลักษณะที่จะให้ประโยชน์มากกว่าการค้นหาโซลูชัน
ความซับซ้อนของ Oracle
ฉันได้รับการผงาดขยับจากการพูดคุยเกี่ยวกับการพยากรณ์ , วิธีการที่อินพุตสามารถนำมาใช้เพื่อระบุ (และประเมินผลการศึกษา) พยากรณ์O แต่แน่นอนวิธีหลักที่เราพิจารณาว่าอัลกอริทึมของ Grover นั้นเป็นผลลัพธ์ของ oracle ซึ่งการประเมิน oracle นั้นใช้เวลาเพียงขั้นตอนเดียวและไม่จำเป็นต้องมี speficiation เราจะพิจารณาความซับซ้อนของปัญหาในกรณีนี้ได้อย่างไร x OOxO
ในกรณีนี้เรากำลังจัดการกับโมเดลการคำนวณเชิงสัมพันธ์ซึ่งการประเมิน oracle (ซึ่งจำไว้คืออินพุตของปัญหา) เป็นการดำเนินการดั้งเดิม oracle นี้ถูกกำหนดในทุกขนาดอินพุต: เพื่อพิจารณาปัญหาสำหรับการค้นหาสตริงที่มีความยาวคุณต้องระบุว่าคุณกำลังพิจารณาว่า oracleทำหน้าที่ในอินพุตของความยาวซึ่งจะทำอีกครั้งโดยพิจารณาความยาว ของสตริงบูลีนถ่ายเป็นอินพุต ในกรณีนี้วิธีที่เราจะนำเสนอปัญหาอาจเป็นดังนี้ n O n xOnOnx
ไม่มีโครงสร้างค้นหาเทียบกับออราเคิลO O ได้รับการป้อนข้อมูลของความยาว , x=11⋯1n
x=11⋯1n
ค้นหา (ปัญหาความสัมพันธ์) หรือy∈{0,1}n
ตรวจสอบว่ามี (ปัญหาการตัดสินใจ)y∈{0,1}n
เช่นว่า\O|y⟩|0⟩=|y⟩|1⟩
ปัญหานี้อยู่ใน (สำหรับปัญหาการตัดสินใจ) หรือ (สำหรับปัญหาความสัมพันธ์) ขึ้นอยู่กับรุ่นของปัญหาที่คุณต้องการ พิจารณา. เพราะอัลกอริทึมของโกรเวอร์ไม่ได้เป็นอัลกอริทึมพหุนามเวลาปัญหานี้จะไม่เป็นที่รู้จักที่จะอยู่ในหรือO} ในความเป็นจริงเราสามารถพูดอะไรบางอย่างที่แข็งแกร่งกว่าที่เราจะเห็นNPOFNPOBQPOFBQPO
เหตุผลที่ผมแปรงเหนือจริง, คำอธิบาย oracle-based ของที่ไม่มีโครงสร้างค้นหาอยู่ในเพื่อที่จะสัมผัสกับมุมของความซับซ้อนและโดยเฉพาะอย่างยิ่งที่จะสัมผัสกับคำถามของขนาดการป้อนข้อมูล ความซับซ้อนของปัญหาส่วนใหญ่ถูกควบคุมโดยวิธีการอินพุตที่ระบุ: เป็นข้อมูลจำเพาะที่รวบรัด (ในกรณีที่ฟังก์ชันระบุไว้ใน CNF-SAT) เป็นข้อกำหนดที่ชัดเจน (ในกรณีของตารางค้นหาสำหรับ ฟังก์ชั่น) หรือแม้กระทั่งเป็นจำนวนเต็มที่ระบุไว้ในเอกภาพคือความยาวของสตริง 1s ข้างต้น (เช่นใน "การค้นหาแบบไม่มีโครงสร้างที่สัมพันธ์กับ Oracle " ด้านบน)O
ดังที่เราเห็นได้จากกรณีหลังหากเราปฏิบัติต่อสิ่งที่ป้อนเข้ามาในรูปของพยากรณ์เท่านั้นสถานการณ์ดูเหมือนจะไม่ง่ายนักและแน่นอนว่ามันเป็นไปไม่ได้ที่จะพูดถึงวิธีการที่ฐานข้อมูลสามารถรับรู้ได้ แต่ข้อดีอย่างหนึ่งของการพิจารณาปัญหาที่สัมพันธ์กันกับพยากรณ์จริงคือเราสามารถพิสูจน์สิ่งต่าง ๆ ที่เราไม่ทราบวิธีที่จะพิสูจน์ หากเราสามารถพิสูจน์ได้ว่ารุ่นการตัดสินใจของปัญหาการค้นหาที่ไม่มีโครงสร้างรวบรัดอยู่ในBQPเราจะต้องตระหนักถึงความก้าวหน้าครั้งใหญ่ในการคำนวณเชิงปฏิบัติ และถ้าเราพิสูจน์ได้ว่าปัญหาการตัดสินใจไม่ได้อยู่ในBQPจริงเราก็จะแสดงให้เห็นว่าP ≠ PSPACEซึ่งจะเป็นการพัฒนาครั้งใหญ่ในความซับซ้อนของการคำนวณ เราไม่รู้วิธีการทำเช่นกัน แต่สำหรับปัญหาที่เกี่ยวข้องเราสามารถแสดงให้เห็นว่ามี oracleซึ่งเป็นเวอร์ชั่นการตัดสินใจของ "Unstructured Search เทียบกับ " อยู่ในแต่ไม่ใช่ในO} สิ่งนี้ช่วยให้เราแสดงให้เห็นว่าในขณะที่การคำนวณควอนตัมอาจมีประสิทธิภาพมีเหตุผลที่คาดว่าBQPอาจไม่มีNPและรุ่นที่เกี่ยวข้องของการค้นหาที่ไม่มีโครงสร้างโดยเฉพาะนั้นไม่น่าจะอยู่ในFBQPโดยไม่มีข้อ จำกัด ที่แข็งแกร่ง อินพุตถูกแสดงOONPOBQPO
\text{}
สำหรับการเขียนชื่อของคลาสความซับซ้อน ตัวอย่างเช่น\text{NP}
หรือ\text{BQP}