Yazan : Şadi Evren ŞEKER
Bilgisayar mühendisliğinin de bir çalışma alanı olan mantıksal devre tasarımı konusunda geçen, ve mucidinin adı ile anılan bir kapı örneğidir. Bu kapının en büyük özelliği evrensel olarak geri döndürülebilir olmasıdır (universally reversable). Literatürde bu kapı için CCNOT (control control not) kapısı ismi de verilmektedir.
Bir mantıksal kapının geri döndürülebilir olması, kapının girdisinden elde edilen çıktının tekrar girdi olması halinde, ilk girdinin geri elde edilebilmesidir. Bu karmaşık cümle ile anlatılmak istenen örneğin L kapısı için L(x) = y gibi bir sonuç alınıyorsa, bu kapının tersi olan L’ için L'(y) = x sonucunun alınması beklenir. Veya kapının kendisinin ters olması halinde de L(x) = y ve L(y) = x şartlarının aynı anda sağlanması beklenir.
Örneğin klasik değil kapısı (not gate) geri döndürülebilir kapıdır (reversable). Bunu doğruluk çizelgesine (truth table) bakarak kolayca görebiliriz.
Girdi | Çıktı |
1 | 0 |
0 | 1 |
Görüldüğü üzere L(1) = 0 ve L(0)=1 olmakta, dolayısıyla tersi alınabilir bir kapı olmaktadır.
Buna karşılık, geri döndürülebilirlik (reversible) konusunun daha iyi anlaşılabilmesi için, geri döndürülemez bir kapı olan veya kapısını inceleyelim.
Girdi | Çıktı |
00 | 0 |
01 | 1 |
10 | 1 |
11 | 1 |
Yukarıdaki doğruluk çizelgesinde (truth table) görüldüğü üzere, herhangi bir çıktının, girdiye verilmesi durumunda, girdinin geri elde edilmesi mümkün değildir. Örneğin L(10) = 1 olmakta ama L(1) = 10 olmamaktadır.
Aynı zamanda herhangi bir L’ devresi de yukarıdaki tablonun tersini üretemez. Bunun sebebi, 1 çıktısının 01, 10 veya 11 şeklinde geri döndürülme ihtimali olduğu ve 1 çıktısı alındıktan sonra, orijinal girdinin ne olduğunun tahmininin imkânsız olduğudur.
Ve kapısı örneğini ele alarak, bir kapının geri döndürülebilir olması için giriş ve çıkış bitlerinin sayısının aynı olması gerektiğini tahmin edebilirsiniz. Aslında bu durum basitçe güvercin yuvası kaidesi (pigeonholde principle) ile açıklanabilir ve evet bir kapının geri döndürülebilir olması için giriş biti sayısı ile çıkış biti sayısı eşit olmalıdır.
Şayet giriş bitlerinin sayısı ile çıkış bitlerinin sayısı eşit ise, kapının karakterini, yukarıdaki örneklerde olduğu gibi doğruluk çizelgesi (truth table) şeklinde klasik gösterimden farklı olarak gösterebiliriz. Aslında kuantum kapıları (quantum Gates) için vaz geçilmez olan bu gösterim matris gösterimidir.
Örneğin değil kapısını (not gate) ele alalım ve matriste göstermeye çalışalım.
0 | 1 | |
0 | 0 | 1 |
1 | 1 | 0 |
Yukarıdaki matris, okunması kolay olsun diye bir satır (en üstteki) ve bir sütun (en soldaki) eklenerek verilmiştir. Bu matriste, satırlar, girdiyi, sütunlar ise çıktıyı tutmaktadır. Yani tablomuzu aşağıdaki şekilde yorumlayabiliriz
0 | 1 | |
0 | 0 girdisi için, 0 çıktısı alınabilir mi? | 0 girdisi için, 1 çıktısı alınabilir mi? |
1 | 1 girdisi için 0 çıktısı alınabilir mi? | 1 girdisi için 1 çıktısı alınabilir mi? |
Yukarıdaki bu sorulara evet veya hayır cevaplarını vererek evet için 1 ve hayır için 0 yerleştiriyoruz. Örneğin değil kapısı (not gate) 0 için 1 sonucu verir ve 0 için 0 sonucu vermez. Dolayısıyla yukarıdaki doğruluk çizelgesinin matris gösterimini aşağıdaki şekilde yapmak yeterlidir.
0 | 1 |
1 | 0 |
Yukarıdaki bu matrise bakıldığı zaman, bu matrisin doğruluk çizelgesi (truth table) kolaylıkla anlaşılabilir.
Toffoli kapısına gelince, bu kapının doğruluk tablosu ve matrisi aşağıda verilmiştir.
Girdi |
Çıktı |
||
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
Yukarıdaki doğruluk çizelgesinin matris hali de aşağıda verilmiştir.
Görüldüğü üzere, toffoli kapısı, özel veya (XOR) şeklinde çalışmaktadır ve ilk biti kontrol bitidir. Yani çıktının ikinci biti (doğruluk çizelgesindeki sağdaki bit), XOR sonucu iken, ilk bit Girdinin ilk biti ile aynıdır.
İki girdi için yukarıda verilen doğruluk çizelgesi ve matris gösterimlerinin, 3 giriş için olanı da aşağıdadır.
Giriş |
Çıkış |
||||
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 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
Böylelikle, yukarıdaki 3 bit girişin aslında tek bit olan çıkışının başında iki bitlik kontrol bulunmakta ve yazının başında bahsettiğimiz CCNOT yani kontrol kontrol değil (not) kapısı olmaktadır. Bu tablonun matris gösterimi aşağıdaki şekildedir.