কীভাবে এন-বিট ইনপুটকে (রদবদল করা) অনুমতি দেওয়া যায়?


14

আমি একটি কোয়ান্টাম অ্যালগরিদমে আগ্রহী যা ইনপুট হিসাবে একটি এন-বিট সিকোয়েন্স পায় এবং এটি আউটপুট হিসাবে এই এন-বিট সিকোয়েন্সের একটি রদবদল (ক্রমযুক্ত) সংস্করণ তৈরি করে।

উদাহরণস্বরূপ যদি ইনপুট 0,0,1,1 হয় (সুতরাং এই ক্ষেত্রে এন = 4) তবে সম্ভাব্য উত্তরগুলি হ'ল:

  • 0,0,1,1
  • 0,1,0,1
  • 0,1,1,0
  • 1,0,0,1
  • 1,0,1,0
  • 1,1,0,0

মনে রাখবেন যে কেবলমাত্র একটি আউটপুট তৈরি করা উচিত যা সমস্ত সম্ভাব্য বৈধ আউটপুটগুলির মধ্যে এলোমেলোভাবে চয়ন করা হয়।

এটি কীভাবে কোয়ান্টাম অ্যালগোরিদমে কার্যকর করা যায় ?

এর জন্য একটি সমাধান ইতিমধ্যে একটি কোয়ান্টাম অ্যালগরিদম তৈরি করতে কীভাবে উত্তর -সমান সংখ্যক 1-বিট সহ 2 এন-বিট ক্রম তৈরি করে তার উত্তরগুলির একটি অংশ হিসাবে প্রস্তাবিত । তবে এই সমাধানটির সমস্যাটি হ'ল এর জন্য প্রায় (n2) সহায়তা কোয়েটগুলি দরকার যা এন বড় হলে দ্রুত বিশাল হয়।

বিঃদ্রঃ:

  • দয়া করে ক্লাসিক্যাল অ্যালগরিদমের পদক্ষেপগুলি কীভাবে সর্বজনীন কোয়ান্টাম কম্পিউটারে ম্যাপ করা যায় তার কোনও ব্যাখ্যা ছাড়াই একটি ধ্রুপদী অ্যালগরিদম সরবরাহ করবেন না।
  • আমার জন্য "সম্ভাব্য সমস্ত ভাল আউটপুটগুলির মধ্যে এলোমেলোভাবে নির্বাচিত" ব্যাখ্যা করার জন্য দুটি ভাল উপায় রয়েছে : (1) প্রতিটি সম্ভাব্য ভাল আউটপুট চয়ন হওয়ার সমান সুযোগ রয়েছে। (2) প্রতিটি সম্ভাব্য ভাল আউটপুটটিতে> 0 টি নির্বাচনের সুযোগ রয়েছে।

1
ইনপুট দৈর্ঘ্যের একটি বাইনারি স্ট্রিং যেখানে বিট 1 এর, এবং আউটপুট কোন এর এটা সম্ভাব্য একাধিক বিন্যাসন? এটি একটি ধ্রুপদী কম্পিউটারে 1 পদক্ষেপ সহ করা যেতে পারে। যদি আপনি চান না alll সম্ভব আউটপুট? কে ( এন)nk(nk)1
ব্যবহারকারী 1271772

না, কেবলমাত্র একটি আউটপুট তৈরি করা উচিত যা এলোমেলোভাবে সমস্ত সম্ভাব্য আউটপুটগুলির মধ্যে বেছে নেওয়া হয়।
জানুডিডিএ

একটি ধ্রুপদী অ্যালগরিদম কি যথেষ্ট ভাল হবে? (আপনি এটি এখনও কোয়ান্টাম কম্পিউটারে চালাতে পারেন)) বা আপনার কী স্টেথ দরকার? কোনটি সর্বোত্তম শাস্ত্রীয় অ্যালগোরিদমকে ছাড়িয়ে যায়?
নরবার্ট শোচ

1
@ জানভিডিএ: কেন কেবল কোনও 1 এবং কোনও 0 বাছাই করে না এবং দুটি ক্লাসিকাল কম্পিউটারে অদলবদল করবেন?
ব্যবহারকারী 1271772

1
যেমনটি আপনি চান এলোমেলো বিতরণ নির্দিষ্ট করে নেই, আমি কেবল এগুলি এখানে রেখে দেব: দিলবার্ট এবং এক্সকেসিডি ;)
আলী

উত্তর:


4

