เราไม่สามารถส่งออกความซับซ้อนของ Kolmogorov ได้หรือไม่?


28

ขอให้เราแก้ไขเข้ารหัสคำนำหน้าฟรีของทัวริงเครื่องและสากลทัวริงเครื่องว่าการป้อนข้อมูล (เข้ารหัสเป็นรหัสคำนำหน้าฟรีของตามด้วย ) ผลสิ่งผลกับการป้อนข้อมูล (อาจจะเป็น ทั้งสองทำงานตลอดไป) กำหนดความซับซ้อน Kolmogorov ของ ,เป็นความยาวของโปรแกรมสั้นดังกล่าวว่า xU(T,x)TxTxxK(x)pU(p)=x

มีทัวริงเครื่องเช่นนั้นสำหรับทุกอินพุตมันจะส่งออกจำนวนเต็มนั่นแตกต่างจากความซับซ้อนของ Kolmogorov ของคือแต่ ?TxT(x)|x|xT(x)K(x)lim inf|x|T(x)=

เงื่อนไขเป็นสิ่งที่จำเป็นเพราะ

(a) ถ้าT(x)|x|แล้วมันจะง่ายต่อการส่งออกตัวเลขที่เป็นนิด ๆ แตกต่างจากK(x)เพราะมันมีขนาดใหญ่กว่า|x|+cU ,

(b) ถ้าอนุญาตให้lim inf|x|T(x)<Cอนุญาตเราสามารถเอาท์พุท0 (หรือค่าคงที่อื่น ๆ ) สำหรับตัวเลขเกือบทั้งหมดโดย "โชคดี" ที่เดาได้มากที่สุด (ตัวเลขจำนวน จำกัด ) ที่ประเมินเป็น0 (ไปยังค่าคงที่อื่น ๆ ) และเอาท์พุทมีอย่างอื่น เรายังสามารถรับประกันlim sup|x|T(x)=โดยการแสดงผลบางอย่างเช่น2lognสำหรับx=2n n

นอกจากนี้โปรดทราบว่างานของเราจะง่ายถ้าเรารู้ว่าT(x)นั้นไม่แปลกใจ แต่มีคนรู้น้อยเกี่ยวกับเรื่องนี้ดังนั้นคำตอบอาจขึ้นอยู่กับUแม้ว่าฉันจะสงสัยก็ตาม

ฉันรู้ว่าความสัมพันธ์นั้นได้รับการศึกษาโดยทั่วไปเป็นจำนวนมาก แต่

มีใครเคยถามคำถามที่คล้ายกันที่เป้าหมายของเราคือการให้อัลกอริทึมที่ไม่ส่งออกพารามิเตอร์บางอย่าง?

แรงจูงใจของฉันคือปัญหานี้http://arxiv.org/abs/1302.1109


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

2
สำหรับคำถามที่สองของคุณ: ใช่ รับจำนวนเต็มให้แทนเครื่องทัวริง -th ทแยงมุมไม่ใช่ recursive (หรือ DNR) ฟังก์ชั่นฟังก์ชั่นเช่นว่าจำนวนเต็มทุก ,(M) (นั่นคือถ้าหยุดอยู่กับดังนั้นและสามารถกำหนดเองได้) สิ่งเหล่านี้ได้รับการศึกษาค่อนข้างเร็ว ๆ นี้ในการคำนวณ / การคำนวณ ชุมชนแบบแผน Google "ไม่เรียกซ้ำแบบเส้นทแยงมุม" เพื่อค้นหาเอกสารเกี่ยวกับเรื่องนี้ M[M]Mf:NNM[M](M)f(M)[M]Mf(M)[M](M)f(M)
Joshua Grochow

1
@ Denis: ฉันคิดว่าคุณผิด ตามคำจำกัดความของเครื่องจักรทัวริงสากลที่กำหนดไว้ในย่อหน้าแรกความยาวทั้งหมดเป็นโปรแกรมที่ถูกต้อง
domotorp

