খুব সাধারণ কোয়ান্টাম প্রোগ্রামটি কেমন হবে?


76

বিশ্বের প্রথম প্রোগ্রামেবল কোয়ান্টাম ফোটোনিক চিপের ঘোষণার আলোকে , আমি ভাবছিলাম যে কোয়ান্টাম এনট্যাঙ্গেলমেন্ট ব্যবহার করে এমন কোনও কম্পিউটারের জন্য কী সফটওয়্যারটি হবে। আমি যে প্রথম প্রোগ্রামটি লিখেছিলাম তার মধ্যে একটি ছিল এরকম কিছু

for i = 1 to 10
  print i
next i

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


আপনার লিঙ্কটি নষ্ট হয়েছে
সুরেশ ভেঙ্কট

1
এই প্রশ্নের জন্য +1 এবং । আমি ট্যুরিং মেশিনের চেয়ে আলাদা দৃষ্টান্তের আওতাধীন একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ সম্পর্কে খুব আগ্রহী, তবে আমরা সম্ভবত কোয়ান্টাম কম্পিউটারে কোডটি কার্যকর করতে পারি না।
জানোমা

উত্তর:


59

ক্যাভেট এমপোটার: নিম্নলিখিতটি কিউসির ক্ষেত্রে আমার নিজস্ব গবেষণা এবং দর্শনের উপর ভারী পক্ষপাতযুক্ত। এটি ক্ষেত্রের সাধারণ sensকমত্য গঠন করে না এবং এমনকি কিছু স্ব-প্রচার হতে পারে।

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

প্রোগ্রামিং ল্যাঙ্গুয়েজ কম্পিউটার বিজ্ঞানী হিসাবে আমার গবেষণায় যা আমার পক্ষে সবচেয়ে উপযুক্ত হয়েছে, এবং অন্যান্য কম্পিউটার বিজ্ঞানীর কাছে কিউসির জিস্ট পেতে, আমি যে সহজ QC মডেলটি পেরিয়ে এসেছি তা ব্যবহার করা সমস্ত কিছু করে।

আমি দেখেছি যে সহজতম কোয়ান্টাম কম্পিউটিং প্রোগ্রামটিতে সমস্ত প্রয়োজনীয় উপাদান রয়েছে সেগুলি হল সহজতম কোয়ান্টাম প্রোগ্রামিং মডেলের একটি ছোট্ট তিন-নির্দেশিক প্রোগ্রাম I've আপনি বেসিকগুলি জুড়ে পেতে 'হ্যালো ওয়ার্ল্ড' হিসাবে এটি ব্যবহার করি।

আমাকে ড্যানোস এট আল দ্বারা পরিমাপ ক্যালকুলাসের দ্রুত সরলীকৃত সংক্ষিপ্তসার দেওয়ার অনুমতি দিন । 1 যা ভিত্তিতে তৈরি হয় ওয়ান-ওয়ে কোয়ান্টাম কম্পিউটার 2 এর উপর ভিত্তি করে : পরিমাপ করার সময় একটি কুইট নষ্ট হয়, তবে এটি পরিমাপ করা তার সাথে জড়িত অন্যান্য সমস্ত কুইবিটকে প্রভাবিত করে। ফোটোনিক চিপ দ্বারা উপলব্ধ 'সার্কিট-ভিত্তিক' কোয়ান্টাম কম্পিউটারগুলির তুলনায় এর কিছু তাত্ত্বিক এবং ব্যবহারিক সুবিধা রয়েছে তবে এটি ভিন্ন আলোচনা।

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

N 2          # create a new quantum bit and identify it as '2'
E 1 2        # entangle qubits '1' and '2', qubit 1 already exists and is considered input
M 1 0        # measure qubit '1' with an angle of zero  (angle can be anything in [0,2pi]
             # qubit '1' is destroyed and the result is either True or False
             # operations beyond this point can be dependent on the signal of '1'
X 2 1        # if the signal of qubit '1' is True, execute the Pauli-X operation on qubit '2'

উপরের প্রোগ্রামটি এভাবে একটি অ্যাসিলার তৈরি করে, এটি ইনপুট কুইটের সাথে জড়িয়ে দেয়, ইনপুটটি পরিমাপ করে এবং পরিমাপের ফলাফলের উপর নির্ভর করে অ্যানিসিলায় একটি অপারেশন সম্পাদন করে। ফলস্বরূপ যে কুইট 2 এখন হাদামারড অপারেশনের পরে 1 কুইট এর রাজ্য ধারণ করে ।

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

এসেম্বলারের মতো নির্দেশের অনুক্রমের পরিবর্তে প্রোগ্রামটি গ্রাফ হিসাবে লিখে ফেলাও সাধারণ:

 input                .........
    \--> ( E ) ---> (M:0)     v
(N) ---> (   ) ------------> (X) ---> output

যেখানে পূর্ণ তীরগুলি কুইবিট নির্ভরতা এবং বিন্দুযুক্ত তীরটি একটি 'সংকেত' নির্ভরতা।

