มีอีมูเลเตอร์สำหรับคอมพิวเตอร์ควอนตัมหรือไม่?


64

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

อัปเดต:ฉันไม่ได้มองหาการจำลองคอมพิวเตอร์ควอนตัม แต่ฉันไม่แน่ใจว่าเป็นไปได้หรือไม่ที่จะจำลองคอมพิวเตอร์ควอนตัมบนพีซีที่ไม่ใช่ควอนตัมปกติได้อย่างมีประสิทธิภาพ


คำตอบ:


39

ใช่เป็นไปได้ (แต่ช้า) มีอยู่สองสามตัว (นี่เป็นเพียงบางส่วนเท่านั้น) อีมูเลเตอร์:

  • QDD: ห้องสมุดจำลองคอมพิวเตอร์ควอนตัม

    QDD เป็นไลบรารี C ++ ซึ่งให้ชุดการคำนวณควอนตัมที่ใช้งานง่ายในบริบทของการเขียนโปรแกรม C ++ QDD นั้นมีลักษณะเฉพาะที่การจำลองการคำนวณควอนตัมขึ้นอยู่กับการเป็นตัวแทนของ Binary Decision Diagram (BDD) ของสถานะควอนตัม

  • jQuantum

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

  • QCE

    QCE เป็นเครื่องมือซอฟต์แวร์ที่เลียนแบบการออกแบบฮาร์ดแวร์ต่างๆของ Quantum Computers QCE จำลองกระบวนการทางกายภาพที่ควบคุมการทำงานของตัวประมวลผลควอนตัมฮาร์ดแวร์อย่างเคร่งครัดตามกฎหมายของกลศาสตร์ควอนตัม QCE ยังมีสภาพแวดล้อมในการแก้ปัญหาและดำเนินการขั้นตอนวิธีควอนตัมภายใต้เงื่อนไขการทดลองจริง

