การแยก NP จาก BQP ที่สัมพันธ์กับ oracle


10

ฉันกำลังดูบันทึกการบรรยายนี้ที่ผู้เขียนให้การแยกระหว่าง oracleBQP และ NP. เขาบอกว่า "เทคนิค diagonalisation มาตรฐานสามารถใช้เพื่อทำให้สิ่งนี้เข้มงวด" ได้อย่างไร

ใครบางคนสามารถให้รายละเอียดเกี่ยวกับเทคนิคการทแยงมุมที่ควรใช้? ควรจะมีความแตกต่างที่สำคัญอย่างสังหรณ์ใจระหว่างสิ่งที่เคยใส่บางสิ่งบางอย่างนอกคลาสที่ซับซ้อนคลาสสิกและสิ่งที่เคยใส่บางสิ่งออกไปข้างนอกBQP. โดยเฉพาะเนื่องจากอัลกอริทึมของโกรเวอร์นั้นดีที่สุดฉันกำลังมองหาเทคนิคแนวทแยงมุมซึ่งเราสามารถสร้าง oracle ได้A ซึ่ง NPABQPA.

คำตอบ:


2

It seems to me that the diagonalisation arguments that can be used are only slightly different from a standard one, e.g. such as can be found in these lecture notes about the Baker–Gill–Solovay Theorem (i.e., that there are oracles A for which PA=NPA และออราเคิล A ซึ่ง PANPA) โดยทั่วไปคุณจะต้องอธิบายวิธีการ 'ป้อนข้อมูล' ฝ่ายตรงข้ามให้แตกต่างกันเล็กน้อย

นี่คือวิธีที่เราอาจใช้วิธีนี้เพื่อพิสูจน์การมีอยู่ของออราเคิล A ซึ่ง NPABQPA. สำหรับ oracle ใด ๆAกำหนดภาษา

LA={1n|z{0,1}n:A(z,0)=(z,1)}.
เป็นที่ชัดเจนว่า LANPA ด้วยเหตุผลง่ายๆที่เครื่องทัวริง nondeterministic สามารถตรวจสอบว่าอินพุตเป็นของแบบฟอร์มหรือไม่ 1n สำหรับบางคน nแล้วคาดเดาสตริง z{0,1}n ซึ่ง A(z,0)=(z,1) ถ้าเช่นนั้น zที่มีอยู่ เป้าหมายคือการแสดงให้เห็นว่าLA ไม่สามารถตัดสินใจได้ในเวลาพหุนามด้วยข้อผิดพลาดที่ถูกล้อมรอบโดยตระกูลวงจรรวมที่เหมือนกันโดยใช้ O(2n/2) ขอบเขตล่างของปัญหาการค้นหา

  1. ปล่อย c,N>0 เป็นเช่นนั้นกับปัญหาการค้นหาใน oracles ด้วย nอินพุตบิตต้องการอย่างน้อย c2n/2 oracle ทำการสืบค้นอย่างถูกต้อง (ด้วยความน่าจะเป็นอย่างน้อย 2/3) สำหรับทุกคน n>N.

  2. ปล่อย C(1), C(2), เป็นเครื่องนับจำนวนตระกูลออราเคิลรวมทั้งหมด C(k)={Cn(k)}n0เช่นว่าลำดับประตูของวงจร Cn(k) ทำหน้าที่ใน n- บิตอินพุตสามารถผลิตได้ในเวลาน้อยกว่าอย่างเคร่งครัด c2n/2. (เวลานี้เกี่ยวข้องกับสภาพ 'ความสม่ำเสมอ' ซึ่งเราจะสนใจในวงจรสามารถคำนวณได้โดยเครื่องทัวริงที่กำหนดขึ้นในเวลาพหุนาม - สภาพที่แข็งแกร่งกว่าที่เรากำหนดที่นี่การแจงนับของตระกูลวงจรเหล่านี้สามารถทำได้สำหรับ อินสแตนซ์โดยเป็นตัวแทนของพวกเขาโดยอ้อมโดยทัวริงเครื่องกำหนดT(k)ซึ่งสร้างลำดับเกทของพวกเขาและแจกแจงพวกนั้น ) เราแจกแจงตระกูลวงจรเพื่อให้แต่ละตระกูลวงจรเกิดขึ้นอย่างไม่สิ้นสุดบ่อยครั้งในการแจงนับ

    • จากขอบเขตรันไทม์บนคำอธิบายของลำดับเกตตามด้วยโดยเฉพาะอย่างยิ่ง Cn(k) มีน้อยกว่า c2n/2 ประตูสำหรับทุกคน kและโดยเฉพาะอย่างยิ่งทำให้น้อยกว่า c2n/2 แบบสอบถามไปยัง oracle

    • สำหรับคนใด nพิจารณาวงจร Cn(n). จากขอบเขตล่างของปัญหาการค้นหาเรารู้ว่าสำหรับn>N มีค่าที่เป็นไปได้ของฟังก์ชั่น oracle f:{0,1}n{0,1} ประเมินโดย oracle เช่นว่าด้วยความน่าจะเป็น 2/3 ผลผลิตที่ผลิตโดย Cn(n) บนอินพุต 1n ไม่ใช่คำตอบที่ถูกต้องหรือไม่ z{0,1}n:f(z)=1.

    • แต่ละ n>Nเลือกฟังก์ชั่นดังกล่าว fn ซึ่ง Cn(n) "ล้มเหลว" ด้วยวิธีนี้

  3. ปล่อย A เป็น oracle ที่ขนาดอินพุต n>Nประเมินผล fn.

มีการสร้าง A ด้วยวิธีนี้แต่ละตระกูลวงจร C(n) ตัดสินใจไม่ถูกต้อง LA ด้วยความน่าจะเป็นอย่างน้อย 2/3 สำหรับบางคน n>N (และอีกมากมายเช่นนี้ nในความเป็นจริง). ถ้าอย่างนั้นไม่มีตระกูลวงจรC(k) ตัดสินใจได้อย่างถูกต้อง LA ด้วยความน่าจะเป็นที่ประสบความสำเร็จล้อมรอบด้านล่าง 2/3 ของอินพุตทั้งหมดดังนั้น LA ไม่สามารถแก้ไขได้ด้วยขอบเขตดังกล่าวโดยตระกูลวงจรรวมเครื่องแบบที่สร้างขึ้นได้ทันเวลา p(n).

ดังนั้น, LABQPAซึ่งมันตามมานั้น NPABQPA.

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