ให้เราสมมติว่าเรามีควอนตัมและคอมพิวเตอร์แบบคลาสสิกเช่นนั้นการทดลองการดำเนินการเชิงตรรกะเบื้องต้นของการแยกตัวประกอบทางคณิตศาสตร์แต่ละครั้งนั้นมีค่าใช้จ่ายเท่า ๆ กันในคลาสสิกและในการแยกตัวประกอบควอนตัม: หนึ่ง?
ให้เราสมมติว่าเรามีควอนตัมและคอมพิวเตอร์แบบคลาสสิกเช่นนั้นการทดลองการดำเนินการเชิงตรรกะเบื้องต้นของการแยกตัวประกอบทางคณิตศาสตร์แต่ละครั้งนั้นมีค่าใช้จ่ายเท่า ๆ กันในคลาสสิกและในการแยกตัวประกอบควอนตัม: หนึ่ง?
คำตอบ:
ส่วนควอนตัมของอัลกอริทึมของชอร์คือโดยพื้นฐานแล้วการยกกำลังแบบแยกส่วนเดียวทำได้ภายใต้การซ้อนทับตามด้วยการแปลงฟูริเยร์และการวัด การยกกำลังแบบแยกส่วนเป็นส่วนที่แพงที่สุด
ให้เราสมมติว่า [... ] การดำเนินการเชิงตรรกะในระดับประถมศึกษาของการแยกตัวประกอบทางคณิตศาสตร์มีค่าใช้จ่ายเท่ากันในคลาสสิกและในการแยกตัวประกอบเชิงควอนตัม
หากเราสมมติว่าการยกกำลังแบบแยกส่วนนั้นใช้เวลานานเท่ากันในคอมพิวเตอร์ควอนตัมเหมือนกับในคอมพิวเตอร์คลาสสิคแล้วการเปลี่ยนตำแหน่งที่การคำนวณควอนตัมดีขึ้นจะเกิดขึ้นในจำนวนที่น้อยมาก การคำนวณการยกกำลังแบบแยกส่วนนั้นรวดเร็วและคลาสสิกเพราะคุณสามารถใช้การยกกำลังสองซ้ำได้ ฉันจะประเมินครอสโอเวอร์ที่เกิดขึ้นก่อนที่คุณจะได้ตัวเลข 30 บิต (ตัวเลขมากกว่าหนึ่งพันล้าน)
แต่คอมพิวเตอร์ควอนตัมจะไม่ได้ไปทำคณิตศาสตร์เกือบเร็วที่สุดเท่าที่เครื่องคอมพิวเตอร์ที่คลาสสิก ตัวอย่างเช่นบนแล็ปท็อปของฉันฉันสามารถทำการยกกำลังแบบแยกส่วน 1000 บิตในไพ ธ อนได้ในเสี้ยววินาที แต่สำหรับคอมพิวเตอร์ควอนตัมที่คาดการณ์ได้อาจใช้เวลาหลายชั่วโมงหรือหลายวัน ปัญหาคือความแตกต่างขนาดใหญ่ ( มาก ) ในราคาของประตู AND
สมมติว่าเราได้รับล้านสถานะต่อวินาทีและเราต้องการแปลงสิ่งนี้เป็นอัตราการเพิ่ม 64 บิตเพื่อเปรียบเทียบกับเครื่องจักรแบบดั้งเดิม การเพิ่ม 64- บิตต้องใช้ 64 และประตูแต่ละครั้งต้องมี 4 ประตู 1 ล้านหารด้วย 4 หารด้วย 64 ให้ ... ประมาณ 4KHz สำหรับความคมชัดเครื่องคลาสสิคจะทำการเพิ่มพันล้านต่อวินาทีได้อย่างง่ายดาย Quantum Adders นั้นช้ากว่า Adders แบบดั้งเดิมถึงหนึ่งล้านเท่า (คาดประมาณอีกครั้งอย่างดุเดือดและโปรดจำไว้ว่าตัวเลขนี้ควรปรับปรุงตลอดเวลา)
ปัจจัยที่ควรพิจารณาอีกประการหนึ่งคือค่าใช้จ่ายที่แตกต่างกันของควอนตัมและคอมพิวเตอร์แบบดั้งเดิม หากคุณมีหนึ่งร้อยล้านดอลลาร์และคุณเลือกระหว่างคอมพิวเตอร์ควอนตัมหนึ่งเครื่องกับคอมพิวเตอร์คลาสสิคหนึ่งพันเครื่องคุณจะต้องคำนึงถึงปัจจัย 1,000 รายการ ในแง่นี้เราสามารถพูดได้ว่าผู้เพิ่มควอนตัมมีประสิทธิภาพน้อยกว่าหนึ่งพันล้านเท่าของผู้เพิ่มแบบดั้งเดิม (ใน FLOPS / $)
การลงโทษปัจจัยที่คงที่เป็นพันล้านโดยปกติแล้วเป็นตัวจัดการข้อตกลงทันที และสำหรับอัลกอริทึมควอนตัมที่มีความได้เปรียบกำลังสองเท่านั้น (เช่น Grover) ฉันขอยืนยันว่าในความเป็นจริงแล้วตัวจัดการข้อตกลง แต่อัลกอริทึมของ Shor ดีขึ้นอย่างมากเมื่อเทียบกับกลยุทธ์แบบคลาสสิกเมื่อคุณเพิ่มจำนวนบิตในจำนวนที่จะคำนึงถึง กี่บิตก่อนที่เราจะกินไปที่ "เลวทรามต่ำช้า" 10 ^ 9 คงที่ด้วยการเติบโตแบบเลขชี้กำลังของเราในความได้เปรียบ?
พิจารณาว่าRSA-640 ได้รับความนิยมในปี 2005 โดยใช้ ~ 33 CPU ปี คอมพิวเตอร์ควอนตัมน่าจะสามารถทำตัวเลขนั้นได้ในเวลาไม่ถึงวัน หากคุณมีคอมพิวเตอร์คลาสสิคนับพันที่สามารถแก้ไขปัญหาได้พวกเขาจะเสร็จสิ้นภายในสองสัปดาห์ ดังนั้นดูเหมือนว่าควอนตัมจะชนะโดย 640 บิต แต่เพียงตามลำดับความสำคัญหรือสามเท่านั้น ดังนั้นบางทีการตัดออกจะเกิดขึ้นประมาณ 500 บิต?
อย่างไรก็ตามฉันรู้ว่านี่ไม่ใช่คำตอบที่ยากและรวดเร็ว แต่หวังว่าฉันจะสื่อความรู้สึกถึงปริมาณที่ฉันคิดเมื่อเปรียบเทียบแบบดั้งเดิมกับควอนตัม ไม่มีใครรู้ถึงปัจจัยที่เกี่ยวข้องอย่างต่อเนื่องดังนั้นฉันจะประหลาดใจถ้าใครสามารถให้การประมาณที่เหมาะสมกับคุณมากกว่า "ที่ไหนสักแห่งในหลายร้อยบิต"
ดังที่ฉันได้กล่าวถึงในความคิดเห็นคำตอบที่แม่นยำมากน่าจะขึ้นอยู่กับตัวเลือกทางเทคนิคจำนวนมาก มีความเป็นไปได้ที่จะมีความสำคัญมากขึ้นในการประเมินลำดับความสำคัญและเพื่อการพิจารณาให้มากที่สุด
คำตอบนี้ไม่ได้ตั้งใจเป็นคำตอบที่ชัดเจน แต่เป็นขั้นตอนในทิศทางที่ถูกต้องโดยอ้างอิงถึงวรรณกรรมที่มีอยู่ (แม้ว่าจะยอมรับตอนนี้กว่าสิบปีโดยเฉพาะ):
Van Meter, Itoh และ Ladd พยายามเปรียบเทียบประสิทธิภาพของอัลกอริธึมของ Shor กับเทคโนโลยีการคำนวณที่มีประสิทธิภาพซึ่งทำหน้าที่ Number Field Sieve (อัลกอริทึมแบบดั้งเดิมที่รู้จักกันดีที่สุดสำหรับการแยกตัวประกอบ) ฉันไม่ได้มีเวลาที่จะดรายละเอียดของกระดาษ - คำตอบที่ดีกว่าอาจจะได้รับจากการทำเช่นนั้น - แต่รูปที่ 1 ของบทความนั้นช่วยให้เราสามารถประมาณตัวเลขที่สมเหตุสมผล:
ที่นี่เส้นโค้งที่สูงชันแสดงเวลาการคำนวณของเครือข่ายการคำนวณแบบดั้งเดิม ส่วนโค้งที่มีป้ายกำกับว่า 'NFS, 104 ชิ้น, 2003' ดูเหมือนจะบ่งบอกถึงการคำนวณ (และเวลาการคำนวณ) ของคอมพิวเตอร์ส่วนบุคคลหนึ่งร้อยสี่เครื่องในปี 2546 ตามรายงานโดย RSA Security Inc. ในปี 2004 [ http: //www.rsasecurity co.th / rsalabs / node.asp? id = 2096]
การดำเนินงานต่อวินาที การเปรียบเทียบสมมติฐานของอัลกอริทึมของชอร์จะต้องทำกับคอมพิวเตอร์ควอนตัมที่ทำงานด้วยความเร็วสัญญาณนาฬิกาที่เทียบเท่า
การเพิ่มจุดข้ามกับการคำนวณควอนตัมจากการคำนวณในปี 2546 ไปจนถึงการคาดการณ์หนึ่งครั้งในปี 2561 คิดเป็นเพิ่มความเร็วสัญญาณนาฬิกาที่ 1,000 เป็นปัจจัยประมาณ 5/3 จากสิ่งนี้เราสามารถประเมินได้ว่าข้อได้เปรียบด้านการคำนวณกับขนาดของตัวเลขที่สามารถแก้ไขได้อย่างรวดเร็วโดยคอมพิวเตอร์คลาสสิคเนื่องจากความเร็วที่เพิ่มขึ้นจากปัจจัย 200 เท่ากับ 7/6 จากนั้นเราสามารถประมาณได้ว่าจุดผ่านจุดหนึ่งของคอมพิวเตอร์คลาสสิค 1GHz ที่มี NFS พร้อมกับคอมพิวเตอร์ควอนตัม 1GHz ที่มีอัลกอริทึมของ Shor อยู่ที่ประมาณ 170 บิต
บรรทัดล่าง - คำตอบที่แม่นยำจะขึ้นอยู่กับสมมติฐานทางเทคนิคมากมายที่สามารถเปลี่ยนผลลัพธ์ที่แม่นยำอย่างมีนัยสำคัญดังนั้นจึงเป็นการดีกว่าที่จะหาการประมาณคร่าวๆ แต่คำถามนี้ได้รับการวิจัยอย่างน้อยหนึ่งครั้งก่อนหน้านี้และทำให้มีการสันนิษฐานและคาดการณ์เกี่ยวกับประสิทธิภาพตามประสิทธิภาพดั้งเดิมในปี 2546 ดูเหมือนว่าอัลกอริทึมของชอร์จะมีประสิทธิภาพสูงกว่าอัลกอริทึมแบบดั้งเดิมที่รู้จักกันดีที่สุด ประมาณ 170 บิต