গ্রোভারের অ্যালগোরিদম কেন কাজ করে তার জন্য কোনও সাধারণ ব্যক্তির ব্যাখ্যা আছে?


27

স্কট অ্যারনসনের এই ব্লগপোস্টটি শোর অ্যালগরিদমের খুব দরকারী এবং সাধারণ ব্যাখ্যা ।

: যদি সেখানে দ্বিতীয় সবচেয়ে বিখ্যাত কোয়ান্টাম এলগরিদম জন্য এমন একটি ব্যাখ্যা আমি ভাবছি করছি গ্রোভার এর এলগরিদম একটি অনুসন্ধান করতে unordered আকারের ডাটাবেসের মধ্যে সময়।O(n)O(n)

বিশেষত, আমি চলমান সময়ের প্রাথমিক অবাক করা ফলাফলের জন্য কিছু বোধগম্য অন্তর্দৃষ্টি দেখতে চাই!

উত্তর:


20

সেখানে ক্রেইগ Gidney দ্বারা একটি ভাল ব্যাখ্যা এখানে (তিনি, একটি বর্তনী কাল্পনিক সহ অন্যান্য মহান কন্টেন্ট আছে, উপর তার ব্লগে )।

মূলত, গ্রোভারের অ্যালগরিদম তখন প্রযোজ্য হয় যখন আপনার কোনও ফাংশন থাকে যা Trueতার সম্ভাব্য ইনপুটগুলির Falseজন্য এবং অন্য সকলের জন্য ফিরে আসে । অ্যালগরিদমের কাজ হ'ল যেটি ফিরে আসে তার সন্ধান করা True

এটি করার জন্য আমরা ইনপুটগুলিকে বিট স্ট্রিং হিসাবে প্রকাশ করি এবং এগুলি এবং স্ট্রিটগুলির কুইটগুলির স্ট্রিং ব্যবহার করে এনকোড করি । সুতরাং বিট স্ট্রিংটি চারটি কুইবিট রাজ্য এনকোড করা হবে , উদাহরণস্বরূপ।|0|10011|0011

আমাদের কোয়ান্টাম গেটগুলি ব্যবহার করে ফাংশনটি কার্যকর করতে সক্ষম হওয়া দরকার। বিশেষ করে, আমরা যে বাস্তবায়ন করবে একটি ঐকিক গেটস একটি ক্রম বের করতে হবে যেমন যেU

U|a=|a,U|b=|b

যেখানে বিট স্ট্রিং যার জন্য ফাংশনটি ফিরে আসবে এবং কোনও কোনও যার জন্য এটি ফিরে আসবে ।aTruebFalse

যদি আমরা সমস্ত সম্ভাব্য বিট স্ট্রিংগুলির একটি সুপারপজিশন দিয়ে শুরু করি, যা কেবলমাত্র হাদামারডিং দ্বারা সমস্ত কিছু করা বেশ সহজ, সমস্ত ইনপুটগুলি (যেখানে হয় বিট স্ট্রিংগুলির দৈর্ঘ্য আমরা অনুসন্ধান করছি এবং এর ফলে আমরা যে পরিমাণ কুইবিটগুলি ব্যবহার করছি)। কিন্তু যদি আমরা কি তবে ওরাকল আবেদন , রাষ্ট্র আমরা পরিবর্তন করতে হবে খুঁজছেন প্রশস্ততা।12nnU12n

এটি কোনও সহজেই পর্যবেক্ষণযোগ্য পার্থক্য নয়, সুতরাং আমাদের এটি প্রশস্ত করা দরকার। এটি করতে আমরা গ্রোভার ডিফিউশন অপারেটর , । এই অপারেটরের প্রভাবটি মূলত প্রতিটি প্রশস্ততা কীভাবে গড় প্রশস্ততা থেকে আলাদা হয় তা দেখার জন্য এবং তারপরে এই পার্থক্যটি উল্টে দেয়। সুতরাং একটি নির্দিষ্ট প্রশস্ততা যদি দৈর্ঘ্যের প্রশস্ততার চেয়ে কিছু বেশি পরিমাণে বড় হয় তবে এটি পরিমাণের চেয়ে কম পরিমাণে এবং তদ্বিপরীত হয়ে যাবে।D

বিশেষত, যদি আপনার বিট স্ট্রিং এর একটি তবে অপারেটরের প্রভাব রয়েছেbj