3
ไม่กี่ครั้งที่ผ่านมาฉันคิดว่า (ในไร้สาระ) เกี่ยวกับรุ่นที่ง่ายกว่าที่เห็นได้ชัด: (dis) พิสูจน์ว่ามีขนาดใหญ่พอ ,สำหรับทั้งหมด x0K(x)|x|/2xx0
Marzio De Biasi

1
@Ricky: ไม่เป็นไรฉันไม่มีข้อ จำกัด ในการเข้ารหัสของเครื่องจักรทัวริงเฉพาะในโปรแกรมที่คุณสามารถอ่านได้ในย่อหน้าแรก
domotorp

คำตอบ:


7

คำถามที่สามารถใช้ถ้อยคำใหม่ว่าและเดนิสชี้ให้เห็นในความคิดเห็น นี่เป็นเท็จสำหรับการเข้ารหัสบางอย่าง นี่คือคำสั่งที่อ่อนแอกว่าและข้อพิสูจน์ที่พยายามแล้วซึ่งไม่ได้ขึ้นอยู่กับรายละเอียดของการเข้ารหัส แต่ฉันจะสมมติภาษาฐานสองเพื่อความเรียบง่าย:liminf|x||T(x)K(x)|=0

ปล่อยให้เป็นฟังก์ชันการคำนวณที่น่าพอใจและ\ แล้ว\ อย่างไม่เป็นทางการหากมีเป้าหมายอยู่รอบ ๆ ความซับซ้อนของ Kolmogorov ของแต่ละสตริงที่เติบโตอย่างกว้างใหญ่ไม่มีฟังก์ชันที่คำนวณได้สามารถหลีกเลี่ยงการชนT:{0,1}N0T(x)|x|liminf|x|T(x)=liminf|x||T(x)K(x)|<

หากต้องการดูนี้ให้เป็นแบบสุ่มจำนวนบิตคือและข สำหรับทุกเช่นสุ่มมีอยู่ นอกจากนี้ยังทราบว่ามีจำนวนอนันต์ของค่านิยมของที่นี้ดังมาจากเงื่อนไขที่วางอยู่บนเสื้อตอนนี้ให้เป็นสตริงเล็กที่สุดเช่นว่าB เห็นได้ชัดว่ามีค่าคงที่เช่นเนื่องจากและnb0n<2bK(n)bbnb|{T(x)=b}|2bTxnthT(x)=bc1K(x)>bc1K(n)bnสามารถคำนวณได้จากxและมีความคงที่ดังกล่าวว่าเพราะนอกจากนี้ยังเป็นที่สิ้นสุดจากข้างต้นโดยเฉพาะคงที่มากขึ้นกว่าและสามารถคำนวณได้จากnจากนั้นและเรามีตัวเลือกจำนวนอนันต์สำหรับ (ผู้ที่มี preinage ของ cardinality อย่างน้อย ), ให้ค่าจำนวนอนันต์ สำหรับเราก็เสร็จแล้วxc2K(x)<b+c2K(n)bxn|K(x)T(x)|<c1+c2b2bx

ความหมายคือสำหรับบาง ,อนันต์บ่อยครั้ง ดังนั้นอาจกล่าวได้ว่าเราไม่สามารถส่งออกสิ่งที่ไม่ใช่ความซับซ้อนของ Kolmogorov ได้!cZT(x)=K(x)+c


1
ดีฉันคิดว่านี่น่าจะใช้ได้ แน่นอนว่าอาจไม่มีสตริงใด ๆ ที่มีดังนั้นคุณอาจต้องการใช่ไหม? f(x)=bf(x)b
domotorp

