หุ่นยนต์และคอมพิวเตอร์ควอนตัม

หุ่นยนต์และคอมพิวเตอร์ควอนตัม

เครดิตฟรี

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

สล็อต

Python เป็นภาษาที่เลือกสำหรับทั้ง Vector SDK และกรอบงาน Qiskit ฉันคิดว่ามันน่าจะสนุกและให้คำแนะนำในการพัฒนาแอป Python ง่ายๆ ซึ่ง Vector ใช้ Qiskit เพื่อใช้ประโยชน์จากความสามารถของคอมพิวเตอร์ควอนตัมของ IBM นี่คือคลิปวิดีโอความยาว 1 นาทีของ Vector ที่ใช้งานจริง โดยใช้ประโยชน์จากคอมพิวเตอร์ควอนตัมของ IBM เพื่อศึกษา “quantum 8-ball” และบอกโชคลาภของมัน
ในแอปพลิเคชันนี้ คอมพิวเตอร์ควอนตัมมีความรับผิดชอบเดียว: ใช้คุณสมบัติทางกลของควอนตัมเพื่อระบุคำตอบที่ใช่หรือไม่ใช่แบบสุ่มอย่างแท้จริง เราจะเป็นตัวแทนของไม่มีรัฐด้วย“0” ในสัญกรณ์ที่นักฟิสิกส์ชอบที่จะใช้เรียกยกทรงศรีสะเกษ (หรือDirac ) สัญกรณ์ นี้“0” รัฐควอนตัมจะแสดงในรูปที่ 2. เป็นศรีสะเกษ
สายบนสุด(มีป้ายกำกับq0 )ในวงจรนี้เริ่มต้นในสถานะควอนตัม|0>ซึ่งแสดงว่าไม่มีในโปรแกรมของเรา ทางด้านขวาของเส้นลวดคือสัญลักษณ์ที่คล้ายกับมาตรวัด ซึ่งสั่งให้คอมพิวเตอร์ควอนตัมวัดสถานะควอนตัมบนเส้นลวด ถ้ากล่องที่มีข้อความที่มีเอชไม่ได้มีการวัดที่เกิด (ยกเว้นวงจรที่มีเสียงดัง) จะเป็น| 0> ช่องที่มีHเป็นที่รู้จักกันเป็นHadamardประตูซึ่งมหาอำนาจคือความสามารถที่จะเปลี่ยนสถานะควอนตัม| 0>เป็นซ้อนเท่ากับ ซ้อนเป็นคำศัพท์ที่นักฟิสิกส์ใช้เพื่อแสดงความคิดที่ว่าสถานะควอนตัมอาจอยู่ในสถานะพื้นฐานบางอย่างร่วมกันเช่น|0>และ|1>และสถานะพื้นฐานจะไม่ถูกตัดสินจนกว่าจะวัดสถานะควอนตัม เพราะสถานะควอนตัมหลังประตู Hadamard ของเราอยู่ในการทับซ้อนที่เท่าเทียมกันของทั้งสองรัฐพื้นฐาน| 0>และ| 1>หลังจากที่วัดก็มีความน่าจะเป็น 50% ของการเป็น| 0>และความน่าจะเป็น 50% ของการเป็น| 1> อย่างไรก็ตาม เมื่อสถานะควอนตัมสามารถแสดงสถานะพื้นฐานได้สองสถานะ ก็มักจะเรียกว่าqubitซึ่งคล้ายกับบิตในการคำนวณแบบคลาสสิก เส้นลวดแต่ละเส้นในวงจรที่มีเส้นแนวนอนเส้นเดียวแสดงถึงควิบิต
เส้นลวดด้านล่าง(มีข้อความว่า c 0 )มีเส้นคู่ และเก็บผลการวัดเป็นบิตที่มีค่าเป็น 0 หรือ 1
หากต้องการสำรวจแอปพลิเคชันโอเพ่นซอร์สเพิ่มเติม โปรดดูที่ที่เก็บ GitHub นี้ เป็นโอเพ่นซอร์สและได้รับอนุญาตจาก Apache 2.0 ดังนั้นโปรดใช้เป็นจุดเริ่มต้นสำหรับแนวคิดเกี่ยวกับหุ่นยนต์/คอมพิวเตอร์ควอนตัมสุดเจ๋งที่คุณมี!
IBM Research ได้สร้างEntanglionเกมกระดานเกี่ยวกับการคำนวณควอนตัม เกมดังกล่าวเป็นโอเพ่นซอร์ส และรูปภาพและกฎทั้งหมดมีให้ออนไลน์ฟรี เกมดังกล่าวได้รับการออกแบบมาเพื่อให้ผู้เล่นคุ้นเคยกับแนวคิดพื้นฐาน เช่น การพัวพันและประตูควอนตัม ไม่จำเป็นต้องมีความรู้ด้านเทคนิคในการเล่นเกม อย่างไรก็ตาม กระดานเกมมีพื้นฐานมาจากการเปลี่ยนแปลงสถานะควอนตัมอย่างเคร่งครัด
ผู้สร้างเกมรายงานว่า “ได้ใช้นักวิทยาศาสตร์ควอนตัมสามคนหลายครั้งในการคำนวณเพื่อสร้างแผนที่สถานะเหล่านี้ และลดให้อยู่ในรูปแบบที่ใช้ในกระดานเกม” ความรู้ของฉันไม่ได้ตีพิมพ์คณิตศาสตร์ที่พวกเขาทำก่อนหน้านี้ เป้าหมายของบทความนี้คือการอธิบายโครงสร้างพื้นฐานทางคณิตศาสตร์ของกระดานเกม Entanglion หากไม่มีคณิตศาสตร์พื้นฐาน กระดานเกมจะสุ่มสร้างเป็น Candyland หรือ Chutes and Ladders
เพื่อให้เข้าใจโครงสร้างที่ซ่อนอยู่ของกระดานเกม เราไม่จำเป็นต้องเจาะลึกลงไปในกลไกของเกม เราจำเป็นต้องรู้เพียงว่าเกมนี้มีไว้สำหรับผู้เล่นสองคน ซึ่งแต่ละคนควบคุมยานอวกาศที่วางอยู่บนกระดาน ตำแหน่งที่ยานอวกาศทั้งสองครอบครองนั้นแสดงถึงสถานะควอนตัมของสองอนุภาค ในเทิร์นของผู้เล่น ไพ่จะถูกเล่นเพื่อย้ายยานอวกาศหนึ่งหรือทั้งสองลำ การ์ดแต่ละใบแสดงถึงตัวดำเนินการควอนตัม ซึ่งเปลี่ยนสถานะควอนตัมหนึ่งให้เป็นอีกสถานะหนึ่ง ดังนั้นการเชื่อมต่อระหว่างช่องว่างบนกระดานแสดงถึงการดำเนินการที่จำเป็นในการแปลงอนุภาคจากสถานะหนึ่งไปอีกสถานะหนึ่ง มีตัวดำเนินการเพียงสี่ตัว: X (การพลิกบิต), CNOT (ไม่ใช่แบบมีเงื่อนไข), H (Hadamard) และ SWAP ในการคำนวณควอนตัม ตัวดำเนินการเหล่านี้เรียกว่าเกท
ยานอวกาศลำหนึ่งเป็นสีน้ำเงินและอีกลำหนึ่งเป็นสีแดง ยานอวกาศเคลื่อนที่ไปรอบ ๆ กระดานเกมซึ่งมี 12 ช่อง ช่องว่างสีเหลืองแปดช่องซึ่งก่อตัวเป็นแปดเหลี่ยมแสดงถึงสถานะที่พันกัน พื้นที่เหล่านี้ต้องถูกครอบครองร่วมกันโดยยานอวกาศทั้งสองลำเนื่องจากสถานะที่พันกันเกี่ยวข้องกับอนุภาคทั้งสองเสมอ
สี่ช่องว่างที่เหลือแสดงถึงสถานะของอนุภาคแต่ละตัว ยานอวกาศสองลำเคลื่อนที่อย่างอิสระจากกันในช่องว่างทั้งสี่นี้ เมื่อยานอวกาศครอบครองพื้นที่ใด ๆ ในสี่ช่องว่างเหล่านี้ สถานะทั้งหมดนั้นสามารถแยกตัวประกอบได้: สามารถเขียนเป็นผลคูณของสถานะของอนุภาคทั้งสองได้
ช่องว่างสีม่วงสองช่องทางด้านซ้ายสุดมีป้ายกำกับ ZERO และ ONE ซึ่งฉันจะเขียนว่า |ZERO> และ |ONE> สิ่งเหล่านี้เป็นตัวแทนของ “สถานะพื้นฐาน” ซึ่งเขียนให้กระชับมากขึ้นเป็น |0> และ |1> หากยานอวกาศทั้งสองลำอยู่ใน |ZERO> สถานะทั้งหมดจะเป็น |0(สีน้ำเงิน)>|0(สีแดง)> หากยานอวกาศสีน้ำเงินอยู่ใน |ZERO> ในขณะที่ยานอวกาศสีแดงอยู่ใน |ONE> สถานะทั้งหมดจะเป็น |0(สีน้ำเงิน)>|1(สีแดง)>