নীচে একই হাদামারদ উদাহরণটি একটি সামান্য প্রোগ্রামিং সরঞ্জামে প্রকাশ করা হিসাবে আমি কল্পনা করব যে কোনও 'কোয়ান্টাম প্রোগ্রামার' ব্যবহার করবে।

পরিমাপ ক্যালকুলাস সরঞ্জাম

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

উদাহরণস্বরূপ, আমি আমার কোয়ান্টাম কো-প্রসেসরটি একটি এলোমেলো বুলিয়ান বা কয়েনটোস গণনা করতে ব্যবহার করতে যাচ্ছি। ক্লাসিকাল কম্পিউটারগুলি হ'ল নির্দোষ কোয়ান্টাম কম্পিউটারগুলি সহজাতভাবে সম্ভাব্য, যদিও একটি র্যান্ডম 0 বা 1 পেতে আমাকে যা করতে হবে তা হল সমান ভারসাম্যযুক্ত কোয়েটটি পরিমাপ করা। সিপিইউ এবং 'কিউপিউ' এর মধ্যে যোগাযোগটি এরকম কিছু দেখায়:

 qrand()       N 1; M 1 0;
 ==>  | CPU | ------------> | QPU |  ==> { q1 } ,  []
                 start()
      |     | ------------> |     |  ==> { } , [q1: 0]
                 read(q1)         
      |     | ------------> |     |
                  q1: 0 
 0    |     | <-----------  |     |
 <==

যেখানে { ... }কিউপিউ-এর কোয়ান্টাম মেমোরি যেখানে কুইটস রয়েছে এবং [...]এটি বুলেঁসযুক্ত ক্লাসিকাল (সিগন্যাল) মেমরি।


  1. ড্যানোস এট আল। পরিমাপ ক্যালকুলাস। arXiv (2007) খণ্ড কোয়ান্ট-PH
  2. রাসেনডর্ফ এবং ব্রিজেল। একটি একমুখী কোয়ান্টাম কম্পিউটার। শারীরিক পর্যালোচনা পত্র (2001) খণ্ড 86 (22) পিপি 5188-5191

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

আপনি ঠিক বলেছেন, লজ্জার জন্য আমি আসলে সেই অংশটি মিস করেছি বলে মনে হয়েছে: / অনুচ্ছেদে যুক্ত করা হচ্ছে
গরুর মাংস

"একটি কোয়ান্টাম কম্পিউটার বিবেচনা করুন যেখানে কেবল পাঁচটি নির্দেশ রয়েছে: এন, ই, এম, এক্স এবং জেড।" নির্দেশের কোনও ব্যাখ্যা নেই জেড :(
ফার্নান্দো গঞ্জালেজ সানচেজ

জেড অনেকটা এক্স এর মতো) এন.ইউইউইকিপিডিয়া.আর.উইকি / পাউলি_ম্যাট্রিক্স এক্স অপারেশনটি ভেক্টরকে [আব্বা] [বিএ] রূপান্তরিত করে, জেড অপারেশন এটিকে [এ-বি] রূপান্তরিত করে।
গরুর মাংস

21

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

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

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


11

দেখে মনে হচ্ছে: এখানে চিত্র বর্ণনা লিখুন

আপনিও একটি বাস্তব কোয়ান্টাম প্রসেসরের অ্যাক্সেস পেতে পারেন। এখানে যান এবং সাইন আপ করুন: http://www.research.ibm.com/quantum/

এটিতে একটি সিমুলেটরও রয়েছে যাতে আপনি প্রকৃত হার্ডওয়্যার ব্যবহার না করে পরীক্ষা করতে পারেন, বা প্রকৃত হার্ডওয়্যারটিতে চালনার জন্য ক্রেডিট (ফ্রি) ব্যবহার করতে পারেন।



3

আমি মনে করি উত্তরটি "অনেকগুলি সাধারণ শাস্ত্রীয় প্রোগ্রামের মতো"।

যদি আমরা সহজ-টাইপযুক্ত ল্যাম্বদা ক্যালকুলাসকে (পণ্য সহ) শাস্ত্রীয় প্রোগ্রামিংয়ের হৃদয় হিসাবে বিবেচনা করি, তবে আমরা শোষণ করতে পারি যে এটি একটি বদ্ধ কার্তেসিয়ান বিভাগের অভ্যন্তরীণ টাইপ তত্ত্ব, যা আমাদের একটি পয়েন্টার দেয়।

nk

সুতরাং, যদি এসটিএলসি কার্টেসিয়ান বন্ধ বিভাগগুলিতে হয় তবে প্রতিসৃত মনোমেডাল বিভাগগুলিকে কী বন্ধ করতে হবে? ঠিক আছে, আমরা জানি যে একটি প্রতিসম মনোনিডাল বিভাগের অভ্যন্তরীণ যুক্তি মিল মিল । সুতরাং আমাদের যা প্রয়োজন তা হ'ল মিলের সাথে সম্পর্কিত একটি টাইপ তত্ত্ব - লিনিয়ার টাইপ তত্ত্ব।

