ผู้ดำเนินการแพร่กระจายของโกรเวอร์ทำงานอย่างไรและทำไมจึงเหมาะสมที่สุด


15

ในคำตอบนี้อธิบายถึงอัลกอริทึมของ Grover คำอธิบายบ่งชี้ว่าอัลกอริทึมนั้นอาศัยตัวดำเนินการกระจาย Groverอย่างมากแต่ไม่ได้ให้รายละเอียดเกี่ยวกับการทำงานภายในของตัวดำเนินการนี้

โดยย่อ Grover Diffusion Operator สร้าง 'การผกผันเกี่ยวกับค่าเฉลี่ย' เพื่อสร้างความแตกต่างเล็ก ๆ น้อย ๆ ในขั้นตอนก่อนหน้านี้ให้ใหญ่พอที่จะวัดได้

คำถามอยู่ในขณะนี้:

  1. ตัวดำเนินการแพร่ของ Grover บรรลุเป้าหมายอย่างไร
  2. ทำไมส่งผลให้เวลาในการค้นหาฐานข้อมูลที่ไม่มีการเรียงลำดับดีที่สุด?O(n)

1
เพียงแสดงความคิดเห็นในคำถามที่สอง มีงานแสดงให้เห็นว่าการติดตามของรัฐในอัลกอริทึมของโกรเวอร์เป็นไปตามที่ระบุเนื้อที่เชื่อมต่อสถานะเริ่มต้นของอัลกอริทึมและสถานะปลายทาง ดังนั้นมันจึงดีที่สุด
XXDD

คำตอบ:


5

เนื่องจากคำถามดั้งเดิมเกี่ยวกับคำอธิบายของคนธรรมดาฉันจึงเสนอวิธีแก้ปัญหาที่แตกต่างออกไปเล็กน้อยซึ่งอาจจะง่ายกว่าที่จะเข้าใจ (ขึ้นอยู่กับพื้นหลัง) ตามเวลาต่อเนื่อง วิวัฒนาการ. (ฉันไม่มีข้ออ้างว่ามันเหมาะสำหรับคนธรรมดาอย่างไร)

เราเริ่มต้นจากสถานะเริ่มต้นซึ่งเป็นชุดซ้อนของทุกรัฐ และเราตั้งเป้าหมายที่จะหาสถานะที่สามารถจดจำได้ว่าเป็นคำตอบที่ถูกต้อง (สมมติว่ามีสถานะหนึ่งเช่นนั้นแม้ว่าจะสามารถสรุปได้ทั่วไป) ในการทำเช่นนี้เรามีวิวัฒนาการในเวลาภายใต้การกระทำของ Hamiltonian คุณลักษณะที่สวยงามอย่างแท้จริงของการค้นหา Grover's คือ ณ จุดนี้เราสามารถลด maths ให้เป็น subspace ของสถานะเพียงสองสถานะแทนที่จะต้องใช้ทั้งหมด เป็นการง่ายกว่าที่จะอธิบายถ้าเราสร้างพื้นฐาน orthonormal จากรัฐเหล่านี้โดยที่ | xH=| xx| +| ψψ| . {| x,| ψ}2n{| x,| ψ}| ψ=1

