แลกเปลี่ยนระหว่างเวลาและความซับซ้อนของแบบสอบถาม


18

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

ฉันอยากรู้เกี่ยวกับงานในวรรณกรรมคลาสสิกหรือควอนตัม แต่ให้ตัวอย่างจาก QC เนื่องจากฉันคุ้นเคยมากขึ้น

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

เนื่องจากอาจมีช่องว่างระหว่างเวลาและความซับซ้อนของแบบสอบถามจึงไม่ชัดเจนว่าอัลกอริทึมความซับซ้อนของเวลาที่เหมาะสมจะต้องมีความซับซ้อนของแบบสอบถามเช่นเดียวกับอัลกอริทึมความซับซ้อนของแบบสอบถามที่ดีที่สุด

มีตัวอย่างของการแลกเปลี่ยนระหว่างเวลาและความซับซ้อนของแบบสอบถามหรือไม่

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

หรือมีข้อโต้แย้งที่แสดงว่ามีอัลกอริธึมการสืบค้นที่ดีที่สุดแบบ asymptotically รุ่นที่มีการใช้งานกับความซับซ้อนของเวลาที่ดีที่สุดแบบ asymptotically หรือไม่?


คุณต้องการปัญหาธรรมชาติหรือปัญหาเทียมก็ใช้ได้หรือไม่?
Robin Kothari

2
ปัญหาธรรมชาติเป็นที่ต้องการ แต่ปัญหาเทียมดีกว่าไม่มีคำตอบ
Artem Kaznatcheev

คำตอบ:


9

นี่คือความพยายามในการสร้างฟังก์ชั่นประดิษฐ์ด้วยคุณสมบัติดังต่อไปนี้:

  • ปัญหาที่เกิดขึ้นสามารถแก้ไขได้ด้วยคำสั่ง แต่ต้องมีประสบการณ์( n )เวลาO(logn)exp(n)
  • ปัญหาสามารถแก้ไขได้ด้วยเวลาแต่ต้องมีการสอบถามO ( n )O(n)O(n)

ให้ขนาดการป้อนข้อมูลที่เป็น n ปล่อยให้คนแรกที่บันทึกnบิต (ขอเรียกสายนี้ x) เข้ารหัสการป้อนข้อมูลเพื่อที่สมบูรณ์ปัญหาสำหรับ EEXP ถัดไปnบิต (ขอเรียกสายนี้ y) มีคุณสมบัติว่าพวกเขาทั้งหมดเป็นศูนย์ถ้าหากว่า x เป็นเช่น NO ของปัญหา EEXP-สมบูรณ์n+lognlognn

ในคำแรกบิตเข้ารหัสปัญหาอย่างหนักและต่อไปnบิตให้เบาะแสเกี่ยวกับทางออกของปัญหาที่ แต่จะคิดออกวิธีการแก้ปัญหาโดยดูที่nสตริงบิตที่คุณทำΩ ( n )คำสั่งlognnnΩ(n)

ดังนั้นปัญหานี้สามารถแก้ไขได้โดยการอ่านอย่างใดอย่างหนึ่งเพียงครั้งแรกที่บิตและการใช้จ่าย exp (n) เวลาหรือโดยการอ่านnบิตและใช้เพียงเส้นเวลาlognn

ฟังก์ชั่นเดียวกันนี้ผ่านไปเพื่อความซับซ้อนในการสืบค้นควอนตัม .. ใส่เครื่องหมายรากที่สองตามความจำเป็น


7

อีกตัวอย่างสุดโต่งของโรบิน:

ให้ขนาดการป้อนข้อมูลที่เป็นกับครั้งแรกn - 1บิต (โทรสายนี้x ) เข้ารหัสเครื่องทัวริงT x แก้ไขบางฟังก์ชั่นF ( n ) ปล่อยให้บิตสุดท้ายของสตริงเป็น1 iff เครื่องทัวริงT xหยุดในขั้นตอนน้อยกว่าf ( n ) ปัญหาคือการตรวจสอบว่าT xหยุดในขั้นตอนน้อยกว่าf ( n )และความเท่าเทียมกันของxคือเท่ากันnn1xTxf(n)1Txf(n)Txf(n)x

n1O(f(n))nO(n)


คุณอาจหมายถึงว่าบิตสุดท้ายเป็นเช่นนั้นความเท่าเทียมกันของ x คือแม้ว่าเครื่องทัวริงจะหยุดทำงานในเวลา (มิฉะนั้นคำถามต้องใช้เพียงหนึ่งแบบสอบถาม;) นี่เป็นสิ่งที่ดีและสามารถปรับเปลี่ยนเพื่อให้การแยกประเภทใด ๆ ที่เราต้องการระหว่างเวลาและแบบสอบถาม พิจารณาฟังก์ชั่นและg ( n ) < nจากนั้นให้g ( n )บิตแรกของxเป็นคำอธิบายของเครื่องกลึง ให้อีกn - g ( n )ของxg(n)=ω(1)g(n)<ng(n)xng(n)xบิตเป็นเช่นนั้นความเท่าเทียมกันของคือแม้ iff T xหยุดในขั้นตอนน้อยกว่าf ( n ) > n จากนั้นเรามีg ( n )กับnแบบสอบถามในราคาΘ ( f ( n ) )กับnในเวลา xTxf(n)>ng(n)nΘ(f(n))n
Artem Kaznatcheev

ไม่สนใจประโยคแรกของความคิดเห็นก่อนหน้าของฉัน
Artem Kaznatcheev

7

ฉันชอบคำตอบของ Robin Kothari และการดัดแปลงของ Joe Fitzsimons ในส่วนขยายที่ชัดเจนของคำตอบพวกเขาสามารถบรรลุอัตราส่วนการแยกใด ๆ (ยกเว้นค่าคงที่เทียบกับไม่คงที่) ระหว่างความซับซ้อนของแบบสอบถามที่เล็กลงและใหญ่ขึ้นและซับซ้อนมากขึ้นและน้อยลง อย่างไรก็ตามไม่มีวิธีที่ชัดเจนในการทำให้ฟังก์ชั่นของพวกเขาไม่ใช่แบบบางส่วน ฉันต้องการชี้ปัญหาธรรมชาติที่เรามีการแยกและแสดงให้เห็นว่าการแยกขนาดใหญ่ยากสำหรับฟังก์ชั่นทั้งหมด


ปัญหาธรรมชาติ

nΘ(n)O(n)O(nlogn)

ฟังก์ชั่นทั้งหมดแยกยากกว่ากัน?

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

mΩ(logm)mnnmm0

(query complexity,time complexity)(q1(n),t1(n))(q2(n),t2(n))q2(n)f(q1(n))f(n)=O(2n)

[1] HU Simon, "Z (loglogn) ที่รัดกุมในเวลาสำหรับ RAM แบบขนานเพื่อคำนวณฟังก์ชันบูลีนที่ไม่เสื่อม" ใน: Symp บนพื้นฐานของทฤษฎีการคำนวณ, บันทึกการบรรยายในวิทยาการคอมพิวเตอร์, ฉบับที่ 158, สปริงเกอร์, เบอร์ลิน, 1983, หน้า 439–444

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