Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 2015Thesis () -- İstanbul Technical University, Institute of Science and Technology, 2015Bu tez, tersinir devre sentezine dayalı kuantum devrelerin sentezlenmesi için yeni bir yöntem sunmaktadır. Kuantum bilgisayarlar, özellikle kuantum devrelerle oluşturulan kauntum algoritmalar, hesaplamalı alanda vaat ettikleriyle son yıllarda dikkatleri üzerine çekti. Bu bilgisayarlar, klasik bilgisayarların çözemediği kompleks problemleri hesaplamanın önünü açmaktadır. Geleneksel olarak bilgisayarlar 0 veya 1 değeri alabilen bitler ile hesaplamaları gerçekleştirirler. Bitler ile hesaplama genel anlamda oldukça etkin ve verimli olmasına rağmen bazı önemli problemlerin çözümünde yetersiz kalmaktadır. Bunun en önemli nedeni ise bitlerin deterministik olarak çalışması, yani belirli bir zaman aralığında sadece 0 veya 1 değeri alabilmesidir. Richard Feynman tarafından önerilen kuantum bilgisayar fikri, kuantum mekaniğinden faydalanarak hesaplama işlemlerini gerçekleştirme mantığına dayanmaktadır. Bu hesaplama yönteminde, veri saklama elemanları “kübit” olarak adlandırılır. Kuantum mekaniğinin süperpozisyon prensibi gereği, kübitler 0 veya 1 aynı anda hem 0 hem 1 konumunda bulunabilir. Bir başka deyişle bir kübitin değeri, 0 veya 1 olma olasılığını belirtir. Böylece, pratik limitler dahilinde olanaksız olan bir çok problem, kuantum algoritmaları ile rahatlıkla çözebilmektedir. Bu problemlerin belki de en ünlüsü kriptolojide yaygın kullanılan yarı-asal sayıların çarpanlarına ayrılmasıdır. Shor’un kübit tabanlı çarpanlara ayırma algoritması, geleneksel anlamda çözümü yüzyıllar süren durumları, hızlıca çözmektedir. Kuantum devreler, kübitler üzerinde işlem yapan kuantum kapılar kullanılarak inşa edilir. Kuantum devrelerin en önemli özelliklerinden birisi aynı zamanda tersinir (reversible) devreler olmalarıdır. Bu devrelerde, devrenin girişindeki ve çıkışındaki bit sayısı eşittir. Devrenin çıkışındaki değerler bize devrenin girişindeki değerler hakkında bilgi verir. Bu sayede devreleri çift yönlü olarak kullanabilmemize imkan sağlarlar. Tersinir devrelerin en büyük getirisi, bilgisayarlarda yüksek enerji tasarrufuna olanak sağlamalarıdır. Kuantum bilgisayarlar ile ilgili yapılan deneysel uygulamalar her ne kadar emekleme aşamasında olsa da, kuantum hesaplamanın uygulanabilir olduğunu göstermektedir. Bu noktada kuantum hesaplamanın en önemli bölümü olan kuantum devre tasarımı ön plana çıkmaktadır. Çalışmalar en az sayıda kapı kullanarak optimum devreleri sentezlemeyi amaçlamaktadır. Optimize edilmiş devreler, bir yandan güvenilirliği artırırken, diğer bir yandan çalışma süresini düşürmektedir. Şuana kadar yapılan çalışmalarda, optimum devre sentezi sadece 4 bite kadar gerçekleştirildi. Son yapılan ve 84 kübit kullanılan deneyler göz önüne alındığında, optimal devre sentezi pratik olmaktan oldukça uzak kalmaktadır. Bu, çalışmamızı hızlı sentezleme algoritmalarına yönelten motivasyonların başında gelmektedir. Literatürdeki birkaç çalışmada, özellikle yüksek bit sayısı ile sentezleme yapılanlarda, “garbage output” birimleri kullanılmıştır. Bu birimler, ihtiyaç olduğunda kullanılmak üzere devrede fazladan bulundurulan veri yolları olarak düşünülebilir. Bir çok yöntemde, enerji verimililiği ile ilgili problemlerinden ötürü kullanımı düşünülmemiştir. Bu nedenle çalışmamızda “garbage ouput” kullanmadık. Önerdiğimiz yöntem, istenilen fonksiyonu kuantum kapıları kullanarak verimli bir şekilde elde etmekte ve bunu iki ana aşamada yapmaktadır. İlk aşamada, permütasyona dayalı bir algoritma ile seçilen bit büyüklüğüne göre optimum sayıda kapı kullanılan “temel fonksiyonlar” sentezlenmektedir. Her temel fonksiyon için, en az kapı sayısından başlayıp, tüm kapıları ve permütasyonlarını deneyerek, fonksiyonu gerçekleştiren devreyi temel fonksiyonlar kütüphanesine ekler ve bir sonraki temel fonksiyonu aramaya başlar. Kütüphane tamamlandıktan sonra sıralama aşamasına geçilmektedir. Algoritmanın bu aşaması, en çok vakit alan kısım olmasına rağmen, temel fonksiyonların sayısının azlığı ve sıralama algoritmasının hızı, bu yöntemi literatürdeki çalışmalardan oldukça hızlı kılmaktadır. Optimum çözüm üretmeyen yöntemlerle bu devreler çok daha hızlı bir şekilde elde edilebilir ancak devre maliyetleri çok daha yüksek olacaktır. Temel fonksiyonların maliyetleri, oluşturulacak olan tüm devrelerin maliyetini etkileyeceğinden, devreleri optimum olarak sentezlemeyi tercih ettik. Devre sentezleme aşaması, istenilen fonksiyonu elde etmemizi sağlayan sıralama süreci ile devam eder. Bu süreç, algoritmamıza hızını kazandıran, yöntemimizin en önemli bölümdür. Sıralama algoritmaları, matematik ve bilgisayar biliminde uzun süredir çalışılan bir konu olduğundan, birçok farklı sıralama algoritması geliştirilmiştir. Biz çalışmamızda, “Seçmeli Sıralama” algoritmasını kullandık. Bu sıralama yöntemi, verilen fonksiyonu, doğruluk tablosu ile karşılaştırarak satır satır kontrol edip, eşleşmeyen her durum için temel fonksiyonlardan birini kullanarak, fonksiyonu adım adım birim fonksiyona çevirmektedir. Diğer sıralama algoritmalarının aksine kaydırma veya bölme işlemlerini uygulamadığından, fazladan temel fonksiyon kullanımını önleyerek, devre maliyetini düşük tutmaktadır. Örneğin, birleştirmeli sıralama, verilen sıralama kümesini öncelikle alt kümelere ayırıp, bu alt kümeleri sıralamaktadır. Ardından, oluşturulan alt kümeler, parça parça birleştirilerek her yeni birleşmede yeni bir sıralama yapılmaktadır. Sıralamalardaki yer değiştirme işlemlerinin her biri ek bir temel fonksiyon kullanımına neden olmaktadır. Aynı şekilde, eklemeli sıralama algoritmasında kullanılan kaydırma işlemlerinin her biri, bir temel fonksiyona karşılık gelmektedir. Seçmeli algoritma ile oluşturulan devrelerin maliyeti, yerdeğiştirilecek olan satırların değiştirilme sırasının, doğru bir şekilde belirlenmesiyle iyileştirilebileceğini gösterdik. Bu amaçla, çalışmamıza her fonksiyon için optimum sıralamayı bulan ek bir bölüm ekledik. Eklediğimiz bu kısım bazı devrelerin maliyetini azaltırken, programın çalışma süresini artırmıştır. İkinci aşama, oluşturduğumuz şablonları kullanarak, sentezlenen devrelerde optimizasyon yapmaktadır. Şablonlar, aynı fonksiyonu daha az sayıda kapıyla gerçekleyen ve devredeki eşdeğeri ile değiştirilerek toplam kapı sayısında düşüş sağlayan devrelerdir. Şablonlarımızı iki farklı yolla oluşturduk. Birincisi, tersinir kapı kütüphanemizi kullanarak. İkincisi de bu kütüphanedeki kapıların içlerinde bulunan kuantum kapıları göz önüne alarak. Birinci yöntem, sıralama algoritmasının uygulanmasından sonra, aynı iki kapının yanyana gelebileceği göz önünde bulundurularak üretilmiştir. İkinci türdeki şablonlarda, sentezlediğimiz devrelerde sıkça kullandığımız Toffoli kapısının, kuantum kapılarla (V, V† ve CNOT) kaç farklı şekilde gerçekleştirilebileceğini inceledik. Bu aşamada, kompleks sayılardan oluşan matrisleri kullanacağımız için, MATLAB programını kullandık. Devre içiersinde Toffoli kapısının yanına gelen CNOT kapılarından bir kısmının optimizasyon için kullanılabileceğini gösterdik. Ayrıca çalışmamızda, pozitif kontrollü kapılara (CNT) ek olarak negatif kontrollülerinde sentezleme aşamasına eklenmesiyle devre maliyetlerinde önemli ölçüde iyileştirmeler elde ettik. Kuantum hesaplama, deneysel olarak bir çok farklı şekilde gerçekleştirilmiştir. Her gerçeklemenin, kendine özgü prensipleri ve özellikleri olduğundan, algoritmalardaki kapıların uygulanış biçimi de farklı olmaktadır. Bu nedenle, her yöntem için ayrı kapı maliyetleri oluşmaktır. Çalışmamızki kuantum devrelerin maliyetlerini literatürde yaygın olarak kullanılan NCV-111 maliyet metriğini kullanarak hesapladık. Son olarak, yöntemimizi literatürde bulunan çalışmalar ile kıyasladık.This thesis presents a new approach for the synthesis of quantum circuits. Quantum computers, more specifically quantum algorithims, take on the eyes with their computational promises. They paved the way for calculation of the complex problems that can't be solved in polynomial time by traditional counterparts. Exploiting quantum mechanical phenomena and its features is the main power source of the quantum computing idea. This is also leaning on the concept that accepts information as a physical item. In addition, quantum mechanical unitarity brings reversibility for quantum algorithms and quantum circuits. This creates ideal application area for reversible computing and reversible circuit design. Reversible computing is motivating scientist and researchers for years to achieve energy efficient computation. With the help of advancing technology, quantum computation become applicable. At this point, reversible quantum circuit design is coming forward that is the core of this computation. When compared with classical computation methods, quantum systems are very sensitive. This is one of the main reasons to synthesize these circuits minimally as possible. Depending on quantum computation method, each gate in quantum circuits corresponding to one or more pulse operations. Therefore, optimized circuits will improve both the security and the run time of the computation. Still, optimal circuit synthesis for higher bit count is hard to achieve, it can take very long time which is not practical at all. To compete with classical computation in a realistic manner, this is one of the main obstacles to overcome and it constitutes the main motivation why we aim at a fast synthesis algorithm in this thesis. To fulfill the needs of this upcoming technology, we perform synthesis and optimization of quantum circuits in two main parts. In the first part, we propose a fast synthesis algorithm that implements any given reversible Boolean function with quantum gates. Instead of an exhaustive search on every given function, our algorithm creates a library of essential functions and performs sorting to obtain desired function. In the second part, we optimize our circuits by using templates. The proposed templates mainly consist of identical neighbor gates and Toffoli gates, realized with V, V† and CNOT gates. We also improve the CNT library by taking negative control lines into account which provides important circuit cost reduction. We call this new library as PN-CNT that stands for “Positively and Negatively Controlled CNOT, Not, Toffoli”. Quantum computers implemented in various ways so far. Each implementation has its own physical cost. For the calculation of quantum circuit cost, we preferred to use widely accepted NCV-111 cost metric in this thesis. Finally we compared our results with studies in the literature.Yüksek Lisan