গ্রোভার-অ্যালগোরিদম কীভাবে একটি ডাটাবেসে প্রয়োগ হয়?


12

প্রশ্ন

আমি একটি এলিমেন্ট জন্য একটি অরসেটেড ডেটাবেস অনুসন্ধান করতে গ্রোভার-অ্যালগরিদম ব্যবহার করতে চাই । এখন প্রশ্ন উত্থাপিত হয়, কীভাবে আমি কুইটসের সাহায্যে ডাটাবেসের সূচক এবং মান সূচনা করব?এক্স

উদাহরণ

  • ধরা যাক আমার কুইবিট রয়েছে। সুতরাং, শাস্ত্রীয় মানগুলি ম্যাপ করা যায়।424=16
  • আমার অমীমাংসিত ডাটাবেস এ নিম্নলিখিত উপাদান রয়েছে: ।[মান]=[3,2,0,1]
  • আমি সন্ধান করতে চাই ।এক্স=2=10=|10
  • আমার পদ্ধতি: সাথে ডাটাবেজ সূচী করুন । খাতাপত্র এবং সূচক ও রেজিস্টার জন্য এবং মান জন্য। তারপরে গ্রোভার-অ্যালগোরিদম কেবলমাত্র এবং রেজিস্টারগুলিতে প্রয়োগ করুন । এটা কি আদায় করা যায়? অন্য পদ্ধতির আছে?[(সূচক, মান)]=[(0,3),(1,2),(2,0),(3,1)]012323(মান)

আমি ইতিমধ্যে যা প্রয়োগ করেছি ( গিটহাবে )

"গ্রোভার-অ্যালগোরিদম 2-, 3-, 4-কুইবিটস" সহ, তবে এটি কী সহজ: বিটগুলি আরম্ভ করা হয় |0 , ওরাকল আমার সমাধান চিহ্নিত হবে এক্স (যা মত মাত্র একটি সংখ্যা 2=10 , গ্রোভার অংশ নির্বাচিত উপাদান সম্ভাব্যতা বৃদ্ধি পাবে) এক্স এবং সমস্ত অন্যান্য সম্ভাব্যতা হ্রাস এবং তারপর qubits হচ্ছে শেখানো হয় ক্লাসিকাল বিট ম্যাপ করা। আমরা এই প্রক্রিয়াটিকে একের পর এক কয়েকবার চলতে দেই এবং এইভাবে একটি সম্ভাব্যতা বিতরণ পেতে পারি, যেখানে সর্বোচ্চ সম্ভাবনা রয়েছে আমাদের চাওয়া উপাদান এক্স

আউটপুট সর্বদা ওরাকলে চিহ্নিত চিহ্নের মতো হয়। আউটপুট থেকে আমি কীভাবে আরও তথ্য তৈরি করতে পারি, আমি ওরাকলটি নির্মাণ করার সময় জানি না?

উত্তর:


9

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

আপনার উদাহরণ হিসাবে, সূচকগুলির জন্য একটি দুটি-কুইট "কী রেজিস্ট্রার" এবং মানগুলির জন্য পৃথক দুটি কুইবিট নিবন্ধ রয়েছে। একটি পঞ্চম "চিহ্নিত কোয়েট" রয়েছে যা মাইক্রোসফ্টের নমুনা থেকে আসে, যখন পছন্দসই মানটি পাওয়া যায় তা নির্দেশ করে। কী এবং মানগুলি জড়িয়ে যাওয়ার মাধ্যমে জড়িত। এটি একটি সার্কিট দিয়ে সেরা প্রদর্শিত হয়। আসল কুইর্ক সার্কিট দেখতে এখানে ক্লিক করুন

কী / মান ওরাকল সার্কিট

মনে রাখবেন যে এই সার্কিটটিতে কেবল ওরাকল রয়েছে। এটি গ্রোভারের সমস্ত অ্যালগোরিদম প্রয়োগ করে না।

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

