ภายใต้สถานการณ์ที่ทำขั้นตอนวิธีการบ่งบอกถึงขั้นตอนวิธีการ?


16

สมมติว่าสำหรับแต่ละมีเครื่องทัวริงที่ตัดสินใจภาษาในเวลาepsilon}) มีอัลกอริทึมเดียวตัดสินใจในเวลาหรือไม่ (ที่นี่คำว่าวัดในรูปของความยาวอินพุต)ϵ>0MϵLO(na+ϵ)LO(na+o(1))o(1)n

มันสร้างความแตกต่างได้หรือไม่หากอัลกอริทึมคำนวณได้หรือคำนวณได้อย่างมีประสิทธิภาพในแง่ของ ?Mϵϵ

แรงจูงใจในการพิสูจน์จำนวนมากก็จะง่ายต่อการสร้างอัลกอริทึมของเวลากว่า จำกัด อัลกอริทึม(1)}) โดยเฉพาะอย่างยิ่งที่คุณจำเป็นต้องผูกพันระยะอย่างต่อเนื่องในเพื่อส่งผ่านไปวงเงิน(1)}) มันจะดีถ้ามีผลทั่วไปที่คุณสามารถเรียกเพื่อส่งผ่านไปยังขีด จำกัด โดยตรงO(na+ϵ)O(na+o(1))O(na+ϵ)O(na+o(1))

คำตอบ:


10

คำถามนี้คล้ายกับคำถามเกี่ยวกับการมีอยู่อย่างสร้างสรรค์ของขีด จำกัด ของลำดับของวัตถุ (เชิงสร้างสรรค์) โดยปกติถ้าคุณสามารถสร้างวัตถุเหล่านั้นอย่างสม่ำเสมอ (ที่นี่ ) มีประสิทธิภาพเพียงพอแล้วคุณสามารถแสดงการมีอยู่ของขีด จำกัด เชิงสร้างสรรค์Mϵ

ตัวอย่างเช่นสมมติว่าเรามี TMที่รันบนและเวลาทำงานของมันคือ (ที่นี่มีขอบเขตเหมือนกันเช่นบางอย่างเช่นจะไม่ทำงาน) จากนั้นเราสามารถรวมจำลองชุดนี้กับฟังก์ชั่นที่จะได้รับเครื่องที่วิ่งในเวลา(1)})N(k,x)M|k|1xO(na+|k|1)+O(|k|)O(2k.na+|k|-1)(k,x)xยังไม่มีข้อความ(x,x)O(na+o(1))

PS:เป็นนิด ๆ หน่อย ๆ ไม่ชัดเจนเนื่องจากการทำรังของสัญลักษณ์ asymptotic ผมตีความว่ามันเป็น(1)} นอกจากนี้เราต้องที่จะไม่เล็กเกินไปเช่นอย่างน้อย1n a + o ( 1 ) a 1O(na+o(1))na+o(1)a1


8

คุณสามารถใช้อัลกอริทึมการค้นหาทั่วไปของเลวิน สมมติว่าคุณอย่างใดสามารถระบุลำดับของขั้นตอนวิธีตัดสินใจแต่ละทำงานในเวลาK} เลวินขั้นตอนวิธีการทำงานในเวลาสำหรับทุกที่เป็นค่าคงที่ขึ้นอยู่กับC_kดังนั้นสำหรับทุก , ได้รับ , เลือก , และให้ L C k n a + 1 / k T ( n ) D k n a + 1 / k k D k C k k τ ( n ) บันทึกT ( n )AkLCkna+1/kT(n)Dkna+1/kkDkCkkε>0k=2/εN=D 2 / ε knNτ(n)ετ(n)0n+τ(n)=n+o(1)

τ(n)logT(n)lognalogDk+(a+1/k)lognlogna=logDklogn+1k.
ϵ>0k=2/ϵN=Dk2/ϵ. แล้วสำหรับ ,\ ดังนั้นและเราได้รับที่เลวินขั้นตอนวิธีการทำงานในเวลา(1)}nNτ(n)ϵτ(n)0na+τ(n)=na+o(1)

ถ้าฉันเข้าใจอัลกอริทึมของเลวินสิ่งนี้จะใช้กับอัลกอริทึมการค้นหาเท่านั้น ขั้นตอนวิธีการนี้จะทำงานเพื่อกลับฟังก์ชั่นที่สามารถคำนวณได้ในเวลา(ก)}) f O ( n o ( a ) )ffO(no(a))
David Harris

ฉันไม่แนะนำให้ใช้อัลกอริธึมของ Levin เพียงแนวคิดในการรันอัลกอริธึมทั้งหมดที่ขนานโดยใช้การประกบกันในลักษณะที่แต่ละอันจะชะลอตัวลงเพียงปัจจัยคูณเท่านั้น Ak
Yuval Filmus

@ Yuval เมื่อคุณทำการอัลกอริธึมทั้งหมดแล้วคุณจะตัดสินใจเลือกคำตอบที่จะยอมรับได้อย่างไร ในปัญหาการค้นหาคุณสามารถทดสอบแต่ละผลลัพธ์ที่สมมุติได้ แต่โดยทั่วไปไม่สามารถทำได้
David Harris

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