D:jαj|bjj(2μαj)|bj

যেখানে হল গড় প্রশস্ততা। সুতরাং যে কোনও প্রশস্ততা পরিণত হয় । কেন এটির প্রভাব রয়েছে এবং এটি কীভাবে কার্যকর করা যায় তা দেখতে এই বক্তৃতা নোটগুলি দেখুনμ=jαjμ+δμδ

বেশিরভাগ প্রশস্ততা গড়ের চেয়ে সামান্য বিট বৃহত্তর হবে (একক এর প্রভাবের কারণে ), সুতরাং তারা এর মধ্য দিয়ে সামান্য কিছুটা কম হয়ে যাবে এই অপারেশন বড় পরিবর্তন নয়।12n

আমরা যে রাষ্ট্রটির সন্ধান করছি তাতে আরও দৃ .় প্রভাব পড়বে। এর প্রশস্ততা গড়ের চেয়ে অনেক কম এবং প্রসারণ অপারেটর প্রয়োগ হওয়ার পরে এটি আরও অনেক বেশি গড় হয়ে যাবে। বিচ্ছুরণ অপারেটরের শেষ প্রভাবটি সমস্ত ভুল উত্তর থেকে of এর প্রশস্ততা এড়িয়ে ডানদিকে যুক্ত করে এমন রাজ্যগুলিতে একটি হস্তক্ষেপের প্রভাব তৈরি করে । এই প্রক্রিয়াটি পুনরাবৃত্তি করে, আমরা দ্রুত ভিড়ের কাছ থেকে আমাদের সমাধানটি এতটা স্থানে পৌঁছে যায় যে আমরা এটি সনাক্ত করতে পারি।12n

অবশ্যই, এটি সমস্ত দেখায় যে সমস্ত কাজ প্রসারণ অপারেটর দ্বারা সম্পন্ন হয়। অনুসন্ধান করা কেবলমাত্র একটি অ্যাপ্লিকেশন যা আমরা এর সাথে সংযোগ করতে পারি।

কীভাবে ফাংশন এবং প্রসারণ অপারেটর বাস্তবায়ন করা হয় সে সম্পর্কে বিশদ জানতে অন্য প্রশ্নের উত্তর দেখুন ।


4

খুব প্রযুক্তিগত না হয়ে কিছুটা অন্তর্দৃষ্টি দেওয়ার জন্য আমি একটি গ্রাফিক্যাল অ্যাপ্রোচ পেয়েছি। আমাদের কিছু ইনপুট দরকার:

  • আমরা একটি চিহ্নিত রাজ্য : সাথে শূন্য-ওভারল্যাপের সাথে একটি রাজ্য উত্পাদন করতে পারি ।|ψ|xx|ψ0
  • আমরা একটি অপারেশন প্রয়োগ করতে পারিU1=(I2|ψψ|)
  • আমরা একটি অপারেশন প্রয়োগ করতে পারি।U2=I2|xx|

এই শেষ ক্রিয়াকলাপটি হ'ল আমাদের চিহ্নিত আইটেমটিকে -1 পর্যায়ের সাথে চিহ্নিত করতে পারে। আমরা একটি রাষ্ট্র বর্ণনা করতে পারেন হতে orthonormal করতে যেমন যে বিঘত জন্য একটি orthonormal ভিত্তি তৈরি করে । আমরা যে ক্রিয়াকলাপটিকে সংজ্ঞায়িত করেছি উভয়ই এই স্থানটি সংরক্ষণ করে: আপনি of some এর ফাঁকে কিছু রাজ্য দিয়ে শুরু করুন এবং তারা স্প্যানের মধ্যে একটি অবস্থানে ফিরে আসে। তদতিরিক্ত, উভয়ই একক, সুতরাং ইনপুট ভেক্টরের দৈর্ঘ্য সংরক্ষণ করা হয়।|ψ|x{|x,|ψ}{|x,|ψ}{|x,|ψ}

দ্বিমাত্রিক জায়গার মধ্যে স্থির দৈর্ঘ্যের একটি ভেক্টরকে একটি বৃত্তের পরিধি হিসাবে ভিজ্যুয়ালাইজ করা যায়। সুতরাং, আসুন এবং সাথে সম্পর্কিত দুটি অরথগোনাল দিকনির্দেশ সহ একটি বৃত্ত সেট আপ করি । |ψ|xএখানে চিত্র বর্ণনা লিখুন

