QUT: A Unit Testing Framework for Quantum Subroutines
تقدم هذه الورقة QUT، وهو إطار عمل قائم على Qiskit يبسط اختبار الوحدات الكمومية من خلال تأكيدات احتمالية متعددة الأشكال تكيف بروتوكولات التقييم تلقائياً (مثل التصوير المقطعي أو اختبارات مربع كاي) لتناسب أنواع البيانات المتنوعة مثل نتائج القياس، والمصفوفات الكثافة، ومصفوفات تشوي.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك تقوم ببناء آلة معقدة من قطع الليغو. في عالم الحواسيب الكلاسيكية، إذا أردت التحقق مما إذا كانت قطعة ليغو معينة (برنامج فرعي) تعمل بشكل صحيح، فما عليك سوى تركيبها في مكانها ورؤية ما إذا كانت الآلة ستفعل ما تتوقعه. إذا تعطلت، ستعرف بالضبط أي قطعة هي الخاطئة.
ولكن الآن، تخيل أنك تبني آلة من قطع ليغو سحرية، وغير مرئية، ومتذبذبة قليلاً. هذه هي الحواسيب الكمومية.
في هذا العالم السحري:
- القطع ضبابية: لا يمكنك مجرد النظر إليها لترى ما إذا كانت صحيحة؛ بل يجب عليك "التلصص" عليها، وفعل التلصص هذا يغيرها.
- القطع متذبذبة: التيارات الهوائية (الضجيج) في الغرفة تجعل القطع تهتز، لذا أحياناً قد تبدو قطعة مثالية وكأنها مكسورة لمجرد وجود رياح.
- القطع احتمالية: إذا سألت قطعة سحرية أن تكون "حمراء"، فقد تكون حمراء بنسبة 90% وزرقاء بنسبة 10%. لا يمكنك التأكد بنسبة 100% حتى تتحقق منها آلاف المرات.
بسبب هذا، فإن الطريقة القديمة في اختبار البرمجيات لا تنجح. لا يمكنك ببساطة القول: "هل هذه القطعة حمراء؟ نعم/لا". بل يجب أن تقول: "هل هذه القطعة حمراء في الغالب، وهل التذبذب ضمن الحدود المقبولة؟"
دخول QUT: "مفتش قطع الليغو السحرية"
يقدم البحث QUT (اختبار الوحدة الكمومي)، وهو أداة جديدة صُممت لتكون المفتش الأمثل لهذه القطع الكمومية السحرية. وإليك كيف يعمل، باستخدام تشبيهات بسيطة:
1. المشكلة: "النموذج الواحد الذي لا يناسب الجميع"
في البرمجيات الكلاسيكية، لديك قائمة مراجعة قياسية. أما في البرمجيات الكمومية، فإن قائمة المراجعة تتغير اعتماداً على ما تختبره.
- أحياناً تحتاج للتحقق من شكل قطعة الليغو السحرية (الحالة الكمومية - Quantum State).
- وأحياناً تحتاج للتحقق من كيفية تحويل القطعة لقطع أخرى (العملية الكمومية - Quantum Process).
- وأحياناً تحتاج فقط للتحقق من توزيع الألوان بعد التلصص عليها (نتائج القياس - Measurement Outcomes).
قبل QUT، كان على المبرمج أن يكون عالماً في الفيزياء الكمومية ليعرف أي قائمة مراجعة يستخدم وكيف يكتب الرياضيات الخاصة بها. كان الأمر يشبه مطالبة نجار بأن يكون فيزيائياً أيضاً لمجرد طرق مسمار.
2. الحل: "الحرباء الذكية"
QUT يشبه مفتشاً ذكياً يتغير شكله. إنه يستخدم ما يسمى بـ "التأكيدات متعددة الأشكال" (Polymorphic Assertions).
فكر في الأمر كجهاز تحكم عن بعد عالمي.
- إذا وجهته نحو تلفاز، سيعمل كجهاز تحكم بالتلفاز.
- إذا وجهته نحو مسجل صوت، سيعمل كجهاز تحكم بالمسجل.
- لست بحاجة لمعرفة كيف يعمل التلفاز أو المسجل داخلياً؛ ما عليك سوى الضغط على زر "الفحص".
في QUT، يكتب المبرمج ببساطة: assertEqual(my_magic_brick, expected_result).
- إذا كانت
expected_resultعبارة عن قائمة من الألوان (بيانات القياس)، فإن QUT ينتقل تلقائياً إلى الاختبار الإحصائي (مثل فاحص رمي العملة المعدنية). - إذا كانت
expected_resultعبارة عن شكل ثلاثي الأبعاد (حالة كمومية)، فإن QUT ينتقل إلى توموغرافيا الحالة (ماسح ضوئي ثلاثي الأبعاد). - إذا كانت
expected_resultعبارة عن قاعدة تحويل (عملية)، فإن QUT ينتقل إلى توموغرافيا العملية (تحليل كامل للسلوك).
الإطار البرمجي يحدد تلقائياً أي "بروتوكول اختبار" يجب استخدامه بناءً على ما تقارنه. إنه يخفي الرياضيات المخيفة خلف زر بسيط.
3. خدعة "السياق"
يسلط البحث الضوء على خدعة ذكية تسمى السياق (Context).
تخيل أنك تختبر قطعة سحرية من المفترض أن تحول قطعة "زرقاء" إلى قطعة "حمراء".
- السيناريو أ: أنت تختبر القطعة في فراغ. أنت بحاجة لفحص كل شيء حولها.
- السيناريو ب: أنت تعلم أن هذه القطعة ستُستخدم فقط مع قطع مدخلات "خضراء".
QUT يفهم هذا السياق. إذا أخبرته: "مهلاً، هذه القطعة لن ترى إلا المدخلات الخضراء"، فإنه يعرف أنه ليس بحاجة لإجراء فحص شامل ومكلف للغاية. يمكنه إجراء اختبار أبسط وأسرع يتحقق فقط من التحويل من الأخضر إلى الأحمر. هذا يوفر الوقت وقوة الحوسبة، تماماً مثل الطاهي الذي يعلم أنه يحتاج فقط لتقطيع البصل لوجبة معينة، فلا يكلف نفسه عناء تقطيع حديقة الخضروات بأكملة.
4. واقع "الضجيج"
اختبر الباحثون QUT في عالمين:
- العالم المثالي (المحاكاة): حيث لا تتذبذب القطع السحرية.
- العالم الحقيقي (الأجهزة الصاخبة): حيث تهتز القطع وتتشنج (مثل الحواسيب الكمومية الحقيقية اليوم).
وجدوا أن QUT يعمل بشكل رائع في كليهما. في العالم الصاخب، يكون من الصعب قليلاً التمييز ما إذا كانت القطعة مكسورة حقاً أم أنها مجرد متذبذبة، لكن QUT ذكي بما يكفي لتعديل مستويات ثقته. فهو يخبرك: "أنا متأكد بنسبة 95% أن هذه القطعة مكسورة"، بدلاً من إعطاء إجابة بسيطة بـ "نعم/لا".
لماذا يهم هذا؟
قبل QUT، كان كتابة اختبارات للبرمجيات الكمومية يشبه محاولة كتابة رواية باستخدام آلة كاتبة لا تتحدث إلا لغة الثنائي (Binary). كنت بحاجة لأن تكون خبيراً في كل من الكتابة والبرمجة معاً.
QUT يمنحك معالج كلمات حديثاً. فهو يتيح لك التركيز على ما تريد أن تفعله البرمجيات، بينما يتولى الإطار البرمجي معالجة الفيزياء الكمومية المعقدة لكيفية التحقق من ذلك.
باختدال شديد:
- المشكلة: البرمجيات الكمومية صعبة الاختبار لأنها ضبابية، احتمالية، وتتطلب رياضيات مختلفة لأجزاء مختلفة.
- الحل: QUT هو إطار عمل يختار تلقائياً الاختبار الرياضي المناسب للمهمة.
- الفائدة: يجعل اختبار البرمجيات الكمومية متاحاً للمبرمجين العاديين، وليس فقط لعلماء الفيزياء الكمومية، مما يساعدنا على بناء حواسيب كمومية أفضل وأكثر موثوقية للمستقبل.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.