এটি lines with এই লাইন বরাবর অতিরিক্ত কুইটস দিয়ে করা যেতে পারে :logn

  1. অতিরিক্ত কুইটগুলি রূপান্তর করুন যাতে তারা এলোমেলোভাবে অভিন্নভাবে নির্বাচিত একটি সংখ্যা enc এ এনকোড করে ।k{0,,n1}

  2. চক্রাকারে ইনপুট কুইটগুলি বার শিফট করুন ।k

  3. আসল ইনপুট কুইটগুলির শেষটি আউটপুট হিসাবে স্থির করা যাক এবং এর মধ্যে থাকা বাকি পুনরাবৃত্তি করুন।n1

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

নোট করুন যেহেতু প্রশ্নটি এলোমেলো আউটপুট চেয়েছে, অ্যালগরিদমটি কোনও সময়ে এনট্রপি তৈরি করতে চলেছে, সম্ভবত পরিমাপের মাধ্যমে বা কোয়েটগুলিতে অন্যান্য অ-একক ক্রিয়াকলাপ সম্পাদন করে (যেমন সেগুলি সূচনাকরণ হিসাবে)। উপরের অ্যালগরিদমে এটি প্রথম পদক্ষেপ যা এনট্রপি তৈরি করে: প্রথম ধাপে ক্রিয়াকলাপ সম্পাদনের আগে অতিরিক্ত কুইটগুলির অবস্থা নির্বিশেষে তাদের should পর ধাপ 1 সঞ্চালিত হয় (সঙ্গে এনকোডেড মধ্যে বাইনারি, এর কথা বলা যাক)।

1nk=0n1|kk|
k

উত্তরের জন্য ধন্যবাদ. আমি সমস্যার জন্য একটি বাস্তব কোয়ান্টাম অ্যালগরিদম সম্পর্কে আগ্রহী - আপনি যদি ক্লাসিক্যাল অ্যালগরিদমের উপরে কোনও কোয়ান্টাম প্রোগ্রামে মানচিত্র করতে পারেন তবে এটিও ঠিক আছে তবে কীভাবে এটি করবেন তা সম্পর্কে আমার কোনও ধারণা নেই।
জানুভিডিএ

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

আমি প্রশ্নে একটি নোট যুক্ত করেছি। আমি মনে করি যে আমরা ধারণা কোয়ান্টাম অ্যালগরিদমকে আলাদাভাবে ব্যাখ্যা করেছি । আমার জন্য a_classical algorithm_ একটি নয় কোয়ান্টাম এলগরিদম কিন্তু একটি মধ্যে ম্যাপ করা যেতে পারে কোয়ান্টাম এলগরিদম
জানুডিডিএ

@ জানভিডিএ: কোয়ান্টাম অ্যালগরিদম বলতে কী বোঝ? উদাহরণস্বরূপ, আপনার কি কমপক্ষে একটি গেট জড়িত থাকার প্রয়োজন ? অথবা এটির জন্য কমপক্ষে একটি গেট দরকার? অথবা এটির জন্য আরও কিছু নির্দিষ্ট গেট সেট প্রয়োজন? আপনি এই অ্যালগরিদমটি ব্যবহার করার জন্য কোন গেট সেটটি চান? HY
ব্যবহারকারী 1271772

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

3

দ্রষ্টব্য: এই উত্তরটি ধরে নেওয়া হয়েছে যে আপনি অনুমতিটি সামঞ্জস্যপূর্ণ হতে চান, অর্থাত আপনি 1/3 এর পরিবর্তে সম্ভাবনা , একটি 1/3 সুযোগ , এবং একটি 1/3 সুযোগ ।13(|001+|010+|100)001010100

আপনি কীভাবে এই টাস্কটি নির্দিষ্ট করেছেন সে সম্পর্কে সতর্ক থাকুন, কারণ এটি খুব সহজেই পুনর্বারণ্যতার সীমাবদ্ধতার কারণে অসম্ভব হতে পারে। উদাহরণস্বরূপ, ইনপুট আপনি GHZ অবস্থা আউটপুট করতে চান । তবে আপনি যদি ইনপুট এবং জন্য GHZ স্থিতি আউটপুট করতে চান তবে এটি কার্যকর হবে না। আপনি একই আউটপুট স্থিতিতে (ডিকোহরেন্স ছাড়াই) একাধিক ইনপুট রাজ্যগুলি প্রেরণ করতে পারবেন না। আপনি যতক্ষণ বলবেন "আমি কেবল 0000111 এর মতো বাছাই-করা আরোহনের ইনপুটগুলিতে যত্ন করি তবে 1110000 বা 0010110 নয়; আপনি সেগুলি দিয়ে যা কিছু করতে পারেন আপনি তা করতে পারেন", এটি ঠিক থাকবে।|001|31=13(|001+|010+|100)|010|100

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

