Quantum Computer คืออะไร ควอนตัมคอมพิวเตอร์ เทคโนโลยีของคอมพิวเตอร์ที่ไม่ได้มีแค่ 0 หรือ 1

ปัจจุบันการพัฒนาของ Transistor ใน IC นั้นเป็นไปตามกฏของ Moore (มัวร์) ซึ่ง Transistor ใน IC นั้นจะเพิ่มขึ้นเป็น 2 เท่าในทุกๆปี

กราฟจำนวน Transistor ตามกฏของมัวร์

แต่ดูเหมือนว่า เมื่อนำ Transistor จำนวนมากๆเข้าจะทำให้เกิดปัญหาอย่างหนึ่งคือ “ความร้อน” ดังนั้นจึงได้มีการพัฒนา Quantum Computer (ควอนตัมคอมพิวเตอร์) ตามกฏของหลังฟิสิกส์ Quantum ซึ่งจะยุ่งเกี่ยวกับอะตอมดังนั้น จะต่างกับระบบของ Transistor ซึ่งจะมีค่าเพียง 0 หรือ 1 เท่านั้น

YouTube Preview Image

คลิปอธิบายการแปลงสภาพของอะตอม

หลักการทำงาน

Quantum Computing

  •  โดยปกติของอะตอมนั้นมีการชนกันอยู่เสมอเมื่อมีการชนกันของอะตอมทำให้เกิดพลังงานซึ่งสามารถทำให้เกิดค่าที่ต้องการได้เช่นเดียวกับ 0 หรือ 1 ในระบบของ Transistor
  •  เป็นไปได้ทั้ง 0 และ 1 ในเวลาเดียวกันทำให้มีความเร็วมากกว่า Transistor มาก
  •  จำกัดอุณหภูมิที่เย็นมากๆ รวมถึงต้องมีการควบคุมอะตอมอิสระด้วย
  •  Bit ใน Quantum เรียกว่า QuBit (Quantum Bit) หรือ คิวบิท

เราทราบว่าอะตอมนั้นเป็นทรงกลมดังนั้นเมื่อมีการชนเราก็สามารถคำนวนทิศทางได้

การ Programming ของ Quantum Computing

  • ณ ตอนนี้ทาง IBM ได้มี API เป็นของตัวเองซึ่งใช้ในการพัฒนา Quantum Computer ซึ่งพัฒนาไปถึงเกมส์ Battleship หรือเกมกระดานยุคคลาสิกได้
  • Tool และ Instruction
    • Quil ภาษาประจำเครื่องของ Quantum Computer
    • OpenQASM (Open Quantum Assembly Language) เป็นภาษาสำหรับผู้ใช้งานระดับกลางซืึ่งใช้งานกับ Quantum Experience https://en.wikipedia.org/wiki/OpenQASM                                 (ตัวอย่าง Coding ของ Open QASM)
  • ภาษาของ Quantum Computer นั้นมี 2 ประเภท
    • Imperative Language หรือ ภาษาที่จำเป็นต้องมีคล้ายๆภาษา C ในคอมพิวเตอร์ตัวไป
      • QCL คือ ภาษาแรกของ Quantum Programming ใช้ Syntax แบบภาษา C ทำให้จับทางได้ง่ายและยังสามารถใช้ Code เดิมทั้ง 2 Platform ได้
      • Q Language คือภาษาที่สองของ Quantum Programming ซึ่งเป็น Extension ของภาษา C++
    • Functional Language หรือ ภาษาที่มีการ Implement และพัฒนาสำหรับ Quantum Computer โดยเฉพาะ ซึ่งมีหลายภาษา ณ ตอนนี้
      • QFC and QPL ภาษานี้แบ่งเป็น 2 ส่วนคือ
        • QFC คือส่วนในของ Flowchart
        • QPL คือส่วนของคำสั่งต่างๆ
        • ทั้งสองภาษานี้ใช้กฏของ Linear Operator ซึ่งเป็นไปตามแกน Vector                 อ้างอิง Super Operator https://en.wikipedia.org/wiki/Superoperator
      • QML เป็นภาษาที่มีอัลกอริทึมสำหรับอะตอมที่สามารถนับได้(รู้จำนวณสูงสุด)และจัดเป็นโครงสร้างอะตอม https://web.archive.org/web/20070926230222/http://sneezy.cs.nott.ac.uk/QML/อ้างอิงและบันทึกการพัฒนา
      • LIQUi|> (Liquid) เป็น Extension ของภาษา F#
      • Quantum lambda calculi เป้นภาษาที่มีอัลกอริทึมตามกฏของ Lambda Calculus  อ้างอิง https://en.wikipedia.org/wiki/Lambda_calculus
      • Quipper https://www.mathstat.dal.ca/~selinger/quipper/ เวปไซต์ของ Quipper ซึ่งมีทั้งเอกสารและคำแนะนำต่างๆของภาษานี้

ยกตัวอย่าง Program –> QCL

  • อ้างอิง Tool
  • ไฟล์ข้อมูล จากที่สังเกตุได้ว่าไฟล์นั้นเป็นภาษา C
  • ตัวอย่างการใช้ Command ด้วย Tool Cygwin64 แบบสั้นๆ
  • YouTube Preview Image

THUMMATUS BOONLERD
at GlurGeek.Com

Leave a Reply

© 2022 GlurGeek.Com