"أعتقد أنني أستطيع أن أقول بأمان أنه لا أحد يفهم ميكانيكا الكم." - ريتشارد فاينمان
لطالما أثار موضوع الحوسبة الكمومية اهتمام الكتاب والصحفيين في مجال التكنولوجيا. لقد أعطته إمكاناته الحسابية وتعقيده هالة صوفية معينة. في كثير من الأحيان، تصف المقالات المميزة والرسوم البيانية بالتفصيل الآفاق المختلفة لهذه الصناعة، بينما بالكاد تتطرق إلى تطبيقها العملي: وهذا يمكن أن يضلل القارئ الأقل انتباهاً.
تحذف المقالات العلمية الشائعة وصفًا للأنظمة الكمومية وتقدم عبارات مثل:
يمكن للبت العادي أن يكون 1 أو 0، لكن الكيوبت يمكن أن يكون 1 و0 في نفس الوقت.
إذا كنت محظوظًا جدًا (وهو أمر لست متأكدًا منه)، فسيتم إخبارك بما يلي:
الكيوبت في حالة تراكب بين "1" و"0".
لا يبدو أي من هذه التفسيرات معقولا، لأننا نحاول صياغة ظاهرة ميكانيكية كمومية باستخدام لغة تم تطويرها في عالم تقليدي للغاية. لشرح مبادئ الحوسبة الكمومية بوضوح، من الضروري استخدام لغة أخرى - رياضية.
في هذا البرنامج التعليمي، سأغطي الأدوات الرياضية اللازمة لنمذجة وفهم أنظمة الحوسبة الكمومية، بالإضافة إلى كيفية توضيح وتطبيق منطق الحوسبة الكمومية. علاوة على ذلك، سأقدم مثالاً على خوارزمية الكم وأخبرك ما هي ميزتها على الكمبيوتر التقليدي.
سأبذل قصارى جهدي لشرح كل هذا بلغة واضحة، ولكنني ما زلت آمل أن يكون لدى قراء هذه المقالة فهم أساسي للجبر الخطي والمنطق الرقمي (يتم تناول الجبر الخطي
أولاً، دعونا نتناول مبادئ المنطق الرقمي. يعتمد على استخدام الدوائر الكهربائية لإجراء العمليات الحسابية. لجعل وصفنا أكثر تجريدًا، دعونا نبسط حالة السلك الكهربائي إلى "1" أو "0"، والتي تتوافق مع الحالات "on" أو "off". من خلال ترتيب الترانزستورات في تسلسل معين، سنقوم بإنشاء ما يسمى بالعناصر المنطقية التي تأخذ واحدة أو أكثر من قيم إشارة الدخل وتحولها إلى إشارة خرج بناءً على قواعد معينة من المنطق البولياني.
البوابات المنطقية المشتركة وجداول الحالة الخاصة بها
بناءً على سلاسل هذه العناصر الأساسية، يمكن إنشاء عناصر أكثر تعقيدًا، واستنادًا إلى سلاسل العناصر الأكثر تعقيدًا، يمكننا في النهاية، بدرجة كبيرة من التجريد، أن نتوقع الحصول على نظير للمعالج المركزي.
كما ذكرت سابقًا، نحن بحاجة إلى طريقة لتمثيل المنطق الرقمي رياضيًا. أولاً، دعونا نقدم المنطق الرياضي التقليدي. باستخدام الجبر الخطي، يمكن تمثيل البتات الكلاسيكية ذات القيمتين "1" و"0" كمتجهين عموديين:
حيث الأرقام على اليسار
هوية | تحويل الهوية |
والنفي | إنكار |
ثابت-0 | حساب الثابت "0" |
ثابت-1 | حساب الثابت "1" |
استنادًا إلى تمثيلنا الجديد المقترح للبت، من السهل جدًا إجراء عمليات على البت المقابل باستخدام تحويل متجه:
قبل المضي قدمًا، دعونا نلقي نظرة على المفهوم
استخدام
والآن بعد أن حصلنا على جميع المفاهيم الرياضية الضرورية تقريبًا، فلننتقل إلى البوابة المنطقية الكمومية الأولى. هذا هو المشغل
يمكن تمثيل هذا العامل كمتجه التحويل التالي:
لتوضيح كل ما قمنا بتغطيته حتى الآن، سأوضح لك كيفية استخدام عنصر CNOT على وحدات بت متعددة:
لتلخيص ما سبق أن قيل: في المثال الأول، نقوم بتحليل |10⟩ إلى أجزاء من المنتج الموتر الخاص به واستخدام مصفوفة CNOT للحصول على حالة مقابلة جديدة للمنتج؛ ثم نقوم بتحليلها إلى |11⟩ وفقًا لجدول قيم CNOT الموضح سابقًا.
لذا، فقد تذكرنا جميع القواعد الرياضية التي ستساعدنا على فهم الحوسبة التقليدية والبتات العادية، ويمكننا أخيرًا الانتقال إلى الحوسبة الكمومية والكيوبتات الحديثة.
إذا كنت قد قرأت هذا الحد، فلدي أخبار جيدة لك: يمكن التعبير عن الكيوبتات رياضيًا بسهولة. بشكل عام، إذا كان من الممكن ضبط البتة الكلاسيكية (cbit) على |1⟩ أو |0⟩، فإن الكيوبت يكون ببساطة في حالة تراكب ويمكن أن يكون |0⟩ و|1⟩ قبل القياس. وبعد القياس، ينهار إلى |0⟩ أو |1⟩. بمعنى آخر، يمكن تمثيل الكيوبت كمجموعة خطية من |0⟩ و |1⟩ وفقًا للصيغة أدناه:
حيث أ₀ и أ₁ تمثل، على التوالي، السعات |0⟩ و |1⟩. يمكن اعتبارها "احتمالات كمية"، والتي تمثل احتمال انهيار الكيوبت إلى إحدى الحالات بعد قياسه، لأنه في ميكانيكا الكم ينهار جسم في حالة تراكب إلى إحدى الحالات بعد تثبيته. دعونا نوسع هذا التعبير ونحصل على ما يلي:
لتبسيط شرحي، هذا هو التمثيل الذي سأستخدمه في هذه المقالة.
بالنسبة لهذا الكيوبت، هناك فرصة للانهيار إلى القيمة أ₀ بعد القياس يساوي |a₀|²، واحتمال انهيار القيمة a₁ يساوي |a₁|². على سبيل المثال، بالنسبة للكيوبت التالي:
فرصة الانهيار إلى "1" تساوي |1/ √2|²، أو ½، أي 50/50.
نظرًا لأن جميع الاحتمالات في النظام الكلاسيكي يجب أن يكون مجموعها واحدًا (للتوزيع الاحتمالي الكامل)، فيمكننا أن نستنتج أن مربعات القيم المطلقة للسعة |0⟩ و |1⟩ يجب أن يكون مجموعها واحدًا. وبناء على هذه المعلومات يمكننا صياغة المعادلة التالية:
إذا كنت معتادًا على علم المثلثات، ستلاحظ أن هذه المعادلة تتوافق مع نظرية فيثاغورس (a²+b²=c²)، أي أنه يمكننا تمثيل الحالات المحتملة للكيوبت بيانيًا كنقاط على دائرة الوحدة، وهي:
يتم تطبيق العوامل والعناصر المنطقية على الكيوبتات بنفس الطريقة كما في حالة البتات الكلاسيكية - بناءً على تحويل المصفوفة. يمكن استخدام جميع عوامل المصفوفة القابلة للعكس التي ذكرناها حتى الآن، وخاصة CNOT، للعمل مع الكيوبتات. تتيح لك عوامل المصفوفة هذه استخدام كل من سعات الكيوبت دون قياسها وانهيارها. اسمحوا لي أن أقدم لكم مثالاً على استخدام عامل النفي على الكيوبت:
قبل أن نواصل، اسمحوا لي أن أذكركم أن قيم السعة a₀ و a₁ هي في الواقع
ومع ذلك، لتبسيط الشرح، سنقتصر هنا على الأعداد الحقيقية.
يبدو أن الوقت قد حان لمناقشة بعض العناصر المنطقية التي لها معنى فقط في سياق الحوسبة الكمومية.
أحد أهم العوامل هو "عنصر هادامارد": فهو يأخذ قليلًا في الحالة "0" أو "1" ويضعه في التراكب المناسب مع احتمال 50% للانهيار إلى الحالة "1" أو "0". بعد القياس.
لاحظ وجود رقم سالب في الجانب الأيمن السفلي من عامل Hadamard. ويرجع ذلك إلى أن نتيجة تطبيق العامل تعتمد على قيمة إشارة الدخل: - |1⟩ أو |0⟩، وبالتالي فإن الحساب قابل للعكس.
نقطة أخرى مهمة حول عنصر Hadamard هي قابليته للانعكاس، مما يعني أنه يمكن أن يأخذ كيوبت في التراكب المناسب ويحوله إلى |0⟩ أو |1⟩.
وهذا مهم جدًا لأنه يمنحنا القدرة على التحول من الحالة الكمومية دون تحديد حالة الكيوبت - وبالتالي دون انهيارها. وبالتالي، يمكننا هيكلة الحوسبة الكمومية على أساس مبدأ حتمي وليس احتمالي.
العوامل الكمومية التي تحتوي على أرقام حقيقية فقط هي نقيضها، لذلك يمكننا تمثيل نتيجة تطبيق العامل على الكيوبت كتحويل داخل دائرة الوحدة في شكل آلة الحالة:
وبالتالي، فإن الكيوبت، الذي تظهر حالته في الرسم البياني أعلاه، بعد تطبيق عملية هادامارد، يتحول إلى الحالة المشار إليها بالسهم المقابل. وبالمثل، يمكننا إنشاء آلة حالة أخرى توضح تحويل الكيوبت باستخدام عامل النفي كما هو موضح أعلاه (المعروف أيضًا باسم عامل نفي باولي، أو انعكاس البت)، كما هو موضح أدناه:
لإجراء عمليات أكثر تعقيدًا على الكيوبت الخاص بنا، يمكننا ربط عوامل تشغيل متعددة أو تطبيق عناصر عدة مرات. مثال على التحويل التسلسلي على أساس
أي أننا إذا بدأنا بالبت |0⟩، وقمنا بتطبيق انعكاس البت، ثم عملية Hadamard، ثم انعكاس بت آخر، ومرة أخرى عملية Hadamard، متبوعة بانعكاس البت النهائي، فإننا ننتهي بالمتجه المعطى بواسطة on الجانب الأيمن من السلسلة. من خلال وضع أجهزة حالة مختلفة فوق بعضها البعض، يمكننا البدء من |0⟩ وتتبع الأسهم الملونة المقابلة لكل تحويل لفهم كيفية عمل كل شيء.
وبما أننا وصلنا إلى هذا الحد، فقد حان الوقت للنظر في أحد أنواع الخوارزميات الكمومية، وهي -
لنتخيل أن لديك صندوقًا أسود يحتوي على دالة/عامل على بتة واحدة (تذكر أنه مع بتة واحدة، يمكن إجراء أربع عمليات فقط: تحويل الهوية، والنفي، وتقييم الثابت "0" وتقييم الثابت "1" "). ما هي الوظيفة التي يتم تنفيذها في الصندوق بالضبط؟ أنت لا تعرف أي منها، ولكن يمكنك الاطلاع على أي عدد تريده من قيم الإدخال وتقييم نتائج الإخراج.
كم عدد المدخلات والمخرجات التي يجب عليك تشغيلها عبر الصندوق الأسود لمعرفة الوظيفة المستخدمة؟ فكر في هذا للحظة.
في حالة الكمبيوتر الكلاسيكي، ستحتاج إلى إجراء استعلامين لتحديد الوظيفة المراد استخدامها. على سبيل المثال، إذا كان الإدخال "2" ينتج مخرج "1"، يصبح من الواضح أنه يتم استخدام إما وظيفة حساب الثابت "0" أو وظيفة النفي، وبعد ذلك سيتعين عليك تغيير قيمة إشارة الإدخال إلى "0" ونرى ما سيحدث عند الخروج.
في حالة الكمبيوتر الكمي، ستكون هناك حاجة أيضًا إلى استعلامين، حيث أنك لا تزال بحاجة إلى قيمتي إخراج مختلفتين لتحديد الوظيفة بدقة لتطبيقها على قيمة الإدخال. ومع ذلك، إذا قمت بإعادة صياغة السؤال قليلاً، فسيتبين أن أجهزة الكمبيوتر الكمومية لا تزال تتمتع بميزة جدية: إذا أردت معرفة ما إذا كانت الوظيفة المستخدمة ثابتة أم متغيرة، فستتمتع أجهزة الكمبيوتر الكمومية بالميزة.
تكون الوظيفة المستخدمة في الصندوق متغيرة إذا كانت القيم المختلفة لإشارة الإدخال تنتج نتائج مختلفة عند الإخراج (على سبيل المثال، تحويل الهوية وانعكاس البت)، وإذا لم تتغير قيمة الإخراج بغض النظر عن قيمة الإدخال، فإن الوظيفة الدالة ثابتة (على سبيل المثال، حساب الثابت "1" أو حساب الثابت "0").
باستخدام خوارزمية الكم، يمكنك تحديد ما إذا كانت الوظيفة في الصندوق الأسود ثابتة أو متغيرة بناءً على استعلام واحد فقط. ولكن قبل أن ننظر إلى كيفية القيام بذلك بالتفصيل، نحتاج إلى إيجاد طريقة لتنظيم كل من هذه الوظائف على الكمبيوتر الكمي. وبما أن أي عوامل كمية يجب أن تكون قابلة للعكس، فإننا نواجه على الفور مشكلة: وظائف حساب الثوابت "1" و"0" ليست كذلك.
الحل الشائع المستخدم في الحوسبة الكمومية هو إضافة بت كمي إضافي للإخراج يقوم بإرجاع أي قيمة إدخال تتلقاها الوظيفة.
إلى: | بعد: |
بهذه الطريقة، يمكننا تحديد قيم الإدخال بناءً على قيمة الإخراج فقط، وتصبح الدالة قابلة للعكس. إن بنية الدوائر الكمومية تخلق الحاجة إلى بتة إدخال إضافية. من أجل تطوير العوامل المقابلة، سنفترض أنه تم ضبط البت الكمي الإضافي على |0⟩.
باستخدام نفس تمثيل الدائرة الكمومية الذي استخدمناه سابقًا، دعونا نرى كيف يمكن تنفيذ كل عنصر من العناصر الأربعة (تحويل الهوية، النفي، تقييم الثابت "0" وتقييم الثابت "1") باستخدام عوامل الكم.
على سبيل المثال، هذه هي الطريقة التي يمكنك من خلالها تنفيذ الدالة لحساب الثابت "0":
حساب الثابت "0":
هنا لا نحتاج إلى مشغلين على الإطلاق. تُرجع البتة الكمومية المدخلة الأولى (التي افترضنا أنها |0⟩) بنفس القيمة، وترجع قيمة الإدخال الثانية نفسها - كالعادة.
مع وظيفة حساب الثابت "1" يختلف الوضع قليلاً:
حساب الثابت "1":
نظرًا لأننا افترضنا أن أول بت كمي يتم ضبطه دائمًا على |0⟩، فإن نتيجة تطبيق عامل انعكاس البت هي أنه ينتج دائمًا واحدًا عند الإخراج. وكالعادة، يعطي الكيوبت الثاني قيمته الخاصة عند الإخراج.
عند تعيين عامل تحويل الهوية، تبدأ المهمة في أن تصبح أكثر تعقيدًا. هيريس كيفية القيام بذلك:
التحول المتطابق:
يشير الرمز المستخدم هنا إلى عنصر CNOT: يشير السطر العلوي إلى بتة التحكم، ويشير السطر السفلي إلى بتة التحكم. اسمحوا لي أن أذكرك أنه عند استخدام عامل التشغيل CNOT، تتغير قيمة بت التحكم إذا كانت بت التحكم تساوي |1⟩، ولكنها تظل دون تغيير إذا كانت بت التحكم تساوي |0⟩. وبما أننا افترضنا أن قيمة السطر العلوي تساوي دائمًا |0⟩، فسيتم تعيين قيمته دائمًا إلى السطر السفلي.
نتعامل بطريقة مماثلة مع عامل النفي:
نفي:
نحن ببساطة نقوم بعكس البت الموجود في نهاية سطر الإخراج.
الآن بعد أن حصلنا على هذا الفهم الأولي، دعونا نلقي نظرة على المزايا المحددة للكمبيوتر الكمي مقارنة بالكمبيوتر التقليدي عندما يتعلق الأمر بتحديد ثبات أو تباين دالة مخفية في صندوق أسود باستخدام استعلام واحد فقط.
لحل هذه المشكلة باستخدام الحوسبة الكمومية في طلب واحد، من الضروري وضع البتات الكمومية المدخلة في تراكب قبل تمريرها إلى الدالة، كما هو موضح أدناه:
يتم إعادة تطبيق عنصر Hadamard على نتيجة الوظيفة لكسر الكيوبتات من التراكب وجعل الخوارزمية حتمية. نبدأ النظام بالحالة |00⟩ ولأسباب سأشرحها بعد قليل، نحصل على النتيجة |11⟩ إذا كانت الدالة المطبقة ثابتة. إذا كانت الدالة داخل الصندوق الأسود متغيرة، فبعد القياس يقوم النظام بإرجاع النتيجة |01⟩.
لفهم بقية المقال، دعونا نلقي نظرة على الرسم التوضيحي الذي عرضته سابقًا:
باستخدام عامل انعكاس البت ثم تطبيق عنصر Hadamard على قيمتي الإدخال المساويتين لـ |0⟩، نضمن ترجمتهما إلى نفس التراكب لـ |0⟩ و |1⟩، كما يلي:
باستخدام مثال تمرير هذه القيمة إلى دالة الصندوق الأسود، من السهل إثبات أن كلا دالتي القيمة الثابتة ينتجان |11⟩.
حساب الثابت "0":
وبالمثل، نرى أن دالة حساب الثابت "1" تنتج أيضًا |11⟩ كمخرج، أي:
حساب الثابت "1":
لاحظ أن الناتج سيكون |1⟩، حيث أن -1² = 1.
وبنفس المبدأ، يمكننا إثبات أنه عند استخدام كلتا الدالتين المتغيرتين، سنحصل دائمًا على |01⟩ عند الإخراج (شريطة أن نستخدم نفس الطريقة)، على الرغم من أن كل شيء أكثر تعقيدًا بعض الشيء.
التحول المتطابق:
نظرًا لأن CNOT عبارة عن مشغل ثنائي البتات الكمومية، فلا يمكن تمثيله كآلة حالة بسيطة، وبالتالي من الضروري تحديد إشارتي إخراج استنادًا إلى منتج الموتر لكل من البتات الكمومية المدخلة والضرب بواسطة مصفوفة CNOT كما هو موضح سابقًا:
بهذه الطريقة يمكننا أيضًا التأكد من استلام قيمة الإخراج |01⟩ إذا كانت دالة النفي مخفية في الصندوق الأسود:
نفي:
وهكذا، فقد أظهرنا للتو موقفًا يكون فيه الكمبيوتر الكمي أكثر كفاءة من الكمبيوتر التقليدي.
وماذا بعد؟
أقترح أن ننتهي هنا. لقد قمنا بالفعل بعمل عظيم. إذا كنت قد فهمت كل ما قمت بتغطيته، فأعتقد أن لديك الآن فهمًا جيدًا لأساسيات الحوسبة الكمومية والمنطق الكمي، ولماذا يمكن أن تكون الخوارزميات الكمومية أكثر كفاءة من الحوسبة التقليدية في مواقف معينة.
لا يمكن وصف وصفي بأنه دليل كامل للحوسبة الكمومية والخوارزميات - بل هو مقدمة موجزة للرياضيات والتدوين، وهو مصمم لتبديد أفكار القراء حول الموضوع الذي تفرضه مصادر العلوم الشعبية (على محمل الجد، لا يستطيع الكثيرون فهمه حقًا الوضع!). لم يكن لدي الوقت للتطرق إلى العديد من المواضيع الهامة، مثل
إذا كنت ترغب في تنظيم وهيكلة معرفتك حول أجهزة الكمبيوتر الكمومية، بشكل عاجل أنصحك بالقراءة
المصدر: www.habr.com