কোয়ান্টাম কম্পিউটারের জন্য এমুলেটর রয়েছে?


64

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

আপডেট: আমি সত্যিই কোনও কোয়ান্টাম কম্পিউটারের সিমুলেশন খুঁজছি না, তবে আমি নিশ্চিত নই যে এটি একটি সাধারণ নন-কোয়ান্টাম ভিত্তিক পিসিতে দক্ষতার সাথে কোনওটিকে অনুকরণ করা সম্ভব কিনা I'm


উত্তর:


39

হ্যাঁ, এটি সম্ভব (তবে ধীর)। বিদ্যমান কয়েকটি রয়েছে (এটি কেবল একটি আংশিক তালিকা) ইমুলেটর:

  • কিউডিডি: একটি কোয়ান্টাম কম্পিউটার এমুলেশন লাইব্রেরি

    কিউডিডি হ'ল সি ++ গ্রন্থাগার যা সি ++ প্রোগ্রামিং পরিবেশের প্রেক্ষাপটে কোয়ান্টাম কম্পিউটিং কনস্ট্রাক্টসের তুলনামূলক স্বজ্ঞাত সেট সরবরাহ করে। কিউডিডি এটি অনন্য যে এর কোয়ান্টাম কম্পিউটিংয়ের অনুকরণ কোয়ান্টাম রাষ্ট্রের বাইনারি ডিসিশন ডায়াগ্রাম (বিডিডি) উপস্থাপনার উপর ভিত্তি করে।

  • jQuantum

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

  • QCE

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