আমাদের প্রারম্ভিক অবস্থা সাথে একটি ছোট ওভারল্যাপ এবং সহ বৃহত্তর ওভারল্যাপ হবে । যদি এটি অন্যদিকে থাকে তবে অনুসন্ধান করা সহজ ছিল: আমরা কেবল প্রস্তুত করতে চাই , পরিমাপ এবং চিহ্নিতকরণ এককটি ব্যবহার করে আউটপুট পরীক্ষা করে, আমরা চিহ্নিত আইটেমটি না পাওয়া পর্যন্ত পুনরাবৃত্তি করে। বেশি সময় লাগবে না। আসুন মধ্যে কোণ কল এবং কোণ । |ψ|x|ψ|ψ|ψ|ψθএখানে চিত্র বর্ণনা লিখুন

এখন আসুন আমাদের দুটি ইউনিটরিয়াল ক্রিয়া কী করে তা ভেবে কিছুক্ষণ নিই। উভয়েরই -1 ইজেনভ্যালু এবং অন্য সমস্ত ইগেনভ্যালু রয়েছে +1। আমাদের দ্বি-মাত্রিক উপ-স্পেসে, এটি হ্রাস করে একটি +1 ইজেনভ্যালু এবং একটি -1 ইগেনভ্যালু। এই জাতীয় ক্রিয়াকলাপটি +1 ইগেনভেেক্টর দ্বারা সংজ্ঞায়িত অক্ষের প্রতিবিম্ব। সুতরাং, একটি প্রতিফলন অক্ষ যখন একটি প্রতিফলন অক্ষ। U1|ψU2|ψএখানে চিত্র বর্ণনা লিখুন

এখন, এই স্থান একটি অবাধ ভেক্টর নিই এবং প্রয়োগ দ্বারা অনুসরণ । নেট এফেক্টটি হ'ল ভেক্টরটি একটি কোণ অক্ষের দিকে ঘোরানো হয় । U2U12θ|xএখানে চিত্র বর্ণনা লিখুন

সুতরাং, আপনি থেকে শুরু , আপনি এই পর্যাপ্ত অনেক বার পুনরাবৃত্তি, এবং একটি কোণ মধ্যে পেতে পারেন এর । সুতরাং, আমরা যখন সেই রাজ্যটি পরিমাপ করি তখন আমরা উচ্চ সম্ভাবনার সাথে মান পাই ।|ψθ|xx

গতি বাড়ানোর জন্য এখন আমাদের একটু যত্ন নেওয়া দরকার। ধরে নিন যে ইন সম্ভাবনাটি । সুতরাং, ধ্রুপদীভাবে এটি অনুসন্ধানের জন্য আমাদের প্রচেষ্টা দরকার। আমাদের কোয়ান্টাম দৃশ্যকল্প, আমরা আছে (যেহেতু ছোট), এবং আমরা রানের একটি নম্বর চান যেমন যে । সুতরাং,। আপনি ঠিক সেখানে স্কোয়ার-রুটের গতি বাড়িয়ে দেখতে পারেন।|x|ψp1O(1/p)θপাপ((2R+ +1)θ)1 পাইয়ের মানp=sinθθθrsin((2r+1)θ)1rπ2θπ2p


3

গ্রোভারের অ্যালগরিদম কীভাবে (এবং তাই কেন) কাজ করে তার সহজ ব্যাখ্যাটি হ'ল কোয়ান্টাম গেটটি কেবল সম্ভাব্যতা বিভক্তকরণকে পরিবর্তন করতে পারে (বা অন্যথায় বিতরণ করতে পারে)। গণনীয় ভিত্তিতে সব রাজ্যের যার বিস্তৃতি সঙ্গে এক শুরু জন্য সমান সম্ভাবনা amplitudes সঙ্গে একটি প্রাথমিক অবস্থায় ব্যবহার । প্রতিটি পুনরাবৃত্তিতে কাঙ্ক্ষিত (সমাধান) রাজ্যে এটি অনেকগুলি "যুক্ত" করা যেতে পারে, যেমন পুনরাবৃত্তির পরে একজন সম্ভাব্য প্রশস্ততা বাড়ে যার অর্থ কাঙ্ক্ষিত রাষ্ট্রটি নিঃশেষ করা হয়।1/N 1N1

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.