คอมพิวเตอร์ควอนตัมสามารถกำหนดเวลาการผสมของกลุ่มลูกบาศก์ของรูบิคได้อย่างง่ายดายหรือไม่?


13

เจ้าหน้าที่ในทัวร์นาเมนต์คิวบ์ของ Rubik ใช้สองวิธีที่แตกต่างกันในการตรวจสอบคิวบ์ ปัจจุบันพวกเขาทำลายก้อนออกจากกันและรวมกันอีกครั้ง cubies ในการสุ่มของรูบิคคิวบ์กลุ่มGก่อนหน้านี้พวกเขาจะใช้การสุ่มลำดับของ Singmaster ย้ายRG กรัมU , D , F , B , L , R πGGgU,D,F,B,L,R

อย่างไรก็ตามความยาวของคำ - จำนวนของการเคลื่อนไหวแบบสุ่มจำเป็นเพื่อที่จะได้อย่างเต็มที่แย่งก้อนดังกล่าวว่าแต่ละพีชคณิตเป็นประมาณเท่า ๆ กันน่าจะเกิดขึ้น - ไม่เป็นที่รู้จักในปัจจุบัน แต่จะต้องเป็น อย่างน้อย 20 ความยาวเสื้อสามารถเรียกเวลาผสมของสุ่มเดินบนกราฟเคย์ลีของกลุ่มลูกบาศก์รูบิคที่สร้างขึ้นโดยย้าย Singmaster \ langle U, D, F, B, L, RtgG=43,252,003,274,489,856,000 20tU,D,F,B,L,R

คอมพิวเตอร์ควอนตัมจะมีข้อได้เปรียบใด ๆ ที่จะกำหนดเวลาการผสมtของกลุ่มลูกบาศก์รูบิค?

ฉันคิดว่าเราสามารถมีลำดับของ Hadamard ที่ชาญฉลาดในการสร้าง register |Aเป็นรูปแบบการทับซ้อนเหนือGรูปแบบ จึงใช้ลำดับใด ๆ ของการเคลื่อนไหวเพื่อ Singmaster |Aไม่เปลี่ยนแปลง|A\

ถ้าเรามีการคาดเดาtเป็นสิ่งที่ผสมเวลาtคือเรายังสามารถสร้างการลงทะเบียนอีก|Bเป็นซ้อนเครื่องแบบทุกคำ Singmaster ของความยาวtและเงื่อนไขใช้แต่ละคำดังกล่าวไปยังรัฐที่ได้รับการแก้ไข|A , เพื่อหวังว่าจะได้สถานะ|B|Aเช่นนั้น, ถ้าเราวัด|A , Gการกำหนดค่าแต่ละอันมีแนวโน้มเท่ากันที่จะวัดได้ ถ้าt<tเราจะไม่เดินไปตามกราฟ Cayley ของGนานพอและถ้าเราต้องวัด|Aการกำหนดค่าที่ "ใกล้ชิด" กับสถานะที่แก้ไขจะมีแนวโน้มมากกว่า บางคนฉลาดฟูริเยร์เหมือนเปลี่ยนใน|Bอาจจะสามารถที่จะวัดว่าสม่ำเสมอกระจาย|Aมี

สำหรับฉันแล้วฉันรู้สึกว่าคอมพิวเตอร์ควอนตัมอาจทำได้ดี ตัวอย่างเช่นถ้าไม่ได้ผสมกันโดยทุกคำในดังนั้นการกำหนดค่าบางอย่างก็มีแนวโน้มมากกว่าคนอื่นเช่นนั้น "คงที่" มากกว่า; ในขณะที่ถ้าได้รับการผสมอย่างเต็มที่จากการเดินทั้งหมดนั้น "สมดุล" มากกว่า แต่ความรู้ของฉันเกี่ยวกับอัลกอริทึมควอนตัมและเชนมาร์คอฟนั้นไม่แข็งแรงพอที่จะไปให้ไกลได้|A|B|A|A |A


แก้ไข

เปรียบเทียบคำถามนี้กับปัญหาการตรวจสอบควอนตัมโบว์

ในการตรวจสอบควอนตัมนอตผู้ค้าจะได้รับเหรียญควอนตัมเป็นสถานะของนอตทั้งหมดที่มีค่าคงที่โดยเฉพาะ เพื่อตรวจสอบเหรียญควอนตัมเธอใช้ Markov chainเพื่อเปลี่ยนให้กับตัวเอง (ถ้าเป็นเหรียญที่ถูกต้อง) เธอต้องใช้ลูกโซ่มาร์คอฟนี้และวัดผลลัพธ์อย่างน้อยครั้ง แต่อย่างอื่นเธอมี ไม่มีวิธีสร้างด้วยตัวเธอเอง (เกรงว่าเธอจะปลอมเหรียญ) ดังนั้นถ้าเธอได้รับเหรียญที่ถูกต้องเธอจะได้รับสถานะที่เธอไม่สามารถผลิตได้เองพร้อมกับลูกโซ่มาร์คอฟ เมทริกซ์และเธอคงจะรู้ผสมเวลา|KM|Kt|KMt; เธอต้องการทดสอบว่านั้นถูกต้อง|K

ในคำถามปัจจุบันมันค่อนข้างง่ายที่จะสร้างของการเปลี่ยนรูปลูกบาศก์ของรูบิคทั้งหมด วงจรควอนตัมที่สอดคล้องกับห่วงโซ่มาร์คอฟเรียกมันว่าจากการเคลื่อนไหวของซิงเกอร์ก็น่าจะสร้างได้ง่าย อย่างไรก็ตามเวลาในการผสมนั้นเป็นที่รู้จัก|RCSt

คำตอบ:


6

มันเป็นคำถามที่น่าสนใจซึ่งดีกว่าที่สุด "มีอัลกอริธึมควอนตัมสำหรับ x หรือไม่" คำถาม ฉันไม่รู้อัลกอริทึมควอนตัมที่มีอยู่ ให้ฉันอธิบายสิ่งที่ฉันคิดว่าจะเป็นความพยายามครั้งแรกโดยทั่วไปและสาเหตุที่ล้มเหลว ในตอนท้ายฉันจะอธิบายสองสิ่งที่อาจนำไปสู่การปรับปรุงบางอย่าง

ความพยายามครั้งแรกที่อัลกอริทึม

สมมติว่าผมต้องการที่จะทดสอบโดยเฉพาะอย่างยิ่งการผสมเวลาทีฉันจะสร้างหนึ่งทะเบียนเพื่อให้มีพื้นที่ทำงานเพียงพอที่จะเก็บการกำหนดค่าที่เป็นไปได้ของคิวบ์ Rubik สถานะเริ่มต้นของสิ่งนี้คือสถานะผลิตภัณฑ์ที่สอดคล้องกับสถานะเริ่มต้นของคิวบ์tRC

แล้วฉันจะทำลงทะเบียน Ancilla,เพื่อÃ_tแต่ละเหล่านี้มีขนาดเท่ากันกับจำนวนของการเคลื่อนไหวที่เป็นไปได้ของซิงเกิ้ล แล้วสำหรับแต่ละเราใช้การควบคุมรวมจากจะที่ลงทะเบียนระบุซึ่ง Singmaster ย้ายถูกนำไปใช้ในRCtA1Ati=1,tAiRCAiRC

หลังจากทั้งหมดนี้ถ้าเราแค่ดูมันควรจะอยู่ในสถานะผสมสูงสุดหากการผสมเกิดขึ้นตามที่ต้องการ ปัญหาคือวิธีการทดสอบว่าเอาต์พุตนี้เป็นสถานะผสมสูงสุดหรือไม่ มีเทคนิคที่มีประโยชน์เช่นนี้แต่เราต้องการความแม่นยำอะไร (เช่นมีการทำซ้ำกี่ครั้ง) เราต้องการประมาณเพื่อให้แน่ใจว่าฉันคิดว่าRC|A|t