(উপরন্তু, প্রশ্ন # শুধুমাত্র মাইক্রোসফট এর সাথে কাজ করে QDK , ধন্যবাদ @Pavel)

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

আমি এই বিষয়ে একটি কাগজ উদ্ধৃত করব ( জে। অলকক, ২০১০ ):

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

পি 89, বিভাগ 5.1

আমাদের বাস্তবায়নগুলি আরও নির্ভুল হওয়ার সাথে সাথে এগুলি আরও ধীর হয়ে যায়।

টিএল; ডিআর: এটি সম্ভব, এবং কিছু অনুকরণকারী উপস্থিত থাকলেও বৃহত পরিমাণে কুইবটের জন্য কোনওটিই খুব দক্ষ নয় are


মনে রাখবেন যে এই ইমুলেটরগুলির কোনওই কিউ # বর্তমানে ব্যবহার করতে পারবেন না, যা কেবল মাইক্রোসফ্টের কিউডিকে নিয়ে কাজ করে।
পাভেল

3
আপনি যা বলেছিলেন তা ছাড়াও: আইবিএম কোয়ান্টাম এক্সপেরিয়েন্সে কোড চালানোর জন্য অগ্রগতিমূলক উপায় রয়েছে যা রিয়েল কোয়ান্টাম কম্পিউটার সরবরাহ করে - কিউ # কোড নয়, পরিবর্তে কিউএসএম। কিউস্কিট এখানে যাওয়ার উপায়। github.com/QISKit
বেলাশাদ্রি 13'18

আপনি যা বলেছেন তা বোধগম্য কারণ এক কম্পিউটারে সিমুলেশনটি চালিত। তবে একাধিক কম্পিউটার ব্যবহার করা গেলে কি একই গতি অর্জন করা সম্ভব?
আইওএস ক্যালেন্ডার patchthecode.com

26

হ্যাঁ, একটি সাধারণ কোয়ান্টাম কম্পিউটারের অনুকরণ করা সম্ভব - তবে সম্ভবত আপনাকে দক্ষতা ত্যাগ করতে হবে।

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


সম্পদ

অন্যান্য উত্তর হিসাবে উল্লিখিত হিসাবে আপনি প্রশ্ন # তে আগ্রহী হতে পারেন। আরও কিছু অনুকরণকারী:

  • কোয়ান্টাম কম্পিউটিং খেলার মাঠ

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

  • কিউএক্স সিমুলেটর

    কিউএক্স সিমুলেটর একটি সর্বজনীন কোয়ান্টাম কম্পিউটার সিমুলেটর যা নাদের খাম্মাসি দ্বারা কোয়েটেক-এ বিকশিত হয়েছিল। কিউএক্স কোয়ান্টাম অ্যালগোরিদম ডিজাইনারদের কোয়ান্টাম কম্পিউটারে তাদের কোয়ান্টাম সার্কিটের সম্পাদন অনুকরণ করার অনুমতি দেয়। সিমুলেটরটি একটি নিম্ন-স্তরের কোয়ান্টাম অ্যাসেমব্লিশ ভাষাটি কোয়ান্টাম কোড সংজ্ঞায়িত করে যা ব্যবহারকারীদের একটি সাধারণ পাঠ্য উত্স কোড ফাইলটিতে তাদের সার্কিটগুলি বর্ণনা করার অনুমতি দেয়। সোর্স কোড ফাইলটি তখন সিমুলেটারের ইনপুট হিসাবে ব্যবহৃত হয় যা এর সামগ্রী চালায়।

  • কোয়ান্টাম ++,

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

  • কোয়ান্টাম কম্পিউটার ভাষা

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

  • কোয়ান্টিকিতে আরও প্রাসঙ্গিক ইমুলেটর পাওয়া যাবে


21

হ্যাঁ, ক্লাসিকাল কম্পিউটারে কোয়ান্টাম কম্পিউটেশনগুলি অনুকরণ করা সম্ভব। তবে সিমুলেশনগুলির ব্যয় কবিট গণনা এবং / অথবা সার্কিট গভীরতা এবং / অথবা নির্দিষ্ট ক্রিয়াকলাপের সাথে তাত্পর্যপূর্ণভাবে বৃদ্ধি পায়।

দ্রুত ধারণাগুলি চেষ্টা করার জন্য, আমার সিমুলেটর কোয়ার্ক দুর্দান্ত। এটি একটি মুক্ত-উত্স টানা এবং ড্রপ কোয়ান্টাম সার্কিট সিমুলেটর যা আপনার ওয়েব ব্রাউজারে চলে। আপনি algassert.com/quirk এ একটি লাইভ সংস্করণ অ্যাক্সেস করতে পারেন ।

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

কৌতুকের স্ক্রিনশট


16

আপনি যদি বিশেষত Q # তে সন্ধান করেন তবে কোনও এমুলেটর দিয়ে ব্যবহার করা অত্যন্ত সহজ - বাস্তবে, প্রশ্ন # থাকা সম্ভব নয় তবে এমুলেটর নেই, তারা একসাথে বান্ডিল রয়েছে।

শুরু করার জন্য, প্রথমে আপনাকে মাইক্রোসফ্টের ওয়েবসাইট থেকে .NET কোর ডাউনলোড করতে হবে ।

আপনি যখন মাইক্রোসফ্টের কোয়ান্টাম ডেভলপমেন্ট কিট dotnet new -i "Microsoft.Quantum.ProjectTemplates::0.2-*"বা মাইক্রোসফ্টের ওয়েবসাইটের মাধ্যমে ডাউনলোড করেন, এটি ভাষা এবং মাইক্রোসফ্টের নিজস্ব এমুলেটর উভয়ই একসাথে ডাউনলোড করে।

একটি নতুন কিউ # প্রকল্প তৈরি করা ( dotnet new console -lang Q#) স্বয়ংক্রিয়ভাবে এমুলেটরটি ব্যবহারের জন্য এটি কনফিগার করবে, সুতরাং যখন আপনি কিছু কিউ # টাইপ করেন এবং প্রকল্পটি চালান এটি "কেবলমাত্র কাজ করে"।


3

হ্যাঁ. আপনি যদি এটি নিজেরাই তৈরি করেন তবে বুলসেকুয়ানা M9600 সিরিজের মতো একই চশমা সহ একটি তৃতীয় পক্ষের কম্পিউটার সন্ধান করুন বা € 100K + নিয়ে এসে এটস থেকে একটি সিস্টেম কিনুন।

বুলসেকুয়ানা এম9600 সিরিজ এবং অটোস কিউএলএম এর মধ্যে মিল খুঁজে দেখুনঅতিস কিউএলএম বনাম এম 9600

বিভিন্ন সফ্টওয়্যার সহ একই বাক্স (এবং সম্ভবত অভ্যন্তরীণ উপাদানগুলি) (তবে আপনি নিজের, Q #) ব্যবহার করতে চেয়েছিলেন। আতস দাবি করেছেন: "বিশ্বের সর্বাধিক-সম্পাদনকারী কোয়ান্টাম সিমুলেটর"। আমি সে সম্পর্কে নিশ্চিত নই তবে 30 কুইট সংস্করণের জন্য চশমাগুলি পৌঁছনীয়, কেবল দুটি ইন্টেল সিপিইউ এবং 1 টিবি মেমরি।

এটস কিউএলএম .পিডিএফ ব্রোশিওর

আছে কি কোন ভাবেই আমার একটি কোয়ান্টাম কম্পিউটার অনুকরণ স্বাভাবিক কম্পিউটার, যাতে আমি করতে সক্ষম হবে পরীক্ষা এবং চেষ্টা (যেমন প্রশ্ন করা # টি) কোয়ান্টাম প্রোগ্রামিং ভাষা?

আপনি যদি 256GB মেমরি এবং স্ব্যাপ ড্রাইভের 1-24TB ব্যবহার করেন তবে এটি ধীর হবে তবে এটি কার্যকর হবে

আমি এমন কিছু বোঝাতে চাই যা আমি সত্যই আমার অনুমানটি পরীক্ষা করতে পারি এবং সবচেয়ে সঠিক ফলাফল পেতে পারি ।

ব্রোশিয়ার থেকে উদ্ধৃতি:

"অ্যাটোস কোয়ান্টাম লার্নিং মেশিন কোয়ান্টাম প্রোগ্রামের সঠিক সম্পাদনকে দ্বিগুণ অঙ্কের নির্ভুলতার সাথে গণনা করে It এটি পদার্থবিজ্ঞানের আইনগুলির অনুকরণ করে , যা কোয়ান্টাম কম্পিউটিংয়ের একেবারে হৃদয়স্থল। এটি কোয়ান্টামে ভুগতে বিদ্যমান কোয়ান্টাম প্রসেসরের সাথে খুব আলাদা which গোলমাল, কোয়ান্টাম ডিকোয়ারেন্স এবং উত্পাদন পক্ষপাত, পাশাপাশি পারফরম্যান্স বাধা। এটস কোয়ান্টাম লার্নিং মেশিনে সিমুলেশন বিকাশকারীদের কোয়ান্টাম মেশিনগুলি উপলব্ধ হওয়ার অপেক্ষা না করে তাদের অ্যাপ্লিকেশন এবং অ্যালগরিদমগুলিতে ফোকাস করতে সক্ষম করে "।

তারা উচ্চ নির্ভুলতার দাবি করে, যেহেতু এটি একটি সিমুলেটর এটি শব্দের সাপেক্ষে নয় - না এটি তত দ্রুত বা ব্যয়বহুলও হবে না। তত্ত্বগতভাবে আপনি আপনার কম্পিউটারে কিছু স্মৃতি, ড্রাইভ এবং সফ্টওয়্যার যুক্ত করতে পারেন ...


3

আমি মনে করি বিষয়টি সম্পর্কে একটি দুর্দান্ত "ওভারভিউ" পাওয়া যাবে: কোয়ান্টিকি

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

Haskell,

qchas (qchas: Quantum Algorithms বাস্তবায়নের জন্য একটি গ্রন্থাগার) - কোয়ান্টাম অ্যালগোরিদম বাস্তবায়নের জন্য দরকারী একটি লাইব্রেরি। এটিতে কোয়ান্টাম গেটস, কিউবিটসের সংজ্ঞা রয়েছে।

পাইথন

কিউবিটার : ক্লাসিকাল কম্পিউটারে কোয়ান্টাম সার্কিট ডিজাইন ও সিমুলেট করার জন্য কিউবিটার প্রকল্পটি লক্ষ্য করে শেষ পর্যন্ত পাইথনে লেখা একটি সম্পূর্ণ স্যুট সরবরাহ করা।

জাভাস্ক্রিপ্ট

jsqis : jsqis, এর মূল অংশে, জাভাস্ক্রিপ্টে লিখিত একটি কোয়ান্টাম কম্পিউটার সিমুলেটর। এটি কোয়ান্টাম রেজিস্ট্রারগুলির সূচনা এবং কোয়ান্টাম গেটের মাধ্যমে তাদের হেরফেরের অনুমতি দেয়।

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