ما هو الحاسوب الكمي؟ أوضح بمثال بسيط.

مرحباً بالجميع!

في ذلك اليوم ، قمت بزيارة D-Wave Systems في فانكوفر ، كندا. إنها شركة تصنع أجهزة الكمبيوتر الكمومية المتطورة.

لقد تعلمت الكثير عن أجهزة الكمبيوتر الكمومية هناك ، لذلك أود أن أشارككم بعضًا مما تعلمته هناك في هذه المقالة.

الهدف من هذه المقالة هو منحك حدسًا دقيقًا لما يستخدمه الكمبيوتر الكمومي كمثال بسيط.

لن تتطلب منك هذه المقالة أن تكون لديك معرفة مسبقة بفيزياء الكم أو علوم الكمبيوتر حتى تتمكن من فهمها.

حسنًا ، لنبدأ.

تحرير (26 فبراير 2019): قمت مؤخرًا بنشر مقطع فيديو حول نفس الموضوع على قناتي على YouTube. أوصي بمشاهدته (انقر هنا) قبل أو بعد قراءة هذا المقال لأنني أضفت بعض الحجج الإضافية الأكثر دقة في الفيديو.

ما هو الحاسوب الكمي؟

فيما يلي ملخص من جملة واحدة لما هو الكمبيوتر الكمومي:

الكمبيوتر الكمومي هو نوع من أجهزة الكمبيوتر التي تستخدم ميكانيكا الكم بحيث يمكنها إجراء أنواع معينة من العمليات الحسابية بكفاءة أكبر من الكمبيوتر العادي.

هناك الكثير لتفكيكه في هذه الجملة ، لذا دعني أطلعك على ما هو بالضبط باستخدام مثال بسيط.

لشرح ماهية الكمبيوتر الكمي ، سأحتاج أولاً إلى شرح القليل عن أجهزة الكمبيوتر العادية (غير الكمومية).

كيف يخزن الكمبيوتر العادي المعلومات

الآن ، يقوم الكمبيوتر العادي بتخزين المعلومات في سلسلة من 0 و 1.

يمكن تمثيل أنواع مختلفة من المعلومات ، مثل الأرقام والنصوص والصور بهذه الطريقة.

كل وحدة في هذه السلسلة من 0 و 1 تسمى بت. لذلك ، يمكن ضبط البت على 0 أو 1.

الآن ، ماذا عن أجهزة الكمبيوتر الكمومية؟

لا يستخدم الكمبيوتر الكمومي بت لتخزين المعلومات. بدلاً من ذلك ، يستخدم شيئًا يسمى الكيوبتات.

لا يمكن تعيين كل كيوبت على 1 أو 0 فقط ، ولكن يمكن أيضًا ضبطه على 1 و 0. ولكن ماذا يعني ذلك بالضبط؟

اسمحوا لي أن أشرح هذا بمثال بسيط. سيكون هذا مثالًا مصطنعًا إلى حد ما. لكنها ستظل مفيدة في فهم كيفية عمل أجهزة الكمبيوتر الكمومية.

مثال بسيط لفهم كيفية عمل أجهزة الكمبيوتر الكمومية

الآن ، لنفترض أنك تدير وكالة سفر ، وتحتاج إلى نقل مجموعة من الأشخاص من مكان إلى آخر.

لتبسيط الأمر ، لنفترض أنك بحاجة إلى نقل 3 أشخاص فقط في الوقت الحالي - أليس وبيكي وكريس.

ولنفترض أنك حجزت سيارتي أجرة لهذا الغرض ، وتريد معرفة من الذي يستقل أي سيارة أجرة.

افترض أيضًا أنك قدمت معلومات حول من هو أصدقاء من ، ومن هو الأعداء مع من.

دعنا نقول هنا:

  • أليس وبيكي صديقان
  • أليس وكريس أعداء
  • بيكي وكريس أعداء

وافترض أن هدفك هنا هو تقسيم هذه المجموعة المكونة من 3 أشخاص إلى سيارتي أجرة لتحقيق الهدفين التاليين:

  • تعظيم عدد أزواج الأصدقاء الذين يتشاركون في نفس السيارة
  • قلل من عدد أزواج الأعداء التي تشترك في نفس السيارة