1
จะต้องมีเพื่อที่คือคำนวณจากn} ดังนั้นฉันคิดว่าจำเป็นต้องเลือกเพื่อให้หรือสตริงการแมปไป สมมุติสมมติฐานที่ควรกล่าวเป็นนัยว่ามีหลายอย่างมากมายเช่น ( แต่ผมค่อนข้างไม่เห็นมันในขณะนี้) (เท่าที่ฉันสามารถบอกได้, สมมติฐานไม่ได้ถูกใช้ในทางอื่น)f(x)=bnxb,n b2b+1b
Emil Jeřábekสนับสนุนโมนิก้า

1
ใช่แน่นอนว่านี่เป็นสิ่งจำเป็น แต่การพิสูจน์นั้นง่ายโดยขัดแย้ง - ถ้าเป็นถ้าจากการดูที่ช่วงใดเราสามารถสรุปได้ว่าอย่างน้อยสตริงถูกแมปกับจึงอนันต์จำนวนมากซึ่งตรงกันข้าม\<2bb>b0b0<bBBb0b0lim inf=
domotorp

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

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

3

ฉันคิดว่างานต่อไปนี้ ฉันจะใช้สำหรับความซับซ้อนของ KolmogorovC(x)

  • ให้เป็นเวลาผูกพัน (พูด, บางฟังก์ชั่นการชี้แจงของความยาวของโปรแกรมการป้อนข้อมูล) และเรียกผล T หากโปรแกรมเกินเวลาที่กำหนดเข้าสู่วงวนไม่สิ้นสุดUtUtUt
  • Letเป็นโปรแกรมที่สั้นที่สุดสำหรับบนเสื้อโปรดทราบว่าสามารถคำนวณได้Ct(x)xtCt
  • ให้ส่งคืนยกเว้นค่านี้เท่ากับในกรณีที่ผลตอบแทน 0 เว้นแต่ว่าเป็นผลลัพธ์ของโปรแกรมที่ว่างเปล่าซึ่งในกรณีที่กลับมา 1T(x)Ct(x)+1|x|x
  • เนื่องจาก ,จะแตกต่างจากเสมอ ตรรกะในขั้นตอนก่อนหน้าดูแลกรณีขอบC(x)Ct(x)T(x)C(x)
  • Utทำหน้าที่เป็นรหัสสำหรับสตริงทั้งหมดดังนั้นจึงมีขีด จำกัด อินฟินิตี้ที่ต่ำกว่า

ความเห็นสองสามทฤษฎี KC ในการตีความทางเลือก (แต่เทียบเท่า) ระบุดังต่อไปนี้: สตริงเกือบทั้งหมดมีอยู่แล้วในการเป็นตัวแทนที่ดีที่สุดของพวกเขา ( wrtเป็นรุ่นที่กำหนด) ยกเว้นสตริงจำนวนมากซึ่งสามารถเปลี่ยนเป็นตัวแทนที่เหมาะสมที่สุดwrtเป็นโมเดลการคำนวณที่กำหนด (หรือ TM) ในแง่นี้เกือบทุกโปรแกรมแสดงผลลัพธ์สตริงที่เหมาะสม แต่สิ่งเหล่านี้ไม่เป็นที่รู้จัก (หรือคำนวณได้) a-Priori
Nikos M.

ทำไมคุณถึงมี? T(x)|x|
domotorp

@domotorp ในทางเทคนิคเรามีโดยที่คือความยาวของโปรแกรมการพิมพ์ที่สั้นที่สุด แน่นอนค่าคงที่นี้ยังมีสำหรับ (และในความเป็นจริงยกเว้นว่าโปรแกรมการพิมพ์ช้าจริง ๆ มันเป็นค่าคงที่เดียวกัน) T(x)|x|+ccC(x)
ปีเตอร์

แต่นี่คือสิ่งที่ทำให้คำถามทั้งหมดน่าสนใจ! ฉันสามารถถามฟังก์ชันใด ๆ แทนเช่นเป้าหมายเดียวของฉันคือการกำจัดโซลูชันที่คล้ายกับของคุณ |x||x|/2+99
domotorp

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