الدوائر
في عل وم الحاسوب، تُعدّ الدوائر نماذجَ حسابية تنتقل فيها المعلومات عبر أسلاك خلال شبكة من البوابات التي تمثّل عمليات على المعلومات المحمولة. أما الدوائر الكمومية فهي نموذج حسابي محدد يقوم على هذا المفهوم الأشمل.
رغم أن كلمة "دائرة" غالبًا ما تُشير إلى مسار دائري، إلا أن المسارات الدائرية غير مسموح بها في نماذج الدوائر الحسابية الأكثر شيوعًا في الدراسة. بمعنى آخر، نحن عادةً ما ندرس الدوائر اللادورية عند التفكير في الدوائر كنماذج حسابية. تتبع الدوائر الكمومية هذا النمط؛ إذ تمثّل الدائرة الكمومية تسلسلًا منتهيًا من العمليات لا يمكن أن يحتوي على حلقات تغذية راجعة.
الدوائر البولية
إليك مثالًا على دائرة بولية (كلاسيكية)، حيث تحمل الأسلاك قيمًا ثنائية وتمثّل البوابات عمليات منطق بولي:
تسير المعلومات على الأسلاك من اليسار إلى اليمين: الأسلاك على الجانب الأيسر المُسمّاة و هي بتات مدخلة يمكن ضبطها على أي قيمة ثنائية نشاء، والسلك على الجانب الأيمن هو المخرج. تأخذ الأسلاك الوسيطة القيم التي تحددها البوابات، وتُقيَّم هذه البوابات من اليسار إلى اليمين.
البوابات المستخدمة هي: بوابات AND (المُعلَّمة بـ)، وبوابات OR (المُعلَّمة بـ)، وبوابات NOT (المُعلَّمة بـ). ستكون الدوال التي تحسبها هذه البوابات مألوفة للكثيرين، وهي مُمثَّلة هنا بجداول القيم:
الدائرتان الصغيرتان المملوءتان على الأسلاك مباشرةً إلى يمين أسماء و تمثّلان عمليات تفريع الإشارة (fan-out)، التي تنسخ ببساطة أي قيمة يحملها السلك، مما يتيح إدخال هذه القيمة في بوابات متعددة. لا تُعدّ عمليات تفريع الإشارة دائمًا بوابات في الإعداد الكلاسيكي؛ إذ تُعامَل أحيانًا كأنها "مجانية" بمعنى ما. غير أنه عند تحويل الدوائر البولية إلى دوائر كمومية مكافئة، يتعيّن علينا تصنيف عمليات تفريع الإشارة صراحةً كبوابات للتعامل معها وحسابها بشكل صحيح.
إليك نفس الدائرة موضّحة بأسلوب أكثر شيوعًا في هندسة الكهرباء، الذي يستخدم رموزًا اصطلاحية لبوابات AND وOR وNOT:
لن نستخدم هذا الأسلوب أو رموز البوابات هذه لاحقًا، لكننا سنستخدم رموزًا مختلفة لتمثيل البوابات في الدوائر الكمومية، وسنشرحها عند مواجهتها.
تحسب الدائرة المعروضة في هذا المثال أو الحصري (XOR)، الذي يُرمز له بالرمز :
في الرسم التالي نأخذ اختيارًا واحدًا للمدخلات: و. يُعلَّق على كل سلك بالقيمة التي يحملها كي تستطيع تتبّع العمليات. قيمة المخرج هي في هذه الحالة، وهي القيمة الصحيحة لـXOR: .
يمكن التحقق من الإعدادات الثلاثة الأخرى الممكنة للمدخلات بطريقة مماثلة.
أنواع أخرى من الدوائر
كما أُشير إليه أعلاه، فإن مفهوم الدائرة في علوم الحاسوب عام للغاية. فعلى سبيل المثال، تُحلَّل أحيانًا دوائر تحمل أسلاكها قيمًا غير و، إلى جانب بوابات تمثّل اختيارات مختلفة من العمليات.
في الدوائر الحسابية مثلًا، ق د تحمل الأسلاك قيمًا صحيحة بينما تمثّل البوابات عمليات حسابية كالجمع والضرب. يُوضّح الشكل التالي دائرة حسابية تأخذ قيمتين متغيرتين كمدخلات ( و) إضافةً إلى مدخل ثالث مُعيَّن على القيمة . تظهر القيم التي تحملها الأسلاك كدوال للقيمتين و في الشكل.
يمكننا أيضًا النظر في دوائر تدمج العشوائية، كتلك التي تمثّل فيها البوابات عمليات احتمالية.
الدوائر الكمومية
في نموذج الدائرة الكمومية، تمثّل الأسلاك كيوبتات وتمثّل البوابات عمليات على هذه الكيوبتات. سنركز الآن على العمليات التي صادفناها حتى الآن، وهي العمليات الأحادية وقياسات الأساس القياسي. مع تعلّمنا أنواعًا أخرى من العمليات والقياسات الكمومية، يمكننا تحسين نموذجنا وفق ذلك.
إليك مثالًا بسيطًا على دائرة كمومية:
في هذه الدائرة، لدينا كيوبت واحد يُسمّى ممثَّل بالخط الأفقي، وتسلسل من البوابات يمثّل عمليات أحادية على هذا الكيوبت. تمامًا كما في الأمثلة السابقة، تسير المعلومات من اليسار إلى اليمين — فأول عملية تُؤدَّى هي عملية هادامار، والثانية هي عملية ، والثالثة هي عملية هادامار أخرى، والأخيرة هي عملية . يطبّق تنفيذ الدائرة كاملةً بذلك تركيب هذه العمليات على الكيوبت .
قد نرغب أحيانًا في الإشارة صراحةً إلى الحالات المدخلة أو المخرجة للدوائر. فمثلًا، إذا طبّقنا العملية على الحالة ، نحصل على الحالة . يمكن تمثيل ذلك كما يلي:
عادةً ما تبدأ الدوائر الكمومية بجميع الكيوبتات مُهيَّأة على كما في هذه الحالة، لكن هناك أيضًا حالات يكون فيها الكيوبتات المدخلة مُعيَّنة مبدئيًا على حالات مختلفة. إليك مثالًا آخر على دائرة كمومية، هذه المرة بكيوبتين:
كما هو معتاد، تشير البوابة إلى عملية هادامار، بينما البوابة الثانية هي عملية NOT المتحكَّم بها: تمثّل الدائرة المملوءة الكيوبت التحكمي وتمثّل الدائرة المشابهة للرمز الكيوبت المستهدف.
قبل فحص هذه الدائرة بتفصيل أكبر وشرح ما تفعله، من الضروري أن نوضّح أولًا كيفية ترتيب الكيوبتات في الدوائر الكمومية. يرتبط هذا بالاتفاقية التي يتبعها Qiskit في تسمية الأنظمة وترتيبها، التي أُشير إليها بإيجاز في الدرس السابق.
في Qiskit، الكيوبت الأعلى في مخطط الدائرة له الفهرس ويقابل الموضع الأيمن في مجموعة من الكيوبتات (أو في سلسلة أو حاصل ضرب ديكارتي أو حاصل ضرب تنسوري مقابل لهذه المجموعة)، والكيوبت الثاني من الأعلى له الفهرس ويقابل الموضع الثاني من اليمين في المجموعة، وهكذا. الكيوبت الأسفل، الذي له الفهرس الأكبر، يقابل إذن الموضع الأيسر في المجموعة. تحديدًا، الأسماء الافتراضية في Qiskit للكيوبتات في دائرة بـ كيوبت هي المجموعة ، مع في الأعلى و في الأسفل في مخططات الدوائر الكمومية.
لاحظ أن هذا عكس الاتفاقية الأكثر شيوعًا لترتيب الكيوبتات في الدوائر، وهو مصدر شائع للالتباس. يمكن الاطلاع على مزيد من المعلومات حول هذه الاتفاقية في صفحة توثيق ترتيب البتات في Qiskit.
رغم أننا قد نحيد أحيانًا عن الأسماء الافتراضية التي يستخدمها Qiskit للكيوبتات، سنتبع دائمًا اتفاقية الترتيب الموصوفة أعلاه عند تفسير مخططات الدوائر في هذه الدورة. وبهذا، يكون تفسيرنا للدائرة أعلاه أنها تصف عملية على زوج من الكيوبتات . إذا كان مدخل الدائرة حالة كمومية مثلًا، فهذا يعني أن الكيوبت الأسفل يبدأ في الحالة والكيوبت الأعلى يبدأ في الحالة .
لفهم ما تفعله الدائرة، يمكننا أن نمضي من اليسار إلى اليمين عبر عملياتها.
-
العملية الأولى هي عملية هادامار على :
عند تطبيق بوابة على كيوبت واحد كهذا، لا يحدث شيء للكيوبتات الأخرى (وهو كيوبت واحد آخر في هذه الحالة). "لا يحدث شيء" يعادل تطبيق عملية الهوية. يمثّل المستطيل المنقّط في الشكل أعلاه هذه العملية إذن:
لاحظ أن مصفوفة الهوية على يسار حاصل الضرب التنسوري و على يمينه، وهذا يتوافق مع اتفاقية ترتيب Qiskit.
-
العملية الثانية هي عملية NOT المتحكَّم بها، حيث هو الكيوبت التحكمي و هو الكيوبت المستهدف:
تأثير بوابة NOT المتحكَّم بها على حالات الأساس القياسي هو كالتالي:
بالنظر إلى أننا نرتب الكيوبتات كـ، مع في الأسفل و في الأعلى من دائرتنا، فإن التمثيل المصفوفي لبوابة NOT المتحكَّم بها هو:
العملية الأحادية التي تُنفّذها الدائرة كاملةً، والتي سنسمّيها ، هي تركيب هذه العمليات:
بالتحديد، مع استحضار رمزنا لحالات بيل:
نجد أن
هذه الدائرة إذن تتيح لنا إنشاء الحالة عند تشغيلها على كيوبتين مُهيَّأين على . وبشكل أعم، تمنحنا طريقة لتحويل الأساس القياسي إلى أساس بيل. (لاحظ أنه على الرغم من عدم أهمية ذلك لهذا المثال، يمكن التخلص من عامل الطور في الحالة الأخيرة إذا أردنا بإجراء إضافة صغيرة على الدائرة. على سبيل المثال، يمكننا إضافة بوابة متحكَّم بها في البداية، وهي مشابهة لبوابة NOT المتحكَّم بها إلا أن عملية تُطبَّق على الكيوبت المستهدف بدلًا من عملية NOT عندما يُعيَّن الكيوبت التحكمي على . بديلًا عن ذلك، يمكننا إضافة بوابة تبديل في النهاية. كلا الاختيارين يزيل علامة السالب دون التأثير على تأثير الدائرة على الحالات الثلاث الأخرى لأساس القياسي.)
بشكل عام، يمكن أن تحتوي الدوائر الكمومية على أي عدد من أسلاك الكيوبتات. كما قد نضمّن أيضًا أسلاك البتات الكلاسيكية، المشار إليها بخطوط مزدوجة، كما في هذا المثال:
هنا لدينا بوابة هادامار وبوابة NOT متحكَّم بها على كيوبتين و، كما في المثال السابق. لدينا أيضًا بتّان كلاسيكيتان و، إضافةً إلى بوابتَي قياس. تمثّل بوابات القياس قياسات الأساس القياسي: تتغير حالة الكيوبتات إلى حالاتها بعد القياس، بينما تُكتَب نتائج القياس فوق البتات الكلاسيكية التي تشير إليها السهام.
كثيرًا ما يكون من المناسب تصوير القياس كبوابة تأخذ كيوبتًا كمدخل وتُخرج بتةً كلاسيكية (بدلًا من إخراج الكيوبت في حالته بعد القياس وكتابة النتيجة في بتة كلاسيكية منفصلة). وهذا يعني أن الكيوبت المقيس قد أُهمل ويمكن تجاهله بأمان بعد ذلك، حيث تغيّرت حالته إلى أو بحسب نتيجة القياس.
مثلًا، يمثّل مخطط الدائرة التالي نفس العملية الواردة في الرسم السابق، لكن مع تجاهل و بعد قياسهما:
مع تقدّم الدورة، سنرى المزيد من أمثلة الدوائر الكمومية، التي عادةً ما تكون أكثر تعقيدًا من الأمثلة البسيطة أعلاه. إليك بعض أمثلة على الرموز المستخدمة للدلالة على البوابات التي تظهر بشكل شائع في مخططات الدوائر:
-
تُظهَر بوابات الكيوبت الواحد عمومًا كمربعات بحرف يشير إلى العملية، كالتالي:
كما تُرمز بوابات NOT (أو ما يعادلها بوابات ) أحيانًا بدائرة حول علامة الجمع:
-
تُرمز بوابات التبديل كالتالي:
-
تُرمز البوابات المتحكَّم بها، أي البوابات التي تصف عمليات أحادية متحكَّم بها، بدائرة مملوءة (تشير إلى الكيوبت التحكمي) متصلة بخط رأسي بالعملية التي يُتحكَّم بها. على سبيل المثال، تُرمز بوابات NOT المتحكَّم بها، وبوابات NOT المتحكَّم بها مزدوجيًا (بوابات توفولي)، وبوابات التبديل المتحكَّم بها (بوابات فريدكن) كالتالي:
-
يمكن النظر إلى العمليات الأحادية الاعتباطية على كيوبتات متعددة كبوابات. تُصوَّر بمستطيلات مُعلَّمة باسم العملية الأحادية. فمثلًا، هنا تصوير عملية أحادية (غير محددة) كبوابة، مع نسخة متحكَّم بها منها: