কোয়ান্টাম সার্কিটের স্বয়ংক্রিয় সংকলন


12

এখানে একটি সাম্প্রতিক প্রশ্ন জিজ্ঞাসা করা হয়েছিল যে কীভাবে 4-কুইট গেট সিসিসিজেড (নিয়ন্ত্রিত-নিয়ন্ত্রিত-নিয়ন্ত্রিত-জেড) সাধারণ 1-কুইট এবং 2-কুইট গেটে সংকলন করতে হবে, এবং এখনও অবধি দেওয়া একমাত্র উত্তরের জন্য 63 গেটের প্রয়োজন !

প্রথম পদক্ষেপটি ছিল নীলসেন ও চুয়াং দ্বারা প্রদত্ত সি ইউ নির্মাণ ব্যবহার :n

সাথে এর অর্থ 4 টি সিসিএনওটি গেট এবং 3 টি সহজ গেট (1 সিএনওটি এবং 2 হাদামার্ডস টার্গেট কোবিট এবং শেষ কাজের কোয়েটে চূড়ান্ত সিজেড করার জন্য যথেষ্ট)।n=3

এই কাগজের উপপাদ্য 1 , বলে যে সাধারণভাবে সিসিএনওটি-র 9 টি এক-কুইবিট এবং 6 দুটি-কবিট গেট (15 টি মোট) প্রয়োজন:

এখানে চিত্র বর্ণনা লিখুন


এর অর্থ:

(4 CCNOTs) X (CCNOT প্রতি 15 গেটস) + + (1 CNOT) + + (2 Hadamards) = 63 মোট গেটস

একটি মন্তব্যে , এটির পরামর্শ দেওয়া হয়েছে যে "৩ টি গেটগুলি একটি "স্বয়ংক্রিয় পদ্ধতি" ব্যবহার করে আরও সংকলন করা যেতে পারে, উদাহরণস্বরূপ স্বয়ংক্রিয় গ্রুপগুলির তত্ত্ব থেকে ।

এই "স্বয়ংক্রিয় সংকলন" কীভাবে করা যায় এবং এই ক্ষেত্রে এটি 1-কুইট এবং 2-কুইট গেটের সংখ্যা কত হ্রাস করবে?


1
আমি কয়েকটি জিনিসের মাঝে আছি তবে আপনার প্রশ্নটি স্পষ্ট করে তুলেছি। গ্লোবাল মলমার – সেরেনসেন গেটগুলি 2 কুইবিট গেট, এবং কাগজটি দক্ষ কোয়ান্টাম সার্কিট নির্মাণে বৈশ্বিক মিথস্ক্রিয়া ব্যবহারের বর্ণনা দেয়: "তিনটি জিএমএস গেট ব্যবহার করে সিসিসিজেড গেটের অনুকূলিতকরণ", চিত্র 9 দেখুন, আপনি যদি উত্তরটি লিখতে স্বাগত হন তবে তা যদি উত্তর দেয় তবে সহায়ক।
রব

ছবিতে প্রতিনিধিত্ব মাত্র 4 CCNOTs, তাই 63 গেটস পরিবর্তে 93 প্রয়োজন
Dyon জে ডন কিউই ভ্যান Vreumingen

@ দনকিউই, উল্লেখ! 6 এর পরিবর্তে 4 টি সিসিএনওটি আমি এখনই এটি আপডেট করছি।
ব্যবহারকারী 1271772

1
@ রব: আপনি দু'জন হাদামার্ডস ব্যবহার করে সিসিসিএক্সএক্স এক্সকে সংযুক্ত করার পরামর্শ দিচ্ছেন বলে মনে হচ্ছে। তারপরে সিসিসিএক্স ঠিক উপরের নীলসন এবং চৌং সার্কিটের মতোই পচে যেতে পারে। এটা কি ঠিক? ডনকিউইয়ের প্রশ্নের আমার দ্বিতীয় উত্তরে আমি এই জাতীয় কিছু করেছি। মনে হচ্ছে আপনার মন্তব্যটি আমি ঠিক উত্তরটি টাইপ করার সাথে সাথে এসেছি, যেহেতু তারা 5 মিনিট দূরে (এবং এটি টাইপ করতে আমার 5 মিনিটেরও বেশি সময় লেগেছিল)। "স্বয়ংক্রিয় সংকলন" সম্পর্কে এই প্রশ্নটি এখনও দাঁড়িয়ে আছে, কারণ "সুস্পষ্ট উপায়ে" একটি সার্কিট নির্মাণ করতে সক্ষম হওয়া ভাল হবে এবং তারপরে স্বয়ংক্রিয়ভাবে আরও কার্যকর কিছুতে সংকলন করা ভাল।
ব্যবহারকারী 1271772

1
@ ব্যবহারকারী 1271772 - প্রতিটি (কো) বিট সাহায্য করে।
রব

উত্তর:


6

যাক মৌলিক গেটস আপনার ব্যবহারের জন্য অনুমতি দেওয়া হয় হও। এই এবং ইত্যাদির জন্য পৃথক হিসাবে বিবেচনা করা হয়। সুতরাং বহুবর্ষগতভাবে উপর নির্ভরশীল , কোয়েটের সংখ্যা। সুনির্দিষ্ট নির্ভরতা দরজা বিশৃঙ্খলভাবে আপনি ব্যবহার এবং কিভাবে বিবরণ জড়িত -local তারা হয়। উদাহরণস্বরূপ, সেখানে যদি একক qubit গেটস এবং 2-qubit দরজা যে মত অর্ডার উপর নির্ভর করে না তারপর ।g1gMCNOT12CNOT13MnkxyCZM=xn+(n2)y

একটি সার্কিট তখন কোনও ক্রমে সেই জেনারেটরের একটি পণ্য। তবে একাধিক সার্কিট রয়েছে যা কিছুই করে না। ভালো লেগেছে । সুতরাং যারা গ্রুপে সম্পর্ক দেয়। এটি হ'ল এটি একটি গোষ্ঠী উপস্থাপনা যেখানে এমন অনেক সম্পর্ক রয়েছে যা আমরা জানি না।CNOT12CNOT12=Id g1gMR1

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

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

উদাহরণস্বরূপ, যদি তিনটি জেনারেটর এবং শব্দ , কিন্তু আমরা সাথে মোকাবিলা করতে চান না , আমরা হবে পরিবর্তে কমান এবং করার এবং । এরপরে আমরা তাদের আবার একসাথে এবং এটি মূল শব্দের সংক্ষিপ্তকরণ।aababbacbbabacw1=aababbaw2=bbabaw^1w^2w^1cw^2

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

গোষ্ঠীটি কোনও ফ্রি গোষ্ঠী নয় তবে তারপরে আপনি যদি a একটি সম্পর্ক হিসাবে তবে আপনি বিনামূল্যে পণ্যটি পাবেন এবং পূর্ববর্তী থেকে পরবর্তী প্রতিটি খণ্ডের মডুলো -এর সংখ্যা হ্রাস করার জন্য একটি ।g1g2g12=id Z2Zg12

আমরা যে সম্পর্কগুলি ফেলে দিই তা এমন হবে যে উপরের এক তলায় (ভাগফলের মানচিত্রের উত্স) নকশার সাহায্যে স্বয়ংক্রিয় হবে। যদি আমরা কেবল সেই সম্পর্কগুলিকেই ব্যবহার করি যা এই শব্দটি টিকে আছে এবং সংক্ষিপ্ত করে রাখে, তবে এটি ভাগফল গোষ্ঠীর জন্য এখনও একটি ছোট শব্দ হবে। এটি কেবলমাত্র ভাগফল গ্রুপের জন্য উপযুক্ত হবে না (ভাগফলের মানচিত্রের লক্ষ্য), তবে এটির দৈর্ঘ্য- এটি শুরু হবে length

এটাই ছিল সাধারণ ধারণা, আমরা কীভাবে এটিকে একটি নির্দিষ্ট অ্যালগরিদমে রূপান্তর করতে পারি?

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

উদাহরণস্বরূপ, ধরুন আপনার কাছে আইবিএম কনফিগারেশন রয়েছে । তারপরে অনুমোদিত গেট। আপনি যদি কোনও সাধারণ ক্রিয়াকলাপ করতে চান তবে এটিকে ফ্যাক্টরগুলিতে বিভক্ত করুন । গ্রুপ যা আমরা ছোট করতে চাই ।s01,s02,s12,s23,s24,s34si,i+1s01,s02,s12,s23,s24,s34R1

মনে রাখবেন যে এগুলি স্ট্যান্ডার্ড জড়িত থাকতে হবে না। আপনি উদাহরণস্বরূপ ছাড়াও throw এ ফেলে দিতে পারেন । চিন্তা করুন Gottesman-Knill উপপাদ্য , কিন্তু একটি বিমূর্ত পদ্ধতিতে উপায়ে এটি সর্বজনীন করা আরো সহজ হবে। যেমন সংক্ষিপ্ত নির্ভুল ক্রমের অধীনে সম্পত্তিটি ব্যবহার করা, যদি আপনার কাছে উভয় পক্ষের সীমাবদ্ধ সম্পূর্ণ রাইটিং সিস্টেম থাকে, তবে আপনি মধ্য গ্রুপের জন্য একটি পাবেন। এই মন্তব্যটি বাকী উত্তরের জন্য অপ্রয়োজনীয়, তবে আপনি কীভাবে উত্তরটির উত্তরগুলি থেকে আরও সাধারণ উদাহরণ তৈরি করতে পারেন তা দেখায়।R(θ)XR(θ)1X

যে সম্পর্কগুলি রাখা হয় কেবল সেগুলি । এটি একটি কক্সেটর গ্রুপ দেয় এবং এটি স্বয়ংক্রিয়। প্রকৃতপক্ষে, আমাদের এই স্বয়ংক্রিয় কাঠামোর জন্য আলগোরিদিম কোড পর্যন্ত শুরু থেকে শুরু করতে হবে না। এটি ইতিমধ্যে সেজে প্রয়োগ করা হয়েছে (পাইথন ভিত্তিক) সাধারণ উদ্দেশ্যে। আপনাকে যা করতে হবে তা হ'ল নির্দিষ্ট করতে হবে এবং এর ইতিমধ্যে বাকি বাস্তবায়ন সম্পন্ন হয়েছে। আপনি তার উপরে কিছু স্পিডআপ করতে পারেন।(gigj)mij=1mij

mij of গেটগুলির লোকাল বৈশিষ্ট্যের কারণে গণনা করা সত্যিই সহজ। দরজা সর্বাধিক হন -local, তারপর এর গণনার একটি করা যাবে মাত্রিক হিলবার্ট স্থান। কারণ সূচকগুলি যদি ওভারল্যাপ না করে তবে আপনি জানেন যে । যখন এবং যাতায়াত করে তখন। আপনাকে কেবল প্রবেশের অর্ধেকেরও কম গণনা করতে হবে। এটি কারণ ম্যাট্রিক্স প্রতিসাম্যযুক্ত, ত্রিভুজটিতে (গুলি ( )। এছাড়াও বেশিরভাগ এন্ট্রি কেবল জড়িত কুইটগুলির নাম পরিবর্তন করে রাখে যাতে আপনি যদি ক্রমটি জানেনkmij22k1mij=2mij=2gigjmij1(gigi)1=1(CNOT12H1) , আপনি আবার গণনা না করেই এর ক্রম জানেন ।CNOT37H3

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

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

যদি আপনি নিজে এটি পরীক্ষা করে দেখতে চান তবে হিসাবে জেনারেটরের সংখ্যা , যে র্যান্ডম শব্দের আপনি চেষ্টা করছেন তার দৈর্ঘ্যের এবং হিসাবে কক্সেটর ম্যাট্রিক্স দিন ।NKm

edge_list=[]
for i1 in range(N):
    for j1 in range(i):
        edge_list.append((j1+1,i1+1,m[i1,j1]))
G3 = Graph(edge_list)
W3 = CoxeterGroup(G3)
s3 = W3.simple_reflections()
word=[choice(list([1,..,N])) for k in range(K)]
print(word)
wTesting=s3[word[0]]
for o in word[1:]:
    wTesting=wTesting*s3[o]
word=wTesting.coset_representative([]).reduced_word()
print(word)

N=28এবং এর সাথে একটি উদাহরণ K=20, প্রথম দুটি লাইন হ'ল ইনপুট অবিশ্বস্ত শব্দ, পরের দুটি হ্রাস শব্দ। আমি আশা করি ম্যাট্রিক্সে প্রবেশের সময় আমি টাইপো তৈরি করিনি ।m

[26, 10, 13, 16, 15, 16, 20, 22, 21, 25, 11, 22, 25, 13, 8, 20, 19, 19, 14, 28]

['CNOT_23', 'Y_1', 'Y_4', 'Z_2', 'Z_1', 'Z_2', 'H_1', 'H_3', 'H_2', 'CNOT_12', 'Y_2', 'H_3', 'CNOT_12', 'Y_4', 'X_4', 'H_1', 'Z_5', 'Z_5', 'Y_5', 'CNOT_45']

[14, 8, 28, 26, 21, 10, 15, 20, 25, 11, 25, 20]

['Y_5', 'X_4', 'CNOT_45', 'CNOT_23', 'H_2', 'Y_1', 'Z_1', 'H_1', 'CNOT_12', 'Y_2', 'CNOT_12', 'H_1']

মত যারা জেনারেটর ফিরে ফেলে আমরা কেবল মত সম্পর্ক প্রতিহত করা এবং যে দরজা দিয়ে যাত্রা করার যে জড়িত না qubit । এটা আমাদের পচানি করতে পারবেন আগে থেকে আছে দীর্ঘ যতটা সম্ভব। আমরা মতো পরিস্থিতি এড়াতে চাই । (ক্লিফ + টি তে প্রায়শই টি-গণনা হ্রাস করার চেষ্টা করা হয়)। এই অংশের জন্য, নির্দেশিত অ্যাসাইক্লিক গ্রাফ নির্ভরতা দেখাচ্ছে যা গুরুত্বপূর্ণ। এটি ডাগের একটি ভাল টপোলজিকাল সাজানোর সমস্যা। এটি অগ্রাধিকার পরিবর্তন করে সম্পন্ন হয় যখন কোনওটির পরবর্তী কীটি ব্যবহার করতে হবে তার একটি পছন্দ থাকে। (আমি এই অংশটি খুব শক্ত করে অনুকূলকরণে সময় নষ্ট করব না))TiTin=1Tiiw1gi1w2gi2wkwiX1T2X1T2X1T2X1

শব্দটি ইতিমধ্যে অনুকূল দৈর্ঘের নিকটে থাকলে, করার মতো অনেক কিছুই নেই এবং এই পদ্ধতিটি কোনও সাহায্য করবে না। তবে এটি যা খুঁজে পায় তার সর্বাধিক প্রাথমিক উদাহরণ হিসাবে যদি আপনার একাধিক ইউনিট থাকে এবং আপনি ভুলে গিয়েছিলেন যে শেষে একটি এবং পরের শুরুতে ছিল, এটি এই জুটি থেকে মুক্তি পাবে। এর অর্থ আপনি বৃহত্তর আত্মবিশ্বাসের সাথে সাধারণ রুটিনগুলিকে ব্ল্যাক বক্স করতে পারেন যে আপনি যখন এগুলি একসাথে রাখবেন তখন সেই স্পষ্ট বাতিলগুলি সমস্তই যত্ন নেওয়া হবে। এটি অন্যদের মতো করে যা স্পষ্ট নয়; যারা ।HiHimij1,2


+1 !!! লোটের বিস্তারিত! আমি এটি পড়ছি :)
ব্যবহারকারী 1271772

1
@ হুসেইন, আমার প্রশ্নের "নিষ্পাপ" সিসিসিজেড নির্মাণে এটি প্রয়োগ করা উদাহরণের মাধ্যমে কাজ করা কি খুব কম সংখ্যক গেট দিয়ে শেষ করা সম্ভব? সিসিসিজেড সম্পর্কে মূল প্রশ্নের এখন 6 টি উত্তর রয়েছে এবং তাদের অনেকের গেটের সংখ্যা অনেক কম। আমি ভাবছি গেট কাউন্টের জন্য আপনার পদ্ধতির কী দেবে।
ব্যবহারকারী 1271772

4

কার্যপ্রণালী বর্ণিত ব্যবহার https://arxiv.org/abs/quant-ph/0303063 1 , কোনো তির্যক গেট - কোনো এইভাবে বিশেষ করে CCCZ গেট - যেমন CNOTs শর্তাদি এবং এক-qubit তির্যক ফটকগুলোতে পচে যায় যেখানে সিএনওটিগুলি ক্লাসিকাল অপ্টিমাইজেশান পদ্ধতি অনুসরণ করে তাদের নিজেরাই অনুকূলিত করা যায়।

রেফারেন্সটি স্বেচ্ছাচারী তির্যক 4-কুইট গেটের জন্য 16 সিএনটি ব্যবহার করে একটি সার্কিট সরবরাহ করে (চিত্র 4)।


মন্তব্য: যদিও নীতিগতভাবে একটি সরল সার্কিট থাকতে পারে (বলেন যে সার্কিট আরও সীমাবদ্ধ সার্কিট আর্কিটেকচারকে সামনে রেখে অনুকূলিত হয়েছে) তবে এটি সর্বোত্তমের কাছাকাছি হওয়া উচিত - সার্কিটটিকে ফর্মের সমস্ত রাজ্য তৈরি করতে হবে form কোনও অ-তুচ্ছ সাবসেট for এর জন্য , এবং 4 টি ক্যুবিটের জন্য তাদের মধ্যে 15 রয়েছে।iIxiI{1,2,3,4}

আরও লক্ষ করুন যে কোনওভাবেই এই নির্মাণকে সর্বোত্তম হওয়া প্রয়োজন needs


1 দ্রষ্টব্য: আমি একজন লেখক


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