قطع الدائرة لشروط الحدود الدورية
تقدير الاستخدام: دقيقتان على معال ج Eagle (ملاحظة: هذا تقدير فقط. قد يختلف وقت التشغيل الفعلي لديك.)
الخلفية النظرية
في هذا الدفتر، نتناول محاكاة سلسلة دورية من الكيوبتات حيث توجد عملية ثنائية الكيوبت بين كل كيوبتين متجاورتين، بما في ذلك الأولى والأخيرة. تظهر السلاسل الدورية كثيرًا في مسائل الفيزياء والكيمياء، كنماذج Ising ومحاكاة الجزيئات.
أجهزة IBM Quantum® الحالية مستوية (planar). يمكن تضمين بعض السلاسل الدورية مباشرةً على الطوبولوجيا بحيث يكون الكيوبت الأول والأخير جارَين. غير أنه في المسائل الكبيرة بما يكفي، قد يكون الكيوبت الأول والأخير بعيدَين عن بعضهما، مما يستلزم عددًا كبيرًا من بوابات SWAP لتنفيذ العملية الثنائية بين هذين الكيوبتين. وقد تمت دراسة مسألة الحدود الدورية هذه في هذه الورقة.
في هذا الدفتر نوضح استخدام قطع الدائرة للتعامل مع مسألة السلسلة الدورية على نطاق المنفعة حيث لا يكون الكيوبت الأول والأخير جارَين. يُتيح قطع هذا الارتباط بعيد المدى تجنُّب بوابات SWAP الإضافية، على حساب تنفيذ نسخ متعددة من الدائرة وإجراء معالجة كلاسيكية لاحقة. باختصار، يمكن دمج القطع لحساب العمليات الثنائية بعيدة المدى حسابيًا. بعبارة أخرى، يؤدي هذا الأسلوب إلى زيادة فعلية في ترابط خريطة الاقتران، مما يقلل من عدد بوابات SWAP اللازمة.
تجدر الإشارة إلى أن هناك نوعين من القطع: قطع سلك الدائرة (يُسمى wire cutting)، أو استبدال بوابة ثنائية الكيوبت بعمليات أحادية الكيوبت متعددة (يُسمى gate cutting). في هذا الدفتر سنركز على gate cutting. لمزيد من التفاصيل حول gate cutting، راجع المواد التوضيحية في qiskit-addon-cutting والمراجع المقابلة. لمزيد من التفاصيل حول wire cutting، راجع درس قطع الأسلاك لتقدير قيم التوقع، أو الدروس في qiskit-addon-cutting.
المتطلبات
قبل البدء في هذا الدرس، تأكد من تثبيت ما يلي:
- Qiskit SDK الإصدار 1.2 أو أحدث (
pip install qiskit) - Qiskit Runtime الإصدار 0.3 أو أحدث (
pip install qiskit-ibm-runtime) - إضافة Circuit cutting لـ Qiskit الإصدار 9.0 أو أحدث (
pip install qiskit-addon-cutting)