বিমূর্ত বোকা থেকে দূরে সরে, আমরা একটি রৈখিক টাইপ তত্ত্ব দিয়ে কি পেতে পারি? রৈখিকতা। আমরা সম্পদের লিনিয়ারিটি পাই। এবং এটি ঠিক আমরা চাই। আপনাকে কোয়ান্টাম বিট ক্লোন করার অনুমতি নেই। আপনাকে পরিস্কারভাবে পরিমাপ করার অনুমতি নেই। এবং লিনিয়ারিটির অর্থ হ্রাসকালে আপনি এগুলির কোনওটিই করতে পারবেন না।

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


0

আমি সম্ভবত একটি সাধারণ "ছোট এন দ্বারা ভাগ" কাউন্টারের প্রয়োগের সাথে শুরু করব go

উদাহরণস্বরূপ: একটি 10GHz উত্স দেওয়া, একটি 5GHz আউটপুট উত্পন্ন করুন (তবে এই সংখ্যাগুলি স্বেচ্ছাসেবী এবং শুধুমাত্র ধারণাটি বোঝাতে বোঝানো হয়েছে)।

এটি আমাদের স্টোরেজ এবং ভন নিউমান আর্কিটেকচারের মতো বিষয়গুলিকে উপেক্ষা করতে দেয় এবং উপাদানগুলি আসলে বোধগম্য কিছু করছে কিনা তা আমাদের ফোকাস করতে দেয়।

তারপরের পরবর্তী লক্ষ্যটি হবে "ছোট এন" এর একটি ছোট্ট পুস্তক তৈরি করা (তবে আমি আমার গবেষকদের কাছ থেকে পুশব্যাকও শুনব - যদি তারা মনে করে যে অন্যান্য ছোট লক্ষ্যগুলি আরও তাত্ক্ষণিক ফলপ্রসূ হবে তবে আমি অবশ্যই বুঝতে চাই তারা আমাকে কী বলছিল।)

দীর্ঘমেয়াদী লক্ষ্যগুলি সিস্টেমে তথ্য আউট এবং আউট পাম্প করার ব্যবস্থা অন্তর্ভুক্ত করবে এবং তথ্যটি ব্যবহারের জন্য যথেষ্ট দীর্ঘ ধরে রাখা।

(এটি সম্ভবত মনে রাখতে হবে যে প্রারম্ভিক কম্পিউটার প্রোগ্রামগুলি সমস্ত "হার্ডওয়ার্ড" ছিল those সেই সিস্টেমগুলির সাথে বিস্তৃত অভিজ্ঞতার পরেই আমরা সঞ্চিত প্রোগ্রামগুলি প্রয়োগ করতে পেরেছিলাম।)


-6

আমি মনে করি যে প্রোগ্রামিং একটি কোয়ান্টাম কম্পিউটার এটি অন্যরকম দৃষ্টিকোণ থেকে দেখা উচিত যা সাধারণ অবজেক্ট-ভিত্তিক প্রোগ্রামিং।

কিউসির চিন্তাভাবনা এবং সিদ্ধান্ত নেওয়ার মস্তিষ্কের একই ক্ষমতা রয়েছে। উপায়গুলি চিন্তা করার ক্ষমতাতে ডেটা মাইনিংয়ের এমন ডেটার উত্স রয়েছে যা সম্ভাব্য পছন্দ হবে এবং সিদ্ধান্ত নেবে যে সম্ভাব্য সমস্ত রাজ্যগুলির মধ্যে থেকে কোনটি বেছে নেবে।

এই মুহুর্তে একটি সফ্টওয়্যার এমনভাবে আর্কিটেকচার করা দরকার যাতে কোয়েটগুলি ডেটা উত্সকে উপস্থাপন করে যা ডেটা মাইন্ড এবং ডেটাগুলির অন্যান্য গোষ্ঠীর সাথে জড়িয়ে যেতে পারে।

কিউসির একটি ডেটা-মাইনার থাকা উচিত যা ডেটা রিডিং প্রক্রিয়াকরণ করে, বিভিন্ন বিকল্পকে একত্রে সংযুক্ত করে ডেটাসোর্সের বিভিন্ন গোষ্ঠী যা তথ্যকে উপস্থাপন করে, সমস্ত সম্ভাব্য রাজ্যগুলি পড়ে এবং কোনটি বেছে নিতে হবে তা চয়ন করে।

আমাদের মস্তিষ্ক কীভাবে কাজ করে তা স্থির করে। কিউসি কোয়ান্টাম মেকানিক আইন অনুসারে বুঝতে এবং সে অনুযায়ী কাজ করতে সক্ষম হয়, এর অর্থ হল আপনি একটি সমস্যা দিয়েছেন এবং QC আপনাকে সমাধানের সমস্ত সম্ভাব্য সমাধান দেখায়।

এটি কিউসি কতটা শক্তিশালী হতে পারে, আপনি কি একমত?

https: //www.cs। মতামত প্রদান করুন. কোয়ান্টাম ডাটাসোর্স উপাদান হোস্ট ডেটা এবং জ্ঞানের সুযোগ যেখানে ডেটাামিনার কাজ করে।

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