แนวทางสู่ fault tolerance
เราจะเริ่ มด้วยการร่างแนวทางพื้นฐานสู่ fault-tolerant quantum computing ที่อิงบน quantum circuits และ error correcting codes
เพื่อการพูดถึงนี้ พิจารณาตัวอย่างต่อไปนี้ของ quantum circuit นี่เป็น teleportation circuit รวมถึงการเตรียม e-bit แต่ฟังก์ชันเฉพาะของ circuit ไม่สำคัญ — เป็นแค่ตัวอย่าง และในความเป็นจริงเราน่าจะสนใจ circuit ที่ใหญ่กว่านี้มาก
Circuit แบบนี้แทนสิ่งที่อุดมคติ และการ implement จริงของมันจะไม่สมบูรณ์แบบ แล้วอะไรที่อาจผิดพลาดได้?
ความจริงก็คือสิ่งต่าง ๆ มากมายอาจผิดพลาด! โดยเฉพาะอย่างยิ่ง การ initialize สถานะ การดำเนินการยูนิทารี และการวัดจะไม่สมบูรณ์แบบ; และ Qubit เองก็จะอ่อนไหวต่อสัญญาณรบกวน รวมถึง decoherence ในทุกจุดของการคำนวณ แม้ในช่วงที่ไม่ได้ดำเนินการใด ๆ กับมันและเพียงแต่จัดเก็บสารสนเทศควอนตัม กล่าวได้ว่า แทบทุกอย่างอาจผิดพลาดได้
มีข้อยกเว้นอย่างหนึ่งอย่างไรก็ตาม: การคำนวณ คลาสสิก ใด ๆ ที่เกี่ยวข้องถือว่าสมบูรณ์แบบ — เพราะในทางปฏิบัติ การคำนวณคลาสสิกสมบูรณ์แบบ ตัวอย่างเช่น ถ้าเราตัดสินใจใช้ surface code สำหรับ error correction และรัน classical perfect matching algorithm เพื่อคำนวณการแก้ไข เราไม่จำเป็นต้องกังวลว่าข้อผิดพลาดในการคำนวณคลาสสิกนี้จะนำไปสู่คำตอบที่ผิดพลาด อีกตัวอย่าง การคำนวณเชิงควอนตัมมักต้องการการประมวลผลคลาสสิกก่อนและหลัง และการคำนวณคลาสสิกเหล่านี้สามารถถือว่าสมบูรณ์แบบได้อย่างปลอดภัย
Noise models
เพื่อวิเคราะห์การ implement แบบ fault-tolerant ของ quantum circuits เราต้องการแบบจำลองทางคณิตศาสตร์ที่แม่นยำ — noise model — ซึ่งสามารถกำหนด ความน่าจะเป็น ให้กับสิ่งต่าง ๆ ที่อาจผิดพลาดได้ ในเชิงสมมุ ติ อาจพยายามสร้าง noise model ที่ละเอียดและซับซ้อนมากที่มุ่งสะท้อนความเป็นจริงของสิ่งที่เกิดขึ้นในอุปกรณ์หนึ่ง ๆ แต่ถ้า noise model ซับซ้อนหรือยากต่อการใช้เหตุผลเกินไป มันก็มักจะมีประโยชน์จำกัด ด้วยเหตุนี้ noise models ที่เรียบง่ายกว่าจึงได้รับการพิจารณามากกว่า
ตัวอย่างหนึ่งของ noise model ง่าย ๆ คือ independent stochastic noise model ซึ่งข้อผิดพลาดหรือความบกพร่องที่ส่งผลต่อส่วนประกอบต่าง ๆ ในเวลาต่าง ๆ — หรือกล่าวอีกนัยหนึ่ง ตำแหน่ง ต่าง ๆ ใน quantum circuit — ถือว่าเป็นอิสระต่อกัน ตัวอย่างเช่น แต่ละ gate อาจล้มเหลวด้วยความน่าจะเป็นหนึ่ง ข้อผิดพลาดอาจโจมตีแต่ละ Qubit ที่จัดเก็บต่อหน่วยเวลาด้วยความน่าจะเป็นอื่น และอื่น ๆ โดย ไม่มีความสัมพันธ์ ระหว่างข้อผิดพลาดต่าง ๆ ที่เป็นไปได้
ตอนนี้ มีเหตุผลพอสมควรที่จะคัดค้าน model ดังกล่าว เพราะอาจมีความสัมพันธ์ระหว่างข้อผิด พลาดในอุปกรณ์ทางกายภาพจริง ตัวอย่างเช่น อาจมีโอกาสเล็กน้อยที่จะเกิดข้อผิดพลาดร้ายแรงที่ทำลาย Qubit ทั้งหมดพร้อมกัน อาจเป็นไปได้มากกว่า อาจมีข้อผิดพลาดที่เฉพาะที่แต่ส่งผลกระทบต่อส่วนประกอบหลายตัวในคอมพิวเตอร์ควอนตัม ไม่มีใครปฏิเสธ! อย่างไรก็ตาม independent stochastic noise model ให้ baseline ง่าย ๆ ที่จับแนวคิดว่าธรรมชาติไม่แน่นอนแต่ไม่ร้ายกาจ และไม่ได้พยายามทำลายการคำนวณเชิงควอนตัมโดยตั้งใจ
Noise models อื่น ๆ ที่อ่อนโยนน้อยกว่าก็ได้รับการศึกษาอยู่บ่อยครั้ง ตัวอย่างเช่น การผ่อนคลายทั่วไปของสมมติฐานความเป็นอิสระระหว่างข้อผิดพลาดที่ส่งผลต่อตำแหน่งต่าง ๆ ใน quantum circuit คือ เฉพาะตำแหน่ง ของข้อผิดพลาดที่เป็นอิสระ แต่ข้อผิดพลาดจริงที่ส่งผลต่อตำแหน่งเหล่านี้อาจมีความสัมพันธ์ได้
โดยไม่ว่า noise model ใดจะถูกเลือก ควรตระหนักว่า การเรียนรู้ เกี่ยวกับข้อผิดพลาดที่ส่งผลต่ออุปกรณ์เฉพาะ และการสร้าง error models ใหม่ถ้า model เก่านำเราออกนอกเส้นทาง อาจเป็นส่วนสำคัญของการพัฒนา fault-tolerant quantum computation
การ implement circuit แบบ fault-tolerant
ต่อไปเราจะพิจารณากลยุทธ์พื้นฐานสำหรับการ implement แบบ fault-tolerant ของ quantum circuits เราจะใช้ teleportation circuit ข้างต้นเป็นตัวอย่างที่ใช้ดำเนินการตลอดเพื่ออธิบายกลยุทธ์ แม้ว่าจะสามารถนำไปใช้กับ quantum circuit ใด ๆ
นี่คือแผนภาพของการ implement แบบ fault-tolerant ของ teleportation circuit ของเรา
ส่วนประกอบแต่ละอย่างในแผนภาพนี้และการเชื่อมต่อกับ circuit เดิมมีดังนี้
-
การเตรียมสถานะ unitary gates และการวัดไม่ได ้ดำเนินการโดยตรงเป็นการดำเนินการเดียว แต่ดำเนินการโดย gadgets ซึ่งแต่ละอันอาจเกี่ยวข้องกับ Qubit หลายตัวและการดำเนินการหลายอย่าง ในแผนภาพ gadgets ถูกบ่งบอกด้วยกล่องสีม่วงที่ระบุด้วยการเตรียมสถานะ gate หรือการวัดที่จะ implement
-
logical qubits ที่ circuit เดิมอุดมคติรันอยู่นั้นได้รับการป้องกันโดยใช้ quantum error correcting code แทนที่จะกระทำโดยตรงต่อ logical qubits เหล่านี้ gadgets จะกระทำต่อ physical qubits ที่เข้ารหัสพวกมัน แผนภาพแนะนำว่าใช้ physical qubits ห้าตัวสำหรับแต่ละ logical qubit ราวกับกำลังใช้ -qubit code แต่ตัวเลขอาจแตกต่างออกไปตามธรรมชาติ ควรเน้นย้ำว่า logical qubits เหล่านี้ ไม่เคยถูกเปิดเผย; พวกมันใช้ชีวิตทั้งหมดโดยได้รับการป้องกันจาก quantum error correcting code ที่เราเลือก
-
การแก้ไขข้อผิดพลาดดำเนินการซ้ำ ๆ ดังที่แนะนำโดยกล่องสีน้ำเงินที่ระบุว่า "EC" ในแผนภาพ ตลอดการคำนวณ สิ่งสำคัญอย่างยิ่งคือต้องทำสิ่งนี้ทั้งบ่อย ๆ และแบบขนาน เมื่อข้อผิดพลาดเกิดขึ้น entropy จะสะสม และต้องทำงานอย่างต่อเนื่องเพื่อลบมันออกจากระบบในอัตราที่สูงพอเพื่อให้การคำนวณทำงานได้ถูกต้อง
ดังนั้นจึงมีทางเลือกเฉพาะที่ต้องทำ รวมถึงการเลือก gadgets และ quantum error correcting code เอง เมื่อทำการเลือกเหล่านี้แล้ว และสมมติว่าได้เลือก noise model แล้ว มีคำถามพื้นฐานที่เราอาจถามตัวเอง: สิ่งนี้ช่วยได้จริงหรือ? กล่าวคือ เราทำให้ดีขึ้นหรืออาจทำให้แย่ลง?
ถ้าอัตราสัญญาณรบกวนสูงเกินไป กระบวนการทั้งหมดที่เพิ่งแนะนำอาจทำให้แย่ลงมา ก เช่นเดียวกับ 9-qubit Shor code ที่ทำให้แย่ลงสำหรับข้อผิดพลาดอิสระถ้าความน่าจะเป็นข้อผิดพลาดบนแต่ละ Qubit อยู่เหนือจุดคุ้มทุน อย่างไรก็ตาม ถ้าอัตราสัญญาณรบกวนต่ำกว่า threshold ที่กำหนด งานพิเศษทั้งหมดนี้จะพาเราไปถึงที่ — และดังที่เราจะพูดถึงในตอนท้ายของบทเรียน เส้นทางสู่การลดข้อผิดพลาดเพิ่มเติมก็เปิดขึ้น