প্রোগ্রামিং কোয়ান্টাম অ্যালগোরিদম কীভাবে আলাদা? ভাষার মতো সি এর মতো দেখতে যদি এটি কোয়েটগুলির জন্য তৈরি করা হত? প্রকার পরিবর্তন হবে?
প্রোগ্রামিং কোয়ান্টাম অ্যালগোরিদম কীভাবে আলাদা? ভাষার মতো সি এর মতো দেখতে যদি এটি কোয়েটগুলির জন্য তৈরি করা হত? প্রকার পরিবর্তন হবে?
উত্তর:
কিছুক্ষণ আগে আমি যখন এটি খতিয়ে দেখলাম তখন এটি স্পষ্ট হয়েছিল যে কোয়ান্টাম অ্যালগরিদমগুলি বিশেষভাবে দ্রুত না হলেও তাত্পর্যপূর্ণভাবে বিশাল সমান্তরালতার অনুমতি দেয়। সুতরাং তারা এমন জায়গাগুলিতে অনুসন্ধানের সাথে জড়িত যেগুলি সিক্যুয়াল হার্ডওয়্যার, এমনকি ব্যাপকভাবে সমান্তরাল সিক্যুয়াল হার্ডওয়্যার সহ কার্যকর নয়।
কোয়ান্টাম অ্যালগরিদমগুলির একটি বৈশিষ্ট্য হ'ল এগুলিকে বিপরীতমুখী হতে হবে । যে কোনও প্রদত্ত অ্যালগরিদমকে তার পিছনে চালিত হওয়ার অনুমতি দেওয়ার জন্য পর্যাপ্ত রেকর্ড-কিপিং যোগ করে এটির বিপরীতে পরিবর্তনযোগ্য can
আর একটি সম্পত্তি হ'ল কোয়ান্টাম অ্যালগরিদমের উত্তর পাওয়া হিট-মিস-মিস ব্যাপার, কারণ একটি গণনার শেষে আপনি যা পাবেন তার একাধিক উত্তর, যার প্রতিটি তার নিজস্ব সম্ভাবনা রয়েছে। এটি এমনভাবে চালানো দরকার যাতে আপনি যে উত্তরটি চান তার উচ্চ সম্ভাবনা থাকে। এর মধ্যে একাধিকবার অ্যালগরিদম এগিয়ে এবং পিছিয়ে থাকা জড়িত থাকতে পারে।
পরীক্ষা করে দেখুন গ্রোভার এর অনুসন্ধান অ্যালগরিদম ।
গ্রোভারের অ্যালগরিদমের মৌলিক ক্রিয়াকলাপটি দেখানোর জন্য অন্তর্ভুক্ত। মনে করুন কোনও অনুসন্ধানের সমস্যা আছে। সম্ভাব্য উত্তরগুলি 0, 1, 2, এবং 3, তবে সঠিক উত্তরটি 2 So সুতরাং কোয়ান্টাম কম্পিউটারটি চারটি রাষ্ট্রের একটি সুপারপজিশনে স্থাপন করা হয়েছে এবং এটি কোনটি সঠিক তা দেখার জন্য এটি একটি ধাপে অনুসরণ করেছে এবং নীচে কালো বিন্দু এবং তীরের মতো এর প্রশস্ততাটি বিবর্তিত করে:
আপনি দেখতে পাচ্ছেন যে তীর 2টি মেশিনের অভ্যন্তরে উল্টানো হয়েছে, তবে এটি বাইরে বলার উপায় নেই কারণ কেবলমাত্র সম্ভাবনাগুলি বাইরে দেখা যায়, যা প্রশস্ততা স্কোয়ারযুক্ত এবং যখন স্কোয়ারগুলি হয় তারা সব সমান হয়।
যাইহোক, প্রশস্ততাগুলির একটি রেড থাকে যা লাল রেখার দ্বারা নির্দেশিত হয় এবং কম্পিউটারটিকে প্রতিটি ধাপকে গড়ের দিকে উল্টিয়ে দেয় এমন এক ধাপের মধ্য দিয়ে যেতে দেওয়া যায় । যখন এটি হয়ে যায়, প্রশস্ততা, এবং সম্ভাবনাগুলি, 2 রাজ্যে স্থানান্তর করুন, সঠিক উত্তর ! সুতরাং যদি মেশিনটি পর্যবেক্ষণ করা হয় তবে রাষ্ট্র 2 টি চকচকে করবে।
এটি বেশ সহজ নয়। সঠিকভাবে উত্তরের সম্ভাব্যতা সর্বাধিক করে তোলার জন্য সাধারণত প্রতিটি চক্রের শেষে উল্টানো, সামনে এবং পিছনে মেশিনের একাধিক চক্র লাগে takes এছাড়াও, একজনকে অবশ্যই এটির সংখ্যাটি এর চেয়ে বেশি আর না করার যত্ন নিতে হবে, কারণ এটি কেবল সহজেই নিজেকে বিপরীত করতে পারে।
তাহলে তারা কেন কোয়ান্টাম কম্পিউটারগুলি এত দ্রুত বলে ? কারণ যতবারই আপনি কোয়েটের সংখ্যা দ্বিগুণ করেন, আপনি সমান্তরালতাটিকে বর্গক্ষেত্র করেন তবে আপনি সময়ের দৈর্ঘ্য বর্গাকার করেন না, ফলে শেষ পর্যন্ত এটি জয়ী হয়।
মজা হয় না?
সফ্টওয়্যার নির্ভুলতার যাচাইকরণে এটি কীভাবে প্রয়োগ করা যেতে পারে সে সম্পর্কে আমি ব্যক্তিগতভাবে আগ্রহী ছিলাম। এখন আমরা এটিতে পরীক্ষাগুলির একগুচ্ছ নিক্ষেপ করে এবং (অতিমাত্রায় সাধারণ হতে) এটি পরীক্ষা করে দেখেছি যে এটি কোনও চাপকে আঘাত করে কিনা। একটি কোয়ান্টাম কম্পিউটারে এটি ইনপুটগুলির অনেকগুলি সংক্ষিপ্ত সেটের সাথে সমান্তরালভাবে চালানো এবং দেখতে পাওয়া যায় যে এই ক্ষেত্রেগুলির কোনওটি একটি সংস্থাকে আঘাত করেছে কিনা।
অ্যালগরিদমের ইনপুট যদি 128 বাইট বা 1024 বিট হয় তবে 2 ^ 1024 বা 10 ^ 308 সম্ভাব্য বিভিন্ন ইনপুট থাকে। প্রচলিত কম্পিউটারে প্রচুর ইনপুট পরীক্ষা করার কোনও উপায় নেই, তবে একটি কোয়ান্টাম কম্পিউটার সেগুলি সমান্তরালভাবে চেষ্টা করতে পারে।
ভাষার মতো সি এর মতো দেখতে যদি এটি কোয়েটগুলির জন্য তৈরি করা হত? প্রকার পরিবর্তন হবে?
এটি সি হিসাবে অপ্রয়োজনীয় হিসাবে এত মারাত্মকভাবে পৃথক হবে।
মূল ইস্যু (যেমন আমি এটি বুঝতে পারি) হ'ল কোয়ান্টাম কম্পিউটিং একটি দুর্দান্ত আবশ্যক পদ্ধতিতে কাজ করে না 'এটি করুন, তারপরে, তারপরে এই অন্য জিনিসটি'। কোয়ান্টাম কম্পিউটারের 'প্রসেসর'-এ সি করার ক্ষমতা জোর করার চেষ্টা করা যদি অসম্ভব না হয়, বন্যার অকেজো হয়।
কোয়ান্টাম কম্পিউটারগুলির জন্য প্রোগ্রামিং অ্যালগরিদমগুলি (আবার আমি তাদের বুঝতে পারছি) কার্যকরী প্রোগ্রামিং শৈলীর মানচিত্রের / নিকটবর্তী হওয়ার প্রবণতা দেখা যায়, যেহেতু কোয়ান্টাম কম্পিউটিং 'কমান' অংশের সমস্ত প্রার্থীকে একযোগে উপস্থিত হতে পারে এবং কম্পিউটারের "পতিত" হয় allows যখন পালন করা হয়।
নোট করুন যে কোয়ান্টাম কম্পিউটারগুলির জন্য কিছু বিদ্যমান অ্যালগরিদম রয়েছে, যদিও ডিভাইসগুলি চালানোর জন্য এটি বিদ্যমান নেই। উদাহরণস্বরূপ সাইমন এর অ্যালগরিদম ।
কোয়ান্টাম কম্পিউটারের সর্বাধিক কার্যকর ব্যবহার করার জন্য, একজনকে কোয়ান্টাম রেজিস্ট্রারের রাজ্যগুলির ইনপুট এবং আউটপুটগুলি মোকাবেলা করতে সক্ষম হতে হবে, যার জন্য আসলে কোনও শাস্ত্রীয় এনালগ নেই। কোয়ান্টাম তথ্যের ক্ষেত্রের কয়েক বছরের অভিজ্ঞতার কথা বলার পরে, আমি আপনাকে অবশ্যই সতর্ক করতে হবে যে সি * বীজগণিতের বিমূর্ত গণিতের বাইরে কারও পক্ষে এর জন্য সত্যিকারের অন্তর্নিহিততা নেই এবং আমাকে বলা হয়েছে যে এমনকি এই স্বজ্ঞাততাও অপর্যাপ্ত হয়ে উঠেছে turns যদি আপনি আপেক্ষিকতা তত্ত্ব সম্পর্কে ভাবতে শুরু করেন।
কোয়ান্টাম কম্পিউটারে দক্ষতার সাথে সমাধানযোগ্য সমস্যাগুলির শ্রেণিগুলি সীমাবদ্ধ কোয়ান্টাম পলিনোমিয়ালের জন্য বিকিউপি নামে পরিচিত। এটি বিপিপির কোয়ান্টাম সংস্করণ, এবং আপনি এই কাগজে আরও তথ্য পেতে পারেন: http://www.scottaaronson.com / পেপারস / বিকিপ্প.পিডিএফ
আমাকে গতকাল রাতে একটি কোয়ান্টাম অ্যালগরিদম গবেষক আমাকে বলেছিলেন যে একটি খুব গুরুত্বপূর্ণ সমস্যা রয়েছে যা বিকিউপি-সম্পূর্ণ: এন সমীকরণের একটি লিনিয়ার সিস্টেম সমাধান করে। শাস্ত্রীয়ভাবে, এটি গওসিয়ান নির্মূলের সাথে ও (এন) পদক্ষেপগুলিতে সমাধানযোগ্য। হ্যারো-হ্যাসিদিম-লয়েড অ্যালগরিদম ( http://arxiv.org/abs/0811.3171 ) এটিকে পলিওগ (এন) এ সমাধান করে, আপনি যদি এমন কোনও উত্তর গ্রহণ করতে রাজি হন যে সমাধানটি কোয়ান্টাম রাষ্ট্র হিসাবে এনকোডযুক্ত রয়েছে। আপনি যদি কোয়ান্টাম কম্পিউটারের পুরো ব্যবহার করতে চান তবে কোয়ান্টাম রেজিস্ট্রারের সাথে সম্পর্কিত কোনও প্রকারের জন্য এটি আপনার কাছে প্রয়োজনীয় বলে মনে হচ্ছে।
যদিও আমি এখনই আমার বিশেষ দক্ষতার বাইরে কিছুটা হলেও, আমি এমন একটি ধারণা ঝুঁকিপূর্ণ করব যে আপনি যাদুবিদ্যার সাথে সম্পর্কিত কোনও ধরণের অ্যাক্সেস না পাওয়া পর্যন্ত আপনি কোয়ান্টাম কম্পিউটার প্রোগ্রাম করতে সক্ষম হবেন। এটি একটি কঠিন ধারণা, যদিও এটির বিষয়ে বেশ কিছুটা অধ্যয়ন প্রয়োজন।
সতর্কতা অবলম্বন করুন যে আমরা কোয়ান্টাম প্রোগ্রামিং ল্যাঙ্গুয়েজ হওয়া থেকে খুব দীর্ঘ সময়, কারণ আমরা কোয়ান্টাম কম্পিউটিং গবেষণার একটি খুব প্রাথমিক পর্যায়ে আছি। এই মুহুর্তে কোয়ান্টাম সি জিজ্ঞাসা করা অ্যালান টুরিংয়ের কাছে গিয়ে তাকে পাইথন ডিজাইন করার অনুরোধ করার মতো হবে। আমরা এখনও ভ্যাকুয়াম টিউবের কোয়ান্টাম সংস্করণ পাইনি!