انتقل إلى المحتوى الرئيسي

التحليل

سنحلّل الآن خوارزمية غروفر لنفهم كيف تعمل. سنبدأ بما يمكن وصفه بالتحليل الرمزي، حيث نحسب كيف تؤثر عملية غروفر GG على حالات معينة، ثم سنربط هذا التحليل الرمزي بصورة هندسية تساعدنا على تصوّر آلية عمل الخوارزمية.

الحلول وغير الحلول

لنبدأ بتعريف مجموعتين من السلاسل.

A0={xΣn:f(x)=0}A1={xΣn:f(x)=1}\begin{aligned} A_0 &= \bigl\{ x\in\Sigma^n : f(x) = 0\bigr\} \\ A_1 &= \bigl\{ x\in\Sigma^n : f(x) = 1\bigr\} \end{aligned}

المجموعة A1A_1 تحتوي على جميع حلول مسألة البحث لدينا، بينما تحتوي A0A_0 على السلاسل التي ليست حلولاً (ويمكننا الإشارة إليها بـغير الحلول حين يكون ذلك مناسباً). تحقق هاتان المجموعتان A0A1=A_0 \cap A_1 = \varnothing وA0A1=ΣnA_0 \cup A_1 = \Sigma^n، أي أن هذا تقسيم ثنائي لـΣn\Sigma^n.

بعد ذلك سنعرّف شعاعَي وحدة يمثّلان تراكبات متجانسة على مجموعتَي الحلول وغير الحلول.

A0=1A0xA0xA1=1A1xA1x\begin{aligned} \vert A_0\rangle &= \frac{1}{\sqrt{\vert A_0\vert}} \sum_{x\in A_0} \vert x\rangle \\ \vert A_1\rangle &= \frac{1}{\sqrt{\vert A_1\vert}} \sum_{x\in A_1} \vert x\rangle \end{aligned}

بصورة دقيقة، كل واحد من هذين الشعاعين لا يُعرَّف إلا حين تكون مجموعته المقابلة غير فارغة، لكننا من الآن فصاعداً سنركّز على الحالة التي لا تكون فيها A0A_0 ولا A1A_1 فارغة. الحالتان A0=A_0 = \varnothing وA1=A_1 = \varnothing يمكن معالجتهما بسهولة بشكل منفصل، وسنفعل ذلك لاحقاً.

تجدر الإشارة إلى أن الترميز المستخدم هنا شائع: في كل مرة يكون لدينا مجموعة SS منتهية وغير فارغة، يمكننا كتابة S\vert S\rangle للدلالة على شعاع الحالة الكمومية المتجانس على عناصر SS.

لنعرّف أيضاً u\vert u \rangle بوصفه حالة كمومية متجانسة على جميع السلاسل ذات nn بت:

u=1NxΣnx.\vert u\rangle = \frac{1}{\sqrt{N}} \sum_{x\in\Sigma^n} \vert x\rangle.

لاحظ أن

u=A0NA0+A1NA1.\vert u\rangle = \sqrt{\frac{\vert A_0 \vert}{N}} \vert A_0\rangle + \sqrt{\frac{\vert A_1 \vert}{N}} \vert A_1\rangle.

كذلك لدينا أن u=Hn0n\vert u\rangle = H^{\otimes n} \vert 0^n \rangle، لذا فإن u\vert u\rangle يمثّل حالة السجل Q\mathsf{Q} بعد التهيئة في الخطوة 1 من خوارزمية غروفر.

هذا يعني أنه قُبيل تكرارات GG في الخطوة 2، تقع حالة Q\mathsf{Q} في الفضاء الشعاعي ثنائي الأبعاد المُمتَدّ بـA0\vert A_0\rangle وA1\vert A_1\rangle، كما أن معاملات هذين الشعاعين أعداد حقيقية. وكما سنرى، ستحتفظ حالة Q\mathsf{Q} بهذه الخصائص دائماً — أي أنها تظل تركيباً خطياً حقيقياً لـA0\vert A_0\rangle وA1\vert A_1\rangle — بعد أي عدد من تكرارات العملية GG في الخطوة 2.

ملاحظة حول عملية غروفر

سننتقل الآن إلى عملية غروفر

G=HnZORHnZf,G = H^{\otimes n} Z_{\mathrm{OR}} H^{\otimes n} Z_f,

مبدئين بملاحظة مثيرة للاهتمام حولها.