ในความเป็นจริงวิธีการทำสิ่งนี้มันแย่พอ ๆ กับการทำแบบคลาสสิก: คุณสามารถแทนที่สถานะเริ่มต้นของแต่ละด้วยและจะไม่เปลี่ยนผลลัพธ์ . แต่นี่ก็เหมือนกับการเลือกสุ่มทุกครั้งและรันหลาย ๆ ครั้งเพื่อตรวจสอบการกระจายสัญญาณที่ถูกต้องAiI/2|Ai|

การปรับปรุงที่เป็นไปได้

  • ทำงานตามที่ฉันอธิบายไว้เมทริกซ์ความหนาแน่นเอาต์พุต (บน ) ต้องเป็นเส้นทแยงมุม นั่นหมายความว่าการทับซ้อนอย่างสม่ำเสมอในทุกสถานะพื้นฐานเป็นไอเก็นสเตทหากระบบผสมกันมากที่สุดเท่านั้น ถ้าหากฉันสามารถรวมการสังเกตนี้กับแอมพลิจูดแอมพลิจูดบางประเภทเพื่อเพิ่มความเร็วได้ โปรดทราบว่าจะสร้างความแตกต่างอย่างรวดเร็วจากหากสถานะไม่ใช่ eigenvectorρRC|uρk|u|u

  • นอกเหนือจากนั้นคุณอาจต้องทำสิ่งที่ชาญฉลาดขึ้นกับการลงทะเบียน ancilla มีความหวังบางอย่างที่อาจเป็นไปได้เพราะมีโครงสร้างกลุ่มจำนวนมากที่สร้างขึ้นในลูกบาศก์ของรูบิค สิ่งหนึ่งที่คุณอาจจะพยายามที่จะดูว่าคุณสามารถแทนที่ทั้งหมดลงทะเบียน Ancilla กับทะเบียนเพียงครั้งเดียวใช้ประตู Hadmard ในคิวบิตของการลงทะเบียนทุกคนในระหว่างแต่ละรอบของการควบคุม unitaries อาจเป็นได้ว่าทั้งหมดนี้ทำให้คุณประหยัดประสิทธิภาพในแง่ของจำนวน qubits เทียบกับข้อเสนอแนะดั้งเดิมของฉัน มันอาจไม่ทำเช่นนั้นt

ไม่ว่าจะเป็นงานเหล่านั้นโดยตรงฉันไม่รู้ ถึงกระนั้นฉันคิดว่าหลักการสำคัญคือการหาโครงสร้างกลุ่มที่มีประโยชน์บางอย่างและหาวิธีที่การขยายแอมพลิจูดสามารถนำไปใช้ได้

คุณอาจพบว่ามันมีประโยชน์ในการอ่านข้อมูลเกี่ยวกับการออกแบบรวม นี่เป็นปัญหาที่แตกต่างอย่างแน่นอนจากสิ่งที่เรากำลังพูดถึงที่นี่ แต่เครื่องมือทางเทคนิคบางอย่างอาจมีประโยชน์ ประมาณพูดความคิดที่ว่าชุดของ unitariesเป็น -Design ถ้าสมัครแบบสุ่มของ unitaries เหล่านี้ช่วยให้หนึ่งจำลองรวมสุ่มอย่างแท้จริง (มาจาก Haar วัด) ฟังก์ชั่นการส่งออกซึ่งใช้เมื่อขยาย ซีรีส์เทย์เลอร์มีขึ้นที่ถูกต้องในระดับทีการเชื่อมต่อโดยประมาณที่นี่คือถ้าคุณใช้หน่วยที่แสดงลำดับของ Singmaster ย้ายเป็นมันจะเพียงพอถ้าชุดนี้มี 2 แบบ (ถ้าคุณได้รับ{U}tftt{U}Tr(ρ2)ถูกต้องเสร็จแล้ว)


แต่คุณจำเป็นต้องทดสอบเสมอว่ามันผสมหรือไม่ อาจเป็นประโยชน์ครั้งเดียวที่ต้องทำเพื่อให้แน่ใจว่ากระบวนการของคุณใช้งานได้ แต่ไม่จำเป็นในแต่ละครั้งใช่ไหม
Steven Sagona

2
แต่นั่นเป็นจุดรวมของอัลกอริทึม! คุณต้องการพิจารณาว่าสำหรับเลือกระบบจะผสมกันมากที่สุดหรือไม่ ถ้าใช่นั้นคือขอบเขตบนของเวลาผสม tt
DaftWullie