สล็อตออนไลน์

ช่องว่างต่ำสุดสองช่อง (สีเขียว) แสดงถึงการทับซ้อนของสถานะพื้นฐาน ดังนั้น กระดานเกมจึงแยกแยะสถานะสามประเภทอย่างชัดเจน: สถานะพื้นฐาน สถานะการซ้อนทับ และสถานะที่พันกัน
ผู้ประกอบการ

jumboslot

ตอนนี้เรากำหนดตัวดำเนินการสี่ตัวที่เปลี่ยนสถานะควอนตัมและย้ายยานอวกาศไปรอบๆ กระดาน โอเปอเรเตอร์ที่ง่ายที่สุดคือการพลิกบิต X ตัวดำเนินการนี้คือควอนตัม NOT gate: มันแปลง |0> เป็น |1> และ |1> เป็น |0> โอเปอเรเตอร์นี้มีผลกับอนุภาคเพียงตัวเดียว ดังนั้นเราจำเป็นต้องระบุว่าอนุภาคใดเป็นเป้าหมายโดยโอเปอเรเตอร์: X(สีน้ำเงิน) หรือ X(สีแดง) ถ้า (i) แทน (สีน้ำเงิน) หรือ (สีแดง) แล้ว
X(i)|0(i)> = |1(i)>, (สมการ 1a)
และ
X(i)|1(i)> = |0(i)>. (สมการ 1b)
(i) หมายถึงผู้เล่นที่เล่นไพ่ X; ยานอวกาศของผู้เล่นนั้นเคลื่อนที่ด้วยเหตุนี้ อย่างไรก็ตาม หากอนุภาคพันกัน X(i) จะทำให้ยานอวกาศทั้งสองเคลื่อนที่ไปยังพื้นที่ที่แสดงถึงสถานะการพันกันใหม่
ตัวดำเนินการถัดไปคือ CNOT ไม่ใช่แบบมีเงื่อนไข โดยจะทำหน้าที่เสมือนไม่อยู่บนอนุภาคเป้าหมายก็ต่อเมื่ออนุภาคอื่นอยู่ในสถานะ |1> เช่นเดียวกับ X(i) ระบุว่าผู้เล่น (i) เล่นการ์ด X CNOT(i) ระบุว่าผู้เล่น (i) เล่นการ์ด CNOT โดยกำหนดเป้าหมายไปที่ (i) ยานอวกาศ หาก i แทนอนุภาคเป้าหมาย และ j แทนอนุภาคอื่น (“ตัวควบคุม”)
CNOT(i)(|0,i>|0,j>) = |0,i>|0,j>, (สมการ 2a)
CNOT(i)(|0,i>|1,j>) = |1,i>|1,j>, (Eq. 2b)
CNOT(i)(|1,i>|0,j>) = |1,i>|0,j>, (Eq. 2c)
และ
CNOT(i)(|1,i>|1,j>) = |0,i>|1,j>. (สมการ 2d)
X และ CNOT เป็นโอเปอเรเตอร์สองตัวที่เชื่อมต่อ |ZERO> ถึง |ONE> บนกระดานเกม X จะเคลื่อนยานอวกาศระหว่าง |ZERO> และ |ONE> เสมอ ดังแสดงในสมการ (1). CNOT ย้ายยานอวกาศก็ต่อเมื่อยานอวกาศลำอื่นครอบครอง |ONE> ตามที่บอกเป็นนัยในสมการ (2).
ในการสร้างการทับซ้อนของสถานะพื้นฐาน เราจำเป็นต้องมีตัวดำเนินการ Hadamard, H. H เช่น X ทำงานบนอนุภาคตัวเดียวและปล่อยให้อีกอนุภาคหนึ่งอยู่ตามลำพัง H(i) โดยที่ (i) เช่นเคย คือ (สีน้ำเงิน) หรือ (สีแดง) ถูกกำหนดเป็น
H(i)|0,i> = (|0,i> + |1,i>), (สมการ 3a)
และ
H(i)|1,i> = (|0,i> – |1,i>). (สมการ 3b)
ผมทิ้งตัวประกอบของ 1 ไว้หารด้วยสแควร์รูทของ 2 ซึ่งเรียกว่าค่าคงที่นอร์มัลไลเซชัน สิ่งนี้ไม่ส่งผลต่อการเชื่อมต่อระหว่างช่องว่างบนกระดานเกม
บนกระดานเกม H ลิงก์ |ZERO> ถึง |PLUS> ดังนั้น เมื่อ H ทำงานบน |0> สถานะผลลัพธ์จะเป็น |PLUS> แล้วตามสมการ (3a),
|PLUS,i> = H(i)|0,i> = |0,i> + |1,i> (สมการ 4)
ในทำนองเดียวกัน H ลิงก์ |ONE> ถึง |MINUS> บนกระดานเกม ตามสมการ (3b),
|MINUS,i> = H(i)|1,i> = |0,i> – |1,i>. (สมการที่ 5)
อาจไม่ชัดเจนว่า H เป็นตัวผกผันของตัวเอง ซึ่งหมายความว่าเมื่อมันทำหน้าที่สองครั้งติดต่อกันในสถานะหนึ่ง สถานะเดิมจะกลับคืนมา ตัวอย่างเช่น H(i)H(i)(|0,i>) = H(i)(|0,i> + |1,i>) = H(i)|0,i> + H(i )|1,i> = (|0,i> + |1,i>)+(|0,i> – |1,i>) = 2|0,i> นี่เทียบเท่ากับสถานะ |0,i>; ตัวประกอบของ 2 สามารถละเว้นได้ (มันจะไม่ปรากฏถ้าเราใช้ค่าคงที่นอร์มัลไลเซชัน) ความจริงที่ว่าโอเปอเรเตอร์เป็นตัวผกผันของตัวเองคือสิ่งที่ช่วยให้ผู้ปฏิบัติงานสามารถเคลื่อนย้ายยานอวกาศไปในทิศทางใดทิศทางหนึ่งระหว่างช่องว่างสองช่อง ถ้าตัวดำเนินการไม่ใช่ตัวผกผันของตัวเอง เส้นที่เชื่อมระหว่างช่องว่างสองช่องจะต้องเป็นลูกศรที่ชี้ไปในทิศทางเดียวเท่านั้น

