เราจะใส่รหัสการแก้ไขข้อผิดพลาดในวงจรควอนตัมที่ไหน?


11

ก่อนอื่น: ฉันเป็นผู้เริ่มต้นในการคำนวณควอนตัม

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

แน่นอนฉันรู้ว่าเรามีข้อผิดพลาดต่าง ๆ ที่อาจเกิดขึ้นได้ (บิตการพลิกเฟสการพลิก ฯลฯ ) และเรามีอัลกอริทึมในการแก้ไข แต่สิ่งที่ฉันอยากรู้คือถ้ามีกลยุทธ์บางอย่างที่เราใส่อัลกอริทึมการแก้ไขข้อผิดพลาด แต่ละประตูเกี่ยวข้องกับอัลกอริธึมหลักหรือไม่? มีกลยุทธ์ที่ชาญฉลาดในการใช้การแก้ไขเดียวสำหรับชุดของประตูหรือไม่?

หากคำตอบคือ "ซับซ้อน" ฉันต้องการทรัพยากรเพื่อเรียนรู้ทั้งหมดนี้ (ฉันพบสิ่งต่าง ๆ มากมายสำหรับรหัสการแก้ไขข้อผิดพลาด แต่ฉันไม่พบสิ่งใดเกี่ยวกับตำแหน่งที่เราต้องทำการแก้ไข)


4
ดังนั้นคำถามของคุณเกี่ยวกับการคำนวณควอนตัมที่ผิดปกติใช่ไหม? ฉันหมายความว่าคุณต้องการทราบวิธีการแก้ไขข้อผิดพลาดที่ใช้เพื่อให้สามารถเรียกใช้อัลกอริทึมควอนตัมเพื่อให้ไม่มีข้อผิดพลาดเสียหายการส่งออกของอัลกอริทึมดังกล่าว
Josu Etxezarreta Martinez

1
@JosuEtxezarretaMartinez แน่นอน!
StarBucK

คำตอบสั้น ๆ คือ: ทุกที่!
DaftWullie

คำตอบ:


9

จากคำถามของคุณฉันคิดว่าคุณไม่ได้มองหาคำที่ถูกต้อง รหัสการแก้ไขข้อผิดพลาดเป็นวิธีการในการตรวจสอบและแก้ไขข้อผิดพลาดที่เป็นไปได้ที่เกิดขึ้นใน qubits เนื่องจากผลกระทบของ decoherence

คำว่าการคำนวณควอนตัมที่ยอมรับความผิดพลาดหมายถึงกระบวนทัศน์ของอุปกรณ์ควอนตัมที่ทำงานได้อย่างมีประสิทธิภาพแม้ว่าส่วนประกอบพื้นฐานของมันจะไม่สมบูรณ์และรหัสการแก้ไขข้อผิดพลาดที่คุณมองหาเป็นฐานในการสร้างการคำนวณแบบนั้น ฉันขอแนะนำให้คุณค้นหาข้อมูลที่เกี่ยวข้องกับการยอมรับข้อบกพร่องด้วยตัวเองเนื่องจากเป็นพื้นที่ขนาดใหญ่ในการคำนวณควอนตัม อย่างไรก็ตามฉันขอแนะนำให้คุณคำนวณการคำนวณควอนตัมแบบทนต่อความผิดพลาดของข้อความโดย Preskill ในบทความดังกล่าวผู้เขียนเริ่มพูดเกี่ยวกับรหัสแก้ไขข้อผิดพลาด แต่หลังจากนั้นลึกเข้าไปในแนวคิดการยอมรับข้อบกพร่องและฉันคิดว่ามันจะแก้ข้อสงสัยของคุณเกี่ยวกับหัวข้อ


6

ในการคำนวณควอนตัมที่ป้องกันความผิดพลาดเราสร้างความแตกต่างระหว่างqubits ทางกายภาพและตรรกะ qubits

nn

qubits ทางกายภาพเป็นสิ่งที่มีอยู่จริงและมีเสียงดัง สิ่งเหล่านี้คือสิ่งที่เราใช้ในการสร้างลอจิคัล qubits แต่โดยทั่วไปจะใช้เวลาทางกายภาพ qubits จำนวนมากเพื่อสร้างหนึ่งตรรกะคบิต นี่เป็นเพราะความซ้ำซ้อนจำนวนมากจำเป็นต้องสามารถตรวจจับและแก้ไขข้อผิดพลาดได้

การออกแบบของรหัสจริงที่รันบน qubits จริงจะเกิดขึ้นในเลเยอร์ วิศวกรซอฟต์แวร์แก้ไขข้อผิดพลาดควอนตัมจะออกแบบลอจิคัล qubits โดยการเขียนโปรแกรมที่จำเป็นในการใช้รหัสแก้ไขข้อผิดพลาดควอนตัม สำหรับการดำเนินการแต่ละอย่างที่บางคนอาจต้องการในอัลกอริทึมพวกเขาจะออกแบบเวอร์ชันที่เข้ากันได้กับการแก้ไขข้อผิดพลาดซึ่งดำเนินการกับตรรกะ qubits ในลักษณะที่ช่วยให้ตรวจจับและแก้ไขข้อบกพร่องได้

จากนั้นโปรแกรมเมอร์จะเข้ามาเขียนโปรแกรมของพวกเขา พวกเขาไม่จำเป็นต้องคิดเกี่ยวกับ qubits ทางกายภาพหรือการแก้ไขข้อผิดพลาดเลย

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

จากข้อมูลอ้างอิงฉันคิดว่าเป็นการดีที่สุดที่จะแนะนำสิ่งที่อธิบายถึงวิธีการดำเนินการเกี่ยวกับตรรกะโลจิคัลจะถูกนำไปใช้กับฟิสิคัล qubits ผ่านรหัสแก้ไขข้อผิดพลาด หนึ่งในเอกสารของฉันเองทำงานนี้โดยอธิบายสิ่งนี้ด้วยวิธีการที่หลากหลายเพื่อรับการดำเนินการเชิงตรรกะในรหัสพื้นผิว นอกจากนี้ยังมีการอ้างอิงถึงผลงานอื่น ๆ ของผู้อื่นในพื้นที่เดียวกัน

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