حسنًا ، هذا هو المنطلق الأساسي لهذه المشكلة. لنفكر أولاً في كيفية حل هذه المشكلة باستخدام جهاز كمبيوتر عادي.

حل هذه المشكلة بجهاز كمبيوتر عادي

لحل هذه المشكلة باستخدام كمبيوتر عادي غير كمي ، ستحتاج أولاً إلى معرفة كيفية تخزين المعلومات ذات الصلة باستخدام وحدات البت.

دعونا نسمي سيارتي الأجرة رقم 1 وتاكسي رقم 0.

بعد ذلك ، يمكنك تمثيل من يدخل إلى أي سيارة بثلاث بتات.

على سبيل المثال ، يمكننا ضبط البتات الثلاثة على 0 ، 0 ،و 1 لتمثيل:

  • أليس تدخل سيارة الأجرة # 0
  • تدخل بيكي في سيارة أجرة # 0
  • كريس يدخل سيارة الأجرة رقم 1

نظرًا لوجود خيارين لكل شخص ، فهناك 2 * 2 * 2 = 8 طرق لتقسيم هذه المجموعة من الأشخاص إلى سيارتين.

فيما يلي قائمة بجميع التكوينات الممكنة:

أ | ب | ج

0 | 0 | 0

0 | 0 | 1

0 | 1 | 0

0 | 1 | 1

1 | 0 | 0

1 | 0 | 1

1 | 1 | 0

1 | 1 | 1

باستخدام 3 بتات ، يمكنك تمثيل أي من هذه المجموعات.

حساب النتيجة لكل تكوين

الآن ، باستخدام جهاز كمبيوتر عادي ، كيف يمكننا تحديد التكوين الأفضل؟

للقيام بذلك ، دعنا نحدد كيف يمكننا حساب النتيجة لكل تكوين. ستمثل هذه الدرجة إلى أي مدى يحقق كل حل الهدفين اللذين ذكرتهما سابقًا:

  • تعظيم عدد أزواج الأصدقاء الذين يتشاركون في نفس السيارة
  • قلل من عدد أزواج الأعداء التي تشترك في نفس السيارة

دعنا نحدد درجاتنا ببساطة على النحو التالي:

(نتيجة تكوين معين) = (# أزواج أصدقاء يتشاركون نفس السيارة) - (# زوجًا من الأعداء يتشاركون في نفس السيارة)

على سبيل المثال ، افترض أن أليس وبيكي وكريس دخلوا جميعًا سيارة أجرة رقم 1. مع ثلاث بتات ، يمكن التعبير عن هذا كـ 111 .

في هذه الحالة ، هناك صديق واحد فقط يشتركان في نفس السيارة - أليس وبيكي.

ومع ذلك ، هناك زوجان من الأعداء يتشاركون في نفس السيارة - أليس وكريس وبيكي وكريس.

إذن ، النتيجة الإجمالية لهذا التكوين هي 1-2 = -1.

حل مشكلة

مع كل هذا الإعداد ، يمكننا أخيرًا الشروع في حل هذه المشكلة.

باستخدام جهاز كمبيوتر عادي ، للعثور على أفضل تكوين ، ستحتاج إلى مراجعة جميع التكوينات بشكل أساسي لمعرفة أي منها يحقق أعلى درجة.

لذلك ، يمكنك التفكير في إنشاء جدول مثل هذا:

أ | ب | ج | أحرز هدفا

0 | 0 | 0 | -1

0 | 0 | 1 | 1 <- أحد أفضل الحلول

0 | 1 | 0 | -1

0 | 1 | 1 | -1

1 | 0 | 0 | -1

1 | 0 | 1 | -1

1 | 1 | 0 | 1 <- الحل الأفضل الآخر

1 | 1 | 1 | -1

كما ترى ، يوجد حلان صحيحان هنا - 001 و 110 ، وكلاهما يحقق النتيجة 1.

هذه المشكلة بسيطة إلى حد ما. يصبح من الصعب جدًا حلها باستخدام جهاز كمبيوتر عادي لأننا نزيد عدد الأشخاص في هذه المشكلة.

لقد رأينا أنه مع 3 أشخاص ، نحتاج إلى إجراء 8 تكوينات محتملة.

ماذا لو كان هناك 4 أشخاص؟ في هذه الحالة ، سنحتاج إلى إجراء 2 * 2 * 2 * 2 = 16 تكوينًا.

مع n شخصًا ، سنحتاج إلى إجراء تكوينات (2 إلى قوة n) للعثور على أفضل حل.

لذا ، إذا كان هناك 100 شخص ، فسنحتاج إلى المرور عبر:

  • 2¹⁰⁰ ~ = 10³⁰ = مليون مليون مليون مليون مليون تكوين.

هذا ببساطة من المستحيل حله باستخدام جهاز كمبيوتر عادي.

حل هذه المشكلة بالحاسوب الكمومي

كيف سنشرع في حل هذه المشكلة بالحاسوب الكمومي؟

للتفكير في ذلك ، دعنا نعود إلى حالة تقسيم 3 أشخاص إلى سيارتين أجرة.

كما رأينا سابقًا ، كان هناك 8 حلول ممكنة لهذه المشكلة:

أ | ب | ج

0 | 0 | 0

0 | 0 | 1

0 | 1 | 0

0 | 1 | 1

1 | 0 | 0

1 | 0 | 1

1 | 1 | 0

1 | 1 | 1

باستخدام جهاز كمبيوتر عادي ، باستخدام 3 بتات ، تمكنا من تمثيل واحد فقط من هذه الحلول في كل مرة - على سبيل المثال ، 001.

ومع ذلك ، باستخدام الكمبيوتر الكمومي ، باستخدام 3 كيوبتات ، يمكننا تمثيل جميع هذه الحلول الثمانية في نفس الوقت .

هناك نقاشات حول ما تعنيه بالضبط ، ولكن هذه هي الطريقة التي أفكر بها.

أولاً ، افحص أول كيوبت من هذه الثلاثة كيوبتات. عندما تقوم بتعيينه على كليهما0 و 1 ، إنها نوعًا ما تشبه إنشاء عالمين متوازيين. (نعم ، هذا غريب ، لكن فقط تابع هنا.)

في أحد تلك العوالم المتوازية ، يتم تعيين كيوبت على 0. في العالم الآخر ، يتم ضبطه على 1.

الآن ، ماذا لو قمت بضبط الكيوبت الثاني على 0 و 1 أيضًا؟ ثم ، الأمر يشبه إنشاء 4 عوالم متوازية.

في العالم الأول ، يتم تعيين الكيوبتتين على 00. في الثانية ، تكونان 01. في العالم الثالث ، تكونان 10. في المجموعة الرابعة ، تكونان 11.

وبالمثل ، إذا قمت بتعيين جميع الكيوبتات الثلاثة على كل من 0 و 1 ، فإنك ستنشئ 8 عوالم متوازية - 000 و 001 و 010 و 011 و 100 و 101 و 110 و 111.

هذه طريقة غريبة للتفكير ، لكنها إحدى الطرق الصحيحة لتفسير سلوك الكيوبتات في العالم الحقيقي.

الآن ، عندما تطبق نوعًا من الحساب على هذه الكيوبتات الثلاثة ، فأنت في الواقع تطبق نفس الحساب في كل تلك العوالم الثمانية المتوازية في نفس الوقت.

لذلك ، بدلاً من المرور بكل من هذه الحلول المحتملة بالتتابع ، يمكننا حساب درجات جميع الحلول في نفس الوقت.

مع هذا المثال بالذات ، من الناحية النظرية ، سيكون الكمبيوتر الكمومي قادرًا على إيجاد أحد أفضل الحلول في بضع أجزاء من الثانية. مرة أخرى ، هذا هو 001 أو 110 كما رأينا سابقًا:

أ | ب | ج | أحرز هدفا

0 | 0 | 0 | -1

0 | 0 | 1 | 1 <- واحدة من أفضل soluti الإضافات

0 | 1 | 0 | -1

0 | 1 | 1 | -1

1 | 0 | 0 | -1

1 | 0 | 1 | -1

1 | 1 | 0 | 1 <- أفضل غسول آخر

1 | 1 | 1 | -1

في الواقع ، لحل هذه المشكلة ، ستحتاج إلى إعطاء الكمبيوتر الكمومي شيئين:

  • جميع الحلول الممكنة ممثلة بالكيوبتات
  • وظيفة تحول كل حل محتمل إلى نتيجة. في هذه الحالة ، هذه هي الوظيفة التي تحسب عدد أزواج الأصدقاء وأزواج الأعداء الذين يتشاركون نفس السيارة.

بالنظر إلى هذين الأمرين ، فإن جهاز الكمبيوتر الكمومي الخاص بك سوف يبصق أحد أفضل الحلول في بضع أجزاء من الثانية. في هذه الحالة ، يكون هذا هو 001 أو 110 بدرجة 1.

الآن ، من الناحية النظرية ، يستطيع الكمبيوتر الكمومي إيجاد أحد أفضل الحلول في كل مرة يتم تشغيله.

ومع ذلك ، في الواقع ، هناك أخطاء عند تشغيل جهاز كمبيوتر كمي. لذلك ، بدلاً من إيجاد أفضل حل ، قد يجد ثاني أفضل حل ، وثالث أفضل حل ، وهكذا.

تصبح هذه الأخطاء أكثر وضوحًا كلما أصبحت المشكلة أكثر تعقيدًا.

لذلك ، من الناحية العملية ، ربما ترغب في تشغيل نفس العملية على كمبيوتر كمي عشرات المرات أو مئات المرات. ثم اختر أفضل نتيجة من بين العديد من النتائج التي تحصل عليها.

كيف مقياس الكمبيوتر الكمومي

حتى مع وجود الأخطاء التي ذكرتها ، لا يعاني الكمبيوتر الكمومي من نفس مشكلة القياس التي يعاني منها الكمبيوتر العادي.

عندما يكون هناك 3 أشخاص نحتاج إلى تقسيمهم إلى سيارتين ، فإن عدد العمليات التي نحتاجها لأداء على جهاز كمبيوتر كمي هو 1. وذلك لأن الكمبيوتر الكمومي يحسب درجات جميع التكوينات في نفس الوقت.

عندما يكون هناك 4 أشخاص ، يظل عدد العمليات 1.

عندما يكون هناك 100 شخص ، فإن عدد العمليات يظل 1. بعملية واحدة ، يحسب الكمبيوتر الكمومي الدرجات لكل 2¹⁰⁰ ~ = 10³⁰ = مليون مليون مليون مليون مليون تكوين في نفس الوقت.

كما ذكرت سابقًا ، من الناحية العملية ، من الأفضل تشغيل الكمبيوتر الكمي عشرات المرات أو مئات المرات واختيار أفضل نتيجة من بين العديد من النتائج التي تحصل عليها.

ومع ذلك ، فإنه لا يزال أفضل بكثير من تشغيل نفس المشكلة على جهاز كمبيوتر عادي والاضطرار إلى تكرار نفس النوع من الحسابات مليون مليون مليون مليون مرة.

تغليف

شكر خاص للجميع في D-Wave Systems لشرحهم كل هذا بصبر لي.

أطلقت D-Wave مؤخرًا بيئة سحابية للتفاعل مع جهاز كمبيوتر كمي.

إذا كنت مطورًا وترغب بالفعل في تجربة استخدام جهاز كمبيوتر كمي ، فمن المحتمل أن تكون أسهل طريقة للقيام بذلك.

يطلق عليه Leap ، وهو موجود في //cloud.dwavesys.com/leap. يمكنك استخدامه مجانًا لحل آلاف المشاكل ، كما أن لديهم أيضًا برامج تعليمية سهلة المتابعة حول البدء في استخدام أجهزة الكمبيوتر الكمومية بمجرد التسجيل.

هامش:

  • في هذه المقالة ، استخدمت مصطلح "كمبيوتر عادي" للإشارة إلى كمبيوتر غير كمي. ومع ذلك ، في صناعة الحوسبة الكمومية ، عادةً ما يشار إلى أجهزة الكمبيوتر غير الكمومية باسم أجهزة الكمبيوتر الكلاسيكية.