1
ขออภัยฉันอ่านคำถามผิด ฉันคิดว่ามันจะเห็นว่าคุณได้รับความเร็วในการต่อสู้เวลา
Steven Sagona

1
ฉันคิดว่าคุณถูกต้องแล้วว่า "หลักการสำคัญคือการหาโครงสร้างกลุ่มที่มีประโยชน์บางอย่างและหาวิธีที่จะใช้แอมพลิจูดแอมพลิจูด" กลุ่มลูกบาศก์ของรูบิคมีชื่อเสียงที่ไม่ใช่ผู้มีชื่อเสียง (ไม่อย่างนั้นมันคงไม่ใช่เรื่องยากเลยที่จะไขปริศนา) ดังนั้นจึงอาจไม่มีความช่วยเหลือเกี่ยวกับวรรณกรรมของ HSP แต่กลุ่มที่ได้รับการอย่างละเอียดการศึกษา
Mark S

4

(CW เพื่อหลีกเลี่ยงพนักงานจากการตอบด้วยตนเอง)

มีอาจจะเป็นวิธีที่โต้ตอบสำหรับทั้งสองฝ่ายเพื่อทำการในค่าของต่อไปนี้ขึ้นอยู่กับคำตอบ @ DaftWullie และความคิดเห็นของ @Steven Sagona พิธีการของฉันไม่ดี แต่ฉันหวังว่าความคิดจะผ่าน ...t

ตัวอย่างเช่นเรียกทั้งสองฝ่ายอลิซและบ๊อบ ฝ่ายต่างๆต้องร่วมมือกันและประพฤติตนอย่างซื่อสัตย์ตามพิธีสาร

อลิซรู้วิธีการเตรียมความพร้อมทั้งสองรัฐและ\ ที่นี่เป็นชุดซ้อนทับชุดลูกบาศก์ของรูบิคทั้งหมดและเป็นสถานะลิงอื่นที่มีจำนวน qubits เท่ากัน (เช่นสถานะที่สอดคล้องกับลูกบาศก์ของรูบิคที่แก้ไขแล้วหรือชุดซ้อนกัน ในกลุ่มย่อยขนาดใหญ่ของ ) บ๊อบรู้วิธีนำเมทริกซ์ไปใช้กับสถานะควอนตัมโดยที่สอดคล้องกับขั้นตอนเดียวของการย้ายนักร้องทั้งหมด|A0|A1|A0|A1GMM

Alice และ Bob ต้องการที่จะแสดงให้เห็นว่าการผสมเวลาของกลุ่มลูกบาศก์รูบิคภายใต้การเคลื่อนไหว Singmaster ที่มากที่สุดRAlice และ Bob ซ้ำต่อไปนี้ครั้งtrs

  1. อลิซพลิกเหรียญและมอบให้กับ Bobi{0,1}|Ai
  2. บ๊อบซ้ำครั้งเพื่อใช้กับและวัดโปรเจ็กเตอร์ในแต่ละครั้งrM|Ai
  3. ถ้าโปรเจ็กเตอร์เป็นสำหรับแต่ละซ้ำแล้วบ๊อบกล่าวว่า 0 ถ้าโปรเจ็กเตอร์ที่ไม่ได้เป็นเป็นเวลาอย่างน้อยหนึ่งในซ้ำแล้วบ๊อบบอกว่าอลิซเป็น 11ri=01ri=1

ถ้าแล้วแต่ละบ๊อบซ้ำในขั้นตอนที่ 2 ไม่เปลี่ยนแปลง - เพราะโดยความหมายเป็น eigenstate ของเมทริกซ์ของบ๊อบและเมทริกซ์ของบ๊อบเพียง permutes รัฐในตัวเอง ถ้าแล้วรัฐลิงคือไม่ eigenstate ของโปรเจ็กบ๊อบและโอกาสที่จะไม่ได้วัดเติบโตอย่างรวดเร็วด้วยR i=0r|A0|A0i=1|A11r

