আমি এই সমস্যাটি নিয়েও কাজ করছি। একজন শিক্ষানবিস এবং ক্লাসিকাল প্রোগ্রামার হিসাবে (অর্থাত্ আমি কোয়ান্টাম মেকানিক্স কথা বলি না), সম্পূর্ণ উদাহরণ ছাড়াই ধারণাগুলি সম্পর্কে বোঝা মুশকিল। আমি মাইক্রোসফ্ট কিউ # ডেটাবেস অনুসন্ধানের নমুনার সাথে কাজ করছি । এটি কেবল ডাটাবেসে একটি নির্দিষ্ট সূচক / কী অনুসন্ধান করে যা খুব কার্যকর নয়। আমি একটি নমুনায় একটি ডেটাবেজে মানগুলির তালিকা অনুসন্ধান করতে এবং সংশ্লিষ্ট কীটি ফিরিয়ে আনতে প্রসারিত করেছি।
আপনার উদাহরণ হিসাবে, সূচকগুলির জন্য একটি দুটি-কুইট "কী রেজিস্ট্রার" এবং মানগুলির জন্য পৃথক দুটি কুইবিট নিবন্ধ রয়েছে। একটি পঞ্চম "চিহ্নিত কোয়েট" রয়েছে যা মাইক্রোসফ্টের নমুনা থেকে আসে, যখন পছন্দসই মানটি পাওয়া যায় তা নির্দেশ করে। কী এবং মানগুলি জড়িয়ে যাওয়ার মাধ্যমে জড়িত। এটি একটি সার্কিট দিয়ে সেরা প্রদর্শিত হয়। আসল কুইর্ক সার্কিট দেখতে এখানে ক্লিক করুন ।
মনে রাখবেন যে এই সার্কিটটিতে কেবল ওরাকল রয়েছে। এটি গ্রোভারের সমস্ত অ্যালগোরিদম প্রয়োগ করে না।
- উপরের দুটি কুইবিট হ'ল মূল নিবন্ধক, পরের দুটি হ'ল মান রেজিস্টার, এবং নীচের কোয়েটটি চিহ্নিত চিহ্নযুক্ত কুইবিট।
- প্রথম বিভাগটি গ্রোভারের অ্যালগরিদম দ্বারা প্রয়োজনীয় হিসাবে হারামার্ড গেটস ব্যবহার করে অভিন্ন সুপারপজিশনে কী নিবন্ধটি রাখে।
- দ্বিতীয় বিভাগটি যেখানে কীগুলি জড়িত হওয়ার মাধ্যমে মানগুলির সাথে যুক্ত। প্রতিটি কী (অ্যান্টি-) নিয়ন্ত্রিত এক্স গেটগুলি প্রয়োগ করে মান রেজিস্ট্রারে সংশ্লিষ্ট মানের সাথে জড়িয়ে থাকে। সুতরাং, যখন কী নিবন্ধকের সংখ্যা 0 হবে, তখন মান রেজিস্টারটি 3 এ সেট করা হবে যখন কীটি 1 হয়, তখন মানটি 2 তে সেট করা থাকে।
- সার্কিটের তৃতীয় বিভাগটি অনুসন্ধানের ওরাকল। মান রেজিস্টার চিহ্নিত কুইট সঙ্গে জড়িত। এই উদাহরণে, পছন্দসই মানটি ২ হয় the যখন মান নিবন্ধটিতে 2 থাকে, চিহ্নিত কুইবিটটি সেট করা হবে।
- গ্রোভারের অ্যালগরিদম কী রেজিস্টার এবং চিহ্নিত কুইটটি দেখে। অনুসন্ধানের ওরাকলটি মান নিবন্ধের দিকে তাকিয়ে চিহ্নিত কুইট সেট করে। মানটি 2 হলে এটি কী 1 টি প্রশস্ত করে তোলে।
এটি লক্ষণীয় আকর্ষণীয় যে কীগুলি এবং মানগুলি কুইটগুলিতে সংরক্ষণ করা হয় না, বরং সার্কিট / প্রোগ্রামে থাকে। আপনি বলতে পারেন এটি সত্যিকার অর্থে কোনও ডাটাবেস নয়। এটি আরও অনেকটা স্যুইচ / কেস স্টেটমেন্টের মতো, তবে মানগুলির একটি সুপারপজিশনে চালানো যেতে পারে।
আরও বিশদ, ক্যাভাটস এবং কিউ # কোডের জন্য আমার গিটহাব সংগ্রহশালাটি দেখুন ।
সম্পাদনা: উত্তর দেওয়ার পর থেকে আমি আরও ভাল কিছু বুঝতে পেরেছি ... প্রতিটি পুনরাবৃত্তির অংশ হিসাবে আপনাকে সার্কিটটি বিপরীত / পূর্বাবস্থায় ফিরিয়ে নিতে হবে। কিউ # কোডে, প্রতিচ্ছবি স্টার্ট () অপারেশনের মধ্যে অ্যাডজয়েন্ট স্টেটপ্রিপারেশনঅরাকল () কলটি এটি পরিচালনা করে, সুতরাং আমার স্পষ্টভাবে এটি করতে হয়নি। আমি জানি না কুইস্কিটের অনুরূপ বৈশিষ্ট্য আছে কিনা। যদি আমি অনুবাদটি সঠিকভাবে করে ফেলেছি তবে উপরের উদাহরণের জন্য এখানে একটি সম্পূর্ণ সার্কিট ।