ปัจจุบันการพัฒนาของ Transistor ใน IC นั้นเป็นไปตามกฏของ Moore (มัวร์) ซึ่ง Transistor ใน IC นั้นจะเพิ่มขึ้นเป็น 2 เท่าในทุกๆปี
กราฟจำนวน Transistor ตามกฏของมัวร์
แต่ดูเหมือนว่า เมื่อนำ Transistor จำนวนมากๆเข้าจะทำให้เกิดปัญหาอย่างหนึ่งคือ “ความร้อน” ดังนั้นจึงได้มีการพัฒนา Quantum Computer (ควอนตัมคอมพิวเตอร์) ตามกฏของหลังฟิสิกส์ Quantum ซึ่งจะยุ่งเกี่ยวกับอะตอมดังนั้น จะต่างกับระบบของ Transistor ซึ่งจะมีค่าเพียง 0 หรือ 1 เท่านั้น
คลิปอธิบายการแปลงสภาพของอะตอม
หลักการทำงาน
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 ซึ่งมีทั้งเอกสารและคำแนะนำต่างๆของภาษานี้
- QFC and QPL ภาษานี้แบ่งเป็น 2 ส่วนคือ
- Imperative Language หรือ ภาษาที่จำเป็นต้องมีคล้ายๆภาษา C ในคอมพิวเตอร์ตัวไป
ยกตัวอย่าง Program –> QCL
- อ้างอิง Tool
- ไฟล์ข้อมูล จากที่สังเกตุได้ว่าไฟล์นั้นเป็นภาษา C
- ตัวอย่างการใช้ Command ด้วย Tool Cygwin64 แบบสั้นๆ