تخيّل للحظة أننا استبدلنا الدالة ff بتركيبها مع دالة NOT — بمعنى آخر، الدالة التي نحصل عليها بقلب بت الإخراج في ff. سنسمّي هذه الدالة الجديدة gg، ويمكن التعبير عنها رمزياً بعدة طرق.

g(x)=¬f(x)=1f(x)=1f(x)={1f(x)=00f(x)=1g(x) = \neg f(x) = 1 \oplus f(x) = 1 - f(x) = \begin{cases} 1 & f(x) = 0\\[1mm] 0 & f(x) = 1 \end{cases}

لاحظ أن

(1)g(x)=(1)1f(x)=(1)f(x)(-1)^{g(x)} = (-1)^{1 \oplus f(x)} = - (-1)^{f(x)}

لكل سلسلة xΣnx\in\Sigma^n، وبالتالي

Zg=Zf.Z_g = - Z_f.

هذا يعني أننا لو استبدلنا الدالة ff بالدالة gg، فلن تتغير خوارزمية غروفر في شيء — لأن الحالات التي نحصل عليها من الخوارزمية في الحالتين متكافئة بالضرورة حتى الطور الكلي.

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

تأثير عملية غروفر

لننظر الآن في تأثير GG على شعاعَي الحالة الكمومية A0\vert A_0\rangle وA1\vert A_1\rangle.

أولاً، لنلاحظ أن العملية ZfZ_f لها تأثير بسيط جداً على A0\vert A_0\rangle وA1\vert A_1\rangle.

ZfA0=A0ZfA1=A1\begin{aligned} Z_f \vert A_0\rangle & = \vert A_0\rangle \\[1mm] Z_f \vert A_1\rangle & = -\vert A_1\rangle \end{aligned}

ثانياً، لدينا العملية HnZORHnH^{\otimes n} Z_{\mathrm{OR}} H^{\otimes n}. العملية ZORZ_{\mathrm{OR}} تُعرَّف كما يلي:

ZORx={xx=0nxx0n,Z_{\mathrm{OR}} \vert x\rangle = \begin{cases} \vert x\rangle & x = 0^n \\[2mm] -\vert x\rangle & x \neq 0^n, \end{cases}

مرة أخرى لكل سلسلة xΣnx\in\Sigma^n، وطريقة ملائمة بديلة للتعبير عن هذه العملية هي:

ZOR=20n0nI.Z_{\mathrm{OR}} = 2 \vert 0^n \rangle \langle 0^n \vert - \mathbb{I}.

طريقة بسيطة للتحقق من أن هذا التعبير يتوافق مع تعريف ZORZ_{\mathrm{OR}} هي تقييم تأثيره على حالات الأساس القياسية.

يمكن كتابة العملية HnZORHnH^{\otimes n} Z_{\mathrm{OR}} H^{\otimes n} كما يلي:

HnZORHn=2Hn0n0nHnI=2uuI,H^{\otimes n} Z_{\mathrm{OR}} H^{\otimes n} = 2 H^{\otimes n} \vert 0^n \rangle \langle 0^n \vert H^{\otimes n} - \mathbb{I} = 2 \vert u \rangle \langle u \vert - \mathbb{I},

باستخدام نفس الترميز u\vert u \rangle الذي استخدمناه أعلاه للتراكب المتجانس على جميع سلاسل nn بت.

والآن لدينا ما نحتاجه لحساب تأثير GG على A0\vert A_0\rangle وA1\vert A_1\rangle. لنحسب أولاً تأثير GG على A0\vert A_0\rangle.

GA0=(2uuI)ZfA0=(2uuI)A0=2A0NuA0=2A0N(A0NA0+A1NA1)A0=(2A0N1)A0+2A0A1NA1=A0A1NA0+2A0A1NA1\begin{aligned} G \vert A_0 \rangle & = \bigl( 2 \vert u\rangle \langle u \vert - \mathbb{I}\bigr) Z_f \vert A_0\rangle \\ & = \bigl( 2 \vert u\rangle \langle u \vert - \mathbb{I}\bigr) \vert A_0\rangle \\ & = 2 \sqrt{\frac{\vert A_0\vert}{N}} \vert u\rangle -\vert A_0 \rangle\\ & = 2 \sqrt{\frac{\vert A_0\vert}{N}} \biggl( \sqrt{\frac{\vert A_0\vert}{N}} \vert A_0\rangle + \sqrt{\frac{\vert A_1\vert}{N}} \vert A_1\rangle\biggr) -\vert A_0 \rangle \\ & = \biggl( \frac{2\vert A_0\vert}{N} - 1\biggr) \vert A_0 \rangle + \frac{2 \sqrt{\vert A_0\vert \cdot \vert A_1\vert}}{N} \vert A_1 \rangle \\ & = \frac{\vert A_0\vert - \vert A_1\vert}{N} \vert A_0 \rangle + \frac{2 \sqrt{\vert A_0\vert \cdot \vert A_1\vert}}{N} \vert A_1 \rangle \end{aligned}

وثانياً، لنحسب تأثير GG على A1\vert A_1\rangle.

GA1=(2uuI)ZfA1=(2uuI)A1=2A1Nu+A1=2A1N(A0NA0+A1NA1)+A1=2A1A0NA0+(12A1N)A1=2A1A0NA0+A0A1NA1\begin{aligned} G \vert A_1 \rangle & = \bigl( 2 \vert u\rangle \langle u \vert - \mathbb{I} \bigr) Z_f \vert A_1\rangle \\ & = - \bigl( 2 \vert u\rangle \langle u \vert - \mathbb{I} \bigr) \vert A_1\rangle \\ & = - 2 \sqrt{\frac{\vert A_1\vert}{N}} \vert u\rangle + \vert A_1 \rangle \\ & = - 2 \sqrt{\frac{\vert A_1\vert}{N}} \biggl(\sqrt{\frac{\vert A_0\vert}{N}} \vert A_0\rangle + \sqrt{\frac{\vert A_1\vert}{N}} \vert A_1\rangle\biggr) + \vert A_1 \rangle \\ & = - \frac{2 \sqrt{\vert A_1\vert \cdot \vert A_0\vert}}{N} \vert A_0 \rangle + \biggl( 1 - \frac{2\vert A_1\vert}{N} \biggr) \vert A_1 \rangle \\ & = - \frac{2 \sqrt{\vert A_1\vert \cdot \vert A_0\vert}}{N} \vert A_0 \rangle + \frac{\vert A_0\vert - \vert A_1\vert}{N} \vert A_1 \rangle \end{aligned}

في الحالتين نستخدم المعادلة

u=A0NA0+A1NA1\vert u\rangle = \sqrt{\frac{\vert A_0 \vert}{N}} \vert A_0\rangle + \sqrt{\frac{\vert A_1 \vert}{N}} \vert A_1\rangle

إلى جانب التعبيرَين

uA0=A0NوuA1=A1N\langle u \vert A_0\rangle = \sqrt{\frac{\vert A_0 \vert}{N}} \qquad\text{و}\qquad \langle u \vert A_1\rangle = \sqrt{\frac{\vert A_1 \vert}{N}}

اللذين يتبعان منها.

خلاصة القول، لدينا

GA0=A0A1NA0+2A0A1NA1GA1=2A1A0NA0+A0A1NA1.\begin{aligned} G \vert A_0 \rangle & = \frac{\vert A_0\vert - \vert A_1\vert}{N} \vert A_0 \rangle + \frac{2 \sqrt{\vert A_0\vert \cdot \vert A_1\vert}}{N} \vert A_1 \rangle\\[2mm] G \vert A_1 \rangle & = - \frac{2 \sqrt{\vert A_1\vert \cdot \vert A_0\vert}}{N} \vert A_0 \rangle + \frac{\vert A_0\vert - \vert A_1\vert}{N} \vert A_1 \rangle. \end{aligned}

كما أشرنا سابقاً، تقع حالة Q\mathsf{Q} قُبيل الخطوة 2 في الفضاء ثنائي الأبعاد الممتدّ بـA0\vert A_0\rangle وA1\vert A_1\rangle، وقد أثبتنا للتو أن GG تحوّل أي شعاع في هذا الفضاء إلى شعاع آخر في نفس الفضاء. هذا يعني أنه لأغراض التحليل، يمكننا التركيز حصراً على هذا الفضاء الجزئي.

لنفهم ما يجري داخل هذا الفضاء ثنائي الأبعاد بشكل أوضح، لنعبّر عن تأثير GG على هذا الفضاء كمصفوفة:

M=(A0A1N2A1A0N2A0A1NA0A1N),M = \begin{pmatrix} \frac{\vert A_0\vert - \vert A_1\vert}{N} & -\frac{2 \sqrt{\vert A_1\vert \cdot \vert A_0\vert}}{N} \\[2mm] \frac{2 \sqrt{\vert A_0\vert \cdot \vert A_1\vert}}{N} & \frac{\vert A_0\vert - \vert A_1\vert}{N} \end{pmatrix},

حيث تقابل الصفوف والأعمدة الأولى والثانية A0\vert A_0\rangle وA1\vert A_1\rangle على التوالي. حتى الآن في هذه السلسلة، كنا نربط دائماً صفوف وأعمدة المصفوفات بالحالات الكلاسيكية لنظام ما، غير أن المصفوفات يمكن استخدامها أيضاً لوصف تأثيرات التطبيقات الخطية على أسس مختلفة كما هو الحال هنا.

على الرغم من أنه ليس واضحاً للوهلة الأولى، فإن المصفوفة MM هي ما نحصل عليه بـتربيع مصفوفة أبسط شكلاً.

(A0NA1NA1NA0N)2=(A0A1N2A1A0N2A0A1NA0A1N)=M\begin{pmatrix} \sqrt{\frac{\vert A_0\vert}{N}} & - \sqrt{\frac{\vert A_1\vert}{N}} \\[2mm] \sqrt{\frac{\vert A_1\vert}{N}} & \sqrt{\frac{\vert A_0\vert}{N}} \end{pmatrix}^2 = \begin{pmatrix} \frac{\vert A_0\vert - \vert A_1\vert}{N} & -\frac{2 \sqrt{\vert A_1\vert \cdot \vert A_0\vert}}{N} \\[2mm] \frac{2 \sqrt{\vert A_0\vert \cdot \vert A_1\vert}}{N} & \frac{\vert A_0\vert - \vert A_1\vert}{N} \end{pmatrix} = M

المصفوفة

(A0NA1NA1NA0N)\begin{pmatrix} \sqrt{\frac{\vert A_0\vert}{N}} & - \sqrt{\frac{\vert A_1\vert}{N}} \\[2mm] \sqrt{\frac{\vert A_1\vert}{N}} & \sqrt{\frac{\vert A_0\vert}{N}} \end{pmatrix}

هي مصفوفة دوران، يمكننا التعبير عنها بشكل بديل كما يلي:

(A0NA1NA1NA0N)=(cos(θ)sin(θ)sin(θ)cos(θ))\begin{pmatrix} \sqrt{\frac{\vert A_0\vert}{N}} & - \sqrt{\frac{\vert A_1\vert}{N}} \\[2mm] \sqrt{\frac{\vert A_1\vert}{N}} & \sqrt{\frac{\vert A_0\vert}{N}} \end{pmatrix} = \begin{pmatrix} \cos(\theta) & -\sin(\theta) \\[2mm] \sin(\theta) & \cos(\theta) \end{pmatrix}

حيث

θ=sin1(A1N).\theta = \sin^{-1}\biggl(\sqrt{\frac{\vert A_1\vert}{N}}\biggr).

هذه الزاوية θ\theta ستلعب دوراً محورياً في التحليل التالي، لذا يستحق التأكيد على أهميتها هنا حين نراها لأول مرة.

في ضوء هذا التعبير عن المصفوفة، نلاحظ أن

M=(cos(θ)sin(θ)sin(θ)cos(θ))2=(cos(2θ)sin(2θ)sin(2θ)cos(2θ)).M = \begin{pmatrix} \cos(\theta) & -\sin(\theta) \\[2mm] \sin(\theta) & \cos(\theta) \end{pmatrix}^2 = \begin{pmatrix} \cos(2\theta) & -\sin(2\theta) \\[2mm] \sin(2\theta) & \cos(2\theta) \end{pmatrix}.

وهذا لأن الدوران بالزاوية θ\theta مرتين يكافئ الدوران بالزاوية 2θ2\theta. طريقة أخرى لرؤية ذلك هي الاستعانة بالتعبير البديل

θ=cos1(A0N),\theta = \cos^{-1}\biggl(\sqrt{\frac{\vert A_0\vert}{N}}\biggr),

إلى جانب صيغ الزاوية المضاعفة من حساب المثلثات:

cos(2θ)=cos2(θ)sin2(θ)sin(2θ)=2sin(θ)cos(θ).\begin{aligned} \cos(2\theta) & = \cos^2(\theta) - \sin^2(\theta)\\[1mm] \sin(2\theta) & = 2 \sin(\theta)\cos(\theta). \end{aligned}

خلاصة القول، حالة السجل Q\mathsf{Q} في بداية الخطوة 2 هي

u=A0NA0+A1NA1=cos(θ)A0+sin(θ)A1,\vert u\rangle = \sqrt{\frac{\vert A_0\vert}{N}} \vert A_0\rangle + \sqrt{\frac{\vert A_1\vert}{N}} \vert A_1\rangle = \cos(\theta) \vert A_0\rangle + \sin(\theta) \vert A_1\rangle,

وتأثير تطبيق GG على هذه الحالة هو تدويرها بزاوية 2θ2\theta داخل الفضاء الممتدّ بـA0\vert A_0\rangle وA1\vert A_1\rangle. على سبيل المثال:

Gu=cos(3θ)A0+sin(3θ)A1G2u=cos(5θ)A0+sin(5θ)A1G3u=cos(7θ)A0+sin(7θ)A1\begin{aligned} G \vert u \rangle &= \cos(3\theta) \vert A_0\rangle + \sin(3\theta) \vert A_1\rangle\\[1mm] G^2 \vert u \rangle &= \cos(5\theta) \vert A_0\rangle + \sin(5\theta) \vert A_1\rangle\\[1mm] G^3 \vert u \rangle &= \cos(7\theta) \vert A_0\rangle + \sin(7\theta) \vert A_1\rangle \end{aligned}

وبصورة عامة

Gtu=cos((2t+1)θ)A0+sin((2t+1)θ)A1.G^t \vert u \rangle = \cos\bigl((2t + 1)\theta\bigr) \vert A_0\rangle + \sin\bigl((2t + 1)\theta\bigr) \vert A_1\rangle.

الصورة الهندسية

لنربط الآن التحليل الذي أجريناه للتو بصورة هندسية. الفكرة هي أن العملية GG هي حاصل ضرب انعكاسَين، ZfZ_f وHnZORHnH^{\otimes n} Z_{\mathrm{OR}} H^{\otimes n}. والتأثير الصافي لأداء انعكاسَين هو إجراء دوران.

لنبدأ بـZfZ_f. كما لاحظنا سابقاً:

ZfA0=A0ZfA1=A1.\begin{aligned} Z_f \vert A_0\rangle & = \vert A_0\rangle \\[1mm] Z_f \vert A_1\rangle & = -\vert A_1\rangle. \end{aligned}

داخل الفضاء الشعاعي ثنائي الأبعاد الممتدّ بـA0\vert A_0\rangle وA1\vert A_1\rangle، هذا انعكاس حول الخط الموازي لـA0\vert A_0\rangle، الذي سنسمّيه L1L_1. إليك شكل يوضح تأثير هذا الانعكاس على شعاع وحدة افتراضي ψ\vert\psi\rangle، الذي نفترض أنه تركيب خطي حقيقي لـA0\vert A_0\rangle وA1\vert A_1\rangle.

شكل يوضح تأثير الانعكاس على شعاع.

ثانياً لدينا العملية HnZORHnH^{\otimes n} Z_{\mathrm{OR}} H^{\otimes n}، التي رأينا أنه يمكن كتابتها كما يلي:

HnZORHn=2uuI.H^{\otimes n} Z_{\mathrm{OR}} H^{\otimes n} = 2 \vert u \rangle \langle u \vert - \mathbb{I}.

هذا أيضاً انعكاس، هذه المرة حول الخط L2L_2 الموازي للشعاع u\vert u\rangle. إليك شكل يوضح تأثير هذا الانعكاس على شعاع وحدة ψ\vert\psi\rangle.

شكل يوضح تأثير الانعكاس الثاني على شعاع.

حين نؤلّف هذين الانعكاسين، نحصل على دوران — بمقدار ضعف الزاوية بين خطَّي الانعكاس — كما يوضّح هذا الشكل.

شكل يوضح تأثير عملية غروفر على شعاع.

هذا يفسّر، بمصطلحات هندسية، لماذا يؤدي تأثير عملية غروفر إلى تدوير التركيبات الخطية لـA0\vert A_0\rangle وA1\vert A_1\rangle بزاوية 2θ2\theta.