หากพวกเขากำลังพูดถึงความซับซ้อนของ Kolmogorov (ไม่ จำกัด ทรัพยากร) ก็จะไม่สามารถคำนวณได้ (มิฉะนั้นคุณสามารถใช้เครื่องคำนวณKเพื่อให้คำอธิบายสั้น ๆ ของสตริงx ∈ Kเนื่องจากสิ่งที่คุณต้องทำคืออธิบาย เครื่องจักรและความยาวnของxและเรามีK ( x ) = nยังK ( n ) ≤ log n ) ดังนั้นBจะไม่สามารถคำนวณได้เช่นกันKKx∈KnxK(x)=nK(n)≤lognB
อย่างไรก็ตามกระดาษ Abadi และคณะ การอ้างอิง ( Hartmanis. ความซับซ้อนของ Kolmogorov ทั่วไปและโครงสร้างของการคำนวณที่เป็นไปได้ FOCS 1983. ) ใช้ความซับซ้อนของ Kolmogorov เวอร์ชันที่มีขอบเขตทรัพยากร ให้เป็นเครื่องจักรทัวริงสากลที่มีประสิทธิภาพ กำหนดK U [ f ( n ) , g ( n ) ]ให้เป็นชุดของสตริงxซึ่งมีความยาวสตริงd | d | ≤ f ( | x | ) แบบนั้นx = U (UKU[f(n),g(n)]xd|d|≤f(|x|)และการคำนวณของ U ( d )ใช้เวลาส่วนใหญ่กรัม( | x | )เวลา ที่ด้านบนของคอลัมน์ที่สองในหน้า 444 กระดาษที่ Hartmanis อธิบายวิธีการใช้แนวคิดนี้ในการสร้าง (คำนวณ) oracle ญาติที่ P ≠ N Px=U(d)U(d)g(|x|)P≠NP
นี่คือแนวคิดของ Hartmanis ที่ปรับให้เข้ากับ Abadi และคณะ ผลลัพธ์. ให้และT o W 3 ( n + 1 ) = 2 2 2 n (ซึ่งผมเชื่อว่าเป็นฟังก์ชั่นที่คุณอธิบาย) โดย diagonalization มาตรฐาน (เช่นในทฤษฎีบทลำดับชั้นของเวลา) สร้างการนับรวมCเช่นที่C ⊆ { 1 t o w 3 ( n ) : n ≥ 1 }และtow3(1)=2tow3(n+1)=222nCC⊆{1tow3(n):n≥1} P ตอนนี้วางสายแรกของความยาว T o W 3 ( n )จาก K [ บันทึกn , n log n ] - K [ บันทึกn , n เข้าสู่ระบบเข้าสู่ระบบn ]เข้า K IFF 1 T o W 3 ( n ) ∈ C ตั้งแต่C∈TIME[nlogn]−Ptow3(n)K[logn,nlogn]−K[logn,nloglogn]K1tow3(n)∈Cเรามี C ∈ N P KC={1n:(∃x)[|x|=n and x∈K]}C∈NPK
เรายังมีจึงP K ≠ N P K สมมติว่าเพื่อประโยชน์ของความขัดแย้งว่าC ∈ P K จากนั้นก็มีเป็นเครื่อง oracle โพลีเวลาMเช่นที่C = L ( M K ) ฉันเรียกร้องที่ว่านี้หมายถึงC ∈ P (ไม่พยากรณ์!) ขัดแย้งกับการก่อสร้างของC นี่คืออัลกอริทึมโพลีเวลา: ที่อินพุตx = 1 t o w 3 ( n 0C∉PKPK≠NPKC∈PKMC=L(MK)C∈PC :x=1tow3(n0)
คำนวณสตริงทั้งหมดในของความยาวน้อยกว่า| x | . ซึ่งสามารถทำได้ในเวลาพหุนามเพราะทุกสายดังกล่าวมีความยาวมากที่สุดเข้าสู่ระบบเข้าสู่ระบบเข้าสู่ระบบ| x | และเราเพียงแค่ต้องทดสอบการคำนวณU ( d )บนสตริงที่เล็กลงdสำหรับระยะเวลาที่ยังเล็กมากเมื่อเทียบกับ| x | .K|x|logloglog|x|U(d)d|x|
รัน , จำลองเคียวรี oracle ไปยังสตริงที่เล็กลงด้วยผลลัพธ์ของ (1) ถ้าM ( x )สอบถามความยาวของสตริง| x | ให้จำลองแบบสอบถามนั้นด้วยคำตอบ "ไม่"M(x)M(x)|x|
ขั้นตอนเหตุผล (2) ทำงานได้ว่าสำหรับความยาวอินพุตที่มีขนาดใหญ่เพียงพอหากมีสตริงของความยาวนั้นM Kไม่สามารถสืบค้นyดังนั้นเราสามารถจำลองเคียวรีดังกล่าวทั้งหมดโดยไม่มีคำตอบ ถ้ามันทำแบบสอบถามYแล้วเราจะมีY ∈ K [ log n , n k ] (ที่n kขอบเขตระยะเวลาของM ) ขัดแย้งกับความจริงที่ว่าเราเลือกปีที่จะไม่ได้อยู่ในK [ บันทึกn , n เข้าสู่ระบบเข้าสู่ระบบy∈KMK yyy∈K[logn,nk]nkMy ]K[logn,nloglogn]