আপনি " কোয়ান্টাম সংকোচনের " সন্ধান করতেও পারেন , যা খুব বাঁধা স্টেটস ( বিটস সেট সহ সমস্ত বিট স্টেটের অভিন্ন সুপারপজিশন ) যা আপনি উত্পাদন করতে চান। মূল পার্থক্যটি হ'ল আপনি বিপরীতে কোয়ান্টাম কম্প্রেশন সার্কিটটি চালাবেন এবং এটি একটি সংখ্যার এনকোডিং প্রত্যাশা করে "সেখানে কতজন আছে?" "সঠিক সংখ্যার সাথে আমাকে একটি রাজ্য দিন" এর পরিবর্তে।|nknk

আমি অনুমান করছি যে আমি যা বলছি তা হ'ল এই ধরণের রাজ্য উত্পাদন করা আপনার প্রত্যাশার চেয়ে জটিল। আমি মনে করি এটি জটিল হওয়ার কারণটি হ'ল কারণ আপনার আউটপুটগুলির প্রশস্ততাগুলির পরিমাণ আপনার ইনপুটটির গণনাভিত্তিক অবস্থার উপর নির্ভর করে। উদাহরণস্বরূপ, আপনি এমন একটি আউটপুট চান যা চারটি ধ্রুপদী রাজ্যের একটি সুপারপজিশন, সুতরাং আপনার inside ভিতরে লুকানো । তবে জন্য পছন্দসই আউটপুটটির ছয়টি শাস্ত্রীয় রাজ্য রয়েছে এবং তাই চামড়া একটি prefactor।|000114| 0011| 4|41|00111|4216


আপনার উত্তরটির মূল্য দিতে আমার আরও কিছু অধ্যয়ন প্রয়োজন তবে আমি পুনরায় বিপর্যয় সীমাবদ্ধতা সম্পর্কে আপনার ২ য় অনুচ্ছেদে পুরোপুরি একমত নই। মনে রাখবেন আপনি ব্যবহার করেছেন জন্য সমাধান হিসেবে কিন্তু হিসাবে আমরা কাজ করছি আরো অনেক সমাধান আছে জটিল সংখ্যার সাথে (উদাহরণস্বরূপ একটি সম্ভাব্য সমাধান| ২001113(|001+|010+|100)|00113(|001|010+i.|100)
রেঙ্গেল

1
@ জনভিডিএ সঠিক, বিভিন্ন পর্যায়ের অর্থোথোনাল তৈরি করতে কেউ পর্যায়গুলি ব্যবহার করতে পারেন। আপনার প্রশ্নের আমার পড়াটি ছিল যে আপনি সব ক্ষেত্রে একই পর্ব চান।
ক্রেগ গিডনি

0

একটি কোয়ান্টাম কম্পিউটার ধ্রুপদী গণনা করতে পারে। অনুকূল অ্যালগরিদমটি হ'ল:

  1. যে কোনও বিট চয়ন করুন (আপনি যেটিতে দ্রুত প্রবেশ করতে পারবেন) ick
  2. বিপরীত মান রয়েছে এমন একটি সন্ধান করুন (যদি পদক্ষেপ 1 এ আপনি 0 পেয়ে থাকেন তবে 1 পান)
  3. সেগুলি স্যুইচ করুন (0 টি 1 হয় এবং 1 0 হয়)।

পদক্ষেপ 2 একটি বিট স্ট্রিংয়ের মাধ্যমে অনুসন্ধানের সাথে জড়িত যা শাস্ত্রীয় ক্রিয়াকলাপগুলি ব্যবহার করে অপারেশনগুলি গ্রহণ করে, তবে আপনি যদি কোনও ক্রিয়াকলাপ মূল্যায়নের মাধ্যমে বিট মান পেতে পারেন তবে আপনি সক্ষম হতে পারবেন ক্রিয়াকলাপগুলির সাথে বিপরীত বিটটি খুঁজে পেতে গ্রোভারের কোয়ান্টাম অ্যালগরিদম ব্যবহার করতে । ( এন ) এন ( NO(N)nthO(N)


ধন্যবাদ তবে অ্যালগরিদমটি কেবলমাত্র 2 বিটগুলিতে স্যুইচ করবে (যাতে এটি সমস্ত ক্রম উত্পাদন করে না) এবং এটি এখনও একটি ধ্রুপদী অ্যালগরিদম, যখন আমি কোয়ান্টাম অ্যালগরিদম দেখতে চাই।
জানুডিডিএ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.