การสร้างคอมพิวเตอร์ควอนตัมในการจำลอง


13

หากต้องการเริ่มสร้างคอมพิวเตอร์ควอนตัมจากศูนย์ในการจำลอง (เช่นวิธีที่ผู้คนสร้างคอมพิวเตอร์คลาสสิคตั้งแต่เริ่มต้นในหลักสูตร Nand2Tetris ) เป็นไปได้หรือไม่

ถ้าใช่จะมีแนวทางอะไรบ้างที่เป็นไปได้?

นอกจากนี้สิ่งที่จะเป็นข้อ จำกัด ของเครื่องจำลองที่ได้รับจากพลังการคำนวณแบบคลาสสิค ตัวอย่างเช่นหากเราเลือกเดสก์ท็อป / แล็ปท็อปโดยเฉลี่ยของคุณจะมีข้อ จำกัด อะไรบ้าง ถ้าเราใช้ซูเปอร์คอมพิวเตอร์ (เช่นไททัน) แล้วขีด จำกัด คืออะไร?


ที่เกี่ยวข้อง : มีอีมูเลเตอร์สำหรับคอมพิวเตอร์ควอนตัมหรือไม่? และ ฟิสิกส์ SE - จำลองคอมพิวเตอร์ควอนตัมในหนึ่งปกติ
Sanchayan Dutta

คำตอบ:


5

ส่วนแรกของคำถามของคุณดูเหมือนจะซ้ำกับโพสต์ QC SE ที่มีอยู่: มีอีมูเลเตอร์สำหรับคอมพิวเตอร์ควอนตัมหรือไม่? .

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

เนื่องจากคอมพิวเตอร์ควอนตัมไม่ได้ละเมิดวิทยานิพนธ์ของคริสตจักรทัวริงในทางทฤษฎีจึงเป็นไปได้ที่จะจำลองคอมพิวเตอร์ควอนตัมโดยใช้เครื่องทัวริงในอุดมคติ วิธีการที่ชัดเจนในการจำลองระบบดังกล่าวต้องใช้เวลาเอ็กซ์โพเนนเชียลในคอมพิวเตอร์แบบคลาสสิคและความซับซ้อนของพื้นที่คือฟังก์ชันเลขชี้กำลังของจำนวนควอนตัมบิตที่จำลองขึ้น สมมติว่าคุณจำลองคอมพิวเตอร์ควอนตัมบิตคุณจะต้องเก็บข้อมูลประมาณ2 nบิตในคอมพิวเตอร์คลาสสิคของคุณทุกครั้ง ยิ่งกว่านั้นการใช้ประตูควอนตัมจะใช้ทรัพยากรจำนวนมากอีกครั้งในแง่ของเวลาและความซับซ้อนของพื้นที่ การดำเนินการของประตูควอนตัมที่ทำงานบนn- qubits จะต้องเก็บไว้n2nn (เพราะคุณสามารถแสดงการทำงานของประตูควอนตัมทั้งหมดเป็นเมทริกซ์ขนาด 2 n × 2 n ) บิตของข้อมูล4n2n×2n

คุณสามารถจัดเรียงประมาณ "ขีด จำกัด " ขึ้นอยู่กับข้อกำหนดของคอมพิวเตอร์คลาสสิก ตัวอย่างเช่นถ้า (สามารถเข้าถึงได้) ขนาดหน่วยความจำของเครื่องคอมพิวเตอร์ของคลาสสิกของคุณจะอยู่ที่ประมาณ TB ผมคาดว่าคุณสามารถจำลองล็อก4 ( 8 × 10 12 ) 21คอมพิวเตอร์บิตควอนตัม (จะในด้านความปลอดภัยสมมติว่า20 ) อย่างไรก็ตามโปรดทราบว่าคอมพิวเตอร์แบบดั้งเดิมจะใช้เวลามากขึ้นในการเข้าถึงข้อมูลส่วนบุคคลทั้งหมดเมื่อเทียบกับคอมพิวเตอร์ควอนตัมจริง (ขึ้นอยู่กับฮาร์ดแวร์ของคอมพิวเตอร์ควอนตัม) ดังนั้นมันจะช้าลง1เข้าสู่ระบบ4(8×1012)2120กว่าคอมพิวเตอร์ควอนตัมจริง! บางข้อ จำกัด อื่น ๆ ว่าหลังจากที่การกระทำของแต่ละประตู -qubit คุณต้องติดตามซึ่ง qubits ส่งออกมีการเข้าไปพัวพันซึ่งเป็นNP-ยากปัญหา นอกจากนี้การวัดไม่สามารถจำลองได้อย่างแม่นยำบนคอมพิวเตอร์แบบคลาสสิกเนื่องจากไม่มีตัวสร้างตัวเลขสุ่มอย่างแท้จริงn


