برمجة الحواسيب الكمية

مراجع، ومنصات مفتوحة المصدر

نشهد في الفترة الأخيرة -وبالسنتين الأخيرتين بالذات- توجه أحاديث التطورات التقنيّة إلى 3 مواضيع:

  1. الذكاء الاصطناعي وتطبيقاته

  2. الأمن السيبراني

  3. الحوسبة الكمية و الحواسيب الكمومية

حديثنا في هذه التدوينة عن ثالث هذه المواضيع وبالذات برمجة الحواسيب الكمية، الهدف منها مشاركة المصادر التي توصلت لها حتى الآن ومواكبة التطورات والتبادل المعرفي مع القرّاء.

تعريفات:

  • سيتم تنسيق الروابط في هذا المقال كنص مكتوب بالأحمر الغامق

  • سيرمز للحواسيب الكمبة بالرمز ح.ك

  • سيرمز للحواسيب العادية أو الكلاسيكية بالرمز ح.ع

  • وحدة الحواسيب الكمية تسمى كيوبت أو qubit وهي اختصار لـ Quantum Bit

إخلاء المسؤولية

أولًا: بالرغم من أن الحواسيب الكمية لا يتوقع لها أن ترى النور في المستقبل القريب لكن ذلك لا يعني أن الجهود المبذولة لتعلم المستجدات هباء منثورًا، نعم قد لا نرى أثر مشاركتنا في إثراء محتوى برمجة الحواسيب الكمية في جيلنا هذا وقد تتبدد كثير من القناعات التي نعمل على تعلمها والتعرف عليها ولكن هذا مربط الفرس نحن اليوم نشهد نتائج مليارات التجارب مذ قديم الأزل.

ثانيًا: حاولت الوصول إلى المصطلحات العربية الصحيحة هنا، وارد أن تجدوا منها ما كان تعريبه خاطئًا فلا تترددوا لطفًا بتصحيحها في صندوق التعليقات ليتعرف عليها كل من زار هذه الصفحة.
ثالثًا: الروابط التي أضعها هنا قد يتم التعديل عليها من أصحابها، إن وُجد أن الرابط لا يصل إلى ما تمت الإشارة عليه في هذه التدوينة فلا تترددوا لطفًا بالتنبيه على عطلها أو تغيرها.

مدخل

مشدوهة جدًا بالأثر الذي تحدثه الـح.ك بأدائها على كثير من الصعوبات التي نواجهها حاليًّا مع الـح.ع وأهمها سرعة معالجتها للعمليات فمثلا من الممكن في جهاز ح.ك في حالته المثالية أن يتم كسر شفرة RSA في ساعات أو ربما دقائق في حين أنها في الـح.ع قد يسغرق اختراقها ملايين السنين.


وفي أحد التجارب لتطبيقات الشبكات العصبية الاصطناعية، تم تدريب نموذج ANN باستخدام وحدة الـكيوبت وأطلق عليها QC-ANN، أثبتت التجربة الفعالية العالية لنموذج QC-ANN عن نموذج ANN العادي، وهنا تجدون رابط للدراسة، قراءة ماتعة :)


أبرز فرق في الـح.ك هو أسلوب إتخاذ القرارات لمعالجة العمليات، القرار كبشر وكذلك في الـح.ع إذا كنا سنسلك طريقا لا نعلم نهايته وكنا بين خيارين يكون الاختيار كالتالي:

  • نختار إما 1 أو 0 —> مثلا اخترنا 1، نجرب اختيارنا وإذا كانت النهاية هي المنشودة الحمدلله ونكمل العمل، لكن إن كانت عكس ما نريد نعود لنسلك الطريق الآخر.

  • لكن في الـح.ك تقوم بتجربة جميع الخيارات أمامها بالتوازي وتكمل بالطريق المرغوبة نهايته.


الـح.ك تحتاج إلى نظام عزل قوي ومحكم لأنها بأقل نسبة من الضوضاء noise سيتأثر أداؤها بشكل ملحوظ.

