সংযুক্ত প্রশ্ন অনুসারে, সহজ সমাধানটি কেবল সম্ভব যদি সম্ভব হয় তবে ক্লাসিকাল প্রসেসরকে এ জাতীয় ক্রিয়াকলাপ সম্পাদন করা । অবশ্যই, এটি সম্ভব নাও হতে পারে, তাই আমরা একটি অ্যাড্ডার তৈরি করতে চাই ।
অর্ধ-সংযোজনকারী এবং পূর্ণ সংযোজনকারী - দুই ধরণের সিঙ্গল বিট অ্যাডেয়ার রয়েছে । অর্ধ-সংযোজকটি এবং ইনপুট নেয় এবং 'যোগ' (এক্সওআর অপারেশন) এবং 'ক্যারি' (এবং অপারেশন) । একটি পূর্ণ যোজক এছাড়াও 'থেকে বহন' করেছে ইনপুট এবং 'চালায়' আউটপুট , প্রতিস্থাপন । এটি এবং ।বি এস = এ ⊕ বি সি = এ ⋅ বি সি আই এন সি ও ইউ টি সি এস = এ ⊕ বি ⊕ সি আই এন সি ও ইউ টি = সি আই এন ⋅ ( এ + বি ) + এ ⋅ বিএকজনবিএস= এ ⊕ বিসি= এ ⋅ বিসিi এনসিও তুমি টিসিS=A⊕B⊕CinCout=Cin⋅(A+B)+A⋅B
হাফ-অ্যাডারের কোয়ান্টাম সংস্করণ
কুইট রেজিস্টারে সিএনওটি গেটের দিকে নজর রাখুন নিয়ন্ত্রণকারী রেজিস্ট্রার : যা অবিলম্বে রেজিস্টারকে of হিসাবে আউটপুট দেয় । তবে, আমরা এখনও ক্যারি এবং অবস্থা গণনা করতে পারি নিবি সিএনওটি এ → বি | 0 ⟩ একজন | 0 ⟩ বিAB
CNOTA→B|0⟩A|0⟩BCNOTA→B|0⟩A|1⟩BCNOTA→B|1⟩A|0⟩BCNOTA→B|1⟩A|1⟩B=|0⟩A|0⟩B=|0⟩A|1⟩B=|1⟩A|1⟩B=|1⟩A|0⟩B,
BA⊕B=SBরেজিস্টার পরিবর্তন হয়েছে তাই আমাদেরও অপারেশন সম্পাদন করা দরকার। এটি 3-কুইট টফোলি (নিয়ন্ত্রিত- CNOT / CCNOT) গেট ব্যবহার করে করা যেতে পারে। এটি নিয়ন্ত্রণের রেজিস্টার হিসাবে এবং ব্যবহার করে এবং তৃতীয় নিবন্ধের রাজ্যে , তৃতীয় আউটপুট হিসাবে প্রদান করে করা যেতে পারে । উপর রেজিস্টার বাস্তবায়নকারী Toffoli এবং নিয়ন্ত্রণ রেজিস্টার সঙ্গে CNOT দ্বারা অনুসরণ নিয়ন্ত্রণ রেজিস্টার আউটপুট দেয় সমষ্টি হিসেবে এবং রেজিস্টার আউটপুট
AB(C)|0⟩A⋅B=CABCABBCবহন হিসাবে অর্ধ-অ্যাডারের একটি কোয়ান্টাম সার্কিট ডায়াগ্রাম চিত্র 1 এ দেখানো হয়েছে।
চিত্র 1: তোফোলি সমন্বিত অর্ধ-সংযোজকের সার্কিট ডায়াগ্রাম, তারপরে সিএনওটি থাকবে। ইনপুট বিট এবং সমষ্টি প্রদান, চালায় সঙ্গে ।ABSC
সম্পূর্ণ অ্যাডারের কোয়ান্টাম সংস্করণ
চিত্র 2 এ দেখানো হয়েছে, একক বিটের জন্য এটি করার একটি সহজ উপায় হ'ল কুইট রেজিস্টার ব্যবহার করে , এখানে , , লেবেলযুক্ত এবং , যেখানে শুরু হয় , তাই প্রাথমিক রাষ্ট্রটি হ'ল :4ABCin11|0⟩|A⟩|B⟩|Cin⟩|0⟩
- আবেদন করুন Toffoli ব্যবহার এবং নিয়ন্ত্রণ করতে :AB1|A⟩|B⟩|Cin⟩|A⋅B⟩
- কন্ট্রোলিং সাথে সিএনওটি :AB|A⟩|A⊕B⟩|Cin⟩|A⋅B⟩
- এবং with সাথে : কন্ট্রোল :BCin1|A⟩|A⊕B⟩|Cin⟩|A⋅B⊕(A⊕B)⋅Cin=Cout⟩
- সিএনওটি নিয়ন্ত্রণ করে :BCin|A⟩|A⊕B⟩|A⊕B⊕Cin=S⟩|Cout⟩
ইনপুট এবং ফিরিয়ে আনার একটি চূড়ান্ত পদক্ষেপ হ'ল নিয়ন্ত্রণকারী রেজিস্ট্রার সহ একটি CNOT প্রয়োগ করা , চূড়ান্ত আউটপুট রাষ্ট্রটিকেবি এ বি | ψ ণ তোমার দর্শন লগ করা টন ⟩ = | একজন ⟩ | বি ⟩ | এস ⟩ | সি ণ তোমার দর্শন লগ করা টন ⟩ABAB
|ψout⟩=|A⟩|B⟩|S⟩|Cout⟩
এটি যোগফল হিসাবে register আউটপুট দেয় এবং হিসাবে নিবন্ধের আউটপুট দেয়। 2Cin2
চিত্র 2: পূর্ণ সংযোজকের সার্কিট ডায়াগ্রাম। ইনপুট বিট এবং একটি বহন সহ , সমষ্টি দান চালায় সঙ্গে ।বি সি আই এন এস সি ও ইউ টিABCinSCout
রিপল ক্যারি অ্যাডারের কোয়ান্টাম সংস্করণ
পূর্ণ অ্যাডারের একটি সাধারণ বর্ধিতাংশ হ'ল একটি রিপল ক্যারি অ্যাড্রেয়ার, যাকে নাম দেওয়া হয় 'রিপলস' হিসাবে বলা হয় পরের অ্যাডারের একটি সিরিজ অ্যাড্রেটারের ক্যারি ইন হয়ে যায়, যথেচ্ছ আকারের (ধীরে ধীরে) যোগান দেয় for যেমন একটি অ্যাডারের একটি কোয়ান্টাম সংস্করণ পাওয়া যাবে যেমন এখানে
অর্ধ-অ্যাডারের বাস্তব বাস্তবায়ন
অনেক সিস্টেমে, টফোলি গেট বাস্তবায়ন করা একক কুইবিট (বা এমনকি দুটি কুইবিট) গেট বাস্তবায়নের মতো সহজ। এই উত্তরটি টফোলিকে একাধিক ছোট গেটগুলিতে দ্রবীভূত করার একটি উপায় দেয়। যাইহোক, আইবিএমকিউএক্সের মতো বাস্তব সিস্টেমে এমন সমস্যাও দেখা দিতে পারে যার উপর লক্ষ্যগুলি হিসাবে কোয়েটগুলি ব্যবহার করা যেতে পারে। এর মতো, আইবিএমকিউএক্স 2 এ বাস্তব জীবনের বাস্তবায়নটি এরকম দেখাচ্ছে:
চিত্র 3: আইবিএমকিউএক্স 2 এ অর্ধ-অ্যাডারের প্রয়োগ। একাধিক ছোট গেটে টফোলি গেটটি পচানোর পাশাপাশি অতিরিক্ত গেটগুলি প্রয়োজন কারণ সমস্ত কুইবিট রেজিস্টার লক্ষ্য হিসাবে ব্যবহার করা যায় না। Q [1] এবং ক্যু [2] এ বহনকার্য পেতে রেজিস্টারগুলি q [0] এবং q [1] যোগ করা হয়েছে। এই ক্ষেত্রে, ফলাফল q [2] কিউ [1] 10 হওয়া উচিত। প্রসেসরের উপর এটি চালানো 42.2% এর সম্ভাব্যতা সহ সঠিক ফলাফল দিয়েছে (যদিও এটি এখনও সর্বাধিক সম্ভাব্য ফলাফল ছিল)।