לדלג לתוכן

שער פרדקין

מתוך ויקיפדיה, האנציקלופדיה החופשית

שער פרדקין (באנגלית: Fredkin Gate) הוא שער קוונטי המבוסס על שולשה קיוביטים. השער הומצא על ידי אדוארד (אד) פרדקין. השער ידוע גם כ-"שער החלפה מבוקר" (באנגלית: controlled-SWAP).

סרטוט "שער פרדקין" (controlled-SWAP) כשער לוגי.כאשר קיוביט הבקרה (העיגול השחור) דולק, השער יחליף בין קיוביטי המטרה (בין ה-X העליון לבין ה-X התחתון).

לשער שלוש כניסות ושלוש יציאות המוגדרות כך: כניסת בקרה (), שתי כניסות מטרה () ושתי יציאות (). מטרת השער היא לבצע החלפה בין שני הקיוביטים, אם ורק אם קיוביט הבקרה () דלוק.

דרך הפעולה

[עריכת קוד מקור | עריכה]

כאשר כניסת הבקרה () כבויה, השער מעתיק את ל-, ואת ל-. אולם, כאשר כניסת הבקרה () דולקת, השער מעתיק את ל-, ואת ל-. בנוסף, השער לא משפיע על קיוביט הבקרה (). משום כך פעולת השער הפיכה ואינה מאבדת מידע בתהליך.

לכן גם מכונה שער זה כ-"שער החלפה מבוקר", מפני שהוא מחליף בין שני קיוביטים בתנאי (כלומר – שניתן להדליקו ולכבותו).

ייצוג של השער בדרכים שונות

[עריכת קוד מקור | עריכה]
כניסה יציאה
C I1 I2 C O1 O2
0 0 0 0 0 0
0 0 1 0 0 1
0 1 0 0 1 0
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 1 1 0
1 1 0 1 0 1
1 1 1 1 1 1

הגדרה לוגית
[עריכת קוד מקור | עריכה]

def fredkin(i_1: bool, i_2: bool, c: bool):
    """שער פרדקין עבור מערכת קלאסית
    מחזיר: tuple באורך 3 כאשר (o_1, o_2, c)"""

    if c:
        return i_1, i_2, c
    else:
         return i_2, i_1, c

- מעגל סוכם לוגי מלא של שלושה קיוביטים

[עריכת קוד מקור | עריכה]

השער משמש ליצירת מעגלים לוגיים המסוגלים לסכום 3 קיוביטים שונים (כמתואר בהמשך).

דוגמה נפוצה לשימוש בשער פרדקין היא "מעגל סוכם לוגי מלא של 3 קיוביטים". המעגל מסוגל לסכום שלושה קיוביטים ולפלוט שני קיוביטים המתארים את סכומם כמספר בינארי.

בתמונה ניתן לראות את שרטוט המעגל. הביטים 0 ו-1 הם קבועים (בתחילת ההרצה, ערכיהם יהיהו 0 ו-1 בהתאמה). הביטים p, q ו-r מייצגים את המשתנים הנסכמים (באופן קלאסי, יוכל כל משתנה לייצג את המספר 0 או המספר 1). פלט הבקרה אינו משנה את הקיוביטים המקוריים (קרי p ו-q). בנוסף, פלט האשפה חסר משמעות ומהווה תוצר לוואי של אלגוריתם המעגל. איחוד תוצאות הפלטים: "זוגיות" ו-"שארית", משמעו מספר הסכום בבינארית (כאשר "זוגיות" מסמן את הספרה הראשונה, ו-"שארית" את הספרה השנייה. למשל, עבור הסכום '2', "זוגיות" יהיה כבוי ו-"שארית" יהיה דלוק).