ניתוח
עכשיו נבצע ניתוח של אלגוריתם גרובר כדי להבין כיצד הוא עובד. נתחיל ממה שאפשר לתאר כניתוח סמלי, שבו נחשב כיצד פעולת גרובר פועלת על מצבים מסוימים, ואז נקשור ניתוח סמלי זה לתמונה גאומטרית שעוזרת להמחיש כיצד האלגוריתם עובד.
פתרונות ולא-פתרונות
נתחיל בהגדרת שתי קבוצות של מחרוזות.
הקבוצה מכילה את כל הפתרונות לבעיית החיפוש שלנו, ואילו מכילה את המחרוזות שאינן פתרונות (שנוכל לכנות לא-פתרונות כשנוח לנו). שתי הקבוצות הללו מקיימות ו- כלומר זוהי חלוקה לשניים של
לאחר מכן נגדיר שני וקטורי יחידה המייצגים סופרפוזיציות אחידות על קבוצות הפתרונות והלא-פתרונות.
מבחינה פורמלית, כל אחד מהוקטורים הללו מוגדר רק כשהקבוצה המתאימה אינה ריקה, אך מכאן ואילך נתמקד במקרה שבו וגם אינן ריקות. המקרים שבהם או קלים לטיפול בנפרד, ונעשה זאת בהמשך.
כהערת אגב, הסימון בשימוש כאן הוא מקובל: בכל פעם שיש לנו קבוצה סופית ולא ריקה אפשר לכתוב כדי לסמן את וקטור המצב הקוונטי האחיד על איברי
נגדיר גם את כמצב קוונטי אחיד על כל המחרוזות בנות הסיביות:
שימו לב ש-
כמ ו כן ולכן מייצג את המצב של הרגיסטר לאחר האתחול בשלב 1 של אלגוריתם גרובר.
מכך נובע שממש לפני האיטרציות של בשלב 2, המצב של נמצא במרחב הוקטורי הדו-ממדי הנפרש על ידי ו- ויתר על כן מקדמי הוקטורים הללו הם מספרים ממשיים. כפי שנראה, למצב של תמיד יהיו תכונות אלו — כלומר המצב הוא צירוף לינארי ממשי של ו- — לאחר כל מספר של איטרציות של הפעולה בשלב 2.
תצפית על פעולת גרובר
עכשיו נפנה את תשומת לבנו לפעולת גרובר
ונתחיל עם תצפית מעניינת לגביה.
נדמיין לרגע שהחלפנו את הפונקציה בהרכבה של עם פונקציית ה-NOT — כלומר, הפונקציה שמתקבלת על ידי היפוך סיבית הפלט של נקרא לפונקציה החדשה הזאת ואפשר לבטא אותה בסמלים בכמה דרכים חלופיות.
שימו לב ש-
לכל מחרוזת ולכן
משמעות הדבר היא שאם היינו מחליפים את הפונקציה בפונקציה אלגוריתם גרובר לא היה פועל באופן שונה — כי המצבים שמתקבלים מהאלגוריתם בשני המקרים שקולים בהכרח עד לשלב גלובלי.
זה לא בעיה! באופן אינטואיטיבי, האלגוריתם לא מתחשב באילו מחרוזות הן פתרונות ואילו הן לא-פתרונות — הוא רק צריך להיות מסוגל להבחין בין פתרונות ולא-פתרונות כדי לפעול נכון.
פעולת פעולת גרובר
עכשיו נבחן את פעולת על וקטורי המצב הקוונטי ו-