ดังนั้นหากบ๊อบได้คาดการณ์ได้อย่างถูกต้องสำหรับซ้ำน่าจะเป็นของความสำเร็จที่เติบโตขึ้นชี้แจงกับและบ๊อบคือขนาดใหญ่พอที่จะแยกแยะรัฐลูกบาศก์รูบิคที่ถูกต้องจากรัฐลิงissr

ฉันไม่รู้ว่าต้องแยกจากมากแค่ไหน ฉันไม่ทราบด้วยว่าสามารถลบการโต้ตอบได้หรือไม่|A1|A0


2

เริ่มแรกให้พิจารณาการลงทะเบียนและผู้ประกอบการ

  1. registerซึ่งเข้ารหัสสถานะของคิวบ์ (เช่นการเปลี่ยนแปลงของ cube )|AG
  2. โอเปอเรเตอร์ซึ่งทำหน้าที่เพื่อแม็ป ketไปยังชุดเกราะทับทั่วฯ ;U|A|000G
  3. การลงทะเบียนซึ่งเข้ารหัสการวางตำแหน่งชุดหนึ่งของการย้าย Singmaster เพื่อนำไปใช้กับตำแหน่งที่กำหนด (เช่นการทับซ้อนของคำของ Singmaster การเคลื่อนที่ของความยาว );|B=|b1|b2|bkk
  4. ตัวดำเนินการและซึ่งทำหน้าที่เพื่อแมป ket ทั้งหมดไปที่การซ้อนของรูปทั้งหมดคำของ Singmaster ย้ายความยาว (และในทางกลับกัน); และVV1|B|00018kk
  5. ตัวควบคุม (ควบคุม)ซึ่งใช้ Singmaster moveกับตำแหน่งคิวบ์ที่กำหนดWb

หากมีการทับซ้อนในเครื่องแบบกว่าองค์ประกอบทั้งหมดของแล้วอยู่ใน eigenstate ของและการประยุกต์ใช้ซ้ำของจะไม่ถูกเตะกลับไปส่งผลกระทบต่อB|AG|AWW|B

วงจรที่ไม่เปลี่ยนสภาพ

นั่นคือควรกลับในวงจรข้างต้นไปยังทุก zeroes เกตุ0V1|B|000

แต่เท่าที่สังเกต @DaftWullie ถ้าเป็นไม่ได้ใน eigenstate แล้วความแตกต่างระหว่างและสร้างขึ้นอย่างรวดเร็ว - ผมเชื่อว่าความเร็วที่ ความแตกต่างนี้สร้างขึ้นอย่างแม่นยำขึ้นกับคุณสมบัติการผสมของผู้ปฏิบัติงานที่สนใจ|u|uρk|u

ดังนั้นถ้าเราสามารถจัดเตรียมสถานะที่ถูกรบกวนจากการกระจายที่เหมือนกันนั้นไม่ใช่ eigenstate การใช้ซ้ำของจะสร้างความแตกต่างอย่างรวดเร็วและอาจไม่ใช่ all-zeroes ket|A|AW V1|B

วงจรที่แก้ไขแล้วแสดงวิธีการที่ดีกว่า

ถ้าเรามีฟังก์ชั่นทำหน้าที่และคำตอบ qubitที่กำหนดให้พูดว่ามีแฮชตำแหน่งลูกบาศก์รูบิคน้อยกว่าขีด จำกัดและเราใช้นี้เพื่อควบคุมการหมุนของจากนั้นฉันเชื่อว่าใน วงจรข้างต้นจะไม่อ่านค่าศูนย์ทั้งหมดและอาจเบี่ยงเบนจากค่าศูนย์ทั้งหมดในลักษณะขึ้นอยู่กับและเวลาการผสมของกลุ่มลูกบาศก์รูบิคกับชุดสร้าง SingmasterF|A|C{0,1}log2G(0,1)δF|AV1|Bδ

นั่นคือฉันคาดว่าการวัดในวงจรด้านบนจะอ่าน หรืออะไรที่คล้ายกันโดยที่ดัชนีของแรกขึ้นอยู่กับเวลาในการผสมและธรณีประตูเท่านั้น|B|000000001011011δ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.