มีคู่มือการศึกษาที่เริ่มต้นจาก "พื้นหลัง CS ล้วน ๆ " และก้าวหน้าไปสู่ ​​"การสร้างภาษาโปรแกรมควอนตัมใหม่" หรือไม่?


12

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

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

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


คุณได้ตรวจสอบสิ่งนี้ใช่ไหม quantumcomputing.stackexchange.com/questions/1367/...
agaitaarino

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

1
ดูโดยเฉพาะอย่างยิ่งนโยบายเกี่ยวกับคำถามคำขอทรัพยากร นี่กว้างเกินไป
ทุ่งหญ้า

1
คุณกำลังคิดถึงบางอย่างเช่น nand2tetris แต่เป็นควอนตัม? หรือบางอย่างเช่นหนังสือ“ Quantum Computing สำหรับนักวิทยาศาสตร์คอมพิวเตอร์”
James Wootton

1
ต้องขอบคุณการแก้ไขของคุณฉันเชื่อว่าตอนนี้สิ่งนี้ตอบสนองความต้องการทรัพยากรเพื่อให้ฉันเปิดใหม่
ทุ่งหญ้า

คำตอบ:


11

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

หากเป้าหมายของคุณคือการสร้างภาษาควอนตัมใหม่ฉันควรบอกว่าคุณควรเรียนรู้ภาษาควอนตัมที่มีอยู่ก่อนพร้อมกับแนวคิดพื้นฐานของการคำนวณควอนตัมทั้งจากด้านฟิสิกส์และด้านวิทยาศาสตร์คอมพิวเตอร์ (อาจเป็นคณิตศาสตร์ ด้าน!)

  • Microsoft มีภาษาโปรแกรมควอนตัมของพวกเขาชื่อQ # (ซึ่งเป็นส่วนหนึ่งของชุดพัฒนาควอนตัมของพวกเขา) เอกสารฉบับสมบูรณ์สุดยอดคู่มืออยู่บนเว็บไซต์ของพวกเขาhttps://docs.microsoft.com/en-us/quantum ถ้าคุณมาจากด้าน CS ฉันหวังว่าคุณมีบางความรู้ของเวกเตอร์, เมทริกซ์และพีชคณิตเชิงเส้นในทั่วไป ถ้าเป็นเช่นนั้นคุณสามารถเริ่มอ่านคำแนะนำได้ทีละบทความ ในขั้นต้นพวกเขาเริ่มต้นด้วยการแก้ไขสั้น ๆ ของการฝึกอบรมเวกเตอร์ ฯลฯ ตามด้วยการแนะนำสั้น ๆ กับ qubits นั่นเพียงพอแล้วอย่างน้อยสำหรับการเริ่มต้นด้วยการเขียนโปรแกรมควอนตัมขั้นพื้นฐานโดยมีความเข้าใจฟิสิกส์น้อยนิด ถ้าแนวคิดพีชคณิตเชิงเส้นของคุณอ่อนแอคุณสามารถลองได้ตลอดเวลาคำบรรยายของKhan Academyในเรื่องเดียวกัน

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

  • ในขั้นตอนที่สามฉันขอแนะนำให้รับ " การคำนวณควอนตัมและข้อมูลควอนตัมโดย Isaac Chuang และ Michael Nielsen " และ "การคำนวณควอนตัมสำหรับนักวิทยาศาสตร์คอมพิวเตอร์โดย Mirco A. Mannucci และ Noson S. Yanofsky " เพื่อครอบคลุมหัวข้อสำคัญที่คุณ พลาดไป

นั่นน่าจะเพียงพอสำหรับคุณที่จะเริ่มต้นการเขียนภาษาควอนตัมของคุณ คุณอาจพิจารณาบทเรียนสำหรับภาษาคอมพิวเตอร์ควอนตัมทั่วไปอื่น ๆเพื่อรับทราบวิธีการเขียนโปรแกรมควอนตัมและการออกแบบภาษาการเขียนโปรแกรมควอนตัม


6

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

สำหรับการแนะนำสิ่งที่เกิดขึ้นในระดับควอนตัมนี้Q สำหรับ Quantumโดย Terry Rudolph อาจเป็นประโยชน์

สำหรับเป้าหมายระดับกลางของคุณในการเขียนโปรแกรมที่มี QISKit ผมแนะนำQISKit กวดวิชา มันมีตัวอย่างการทำงานมากมายของการใช้โปรแกรมควอนตัมสั้น นอกจากนี้ยังมีสิ่งพิมพ์ QISKit บนสื่อกลางซึ่งอธิบายบางสิ่งในบทช่วยสอนโดยละเอียด นอกจากนี้ยังมีgamified tutorial ให้กับ QISKitซึ่งอาจเป็นประโยชน์ในการ warm-up สำหรับการสอน QISKit แบบเต็ม

การเปิดเผยอย่างสมบูรณ์: ฉันสนับสนุนทุกสิ่งที่กล่าวถึงในวรรคสุดท้าย


3
ฉันไม่เห็นด้วยกับสิ่งนี้ ทันทีที่ FORTRAN ได้รับการพัฒนา (เมื่อคอมพิวเตอร์ดิจิทัลยังค่อนข้างดั้งเดิม) ผู้คนเริ่มใช้มันแทนที่จะเป็นภาษาเครื่องและนี่อาจเป็นก้าวกระโดดที่ยิ่งใหญ่ที่สุดในภาษาโปรแกรมในประวัติศาสตร์ของคอมพิวเตอร์คลาสสิค ทำไมเราควรบังคับให้คนเขียนโปรแกรมด้วยภาษาเครื่องสำหรับคอมพิวเตอร์ควอนตัม? (ฉันแน่ใจว่าพวกเขาจะได้ประสิทธิภาพ แต่พวกเขาไม่ควรถูกบังคับ)
Peter Shor

1
จุดที่ดี! ฉันจะบอกว่าฮาร์ดแวร์ไม่ได้คิดอะไรมากไปกว่าภาษาเครื่องในขณะนี้ แต่มันจะเป็นการดีที่จะพิสูจน์ว่าผิด
James Wootton

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