|ψ=12ny{0,1}n|y
|x
H=|xx|+|ψψ|.
{|x,|ψ}2n{|x,|ψ} e-iHt| ψอี-ฉันที(ฉัน+2-nZ+
|ψ=12n-1ΣY{0,1}n:Yx|Y.
การใช้พื้นฐานนี้วิวัฒนาการเวลาสามารถเขียนเป็น ที่และเป็นเมทริกซ์มาตรฐานของ Pauli สิ่งนี้สามารถเขียนใหม่เป็น ดังนั้นถ้าเราวิวัฒนาการเป็นเวลาอี-ผมHเสื้อ|ψXZe-it(Icos(t
อี-ผมเสื้อ(ผม+2-nZ+2n-12nX)(12n1-12n),
XZ t=π
อี-ผมเสื้อ(ผมcos(เสื้อ2n/2)-ผม12n/2บาป(เสื้อ2n/2)(Z+X2n-1))(12n1-12n).
เสื้อ=π22n/2และไม่สนใจเฟสโกลบอลสถานะสุดท้ายคือ กล่าวอีกนัยหนึ่งด้วยความน่าจะเป็น 1 เราจะได้สถานะที่เรากำลังค้นหา คำอธิบายตามวงจรตามปกติของการค้นหาของ Grover เป็นเพียงการวิวัฒนาการเวลาต่อเนื่องที่แบ่งออกเป็นขั้นตอนโดยสิ้นเชิงด้วยข้อเสียเล็กน้อยที่คุณมักจะไม่ได้รับความน่าจะเป็นที่ 1 สำหรับผลลัพธ์ของคุณใกล้กับมันมาก
12n/2(Z+X2n-1)(12n1-12n)=(12n-2n-12n)+(1-12n2n-12n)=(10).
|x

ข้อแม้หนึ่งข้อต่อไปนี้: คุณสามารถกำหนดใหม่และวิวัฒนาการโดยใช้และเวลาวิวัฒนาการจะสั้นลง 5 เท่า หากคุณต้องการหัวรุนแรงจริงๆให้แทนที่ 5 ด้วยและการค้นหาของ Grover จะทำงานในเวลาที่แน่นอน! แต่คุณไม่ได้รับอนุญาตให้ทำสิ่งนี้โดยพลการ การทดลองใด ๆ ที่กำหนดจะมีความแข็งแรงสูงสุดต่อการมีเพศสัมพันธ์คงที่ (เช่นตัวคูณคงที่) ดังนั้นการทดลองที่แตกต่างกันมีเวลาการทำงานที่แตกต่างกัน แต่การปรับขนาดของพวกเขาคือเดียวกัน2} มันเหมือนกับบอกว่าค่าใช้จ่ายประตูในรูปแบบวงจรเป็นค่าคงที่มากกว่าสมมติว่าถ้าเราใช้วงจรของความลึกแต่ละประตูสามารถทำเพื่อให้ทำงานในเวลาที่ kH~=5HH~2n/22n/2k1/k

หลักฐานในการมองโลกในแง่ดีเกี่ยวข้องกับการแสดงว่าหากคุณทำการตรวจจับสถานะที่มีเครื่องหมายหนึ่งได้เร็วขึ้นมันจะทำการตรวจจับสถานะที่ทำเครื่องหมายแตกต่างกันช้ากว่า เนื่องจากอัลกอริทึมควรทำงานได้ดีเท่าเทียมกันไม่ว่าสถานะใดจะถูกทำเครื่องหมายวิธีนี้จึงเป็นวิธีที่ดีที่สุด|x|Y


4

วิธีหนึ่งในการกำหนดโอเปอเรเตอร์การกระจายคือ1 , โดยที่เป็นเฟสพยากรณ์ของD=-Hnยู0Hnยู0

U0|0n=|0n,U0|x=|xfor|x|0n.

นี้แสดงให้เห็นว่ายังสามารถเขียนเป็นให้ที่n}U0U0=I2|0n0n|

D=2|++|I,
|+=2n/2(|0+|1)n

การเขียนสถานะโดยที่คือ orthogonal ถึง (เช่นให้ขวา>|ψ=α|++β|+|+|+++=0)D|ψ=α|+β|+

สิ่งนี้ให้2ว่าตัวดำเนินการการแพร่เป็นการสะท้อนเกี่ยวกับ|+

ในฐานะที่เป็นส่วนอื่น ๆ ของอัลกอริทึมของโกรเวอร์เป็นยังสะท้อนเหล่านี้รวมถึงการหมุนของรัฐในปัจจุบันใกล้ชิดกับ 'การสืบค้นสำหรับ' ค่าx_0มุมนี้จะลดลงแบบเส้นตรงตามจำนวนรอบการหมุน (จนกว่าจะเกินกว่าค่าการค้นหา) ซึ่งทำให้ความน่าจะเป็นในการวัดค่าที่ถูกต้องจะเพิ่มขึ้นเป็นสองเท่าอย่างถูกต้องx0

Bennet et อัล แสดงให้เห็นว่านี่เป็นสิ่งที่ดีที่สุด ด้วยการนำโซลูชั่นแบบคลาสสิกไปสู่ปัญหา NP ทำให้อัลกอริทึมของโกรเวอร์สามารถใช้ความเร็วสองระดับนี้ อย่างไรก็ตามการใช้ภาษาสำหรับฟังก์ชันรักษาความยาว (ที่นี่, พยากรณ์), ใด ๆ ที่ จำกัด - ข้อผิดพลาด oracle ตามควอนตัมเครื่องทัวริงไม่สามารถยอมรับภาษานี้ในช่วงเวลาที่ขวา)LA={y:xA(x)=y}AT(n)=o(2n/2)

สิ่งนี้สามารถทำได้โดยการใช้ชุดของ oracles ที่ไม่มีสิ่งที่ตรงกันข้าม (ดังนั้นจึงไม่มีอยู่ในภาษา) อย่างไรก็ตามสิ่งนี้มีอยู่ในภาษาใหม่ตามคำจำกัดความ ความแตกต่างของความน่าจะเป็นของเครื่องที่รับและอีกเครื่องที่รับ|1nLAyLALAyในเวลาน้อยกว่าดังนั้นจึงไม่ยอมรับภาษาและอัลกอริธึมของ Grover นั้นแน่นอน asymptotically ที่ดีที่สุด 3T(n)1/3

Zalkaต่อมาแสดงให้เห็นว่าอัลกอริทึมของโกรเวอร์เป็นตรงที่ดีที่สุด


1 ในอัลกอริธึมของโกรเวอร์เครื่องหมายลบสามารถเคลื่อนย้ายได้รอบดังนั้นเครื่องหมายลบคือโดยพลการและไม่จำเป็นต้องอยู่ในคำจำกัดความของโอเปอเรเตอร์การกระจาย

2 อีกทางหนึ่งการกำหนดโอเปอเรเตอร์การกระจายโดยไม่มีเครื่องหมายลบจะให้ภาพสะท้อนเกี่ยวกับ|+

3 การกำหนดเครื่องโดยใช้ oracleเป็นและเครื่องที่ใช้ oracleเป็นนี่เป็นเพราะความจริงที่ว่ามีชุดของบิตสตริงที่สถานะของและในเวลามี -close 4กับ cardinality 2 oracle ที่ตัดสินใจได้อย่างถูกต้องหากอยู่ในสามารถแมปกับเพื่อตัดสินใจอย่างถูกต้อง ถ้าAMAAyMAySMAMAytϵ<2T2/ϵ2MA|1nLA2n-บัตร(S) oracle ที่ล้มเหลวMA |1nเป็นภาษาของ oracle อย่างไรก็ตามมันจะต้องให้คำตอบที่เป็นไปได้อย่างใดอย่างหนึ่งดังนั้นถ้าเครื่องจะไม่สามารถ กำหนดสมาชิกภาพของ2n-1T(n)=โอ(2n/2)LAL_A

4 ใช้ระยะทางแบบยุคลิดสองเท่าของระยะการติดตาม

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