(นอกจากนี้ Q # ใช้งานได้กับQDKของ MS เท่านั้นขอบคุณ @Pavel)

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

ฉันจะเสนอบทความเกี่ยวกับเรื่อง ( J. Allcock, 2010 ):

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

หน้า 89, มาตรา 5.1

เมื่อการใช้งานของเรามีความแม่นยำมากขึ้นพวกเขาก็ช้าลงเช่นกัน

TL; DR: เป็นไปได้และมีตัวเลียนแบบอยู่บ้าง แต่ไม่มีใครมีประสิทธิภาพมากสำหรับ qubits จำนวนมาก


โปรดทราบว่า Q # ไม่มีอีมูเลเตอร์เหล่านี้ที่สามารถใช้งานได้ซึ่งทำงานร่วมกับ QDK ของ Microsoft เท่านั้น
Pavel

3
นอกเหนือจากสิ่งที่คุณพูด: มีวิธีการเขียนโปรแกรมบน IBM Quantum Experience ซึ่งให้คอมพิวเตอร์ควอนตัมจริงไม่ใช่รหัส Q # แต่เป็น QASM แทน QISKit เป็นวิธีที่จะไปที่นี่ github.com/QISKit
blalasaadri

สิ่งที่คุณพูดมีเหตุผลเพราะการจำลองนั้นทำงานบนคอมพิวเตอร์เครื่องเดียว แต่เป็นไปได้หรือไม่ที่จะบรรลุความเร็วเท่ากันหากใช้คอมพิวเตอร์หลายเครื่อง?
iOS Calendar patchthecode.com

26

ใช่เป็นไปได้ที่จะจำลองคอมพิวเตอร์ควอนตัมในเครื่องคอมพิวเตอร์ปกติ - แต่คุณน่าจะต้องเสียสละประสิทธิภาพ

2nn


ทรัพยากร

คุณอาจสนใจ Q # ตามคำตอบอื่น ๆ ผู้เอาอย่างเพิ่มเติม:

  • สนามเด็กเล่นคอมพิวเตอร์ควอนตัม

    Quantum Computing Playground เป็น WebGL Chrome Experiment ที่ใช้เบราว์เซอร์ มันมีคอมพิวเตอร์ควอนตัมที่ใช้ GPU เร่งความเร็วด้วยอินเตอร์เฟส IDE แบบง่ายและภาษาการเขียนสคริปต์ของตัวเองพร้อมคุณสมบัติการดีบักและคุณสมบัติการสร้างภาพสถานะควอนตัม 3D Quantum Computing Playground สามารถจำลองการลงทะเบียนควอนตัมได้อย่างมีประสิทธิภาพสูงสุดถึง 22 qubits เรียกใช้อัลกอริทึมของ Grover และ Shor และมีประตูควอนตัมหลากหลายที่สร้างขึ้นในภาษาสคริปต์

  • QX Simulator

    QX Simulator เป็นเครื่องจำลองคอมพิวเตอร์ควอนตัมสากลที่พัฒนาขึ้นที่ QuTech โดย Nader Khammassi QX อนุญาตให้ผู้ออกแบบอัลกอริทึมควอนตัมจำลองการทำงานของวงจรควอนตัมของพวกเขาบนคอมพิวเตอร์ควอนตัม ตัวจำลองกำหนดภาษาแอสเซมบลีควอนตัมระดับต่ำคือรหัสควอนตัมซึ่งช่วยให้ผู้ใช้สามารถอธิบายวงจรของพวกเขาในไฟล์ซอร์สต้นฉบับข้อความแบบง่าย จากนั้นไฟล์รหัสต้นฉบับจะถูกใช้เป็นอินพุตของเครื่องมือจำลองที่เรียกใช้เนื้อหา

  • ควอนตัม ++

    Quantum ++ เป็นห้องสมุดควอนตัมคอมพิวเตอร์วัตถุประสงค์เชิงควอนตัมสมัยใหม่ที่ทันสมัย Quantum ++ เขียนในมาตรฐาน C ++ 11 และมีการอ้างอิงภายนอกต่ำมากโดยใช้เฉพาะไลบรารีเทมเพลตเชิงพีชคณิตเชิงเส้นส่วนหัวของ Eigen 3 เท่านั้นและถ้ามีไลบรารีการประมวลผลแบบมัลติของ OpenMP

  • ภาษาคอมพิวเตอร์ควอนตัม

    แม้จะมีแนวคิดทั่วไปมากมายที่มีวิทยาการคอมพิวเตอร์คลาสสิกการคำนวณควอนตัมยังถือว่าเป็นวินัยพิเศษอย่างกว้างขวางในสาขาวิชาฟิสิกส์ทฤษฎี [... ] QCL (ภาษาคำนวณควอนตัม) พยายามเติมช่องว่างนี้: QCL เป็นภาษาโปรแกรมสถาปัตยกรรมอิสระระดับสูงสำหรับคอมพิวเตอร์ควอนตัมโดยมีไวยากรณ์ที่ได้มาจากภาษาโพสิซีทีคลาสสิกเช่น C หรือ Pascal สิ่งนี้ช่วยให้การใช้งานและการจำลองอัลกอริทึมของควอนตัมสมบูรณ์

  • ตัวเลียนแบบที่เกี่ยวข้องเพิ่มเติมสามารถดูได้ที่Quantiki


21

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

สำหรับการลองความคิดอย่างรวดเร็วQuirkตัวจำลองของฉันยอดเยี่ยม มันเป็นเครื่องจำลองวงจรควอนตัมแบบลากและปล่อยแบบโอเพ่นซอร์สที่ทำงานในเว็บเบราว์เซอร์ของคุณ คุณสามารถเข้าถึงรุ่นสดที่algassert.com/quirk

นี่คือสกรีนช็อตของวงจร Grover ตัวอย่างของ Quirk ซึ่งมีการแสดงสถานะระดับกลางเพื่อติดตามสถานะ "ซ่อน" ที่มีแนวโน้มมากขึ้น:

สกรีนช็อตของ Quirk


16

หากคุณกำลังดู Q # โดยเฉพาะมันเป็นเรื่องง่ายมากที่จะใช้กับอีมูเลเตอร์ - ในความเป็นจริงมันเป็นไปไม่ได้ที่จะมี Q # แต่ไม่มีอีมูเลเตอร์รวมอยู่ด้วยกัน

ในการเริ่มต้นครั้งแรกที่คุณจะต้องดาวน์โหลด .NET หลักจากเว็บไซต์ของไมโครซอฟท์

เมื่อคุณดาวน์โหลดชุดพัฒนาควอนตัมของ Microsoft ผ่านทางdotnet new -i "Microsoft.Quantum.ProjectTemplates::0.2-*"เว็บไซต์ของไมโครซอฟท์จะทำการดาวน์โหลดทั้งภาษาและตัวเลียนแบบของไมโครซอฟท์ด้วยกัน

การสร้างโปรเจ็กต์ Q # ใหม่ ( dotnet new console -lang Q#) จะกำหนดค่าให้ใช้อีมูเลเตอร์โดยอัตโนมัติดังนั้นเมื่อคุณพิมพ์ใน Q # บางส่วนและรันโปรเจ็กต์ที่ "เพิ่งใช้งาน"


3

ใช่. หากคุณสร้างมันขึ้นมาเองค้นหาคอมพิวเตอร์ของบุคคลที่สามที่มีสเปคเช่นเดียวกับ BullSequana M9600 series หรือมากับ€ 100K +และซื้อระบบจาก Atos

สังเกตเห็นความคล้ายคลึงกันระหว่างชุด BullSequana M9600 และที่Atos QLM Atis QLM กับ M9600

กล่องเดียวกัน (และส่วนประกอบภายในอาจ) พร้อมซอฟต์แวร์อื่น (แต่คุณต้องการใช้ Q # ของคุณเอง) Atos อ้างว่า: "เครื่องมือจำลองควอนตัมที่มีประสิทธิภาพสูงสุดในโลก" ฉันไม่แน่ใจเกี่ยวกับเรื่องนี้ แต่สเปคของรุ่น 30 qubit นั้นสามารถเข้าถึงได้เพียง Intel CPU สองตัวและหน่วยความจำ 1TB

Atos QLM .PDF โบรชัวร์

มีวิธีใดที่จะจำลองคอมพิวเตอร์ควอนตัมในคอมพิวเตอร์ปกติของฉันเพื่อที่ฉันจะสามารถทดสอบและลองภาษาการเขียนโปรแกรมควอนตัม (เช่น Q #)?

ถ้าคุณใช้เพียง 256GB หน่วยความจำและไดรฟ์ 1-24TB Swap มันจะช้าแต่ก็จะทำงาน

ผมหมายถึงสิ่งที่ผมสามารถทดสอบสมมติฐานของฉันและได้รับผลลัพธ์ที่แม่นยำที่สุด

อ้างอิงจากโบรชัวร์:

"Atos Quantum Learning Machine คำนวณการทำงานที่แน่นอนของโปรแกรมควอนตัมด้วยความแม่นยำสองหลักมันจำลองกฎหมายของฟิสิกส์ซึ่งเป็นหัวใจสำคัญของการคำนวณควอนตัมซึ่งแตกต่างจากโปรเซสเซอร์ควอนตัมที่มีอยู่ซึ่งประสบกับควอนตัม เสียงควอนตัม decoherence และอคติการผลิตเช่นเดียวกับคอขวดประสิทธิภาพการจำลองบน Atos Quantum Learning Machine ช่วยให้นักพัฒนาสามารถมุ่งเน้นไปที่แอปพลิเคชันและอัลกอริทึมของพวกเขาโดยไม่ต้องรอเครื่องควอนตัม

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


3

ฉันคิดว่า "ภาพรวม" ที่ดีเกี่ยวกับเรื่องนี้สามารถดูได้ที่: Quantiki

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

Haskell

qchas (qchas: ห้องสมุดสำหรับการใช้อัลกอริทึมควอนตัม) - ห้องสมุดที่มีประโยชน์สำหรับการใช้อัลกอริทึมควอนตัม มันมีคำจำกัดความของ Quantum Gates, Qubits

หลาม

qubiter : โครงการ Qubiter มีเป้าหมายที่จะจัดหาชุดเครื่องมือเต็มรูปแบบซึ่งส่วนใหญ่เขียนไว้ใน Python สำหรับการออกแบบและจำลองวงจรควอนตัมในคอมพิวเตอร์แบบดั้งเดิม

จาวาสคริ

jsqis : jsqis ที่เป็นแกนหลักเป็นเครื่องจำลองคอมพิวเตอร์ควอนตัมที่เขียนด้วย Javascript จะช่วยให้การเริ่มต้นของการลงทะเบียนควอนตัมและการจัดการของพวกเขาโดยใช้ประตูควอนตัม

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