এটি লক্ষণীয় আকর্ষণীয় যে কীগুলি এবং মানগুলি কুইটগুলিতে সংরক্ষণ করা হয় না, বরং সার্কিট / প্রোগ্রামে থাকে। আপনি বলতে পারেন এটি সত্যিকার অর্থে কোনও ডাটাবেস নয়। এটি আরও অনেকটা স্যুইচ / কেস স্টেটমেন্টের মতো, তবে মানগুলির একটি সুপারপজিশনে চালানো যেতে পারে।

আরও বিশদ, ক্যাভাটস এবং কিউ # কোডের জন্য আমার গিটহাব সংগ্রহশালাটি দেখুন

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


ধন্যবাদ! ঠিক এটাই আমি খুঁজছিলাম।
অ্যালেক্স

গ্রোভার-পার্টের জন্য: আমি কেবল কী রেজিস্টারগুলির সাথে প্রশস্তকরণ স্টাফগুলি করতে পারি (এই উদাহরণে 2 কুইবিট)? কীভাবে চিহ্নিত চিহ্নের সাথে তারা যুক্ত?
অ্যালেক্স

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

3

এন=4

Σআমি|আমি|(আমি)
(আমি)=2

আমি মনে করি কোয়ান্টাম অনুসন্ধান অ্যালগরিদম কোনও তালিকা / ডাটাবেস অনুসন্ধানের পরিবর্তে কোনও ক্রিয়াকে অনুকূলকরণ হিসাবে ভাবা ভাল। আপনি যদি অ্যালগরিদমের বিষয়ে আপনার বোঝার আরও অনুধাবন করতে চান তবে কোয়ান্টাম সন্ধানটি একটি সংযুক্তি সর্বাধিকীকরণ সমস্যা সমাধানের জন্য ব্যবহৃত হয়েছিল সেখানে আমি কাজ করেছি এমন একটি নিবন্ধ এখানে ।


ধন্যবাদ তোমার উত্তরের জন্য! সুতরাং গ্রোভার-অ্যালগোরিদম ডাটাবেস অনুসন্ধানের জন্য কম উপযুক্ত। আমি একটি সম্পর্কিত প্রশ্ন পাওয়া এখানে
অ্যালেক্স

এই ডিবি অনুসন্ধান সমস্যার সমাধান করার জন্য কি একটি সিডো কোড (বা কিস্কিট কোড) রয়েছে?
অ্যালেক্স

আপনাকে দেখতে হবে তবে ফ্রেমওয়ার্কগুলির মধ্যে এটি সন্ধান করা সহজ হওয়া উচিত।
সিন্ডা

3

ডাটাবেসটি ধরে রাখার জন্য আপনাকে ওরাকলকে রূপান্তর করতে হবে, ফলস্বরূপ, সাধারণ ওরাকল (ফেজ বিপরীতমুখী) দুটি উপ-ওরাকলগুলি চিত্রটি একবার দেখে নেবে। ডাটাবেস অনুসন্ধানের জন্য জেনারেল গ্রোভারের অ্যালগরিদম সার্কিট

প্রথম সাব-ওরাকল যা প্রস্তুত করতে হবে তা হ'ল মেমোরি সার্কিট, কিউআরএএম এর বিপরীতে যা কোয়ান্টাম ডেটা (স্টেট) তার দেহে সংরক্ষণ করে, এই মেমরি (অ্যারে) সার্কিটটি তার ফ্রেমে কেবল শাস্ত্রীয় তথ্য সংরক্ষণ করার জন্য প্রস্তুত হয়। বাইনারিগুলির একটি অ্যারে [010, 110, 100, 011] সঞ্চয় করে এমন ধরণের সার্কিটের একটি উদাহরণ নীচে প্রদর্শিত হয়েছে: একটি মেমরি সার্কিট জন্য উদাহরণ আরও তথ্যের জন্য এই কাগজটি পড়ুন

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