ไม่ ?


15

ฉันคาดหวังคำตอบคือไม่ แต่ฉันไม่สามารถสร้างตัวอย่างจริงได้ ข้อแตกต่างคือในเราอาจไม่สามารถเลือกอย่างสม่ำเสมอ ในεε > 0 D T ฉันM E ( O ( n 2 + ε ) ) O ( n 2 + ε )ε>0DTIME(O(n2+ε))O(n2+ε) εε

โดยการโต้แย้งแบบประกบ (เช่นดูคำถามนี้) หากมีชุด ce ของเครื่องจักรทัวริงตัดสินใจภาษาเช่นนั้นแล้วLคือ ใน\ mathrm {DTIME} (n ^ {2 + o (1)})M ฉัน L ε > 0 M ฉันO ( n 2 + ε ) L D T ฉันM E ( n 2 + o ( 1 ) )MiLε>0MiO(n2+ε)LDTIME(n2+o(1))

รับเครื่องทัวริงไม่ว่าเครื่องจะทำงานในเวลาn 2 + o ( 1 )n2+o(1)เป็นΠ 0 3Π03 - เสร็จสมบูรณ์ ไม่ว่าจะเป็นภาษา (รับรหัสสำหรับเครื่องที่รับรู้) อยู่ในD T I M E ( n 2 + o ( 1 ) )DTIME(n2+o(1))คือΣ 0 4Σ04 (และΠ 0 3Π03 -hard); ไม่ว่าจะเป็นภาษาที่อยู่ในε > 0 D T ฉันM E ( O ( n 2 + ε ))ε>0DTIME(O(n2+ε))คือΠ 03Π03 - เสร็จสมบูรณ์ หากเราสามารถพิสูจน์Σ 04Σ04ครบถ้วน (หรือแค่Σ 0 3Σ03แข็ง) ของD T I M E ( n 2 + o ( 1 ) )DTIME(n2+o(1))นั่นจะแก้ปัญหาได้ แต่ฉันไม่แน่ใจว่าจะทำอย่างไร ที่.

ปัญหาก็จะได้รับการแก้ไขหากเราพบว่าลำดับของภาษาL ฉันLiนั้น
* L ฉันLiมีวิธีการตัดสินใจตามธรรมชาติO ( n 2 + 1 / i )O(n2+1/i) (เหมือนกันในผมi )
* L_iแต่ละอันL ฉันLiจำกัด
* ไม่เพียง แต่มีขนาดของL ฉันLi undecidable แต่อัลกอริทึมไม่สามารถw L ฉันwLiได้เร็วกว่าO ( n 2 + 1 / i )O(n2+1/i) (สำหรับกรณีที่แย่ที่สุดWw ) ยกเว้นสำหรับผมi (ขึ้นอยู่กับ อัลกอริทึม)

ฉันยังสงสัยด้วยว่ามีตัวอย่างที่น่าสนใจ / น่าสนใจหรือไม่ (สำหรับε>0DTIME(O(n2+ε))DTIME(n2+o(1))ε>0DTIME(O(n2+ε))DTIME(n2+o(1))หรือความสัมพันธ์แบบอะนาล็อก)


ฉันไม่เคยคิดเกี่ยวกับคำถามที่ตัดสินใจได้เช่นรับเครื่องทัวริงรับรู้ภาษาในD T ฉันM E ( n 2 + o ( 1 ) ) เรียบร้อยมาก! มีเหตุผลบางประการที่ทำให้คุณเลือก 2 ตัวในเลขชี้กำลังหรือไม่? ฉันเดาว่านี่จะเหมือนกันถ้าคุณพิจารณาจำนวนอื่นในเลขชี้กำลังที่มากกว่า 2 DTIME(n2+o(1))
Michael Wehar

1
@MichaelWehar ฉันต้องการตัวอย่างที่ชัดเจนและบางครั้ง '1' ก็พิเศษดังนั้นฉันจึงเลือก '2' คุณสมบัติครบถ้วนด้านบนและคำตอบด้านล่างค่อนข้างทั่วไป
Dmytro Taranovsky

คำตอบ:


10

นี่คือตัวอย่างตัวอย่างเช่นภาษาที่มีอัลกอริทึมO ( n 2 + ε ) (ใช้เครื่องมัลติทาสกิ้งทัวริง) สำหรับทุกε > 0แต่ไม่เหมือนกันในε : ยอมรับ0 k 1 m iff k > 0และk th ทัวริง เครื่องหยุดในเวลาน้อยกว่าm 2 + 1 / kขั้นตอนบนอินพุตว่าง สตริงอื่น ๆ ถูกปฏิเสธO(n2+ε)ε>0ε
0k1mk>0km2+1/k

สำหรับทุกεเราจะได้อัลกอริธึมO ( n 2 + ε )โดยการเข้ารหัสฮาร์ดโค้ดที่ไม่ทำให้มีขนาดเล็กพอเพียงและทำการจำลองส่วนที่เหลือεO(n2+ε)

ตอนนี้ให้พิจารณาเครื่องทัวริงMตัดสินใจเลือกภาษาM

ให้M (บนอินพุตว่าง) เป็นการดำเนินการที่มีประสิทธิภาพต่อไปนี้: สำหรับnใน 1,2,4,8, ... :      ใช้Mเพื่อตัดสินใจว่าM หยุดใน< n 2 + 1 / M M
n
MM<n2+1/Mขั้นตอน .
     หยุดถ้า if Mบอกว่าเราไม่หยุด แต่เราสามารถหยุดได้ใน< n 2 + 1 / M ขั้นตอนM<n2+1/M

โดยความถูกต้องของM , M 'ไม่หยุด แต่Mใช้เวลาΩ ( n 2 + 1 / M ' ) -steps กับการป้อนข้อมูล0 M ' 1 n - M 'หลายอนันต์n (ถ้าMเป็นไปอย่างรวดเร็วเกินไปแล้วM 'จะขัดแย้งกับเอ็ม .MMMΩ(n2+1/M)0M1nMnMMM Ω ( n 2 + 1 / M ' )ผูกพันขึ้นอยู่กับเอ็ม'Ω(n2+1/M)MการจำลองMในเวลาเชิงเส้นและอื่น ๆ ที่มีประสิทธิภาพ)M


ฉันไม่เข้าใจประโยคสุดท้าย เราจะได้รับขอบเขตที่ต่ำกว่าในเวลาทำงานของM ? M
Emil Jeřábekสนับสนุน Monica

@ EmilJeřábekฉันชี้แจงคำตอบ แจ้งให้เราทราบหากสามารถปรับปรุงให้ดียิ่งขึ้นไปอีก
Dmytro Taranovsky

1
Pethaps ฉันไม่เข้าใจว่า "แต่เรายังสามารถหยุดใน ... " หมายถึง เอ็มทำอะไรกันแน่
Emil Jeřábekสนับสนุน Monica

@ EmilJeřábek M 'ไม่ใช้อินพุตและโทรซ้ำ M เพื่อตัดสินใจว่าจะหยุดปัญหาการหยุดชะงักสำหรับ M' ตัวอย่างเช่นหากหลังจากรัน 900 ขั้นตอน M จะค้นพบว่า (ตาม M) M 'ไม่หยุดใน 1,000 ขั้นตอนแรกจากนั้น M' จะหยุด ถ้าไม่เช่นนั้น M 'จะยังคงทำงานต่อไปและโทรไปที่ M เพื่อตัดสินใจว่า M' หยุดในขั้นตอน 4,000 ขั้นตอนแรกหรือไม่
Dmytro Taranovsky
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.