يُشاع بين المهتمين بها أن جودتها تعتمد كليًّا على عدد الكيوبت فيها وهذا خاطئ، هناك خصائص أخرى مؤثرة على جودتها مثل حجم الترابط بين الكيوبت -المصدر-.

كمبرمجين قد نرى الحقائق الفيزيائية مملة لكن معرفة بيئة هذه الحواسيب أساس لبناء تطبيقات فعالة عليها. للاستزادة، الكتاب الظاهرة صورته يمينًا يشرح خصائص الـح.ك وحقائق عنها -رابط الكتاب-.

برمجة الـح.ك

أمتع جزء في المقال *nerd*

نبدأ بأساسيات البرمجة

هنا كتاب يشرح أشهر الخوارزميات لبناء أجهزة ح.ك مع أمثلة لأكواد برمجية

معظم المبرمجين - إن لم يكن كلهم - هم من عشاق المراجع المفتوحة المصدر، لأنها أسهل للتطوير وأدعى للتطور المعرفي في المجال وتوسع المدارك للأساليب المختلفة المتبعة للوصول لحل هدفة مشترك.

لبرمجة الحواسيب الكمية هناك أطر عمل Frameworks مفتوحة المصدر أشهرها:

  • QuisKit من IBM

  • Q# من مايكروسوفت

  • Cirq من قوقل

سأتطرق باختصار شديد لكل من هذه الطرق مع روابط لمصادرها:

QisKit - IBM

بادرة جميلة من IBM إطلاقها لكتاب مفتوح المصدر لتعلم إطار عمل QisKit من تطويرها، تجدونه في هذا الرابط.


إطار Qiskit يركز على الهاردوير، بناء الدوائر الكمية وهنا دراسة من باحثين في IBM عن نموذج محسن لبناء الدوائر الكمية باستخدام هذا الإطار.


لتجربة الـح.ك، IBM أتاحت للمطورين الفرصة لخوض تجربة مثيرة يطلقون عليها اسم Quantum Experience حيث وفرت للعامة حواسيبهم، لتجربتها تجدونها هنا.

Q# - Microsoft

لتعلم لغة Q# هذا رابط لكتاب يجمع بينه وبين لغة البايثون فيه شروحات مع أكواد برمجية متوقع نشره في أكتوبر القادم بإذن الله


كذلك هنا مستودع Quantum Katas من مايكروسوفت مفتوح المصدر غني بتدريبات وأمثلة باستخدام لغة Q#

Cirq - Google

هذا الإطار قام بالعمل عليه فريق الذكاء الاصطناعي الكمي AI Quantum Team في Google هدفه بناء دوائر كمية واستخدامها في الـح.ك والبرمجة عليها.


مبني هذا الإطار باستخدام بايثون مستودعه المفتوح هنا، كذلك هذا كتاب تطبيقي عليه.


ولأن الـح.ك تُحدث فارق عظيم بأداء تطبيقات الذكاء الاصطناعي - التي هي أيضًا مجال عملي واهتمامي - سنضع المجهر على أهم المكتبات لطرق بناء نماذج تعلم الآلة كمية

TensorFlow Quantum

تنسورفلو الشهيرة بين مطوري نماذج الذكاء الاصطناعي والتعلم العميق أطلقت إطار كمي-كلاسيكي هجين، يستخدم لبناء نماذج تعلم الآلة وهنا نوتبوك مبدئي يستعرض مثال ونموذج بسيط يتيح للمطورين ومهندسي تعلم الآلة فهم الأساسيات ويدع لهم المجال للإبحار (لاحظوا أول مثال اسمه أهلا بالعوالم المتعددة ^_^ ).

Pennylane AI

إطار كمي متعدد المنصات منها بناء نماذج تعلم الآلة من زانادو Xanadu المهتمة بالهاردوير والبرمجيات الكمية.


إطار عمل Pannylane مبني على لغة بايثون، تجدون فيه المكان لتجربته ووجود تدريبات تشرح مفاهيم تعلم الآلة الكمية وأكواد برمجية مبدئية للبناء والتطوير عليها.