সেখানে ক্রেইগ Gidney দ্বারা একটি ভাল ব্যাখ্যা এখানে (তিনি, একটি বর্তনী কাল্পনিক সহ অন্যান্য মহান কন্টেন্ট আছে, উপর তার ব্লগে )।
মূলত, গ্রোভারের অ্যালগরিদম তখন প্রযোজ্য হয় যখন আপনার কোনও ফাংশন থাকে যা True
তার সম্ভাব্য ইনপুটগুলির False
জন্য এবং অন্য সকলের জন্য ফিরে আসে । অ্যালগরিদমের কাজ হ'ল যেটি ফিরে আসে তার সন্ধান করা True
।
এটি করার জন্য আমরা ইনপুটগুলিকে বিট স্ট্রিং হিসাবে প্রকাশ করি এবং এগুলি এবং স্ট্রিটগুলির কুইটগুলির স্ট্রিং ব্যবহার করে এনকোড করি । সুতরাং বিট স্ট্রিংটি চারটি কুইবিট রাজ্য এনকোড করা হবে , উদাহরণস্বরূপ।|0⟩|1⟩0011
|0011⟩
আমাদের কোয়ান্টাম গেটগুলি ব্যবহার করে ফাংশনটি কার্যকর করতে সক্ষম হওয়া দরকার। বিশেষ করে, আমরা যে বাস্তবায়ন করবে একটি ঐকিক গেটস একটি ক্রম বের করতে হবে যেমন যেU
U|a⟩=−|a⟩,U|b⟩=|b⟩
যেখানে বিট স্ট্রিং যার জন্য ফাংশনটি ফিরে আসবে এবং কোনও কোনও যার জন্য এটি ফিরে আসবে ।aTrue
bFalse
যদি আমরা সমস্ত সম্ভাব্য বিট স্ট্রিংগুলির একটি সুপারপজিশন দিয়ে শুরু করি, যা কেবলমাত্র হাদামারডিং দ্বারা সমস্ত কিছু করা বেশ সহজ, সমস্ত ইনপুটগুলি (যেখানে হয় বিট স্ট্রিংগুলির দৈর্ঘ্য আমরা অনুসন্ধান করছি এবং এর ফলে আমরা যে পরিমাণ কুইবিটগুলি ব্যবহার করছি)। কিন্তু যদি আমরা কি তবে ওরাকল আবেদন , রাষ্ট্র আমরা পরিবর্তন করতে হবে খুঁজছেন প্রশস্ততা।12n√nU−12n√
এটি কোনও সহজেই পর্যবেক্ষণযোগ্য পার্থক্য নয়, সুতরাং আমাদের এটি প্রশস্ত করা দরকার। এটি করতে আমরা গ্রোভার ডিফিউশন অপারেটর , । এই অপারেটরের প্রভাবটি মূলত প্রতিটি প্রশস্ততা কীভাবে গড় প্রশস্ততা থেকে আলাদা হয় তা দেখার জন্য এবং তারপরে এই পার্থক্যটি উল্টে দেয়। সুতরাং একটি নির্দিষ্ট প্রশস্ততা যদি দৈর্ঘ্যের প্রশস্ততার চেয়ে কিছু বেশি পরিমাণে বড় হয় তবে এটি পরিমাণের চেয়ে কম পরিমাণে এবং তদ্বিপরীত হয়ে যাবে।D
বিশেষত, যদি আপনার বিট স্ট্রিং এর একটি তবে অপারেটরের প্রভাব রয়েছেbj
D:∑jαj|bj⟩↦∑j(2μ−αj)|bj⟩
যেখানে হল গড় প্রশস্ততা। সুতরাং যে কোনও প্রশস্ততা পরিণত হয় । কেন এটির প্রভাব রয়েছে এবং এটি কীভাবে কার্যকর করা যায় তা দেখতে এই বক্তৃতা নোটগুলি দেখুন ।μ=∑jαjμ+δμ−δ
বেশিরভাগ প্রশস্ততা গড়ের চেয়ে সামান্য বিট বৃহত্তর হবে (একক এর প্রভাবের কারণে ), সুতরাং তারা এর মধ্য দিয়ে সামান্য কিছুটা কম হয়ে যাবে এই অপারেশন বড় পরিবর্তন নয়।−12n√
আমরা যে রাষ্ট্রটির সন্ধান করছি তাতে আরও দৃ .় প্রভাব পড়বে। এর প্রশস্ততা গড়ের চেয়ে অনেক কম এবং প্রসারণ অপারেটর প্রয়োগ হওয়ার পরে এটি আরও অনেক বেশি গড় হয়ে যাবে। বিচ্ছুরণ অপারেটরের শেষ প্রভাবটি সমস্ত ভুল উত্তর থেকে of এর প্রশস্ততা এড়িয়ে ডানদিকে যুক্ত করে এমন রাজ্যগুলিতে একটি হস্তক্ষেপের প্রভাব তৈরি করে । এই প্রক্রিয়াটি পুনরাবৃত্তি করে, আমরা দ্রুত ভিড়ের কাছ থেকে আমাদের সমাধানটি এতটা স্থানে পৌঁছে যায় যে আমরা এটি সনাক্ত করতে পারি।12n√
অবশ্যই, এটি সমস্ত দেখায় যে সমস্ত কাজ প্রসারণ অপারেটর দ্বারা সম্পন্ন হয়। অনুসন্ধান করা কেবলমাত্র একটি অ্যাপ্লিকেশন যা আমরা এর সাথে সংযোগ করতে পারি।
কীভাবে ফাংশন এবং প্রসারণ অপারেটর বাস্তবায়ন করা হয় সে সম্পর্কে বিশদ জানতে অন্য প্রশ্নের উত্তর দেখুন ।