คุณสามารถจำลอง qubits ได้อีกเล็กน้อยถ้าคุณใช้เพียง 1 และ 2 qubit gates ในการย่อยสลายรวมกันขนาดใหญ่ของคุณและดำเนินการในสถานะบริสุทธิ์ ด้วย RAM ขนาด 8GB คุณสามารถทำได้ 25 qubits ในความแม่นยำสองเท่า
vsoftco

4

ตอนนี้ฉันกำลังทำตัวจำลองคอมพิวเตอร์ควอนตัมอยู่ แน่นอนว่าแนวคิดพื้นฐานของการคำนวณควอนตัมคือการแสดงประตูด้วยเมทริกซ์ที่ใช้กับ qubits ที่แสดงด้วยเวกเตอร์ การใช้แพคเกจ numpy ของ Python นี่ไม่ใช่เรื่องยากที่จะเขียนโปรแกรมในแง่พื้นฐานที่สุด

จากนั้นหนึ่งอาจขยายตัวของอินเตอร์เฟซ เราอาจลองทำแบบจำลองของคอมพิวเตอร์ควอนตัมแบบ nonideal นั่นก็คือการพิจารณาถึงเวลาในการแก้ไขและการแก้ไขข้อผิดพลาด

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

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

  • เราไม่รู้ว่าคอมพิวเตอร์ควอนตัมดีกว่าคอมพิวเตอร์แบบดั้งเดิมหรือไม่ อัลกอริธึมสำหรับคอมพิวเตอร์คลาสสิคอาจยังไม่ดีพอ (ควอนตัมอำนาจสูงสุด)
  • สมมติว่าเป็นดูเหมือน decently มีแนวโน้มว่าคอมพิวเตอร์ควอนตัมที่มีดีกว่าคอมพิวเตอร์คลาสสิก การปรับปรุงนั้นจะขึ้นอยู่กับปัญหาอย่างมาก - คอมพิวเตอร์ควอนตัมอาจเห็นตัวอย่างเช่นการปรับปรุงความเร็วที่สูงขึ้นมากในการค้นหาปัจจัยสำคัญกว่าการตรวจสอบอีเมล (เห็นนี้ Q P.SE / a.)
  • O(อี649(เข้าสู่ระบบยังไม่มีข้อความ)13(เข้าสู่ระบบเข้าสู่ระบบยังไม่มีข้อความ)23)O((เข้าสู่ระบบยังไม่มีข้อความ)2(เข้าสู่ระบบเข้าสู่ระบบยังไม่มีข้อความ)(เข้าสู่ระบบเข้าสู่ระบบเข้าสู่ระบบยังไม่มีข้อความ))
  • |0|1

4

ฉันรู้สึกว่าคำตอบนี้ส่วนใหญ่วางอยู่บนพื้นฐานของความเข้าใจผิดของสิ่งที่หมายถึง "จำลอง" บางสิ่งบางอย่าง

โดยทั่วไปแล้วการ "จำลอง" ระบบที่ซับซ้อนหมายถึงการทำซ้ำคุณลักษณะบางอย่างของระบบดังกล่าวด้วยแพลตฟอร์มที่ควบคุมได้ง่ายกว่า (บ่อยครั้ง แต่ไม่เสมอไป) เป็นคอมพิวเตอร์คลาสสิค

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

