โลกกำลังเปลี่ยนแปลงอย่างรวดเร็วกว่าที่เคยเนื่องจากการเปลี่ยนแปลงทางดิจิทัล
ด้วยการถือกำเนิดของเทคโนโลยีคลื่นลูกใหม่ที่กำลังจะเกิดขึ้นซึ่งสามารถเปลี่ยนแปลงกระบวนทัศน์ในปัจจุบันได้อย่างมากด้วยความเร็วและพลังอันน่าทึ่ง: การคำนวณควอนตัม การทำความเข้าใจแนวคิดพื้นฐานของยุคดิจิทัลจะมีความสำคัญยิ่งขึ้นไปอีก
เทคนิคขั้นสูงที่เรียกว่าการคำนวณควอนตัมใช้ฟิสิกส์ควอนตัมเพื่อแก้ปัญหาที่อยู่นอกเหนือขอบเขตของคอมพิวเตอร์ทั่วไป
หลักการของทฤษฎีควอนตัมแสดงให้เห็นว่าสสารและพลังงานทำงานอย่างไรในระดับอะตอมและอะตอม และ Qiskit ของไอบีเอ็มเป็นชุดพัฒนาซอฟต์แวร์ควอนตัมโอเพนซอร์สที่ช่วยในการสร้างระบบคอมพิวเตอร์ควอนตัม
บทความนี้พยายามอธิบายสิ่งนี้และให้ภาพรวมของการคำนวณควอนตัมแก่คุณ
เราจะอธิบายให้ผู้อ่านฟังโดยใช้ควอนตัมคอมพิวติ้งแบบโอเพนซอร์ส SDK, เช่น. Qiskit และให้พวกเขาสำรวจโดยใช้ โน้ตบุ๊ค Jupyter โฮสต์ที่ IBM Quantum Lab
คอมพิวเตอร์ควอนตัมคืออะไร?
คอมพิวเตอร์ควอนตัม เป็นสาขาวิชาวิทยาการคอมพิวเตอร์ที่เน้นการพัฒนาเทคโนโลยีคอมพิวเตอร์โดยใช้แนวคิดจากทฤษฎีควอนตัม
โดยใช้ประโยชน์จากความสามารถพิเศษของอนุภาคย่อยเพื่อให้มีอยู่พร้อมกันในหลายสถานะ เช่น 0 และ 1
พวกเขาสามารถประมวลผลข้อมูลได้มากกว่าคอมพิวเตอร์ทั่วไป
ในกระบวนการคำนวณควอนตัม คิวบิตถูกสร้างขึ้นโดยใช้สถานะควอนตัมของวัตถุ ข้อมูลที่จำเป็นในการคำนวณควอนตัมคือ qubits
พวกเขาทำหน้าที่เดียวกันกับบิตในการคำนวณทั่วไปในการคำนวณควอนตัม แต่ทำหน้าที่แตกต่างกันมาก คอมพิวเตอร์ควอนตัมเป็นสาขาหนึ่งที่ถือกำเนิดขึ้นในทศวรรษ 1980
จากนั้นจึงพบว่าอัลกอริธึมควอนตัมมีประสิทธิภาพในการทำงานคอมพิวเตอร์มากกว่าการทำงานแบบคลาสสิก
การซ้อนทับและการพัวพัน สองแนวคิดจากฟิสิกส์ควอนตัม เป็นรากฐานของซูเปอร์คอมพิวเตอร์เหล่านี้
เมื่อเทียบกับคอมพิวเตอร์ทั่วไป คอมพิวเตอร์ควอนตัมสามารถสั่งงานที่มีขนาดได้เร็วกว่าในขณะที่ใช้พลังงานน้อยกว่ามาก
เราต้องดำเนินการกับคอมพิวเตอร์ควอนตัมเพื่อให้เข้าใจอย่างถ่องแท้ เริ่มกันเลย
คอมพิวเตอร์ควอนตัมทำงานอย่างไร?
เมื่อเทียบกับคอมพิวเตอร์ทั่วไปที่เราคุ้นเคย คอมพิวเตอร์ควอนตัมมีวิธีการแก้ปัญหาต่างกัน สำหรับงานบางอย่าง คอมพิวเตอร์ควอนตัมเป็นที่นิยมมากกว่าคอมพิวเตอร์ทั่วไปในหลายวิธี
ความสามารถของพวกเขาที่จะมีอยู่ในหลายรัฐพร้อมกันนั้นคิดว่าเป็นสาเหตุ ในทางกลับกัน คอมพิวเตอร์ทั่วไปสามารถอยู่ในสถานะเดียวเท่านั้นในคราวเดียว
มีแนวคิดหลักสามประการที่คุณต้องเข้าใจเพื่อที่จะเข้าใจว่าคอมพิวเตอร์ควอนตัมทำงานอย่างไร:
- การทับซ้อน
- พัวพัน
- การรบกวน.
การทับซ้อน
บิตเป็นองค์ประกอบพื้นฐานของคอมพิวเตอร์แบบดั้งเดิม ควอนตัมบิตหรือ Qubits เป็นหน่วยพื้นฐานของคอมพิวเตอร์ควอนตัม
โดยพื้นฐานแล้ว บิตควอนตัมทำงานแตกต่างกัน บิตไบนารีหรือบางครั้งเรียกว่าบิตดั้งเดิมคือสวิตช์ที่สามารถเป็น 0 หรือ 1
เราได้รับสถานะปัจจุบันของบิตกลับมาเมื่อเราวัด Qubits เป็นข้อยกเว้นสำหรับสิ่งนี้ Qubits สามารถเปรียบเทียบได้กับลูกศรที่ชี้ในสามมิติ
อยู่ในเงื่อนไข 0 หากชี้ขึ้น อยู่ในสถานะ 1 หากชี้ลง เช่นเดียวกับบิตคลาสสิก
อย่างไรก็ตาม พวกเขายังสามารถเลือกที่จะอยู่ในสถานะซ้อนทับได้
ลูกศรอยู่ในสถานะที่ชี้ไปในทิศทางอื่น การทับซ้อนของ 0 และ 1 ส่งผลให้อยู่ในสถานะนี้ Qubit จะยังคงสร้าง 1 หรือ 0 เป็นผลลัพธ์เมื่อมีการวัด
อย่างไรก็ตาม การวางแนวของลูกศรจะกำหนดความน่าจะเป็นที่เกี่ยวข้อง
คุณมีแนวโน้มที่จะได้รับ 1 หากลูกศรชี้ลงเป็นหลัก และ 0 หากชี้ขึ้นเป็นหลัก
คุณจะมีโอกาสชนะ 50% สำหรับแต่ละรายการหากลูกศรอยู่ตรงกลาง โดยสรุปนั่นคือการซ้อนทับ
สิ่งกีดขวาง
บิตในคอมพิวเตอร์แบบดั้งเดิมนั้นเป็นอิสระจากกัน สถานะของบิตหนึ่งไม่มีผลต่อสถานะของบิตอื่น
qubits ในคอมพิวเตอร์ควอนตัมสามารถเข้าไปพัวพันกันได้ นี่หมายความว่าพวกมันรวมเป็นสถานะควอนตัมขนาดใหญ่เพียงสถานะเดียว
สำหรับภาพประกอบ ให้พิจารณาสอง qubits ที่อยู่ในสถานะ superposition ต่างๆ แต่ยังไม่พันกัน ในเวลานี้ความน่าจะเป็นของพวกเขาไม่ได้พึ่งพาซึ่งกันและกัน
เมื่อเราเข้าไปพัวพันกับพวกมัน เราต้องละทิ้งความน่าจะเป็นอิสระเหล่านั้นและกำหนดความน่าจะเป็นของสถานะทางเลือกทั้งหมดที่เราสามารถหลบหนีได้ กล่าวคือ 00, 01, 10 และ 11
การแจกแจงความน่าจะเป็นของทั้งระบบจะเปลี่ยนไป ถ้าทิศทางของลูกศรบนหนึ่ง qubit เปลี่ยนไปเนื่องจาก qubits พันกัน
ความเป็นอิสระของ qubits จากกันและกันหายไป แต่ละคนเป็นองค์ประกอบที่มีขนาดเท่ากัน ไม่ว่าคุณจะมีกี่ qubits ก็ยังเป็นเช่นนี้
มีการรวมสถานะ 2n ที่เป็นไปได้สำหรับคอมพิวเตอร์ควอนตัมที่มี n คิวบิต
คุณมีการกระจายความน่าจะเป็นในสองสถานะ เช่น หนึ่งควิบิต คุณมีการแจกแจงความน่าจะเป็นในสี่สถานะสำหรับสอง qubits เป็นต้น ความแตกต่างหลักระหว่างคอมพิวเตอร์คลาสสิกและควอนตัมคือสิ่งนี้
คุณสามารถวางคอมพิวเตอร์แบบคลาสสิกในสภาวะใดก็ได้ที่คุณเลือก แต่ให้มีเพียงเครื่องเดียวเท่านั้น สถานะทั้งหมดเหล่านี้สามารถมีอยู่พร้อมกันบนคอมพิวเตอร์ควอนตัมเป็นการซ้อนทับ
คอมพิวเตอร์จะได้ประโยชน์จากการอยู่ในสถานะเหล่านั้นทั้งหมดในคราวเดียวได้อย่างไร องค์ประกอบสุดท้ายของการแทรกแซงมาถึงจุดนี้
การรบกวนจากสมาชิกอื่น
ฟังก์ชันคลื่นควอนตัมสามารถใช้อธิบายสถานะของควิบิตได้
คำอธิบายทางคณิตศาสตร์พื้นฐานของทุกอย่างในฟิสิกส์ควอนตัมมีให้โดยฟังก์ชันคลื่น
เมื่อคิวบิตจำนวนมากพันกัน ฟังก์ชันคลื่นแต่ละตัวของพวกมันจะถูกรวมเข้าด้วยกันเพื่อสร้างฟังก์ชันคลื่นเดี่ยวที่อธิบายสถานะโดยรวมของคอมพิวเตอร์ควอนตัม
การรบกวนเป็นผลมาจากการเพิ่มฟังก์ชันคลื่นเหล่านี้เข้าด้วยกัน เมื่อมีการรวมคลื่นเข้าด้วยกัน คลื่นอาจโต้ตอบอย่างสร้างสรรค์และรวมกันเพื่อสร้างคลื่นขนาดใหญ่ขึ้น เช่นเดียวกับระลอกน้ำ
พวกเขายังสามารถโต้ตอบอย่างทำลายล้างเพื่อต่อต้านซึ่งกันและกัน ความน่าจะเป็นที่หลากหลายของสถานะต่างๆ ถูกกำหนดโดยฟังก์ชันคลื่นโดยรวมของคอมพิวเตอร์ควอนตัม
เราสามารถเปลี่ยนแปลงความเป็นไปได้ที่สถานะบางอย่างจะเกิดขึ้นเมื่อเราวัดคอมพิวเตอร์ควอนตัมโดยเปลี่ยนสถานะของควิบิตต่างๆ
แม้ว่าคอมพิวเตอร์ควอนตัมจะมีสถานะซ้อนทับกันหลายสถานะในคราวเดียว การวัดจะเปิดเผยเพียงสถานะใดสถานะหนึ่งเท่านั้น
ดังนั้น ในขณะที่ใช้คอมพิวเตอร์ควอนตัมเพื่อทำงานคำนวณให้เสร็จ จำเป็นต้องมีการรบกวนเชิงสร้างสรรค์เพื่อเพิ่มโอกาสที่จะได้รับคำตอบที่ถูกต้องและการรบกวนแบบทำลายล้างเพื่อลดโอกาสในการได้รับคำตอบที่ไม่ถูกต้อง
มาเริ่มกันที่ Qiskit กันก่อน
ความหมายของ คิสกิต?
Qiskit เป็นเฟรมเวิร์กซอฟต์แวร์ที่ได้รับทุนสนับสนุนจากไอบีเอ็ม ซึ่งออกแบบมาเพื่อให้ทุกคนเข้าสู่วงการคอมพิวเตอร์ควอนตัมได้ง่ายขึ้น
เนื่องจากคอมพิวเตอร์ควอนตัมหายาก คุณจึงสามารถขอรับคอมพิวเตอร์ผ่านผู้ให้บริการระบบคลาวด์ เช่น IBM โดยใช้กล่องเครื่องมือ Qiskit
สามารถใช้ได้ฟรี และรหัสทั้งหมดของมันคือ โอเพนซอร์ส.
มี a หนังสือเรียนออนไลน์ ที่สอนพื้นฐานทั้งหมดของฟิสิกส์ควอนตัมให้คุณ ซึ่งมีประโยชน์มากสำหรับผู้ที่ไม่คุ้นเคยกับวิชานี้ Python ใช้เพื่อพัฒนาชุดเครื่องมือ Qiskit
ดังนั้น หากคุณคุ้นเคยกับภาษาการเขียนโปรแกรม Python คุณจะรู้จักโค้ดจำนวนมาก
กรอบซอฟต์แวร์เหมาะสำหรับผู้ที่ต้องการ เรียนรู้เกี่ยวกับการคำนวณควอนตัม ในขณะที่ยังได้รับประสบการณ์จริง
ลักษณะพื้นฐานที่สุดของ Qiskit คือการทำงานในสองขั้นตอน ขั้นตอนหนึ่งคือขั้นตอนการสร้าง ซึ่งเราสร้างวงจรควอนตัมหลายวงจร และใช้วงจรเหล่านั้นเพื่อแก้ปัญหา
จากนั้น หลังจากเสร็จสิ้นขั้นตอนการสร้างหรือถึงโซลูชัน เราจะไปยังขั้นตอนถัดไป ซึ่งเรียกว่าขั้นตอนการดำเนินการ ซึ่งเราพยายามเรียกใช้งานบิลด์หรือโซลูชันของเราในแบ็กเอนด์ต่างๆ (แบ็คเอนด์เวกเตอร์สถานะ แบ็กเอนด์รวม เปิด แบ็กเอนด์ ASM) และหลังจากการรันเสร็จสิ้น เราจะประมวลผลข้อมูลในบิลด์สำหรับเอาต์พุตที่ต้องการ
เริ่มต้นใช้งาน Qiskit
บนคอมพิวเตอร์ส่วนบุคคลของคุณหรือ Jupyter Notebook ที่ IBM โฮสต์ คุณสามารถติดตั้งได้ในเครื่อง เขียนรหัสต่อไปนี้เพื่อติดตั้งในเครื่องคอมพิวเตอร์ Windows:
เราจำเป็นต้องลงทะเบียนที่นี่เพื่อเข้าถึงโทเค็น API ที่ช่วยให้เราใช้อุปกรณ์ควอนตัมของ IBM จากนั้นเราสามารถเริ่มทำงานกับเว็บไซต์ของบริษัทได้ คุณสามารถจินตนาการถึงการทำเช่นนี้โดยใช้ Jupyter Notebook ที่ติดตั้ง Qiskit ที่ทำงานออนไลน์
คุณสามารถเข้าถึงได้โดยเลือกโปรไฟล์ของคุณจากเมนูที่มุมขวาบนของหน้า จากนั้นเลือกข้อมูลบัญชี คุณสามารถค้นหาโทเค็น API ของคุณได้ในส่วนที่เกี่ยวกับโทเค็น API ในรูปแบบของ *** มันถูกคัดลอกแล้วป้อนลงในรหัสต่อไปนี้:
เมื่อรันโค้ดนี้แล้ว โทเค็น API ของคุณจะถูกบันทึกไว้ในคอมพิวเตอร์ของคุณ ทำให้คุณสามารถใช้อุปกรณ์ควอนตัมของ IBM ได้ ป้อนข้อมูลต่อไปนี้เพื่อพิจารณาว่าคุณมีสิทธิ์เข้าถึงอุปกรณ์ดังกล่าวหรือไม่:
หากโค้ดดังกล่าวทำงาน คุณควรจะสามารถรันโค้ดได้ไม่เพียงแค่บนคอมพิวเตอร์ของคุณเท่านั้น แต่ยังสามารถส่งวงจรควอนตัมในตัวไปยังอุปกรณ์ควอนตัมของ IBM และรับผลลัพธ์ได้ด้วย
ดังนั้น โดยใช้ไลบรารีวงจร เราสามารถเริ่มพัฒนาอัลกอริทึมควอนตัมแรกของเราได้ เราเริ่มต้นด้วยการนำเข้าการพึ่งพาที่จำเป็นจาก Qiskit ไปยังโครงการของเรา
จากนั้นเราสร้างรีจิสเตอร์ควอนตัมสองบิตและรีจิสเตอร์ธรรมดาสองบิต
ตอนนี้เรามีการลงทะเบียนทั้งแบบคลาสสิกและแบบควอนตัมแล้ว เมื่อใช้สองตัวนี้ เราสามารถสร้างวงจรได้ และหากคุณต้องการร่างลักษณะของวงจรควอนตัมในเวลาใดๆ ตลอดการปรับเปลี่ยนวงจร ให้เขียนโค้ดต่อไปนี้:
จากภาพจะเห็นได้ว่าวงจรประกอบด้วยควอนตัมสองบิตและสองบิตคลาสสิก
วงจรนี้ไม่มีประตู ทำให้ไม่น่าสนใจ ทีนี้มาสร้างวงจรโดยใช้ประตูควอนตัมกัน เหมือนคลาสสิก ประตูลอจิก (และหรือหรือเกท) ใช้สำหรับวงจรดิจิตอลปกติ ประตูควอนตัมเป็นส่วนประกอบพื้นฐานของวงจรควอนตัม
การใช้ประตู Hadamard กับ qubit แรกเป็นขั้นตอนแรกในการสร้างสิ่งกีดขวาง จากนั้น ใช้รหัสต่อไปนี้ เราจะเพิ่มการดำเนินการ x ที่ควบคุมสองบิต:
เมื่อตัวดำเนินการสองตัวนี้ถูกใช้เพื่อสร้างวงจรควอนตัมของเราแล้ว ก็ถึงเวลาที่จะวัดควอนตัมบิต (qubits) ทำการวัดเหล่านั้นและเก็บไว้ในบิตแบบคลาสสิก มาสร้างรหัสที่จำเป็นเพื่อให้บรรลุ:
แผนภาพด้านล่างแสดงเค้าโครงของวงจรของเรา:
วงจรจะต้องทำงานบนเครื่องจำลองคอมพิวเตอร์แบบเดิม วงจรเสร็จเรียบร้อยแล้ว และตรวจสอบผลลัพธ์ของการดำเนินการนั้น
ข้อมูลที่ได้จากการทำวงจรนั้นจะถูกเก็บไว้ในตัวแปรผลลัพธ์ มาแสดงผลเหล่านี้โดยใช้กราฟฮิสโตแกรม
นั่นคือสิ่งที่เกิดขึ้นเมื่อเรารันวงจรควอนตัมของเรา สำหรับตัวเลข 00 และ 11 เรามีความน่าจะเป็นประมาณ 50% วงจรคอมพิวเตอร์ควอนตัมเริ่มต้นของคุณถูกสร้างขึ้น ยินดีด้วย!
การประยุกต์ใช้ Qiskit Quantum Computing
Qiskit การเงิน
Qiskit Finance นำเสนอชุดเครื่องมือและแอปพลิเคชันสาธิต ซึ่งรวมถึงนักแปล Ising สำหรับการเพิ่มประสิทธิภาพพอร์ตโฟลิโอ ผู้จัดหาข้อมูลสำหรับข้อมูลจริงหรือข้อมูลแบบสุ่ม และการใช้งานเพื่อกำหนดราคาตัวเลือกทางการเงินต่างๆ หรือการประเมินความเสี่ยงด้านเครดิต
Qiskit ธรรมชาติ
แอพพลิเคชั่นเช่น การพับโปรตีนและโครงสร้างอิเล็กทรอนิกส์/ไวโบรนิก Qiskit Nature รองรับการคำนวณสำหรับทั้งสถานะตื่นเต้นและสถานะกราวด์
มันมีทุกส่วนที่จำเป็นสำหรับการเชื่อมต่อรหัสคลาสสิกและแปลงเป็นการแทนค่าต่าง ๆ ที่จำเป็นสำหรับคอมพิวเตอร์ควอนตัมโดยอัตโนมัติ
การเรียนรู้ของเครื่อง Qiskit
ควอนตัม เรียนรู้เครื่อง วิธีการที่ใช้เพื่อแก้ไขปัญหาต่างๆ เช่น การถดถอยและการจำแนกประเภท จัดทำโดย Qiskit Machine Learning รวมถึงควอนตัมเคอร์เนลพื้นฐานและเครือข่ายนิวรัลควอนตัม (QNNs) เป็นหน่วยการสร้าง
นอกจากนี้ยังเปิดใช้งานการเชื่อมต่อของ QNN กับ PyTorch เพื่อวัตถุประสงค์ในการรวมองค์ประกอบควอนตัมเข้ากับการดำเนินการแบบคลาสสิก
การเพิ่มประสิทธิภาพ Qiskit
Qiskit Optimization นำเสนอบริการการปรับให้เหมาะสมทั้งหมด รวมถึงการสร้างแบบจำลองระดับสูงของปัญหาการเพิ่มประสิทธิภาพ การแปลปัญหาโดยอัตโนมัติเป็นการนำเสนอที่จำเป็นต่างๆ และการรวบรวมวิธีการเพิ่มประสิทธิภาพควอนตัมอย่างง่าย
สรุป
โดยสรุป แม้ว่าซูเปอร์คอมพิวเตอร์ที่เร็วที่สุดในปัจจุบันจะใช้เวลาหลายปี แต่คอมพิวเตอร์ควอนตัมสามารถฝ่าฟันวิธีการเข้ารหัสปัจจุบันได้อย่างรวดเร็ว
แม้ว่าคอมพิวเตอร์ควอนตัมจะสามารถทำลายเทคนิคการเข้ารหัสจำนวนมากที่ใช้อยู่ในปัจจุบัน แต่คาดว่าพวกเขาจะสร้างสิ่งทดแทนที่ป้องกันการแฮ็ก
การปรับปัญหาให้เหมาะสมเป็นจุดแข็งของคอมพิวเตอร์ควอนตัม ดูรายละเอียดเพิ่มเติมได้ที่ Qiskit GitHub.
เขียนความเห็น