slot

เส้นทั้งหมดที่เชื่อมต่อ |ONE>, |ZERO>, |PLUS> และ |MINUS> เป็นเส้นคู่ทั้งเส้นสีน้ำเงินและสีแดง สิ่งนี้บ่งชี้ว่าตัวดำเนินการที่มีป้ายกำกับ (สีน้ำเงินหรือสีแดง) อาจส่งผลต่อการแปลงสถานะ ในบรรดารัฐที่พัวพัน ความเชื่อมโยงบางอย่างมีอยู่เพียงบรรทัดเดียวเท่านั้น สิ่งนี้บ่งชี้ว่าการเปลี่ยนแปลงระหว่างสถานะเหล่านั้นสามารถทำได้โดยตัวดำเนินการที่กำหนดเป้าหมายไปยังอนุภาคเฉพาะเท่านั้น ตัวอย่างเช่น หากต้องการทำตามเส้นประสีแดงที่ไม่มีเส้นทึบสีน้ำเงินอยู่ข้างๆ เราต้องใช้ตัวดำเนินการที่มีป้ายกำกับ (สีแดง) ยานอวกาศทั้งสองจะเคลื่อนที่ไปด้วยกันเมื่อเข้าไปพัวพัน แต่ตัวดำเนินการต้องถูกนำไปใช้กับสถานะสีแดงเพื่อย้ายยานอวกาศทั้งสองไปตามเส้นสีแดง
ตัวดำเนินการสุดท้ายคือ SWAP ซึ่งเพียงแค่เปลี่ยนป้ายสีน้ำเงินและสีแดงบนอนุภาค