ในทางตรงกันข้ามคุณสามารถจำลองอุปกรณ์หลายอย่างที่ซับซ้อนอย่าง "คอมพิวเตอร์ควอนตัม" ได้ ตัวอย่างเช่นเราอาจต้องการจำลองการวิวัฒนาการของรัฐภายในวงจรควอนตัม ที่จริงแล้วสิ่งนี้สามารถทำได้ง่ายเหลือเกิน! ตัวอย่างเช่นถ้าคุณมีงูหลามบนคอมพิวเตอร์ของคุณให้เรียกใช้สิ่งต่อไปนี้

import numpy as np
identity_2d = np.diag([1, 1])
pauliX_gate = np.array([[0, 1], [1, 0]])
hadamard_gate = np.array([[1, 1], [1, -1]]) / np.sqrt(2)

cnot_gate = np.kron(identity_2d, pauliX_gate)
H1_gate = np.kron(hadamard_gate, identity_2d)

awesome_entangling_gate = np.dot(cnot_gate, H1_gate)

initial_state = np.array([1, 0, 0, 0])
final_state = np.dot(awesome_entangling_gate, initial_state)
print(final_state)

ขอแสดงความยินดีคุณเพียงแค่ "จำลอง" วิวัฒนาการของสถานะสองควิบิตที่แยกกันไม่ออกสู่สถานะเบลล์!

n2n(1)(2)

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


(1) ตัวอย่างที่น่าสนใจของปัญหานี้คือปัญหาของการจำลองอุปกรณ์การสุ่มตัวอย่าง boson (นี่ไม่ใช่อัลกอริทึมควอนตัมในความรู้สึกของรัฐที่พัฒนาผ่านชุดของประตู แต่มันก็เป็นตัวอย่างของอุปกรณ์ควอนตัมที่ไม่ใช่ BosonSampling เป็นปัญหาการสุ่มตัวอย่างซึ่งจะมีการมอบหมายปัญหาการสุ่มตัวอย่างจากการกระจายความน่าจะเป็นที่เฉพาะเจาะจงและสิ่งนี้แสดงให้เห็น (ภายใต้สมมติฐานที่น่าจะเป็นไปได้) ที่จะเป็นไปไม่ได้ที่จะทำอย่างมีประสิทธิภาพด้วยอุปกรณ์แบบดั้งเดิม แม้ว่ามันจะไม่เคยแสดงให้เห็นว่าเป็นลักษณะพื้นฐานของความแข็งนี้ปัญหาที่ไม่เกี่ยวข้องกับการจำลองอุปกรณ์การสุ่มตัวอย่างโบซอนคือการต้องคำนวณความน่าจะเป็นจำนวนมากแบบทวีคูณซึ่งเป็นตัวอย่าง อย่างไรก็ตามเมื่อเร็ว ๆ นี้แสดงให้เห็นว่าจริง ๆ แล้วไม่จำเป็นต้องคำนวณความน่าจะเป็นทั้งชุดเพื่อสุ่มตัวอย่างจากพวกเขา ( 1705.00686และ1706.01260) หลักการนี้ไม่ไกลจากการจำลองวิวัฒนาการของ qubits จำนวนมากในวงจรควอนตัมโดยไม่ต้องเก็บสถานะทั้งหมดของระบบ ณ จุดใดก็ตาม เกี่ยวกับวงจรควอนตัมโดยตรงตัวอย่างของการพัฒนาความสามารถในการจำลองล่าสุดคือ1704.01127 และ1710.05867 (เช่นซุปเปอร์ล่าสุดซึ่งยังไม่ได้เผยแพร่คือ1802.06952 )

(2) ในความเป็นจริงจะได้รับการแสดง (หรือมากกว่าหลักฐานที่แข็งแกร่งได้รับการให้บริการสำหรับความจริง) ว่ามันเป็นไปไม่ได้อย่างมีประสิทธิภาพจำลองวงจรควอนตัมส่วนใหญ่เห็น1504.07999

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