ทำให้คอมพิวเตอร์ควอนตัมยิ้ม

ทำให้คอมพิวเตอร์ควอนตัมยิ้ม

เครดิตฟรี

เรากำลังจะสร้างโปรแกรมควอนตัมอย่างง่าย เริ่มต้นด้วยตัวอย่างคลาสสิกของโปรแกรมง่ายๆ บนคอมพิวเตอร์ปกติ: Hello, World!
พิมพ์ (“สวัสดีชาวโลก!”)
คอมพิวเตอร์รับอินพุตHello, World! และทำให้ปรากฏบนหน้าจอ มันทำอย่างนั้น มันทำทุกอย่าง: โดยจัดการจำนวนมากของ0s และ1s ดังนั้นในบางจุดของโปรแกรมHello, World! จะถูกเปลี่ยนเป็นสตริงไบนารีต่อไปนี้

สล็อต

นี่คือการแสดงข้อความไบนารีโดยใช้การเข้ารหัส ASCII ต้องใช้บิตจำนวนมากสำหรับข้อความธรรมดา เกิน 100 จริงดิ!
สมมติว่าเราต้องการทำHello, World! บนคอมพิวเตอร์ควอนตัมและเพื่อใช้qubits สิ่งเหล่านี้สามารถทำหน้าที่เหมือนบิต แต่ก็มีลูกเล่นพิเศษของควอนตัม
เนื่องจากคอมพิวเตอร์ควอนตัมสามารถทำทุกอย่างได้ตามปกติ เราจึงสามารถเรียกใช้โปรแกรมเดียวกันได้ 104 บิตที่ต้องการจะถูกเข้ารหัสโดยใช้ 104 qubits
น่าเสียดายที่คอมพิวเตอร์ควอนตัมที่มี qubits จำนวนมากนั้นไม่มีอยู่ในปัจจุบัน การเรียกใช้โปรแกรมปกติและน่าเบื่อเช่นนี้จะไม่ใช้ความเพ้อฝันของควอนตัม
แล้วเราควรทำอย่างไร? อย่างหนึ่ง เราสามารถย่อข้อความของเราให้สั้นลงได้ การใช้อักขระเพียงสองตัวจะต้องการเพียง 16 บิตเท่านั้น เนื่องจาก IBM มีอุปกรณ์ที่มี 16 คิวบิต การเข้ารหัสจึงไม่มีปัญหา ไปกันเถอะ0011101100101001ที่คุณอาจรู้จัก;)
ทีนี้มาเพิ่มความควอนตัมกันบ้าง แทนที่จะมีอิโมติคอนเพียงตัวเดียว เราสามารถสร้างการซ้อนทับควอนตัมของสองตัวได้ สิ่งนี้จะง่ายที่สุดหากสตริงไบนารีของพวกมันไม่ต่างกันมากนัก ดังนั้นเราจะเลือกสไมลี่ที่มักถูกมองข้าม: 8)
😉 = 00111011 00101001
8) = 00111000 00101001
เหล่านี้ทั้งสองยอมรับว่าบิต 1, 2, 6, 9, 10, 12, 14 และ 15 ที่ควรจะเป็น0และยังยอมรับว่าบิต 3, 4, 5, 11, 13 และ 16 1ที่ควรจะเป็น ซึ่งหมายความว่า qubits เหล่านี้จะถูกตั้งค่าเป็นค่าปกติที่น่าเบื่อเหล่านี้
มันอยู่ใน qubits 7 และ 8 ซึ่งเป็นที่ที่เวทมนตร์เกิดขึ้น สำหรับการซ้อนทับของ;)และ8) qubits เหล่านี้จะต้องทำให้เป็นทั้ง 0 และ 1 ทั้งคู่พร้อมกัน นี่คือสิ่งที่เราเรียกว่ารัฐทอด อันที่จริง เป็นสถานะที่พัวพันกันซึ่งสามารถนำมาใช้เพื่อพิสูจน์สิ่งที่ไอน์สไตน์คิดว่าเป็นไปไม่ได้ นั่นคือ กลศาสตร์ควอนตัมที่ไม่ใช่ท้องถิ่น
ในการเขียนโปรแกรมนี้ ฉันใช้QISKitซึ่งเป็น SDK สำหรับการคำนวณควอนตัม ให้ฉันเชื่อมต่อผ่านคลาวด์ด้วยคอมพิวเตอร์ควอนตัม 16 บิตต้นแบบของไอบีเอ็ม
ฉันเข้ารหัสการทับซ้อนของ;)และ8)แล้วอ่านออก หากคุณต้องการรายละเอียดให้ตรวจสอบรหัสที่มาที่นี่ หรือคุณยังสามารถดูวงจรควอนตัมควอนตัมโดยใช้ประสบการณ์ของไอบีเอ็มที่นี่
ก่อนอ่านค่า อุปกรณ์จะถือทั้ง;)และ8)พร้อมกัน เมื่อเราดูแล้วก็จะต้องสุ่มเลือกอย่างใดอย่างหนึ่ง เราจึงทำซ้ำหลายครั้ง และดูว่าแต่ละผลลัพธ์เกิดขึ้นบ่อยเพียงใด
อุปกรณ์ควอนตัมปัจจุบันเป็นแบบอย่างและมีเสียงดังเล็กน้อย ซึ่งหมายความว่ามีความเป็นไปได้ที่จะเกิดข้อผิดพลาดกับ qubits ของเรา และเราจะอ่านสิ่งที่แตกต่างไปจากเดิมอย่างสิ้นเชิง เช่น:(
เพื่อแสดงผลลัพธ์ในรูปแบบที่มนุษย์อ่านได้ ฉันจึงวางผลลัพธ์ทั้งหมดทับกัน ยิ่งมีผลเฉพาะเกิดขึ้นมากเท่าไร ก็ยิ่งแข็งแกร่งขึ้นเท่านั้น นี่คือผลลัพธ์
ฉันใช้เทคโนโลยีขั้นสูงที่สุดในโลกชิ้นหนึ่ง ซึ่งยังเป็นหนึ่งในสิ่งที่หนาวเย็นในจักรวาลทั้งหมด และฉันใช้มันเพื่อแทนที่สองสไมลี่ นั่นคือความสนุกของการเขียนโปรแกรมควอนตัม
ฉันเป็นนักฟิสิกส์เชิงทฤษฎี งานของฉันคือการคิดเกี่ยวกับสิ่งต่างๆ จริงๆแล้วการทำสิ่งต่าง ๆ นั้นเหลือสำหรับคนที่มีความสามารถมากขึ้น
สิ่งที่ฉันคิดคือคอมพิวเตอร์ควอนตัม ในหัวของฉันมันเป็นภูมิประเทศที่กว้างใหญ่ เต็มไปด้วยสิ่งเล็กๆ ที่เรียกว่าควิบิตนับไม่ถ้วน เหล่านี้เป็นรุ่นควอนตัมเล็กน้อย เปราะบางกว่ารุ่นปกติ แต่ละคนจึงพูดคุยกับเพื่อนบ้านอย่างต่อเนื่อง พวกเขาเปรียบเทียบบันทึกย่อเพื่อพยายามสังเกตสัญญาณข้อผิดพลาดที่เกิดขึ้น และเสริมสร้างความเข้มแข็งให้กันและกันเพื่อต่อต้านเสียงที่ดังกึกก้อง
คิวบิตในจินตนาการของฉันเต็มใจเสมอและสามารถทำตามคำสั่งของฉันได้ทุกเมื่อ ด้วยการสั่งคิวบิตจำนวนมาก ฉันสามารถจินตนาการถึงการทำสิ่งต่างๆ ได้ทุกประเภท
สิ่งที่สนุกอย่างหนึ่งที่ฉันชอบทำคือทำให้พวกเขาสับสน ฉันออกคำสั่งที่ไม่สอดคล้องกันทั้งหมด สิ่งนี้ทำให้แพทช์ของ qubits ที่ไม่แน่ใจว่าต้องทำอย่างไร โดยการเปลี่ยนคำสั่งของฉัน ฉันสามารถย้ายแพทช์ที่สับสนเหล่านี้ไปรอบๆ ฉันยังสามารถทุบพวกมันเข้าหากันและดูว่าเกิดอะไรขึ้น มันเหมือนกับ CERN รุ่นเล็ก ๆ ของฉันเองที่มีแพทช์สับสนเป็นอนุภาคของฉัน
สิ่งที่ยอดเยี่ยมเกี่ยวกับอนุภาคของผมก็คือ อนุภาคเหล่านี้ไม่มีอยู่จริง ดังนั้นจึงไม่จำเป็นต้องเชื่อฟังกฎฟิสิกส์ปกติ ทะเลแห่ง qubits ทำหน้าที่เป็นจักรวาลใหม่สำหรับอนุภาคที่จะอาศัยอยู่ด้วยกฎที่แปลกใหม่ของตัวเอง ด้วยชนิดของทะเลควิบิตที่เหมาะสม เราจะได้รับอนุภาคที่เป็นไปไม่ได้ในจักรวาลของเรา สิ่งที่น่าตื่นเต้นที่สุดเหล่านี้เรียกว่าใครก็ได้
นั่นเป็นไปตามทฤษฎีของเราอยู่ดี เรามีแนวคิดมากมายเกี่ยวกับวิธีที่คุณจะได้รับสิ่งแปลก ๆ ที่ทำตัวราวกับว่ามันเป็นอนุภาคที่เป็นไปไม่ได้ แต่ที่จริงแล้วการสร้างพวกมันเป็นอีกเรื่องหนึ่งโดยสิ้นเชิง ในขณะที่ฉันฝันถึงทะเลที่มีควิบิตจำนวนนับไม่ถ้วน นักทดลองต้องทำงานอย่างหนักเพื่อให้ได้เพียงไม่กี่คนมาเล่นด้วยกันอย่างสวยงาม

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

แต่แล้ววันหนึ่งฉันก็รู้ว่ากำมือหนึ่งก็เพียงพอแล้ว แค่ห้า qubits ก็เพียงพอแล้วที่จะเต้นอนุภาคที่เป็นไปไม่ได้รอบตัวและดูว่าเกิดอะไรขึ้น
ถึงอย่างนั้น ฉันไม่มี qubits ใด ๆ นั่งอยู่ในสำนักงานของฉัน ฉันต้องไปขอให้นักทดลองใช้พวกเขา ในช่วงไม่กี่ปีที่ผ่านมาพวกเขาสามารถเสนอราคาได้มากกว่าหนึ่งคู่ แต่ในที่สุดเราก็มาถึงจุดที่ห้าเป็นจำนวนที่สมเหตุสมผล ฉันจึงเริ่มวางแผนขอทาน
แต่ฉันไม่ต้องวางแผนนาน ในเดือนพฤษภาคม IBM ได้สร้างอุปกรณ์ 5 qubit ไม่ใช่เพราะพวกเขาต้องการทำอะไรด้วยตัวเอง พวกเขาทำให้คนอื่นเล่นด้วย เหมือนฉัน. หรือคุณ. หรือใครก็ได้! สิ่งที่คุณต้องมีคือการเข้าถึงอินเทอร์เน็ต และคุณสามารถยุ่งกับคอมพิวเตอร์ควอนตัมเล็กๆ น้อยๆ บนเว็บไซต์ได้
และเริ่มการทดลองครั้งแรกของฉันตั้งแต่ฉันยังเป็นนักศึกษาระดับปริญญาตรี การทดลองครั้งแรกของฉันที่ทำสิ่งใหม่และสำคัญจริงๆ ฉันทำอนุภาคประเภทที่เรียกว่า Majoranas จากนั้นฉันก็ย้ายพวกเขาไปรอบ ๆ จากนั้นฉันก็ดูเพื่อดูว่าผลลัพธ์เป็นไปตามที่ฉันคาดไว้หรือไม่ นอกเหนือจากความยุ่งเหยิงที่มีอยู่ในความเป็นจริงแล้ว
ดังนั้นฉันจึงเขียนมันทั้งหมดลงในกระดาษทดลองฉบับแรกของฉัน และส่งไปยังวารสารเพื่อให้เพื่อนตรวจสอบ
การพิพากษากลับมาก่อนวันคริสต์มาส ปรากฎว่าฉันไม่ใช่นักทดลองที่ไร้ความสามารถโดยสิ้นเชิง กระดาษขณะนี้ได้รับการตีพิมพ์ในวารสารควอนตัมวิทยาศาสตร์และเทคโนโลยี
ตอนนี้ฉันสามารถทำอะไรกับอุปกรณ์นี้ได้อีก? คุณทำอะไรได้บ้าง? คุณยังเป็นคนที่คิดสิ่งต่างๆ พวกเขาจะไม่เหมือนกับสิ่งที่ฉันคิด แต่นั่นอาจเป็นสิ่งที่ดีที่สุด คุณยังสามารถเปลี่ยนการคิดควอนตัมของคุณให้กลายเป็นจริงได้ด้วย IBM แล้วทำไมไม่ไปเล่นเองล่ะ? คุณอาจได้สิ่งที่นักวิทยาศาสตร์อย่างเราไม่เคยฝันถึง ถ้าฉันสามารถใช้มันเพื่อสร้างจักรวาลใหม่ที่มีอนุภาคที่เป็นไปไม่ได้ คุณจะทำอะไรได้บ้าง?
ขณะนี้เราอยู่ในยุคที่คุณสามารถใช้คอมพิวเตอร์ควอนตัมจากบ้านของคุณเองได้อย่างสะดวกสบาย สิ่งที่คุณต้องมีเพื่อเริ่มต้นการเดินทางควอนตัมของคุณคือ IBM Q Experience
ในคู่มือนี้ ฉันจะแสดงวิธีตั้งค่าการทดสอบง่ายๆ โดยเฉพาะฉันจะแสดงวิธีตั้งค่าปริศนาแรกในเกม Hello Quantum
นักแต่งเพลงเป็นที่ที่คุณเขียนโปรแกรมควอนตัมของคุณ โดยค่าเริ่มต้น มันเริ่มต้นคุณด้วยห้า qubits ของตัวประมวลผลควอนตัมจริงที่เรียกว่า ibmqx4 แต่ให้มาโฟกัสกับบางสิ่งที่ง่ายกว่านี้ดีกว่า มาตั้งค่านักแต่งเพลงกันแค่สอง qubits
ในการทำเช่นนี้ ก่อนอื่นเราคลิกที่ปุ่ม ‘ใหม่’ ที่ด้านบนขวา จากนั้นเราต้องเลือกชื่อ ในตัวอย่างนี้ ฉันจะตั้งปริศนาตัวแรกในHello Quantumดังนั้นฉันจะตั้งชื่อมันหลังจากนั้น
งานต่อไปคือการเลือกว่าจะใช้งานอุปกรณ์จริงอย่างใดอย่างหนึ่ง หรือว่าจะเรียกใช้การจำลองสิ่งที่แตกต่างกัน เราต้องการอิสระที่สิ่งหลังมอบให้เรา ดังนั้นเราจึงคลิก ‘Custom Topology’
สุดท้ายเราต้องเปลี่ยนจำนวน qubits และ bits ที่จะใช้ ในHello Quantumเรากำลังดูกระบวนการที่สอง qubits กลายเป็นสองบิต ดังนั้นเราจึงต้องการทั้งสองอย่าง เมื่อเสร็จแล้ว เราคลิก ‘ตั้งค่าโทโพโลยี’
กล่องทางด้านขวาแสดงถึงการดำเนินการต่างๆ ที่เราสามารถทำได้กับ qubits ของเรา สิ่งที่เราต้องทำคือลากและวางลงบนเส้น ในการตั้งค่าสถานะเริ่มต้นของปริศนาตัวแรก เราต้องลากและ X ไปที่ qubit 1

jumboslot

และนั่นคืองานที่ทำ! ทีนี้ลองดูว่ามันเป็นไปตามที่เราคาดไว้หรือไม่
ปริศนาแรกของ Hello Quantum ดูเหมือนภาพด้านล่าง วงกลมด้านล่างสำหรับ qubit ทางด้านซ้ายเป็นสีขาว ซึ่งหมายความว่าจะให้ผลลัพธ์ a 1อย่างแน่นอน วงกลมด้านล่างสำหรับ qubit ขวาเป็นสีดำ ซึ่งหมายความว่าเป็น0.
วิธีที่เราได้รับผลลัพธ์สำหรับวงกลมด้านล่างคือการใช้เกทวัด สามารถพบได้โดยเลื่อนลงมาในส่วนประตูด้านขวา
ในการดูวงกลมด้านล่างของทั้งสอง เราแค่ลากเกทวัดไปที่ทั้งสองบรรทัด เมื่อเราทำเช่นนี้ มันจะถามชื่อที่เราจะให้บิตผลลัพธ์ เพียงกด ‘ตกลง’ เพราะตัวเลือกเริ่มต้นคือตัวเลือกที่ดีที่สุดสำหรับเรา
หากคุณยังไม่ได้ลงชื่อเข้าใช้ คุณจะต้องดำเนินการที่นี่ คุณสามารถตั้งค่าบัญชีสำหรับ IBM Q Experience เท่านั้น หรือลงชื่อเข้าใช้ด้วยบัญชีโซเชียลมีเดียที่มีอยู่ของคุณ
เมื่อผู้ดูแลระบบเสร็จสิ้น คุณจะเห็นหน้าจอผลลัพธ์ สิ่งนี้นำเสนอผลลัพธ์ของคุณในรูปแบบของฮิสโตแกรม
ในกรณีนี้ มีเพียงผลลัพธ์เดียวที่เป็นไปได้ เมื่อดูใต้แถบ เราจะเห็นว่านี่คือผลลัพธ์10ซึ่งหมายถึงผลลัพธ์ของ1qubit ทางซ้ายและ0ทางขวา เป็นไปตามคาด!
ตอนนี้ มาดูวงกลมด้านบนกัน สำหรับสิ่งนี้ เราจำเป็นต้องเปลี่ยนคำถามที่เราถาม qubits
ขณะนี้มีผลลัพธ์ที่เป็นไปได้สี่ประการ: 00, 01, 10และ 11ตัวจำลองดำเนินการ 100 ครั้งและพบว่า11 ออกมา 25% ของเวลา10 ออกมา 23% ของเวลา และอื่นๆ
หากคุณดำเนินการด้วยตนเอง คุณจะพบตัวเลขที่แตกต่างกันเกือบแน่นอน ทั้งหมดควรออกมาด้วยความน่าจะเป็นเท่ากันที่ 25% แต่เนื่องจากเราใช้ตัวอย่างจำนวนจำกัด เราจึงมักจะเห็นความผิดปกติทางสถิติเช่นนี้
ในกรณีใด ๆ เราจะเห็นทั้ง qubits สุ่มให้คำตอบของ 0 หรือ 1 และว่านอกจากนี้ยังเป็นสิ่งที่เราคาดหวังสำหรับปริศนาแรกของสวัสดีควอนตัม
ทีนี้มาทำตัวอย่างอื่นกัน เราจะตั้งค่าสถานะเริ่มต้นของระดับ 4 – ปริศนา 1
วิธีที่ง่ายที่สุดที่จะทำนี้คือการทำให้แรกเป้าหมายของรัฐ, และจากนั้นย้อนกลับทำงานเพื่อสถานะเริ่มต้น
สถานะเป้าหมายมีวงกลมบนสุดสีดำสำหรับ qubit ซ้าย และวงกลมบนสีขาวสำหรับ qubit ขวา หากคุณเคยเล่นHello Quantumและอ่านส่วน ‘เรียนรู้เพิ่มเติม’ หรือหากคุณได้อ่านบทความนี้หวังว่าจะชัดเจนว่าการตั้งค่านี้สามารถตั้งค่าได้
เพื่อให้ได้สถานะเริ่มต้นของระดับ 4 — Puzzle 1 สิ่งที่เราต้องมีคือ CZ หากต้องการรับ ขั้นแรกให้ทำเครื่องหมายที่ช่อง ‘ขั้นสูง’ ในส่วนประตู แล้วเลื่อนลงมา คุณจะพบ CZ ภายใต้ ‘รูทีนย่อย’ สิ่งที่เราต้องทำคือลากมันออกมา
[NPC5]รูทีนย่อยเป็นประตูที่คุณสามารถสร้างเองได้ และ CZ ถูกจัดเตรียมไว้เป็นตัวอย่าง ด้วยเหตุนี้จึงไม่ได้รับสัญลักษณ์ที่สร้างขึ้นเอง แต่จะได้รับสัญลักษณ์ทั่วไปสำหรับรูทีนย่อยแทน
นี่คือที่มาของ ‘a’ และ ‘b’ รูทีนย่อยสำหรับสอง qubits มักจะทำสิ่งที่แตกต่างกันในแต่ละ qubit ดังนั้นต้องใช้ ‘a’ และ ‘b’ เพื่อติดตามว่า qubit ใด แต่สำหรับกรณีของ CZ พวกเขาอาจถูกละทิ้งจริงๆ ดังนั้นไม่ต้องกังวลกับพวกเขามากเกินไป