שער פרדקין
שער פרדקין (באנגלית: Fredkin Gate) הוא שער קוונטי המבוסס על שולשה קיוביטים. השער הומצא על ידי אדוארד (אד) פרדקין. השער ידוע גם כ-"שער החלפה מבוקר" (באנגלית: controlled-SWAP).
הגדרה
לשער שלוש כניסות ושלוש יציאות המוגדרות כך: כניסת בקרה (), שתי כניסות מטרה () ושתי יציאות (). מטרת השער היא לבצע החלפה בין שני הקיוביטים, אם ורק אם קיוביט הבקרה () דלוק.
דרך הפעולה
כאשר כניסת הבקרה () כבויה, השער מעתיק את ל-, ואת ל-. אולם, כאשר כניסת הבקרה () דולקת, השער מעתיק את ל-, ואת ל-. בנוסף, השער לא משפיע על קיוביט הבקרה (). משום כך פעולת השער הפיכה ואינה מאבדת מידע בתהליך.
לכן גם מכונה שער זה כ-"שער החלפה מבוקר", מפני שהוא מחליף בין שני קיוביטים בתנאי (כלומר – שניתן להדליקו ולכבותו).
ייצוג של השער בדרכים שונות
טבלת אמת
כניסה | יציאה | ||||
---|---|---|---|---|---|
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 קיוביטים". המעגל מסוגל לסכום שלושה קיוביטים ולפלוט שני קיוביטים המתארים את סכומם כמספר בינארי.
ראו גם
38926479שער פרדקין