ما هي لغات البرمجة الكمية؟
تحدثنا عزيزي القارئ عن الصراع الكمي في مقالات سابقة ووضحنا شراسته. فتحدي IBM للحوسبة الكمية في 2021 خير مثال، الذي شارك فيه 3100 مشارك من 94 دولة عن تطبيقات الحواسيب الكمية باستخدام Qiskit. إذ لم يقتصر التحدي على الحوسبة الكمية وكيفية استخدام Qiskit. بل في أي شيء متعلق بالحوسبة الكمية في الصناعة وذلك بتطبيق تكنولوجيا الكم في المجالات العلمية مثل الكيمياء والتعلم الآلي وغيرها وساهم أكثر من 1293 مشارك في تقديم مشاركة واحدة على الأقل لها أثرها وشاركت دول عدة جديدة في المنافسة وكانت السعودية هي الدولة الوحيدة في الشرق الأوسط. إذ حاز الدكتور إبراهيم المسلم على المركز الثاني عالميًا ونال المركز الأول «نافان بنشاشتابوسه-Naphan Bencgasattabuse» من كوريا الجنوبية. [1]
وكما للحوسبة التقليدية لغات برمجة تتعامل بها، أيضًا للحواسيب الكمية لغات. وهنا سيدور حديثنا حول ما هي لغات البرمجة الكمية؟ وكيف يمكنك ممارسة الحوسبة الكمية والتلاعب بالـ Quibts وبالتأكيد تبادر إلى ذهنك سؤال، ما الـ Qiskit؟ كل ذلك وأكثر سنجيب عنه في هذا المقال، فهيا بنا…
محتويات المقال :
ما هو Qiskit؟
يمنح عملاقة التكنولوجيا مثل Google وIBM المستخدمون الذين لديهم شغف تعلم الحوسبة الكمية فرصة لمعرفة كيفية برمجة ومعالجة الدوائر الكمية. باستخدام لغات البرمجة الكمية ولتعلم فحص مفاهيم الحوسبة الكمية مثل التراكب والتشابك والتلاعب بالـ Qubits وإدارة الأجهزة الكمية والتحقق من الخوارزميات…
فـ Qiskit هو SDK -مجموعة أدوات تطوير البرامج في حزمة واحدة قابلة للتثبيت- مفتوح المصدر للعمل على الحواسيب الكمية من IBM. إذ يُترجم لغات البرمجة الشائعة مثل Python للآلة الكمية وأي شخص خارج مختبرات IBM يمكنه استخدامه. إذ تعد أداة تعليمية ممتازة لتطوير فهمك عمليًا حول المفاهيم الكمية، يوجد كذلك Cirq وهو من شركة Google ومشابه لـ Qiskit.
لكن وجب التنبيه أنه على الأقل وجب أن تكون لديك خلفية جيدة حتى تستطع البدء فهو مناسب لفئات مثل الخبراء في مجالات الكيمياء والذكاء الاصطناعي والمطوريين الذين لديهم معرفة بالدوائر الكمية ويودون في اختبار مزايا الكم وخبراء ميكانيكا الكم. [4,3]
علاقات لغات البرمجة الكلاسيكية باللغات الكمية؟
كما نحن البشر نتحدث بلغات مختلفة فالحواسيب لها لغاتها. تتيح لغات البرمجة في الحواسيب التقليدية إعطاء تعليمات للحاسوب بلغة يفهمها. فلغة البرمجة الكمية هي تلك التي يمكن استخدامها لكتابة برامج الحاسوب الكمي. فنظرًا لأن التحكم في أي آلة يكون بواسطة جهاز كلاسيكي. فإن لغات البرمجة الكمية الحالية تتضمن هياكل تحكم كلاسيكية أيضًا وتسمح بعملها على البيانات الكلاسيكية والكمية فسنجد لغة Python من اللغات المستخدمة والأساسية وكذلك C وJavascript وغيرهم. [2]
ما هي البيئات التي تتيح لك ممارسة الحوسبة الكمية؟
كما ذكرنا فور معرفتك بالأساسيات البرمجية وتعلم اللغات الكلاسيكية؛ يمكنك البدء مباشرةً في بيئات ستوفر لك التعامل مثل Qiskit وCirq. وإليك في السطور الآتية بعض لغات البرمجة الكمية المهمة في تنمية تدريبك على الحوسبة الكمية بجانب اللغات الكلاسيكية.
أشهر لغات البرمجة في الحوسبة الكمية
هنالك نوعان من لغات البرمجة الكمية، الأول لغات البرمجة الأساسية وتتكون من تعليمات تُنفذ خطوة بخطوة وتشمل اللغات الأساسية في الحواسيب الكلاسيكية مثل Python وC وJavascript وPascal، وإليك ثلاثة من أشهر اللغات [5]:
لغة QCL
هي واحدة من أولى لغات البرمجة الكمية وتشبه لغة C وPascal من حيث بناء الجملة Syntax وأنواع البيانات. فهي لغة تحكم عالية المستوى ومستقلة عن بنية الحواسيب الكمية ويمكن للمبرمجين الجمع بين كود C كلاسيكي وكود كمي… [8]
لغة QMASM
نشأت QMASM كلغة لتعريف الدائرة الكمية ومع تطور الحساب الكمي، اعتُمدت اللغة كطريقة لتحديد الدوائر الكمية كمدخلات في الحاسوب الكمي. لوصف العمليات على الـ Qubits وهي منخفضة المستوى، فتستخدم لوصف الدوائر البسيطة نسبيًا وهنالك لغات أخرى عالية المستوى مثل لغات سنذكرهم في السطور القادمة. [6] التي بإمكانها التعامل مع مليارات من Qubits.
لغة Silq
نشرت في عام 2020 وهي لغة عالية المستوى من ETH Zurich في سويسرا وتُحدث باستمرار. نبع الاحتياج لتلك اللغة لملاحظة الباحثين أن كل لغات البرمجة السابقة منخفضة المستوى خاصة في التعامل مع الـ Quibts. ففي كل مرة وجب عليك التفكير في جميع القيم الناشئة من العملية التي تقوم بها وذلك يستغرق وقتًا وينتج عن ذلك بالتأكيد أخطاء. [7]
النوع الثاني هو لغات البرمجة الوظيفية وهي لا تعتمد على تنفيذ التعليمات خطوة بخطوة بل على الدوال الرياضية. أي يتم تحويل المخرجات باستخدام تحويلات رياضية وتعد أقل شيوعًا من اللغات الأساسية وإليك أشهر اللغات:
لغة QML
هي لغة تعريفية مصممة لوصف واجهة مستخدم البرنامج ونُشرت في عام 2007 وتشبه Haskell وتُستخدم لغة Javascript كلغة برمجة نصية في QML وقبل التعمق فيها وجب أن تكون كما ذكرنا مرارنا لديك خلفية برمجية [9] وفهم للغات الويب الأخرى مثل HTML وCSS…
لغتا QPL وQFC
هما لغتان من لغات البرمجة الكمية حددهما «بيتر سيلينجر-Peter Selinger» وتعمل كل منهم على البيانات الكمية والكلاسيكية. [10]
لغة Quipper
هي لغة شهيرة ذات مستوى عال، وتستخدم لوصف الدوائر عالية المستوى ومعالجتها وتحوي مكتبات واسعة من الدوال الكمية بما في ذلك مكتبات الأعداد الصحيحة الكمية وتحويل فورييه الكمي ومكتبات لتحليل دقيق للدوائر والعديد من المزايا. [11]
فيما تتميز لغة Twist؟
هناك عزيزي القارئ العديد من اللغات لكن تحدثنا عن الأحدث والأشهر ولنختم جزء اللغات بلغة Twist التي أثارت ضجة في عامنا هذا 2022، فما هي تلك اللغة وما المميز فيها؟
سعى علماء من علوم الحاسوب والذكاء الاصطناعي CSAIL التابع لمعهد ماساتشوستس للتكنولوجيا إلى إنشاء لغة خاصة بهم للحوسبة الكمية وتسمى (Twist). وتستطيع تلك اللغة أن تصف أجزاء البيانات المتشابكة في برامج الكم والتحقق منها. ويمكن للمبرمج الكلاسيكي فهمها وتستخدم اللغة مفهوم يسمى Purity أو النقاء ويفرض ذلك المفهوم عدم وجود التشابك وينتج عنه برامج أكثر سهولة والأخطاء أقل بكثير. فالمميز هنا أنه لطالما تطلبت برمجة الحواسيب الكمية فهم للتشابك ولكن تأتي Twist لتسهل الأمر على المبرمجين بفرضها عدم وجوده بمفهوم Purity. إضافة إلى أن اللغات البرمجية الكمية لا تزل تربط عمليات منخفضة المستوى معًا مستبعدة أحيانًا معايير مهمة مثل أنواع البيانات… لكن التحدي الذي تتخذه Twist حاليًا هو تسهيل البرمجة الكمية. نهاية فقد دعمت الجهود عليها جزئيًا من قبل MIT-IBM Waston AI lab والمؤسسة الوطنية للعلوم ومكتب البحوث البحرية. [12]
المصادر
سعدنا بزيارتك، جميع مقالات الموقع هي ملك موقع الأكاديمية بوست ولا يحق لأي شخص أو جهة استخدامها دون الإشارة إليها كمصدر. تعمل إدارة الموقع على إدارة عملية كتابة المحتوى العلمي دون تدخل مباشر في أسلوب الكاتب، مما يحمل الكاتب المسؤولية عن مدى دقة وسلامة ما يكتب.
التعليقات :