ค่าที่คาดหวังของความซับซ้อนของ Kolmogorov ในกลุ่มตัวอย่างแบบสุ่ม


9

ความซับซ้อนของสตริง Kolmogorov ไม่สามารถคำนวณได้ อย่างไรก็ตามในชุดย่อยที่มีขนาดของสตริงไบนารี่ที่มีความยาวจำนวนเท่าไหร่ที่คาดว่าจะมีความซับซ้อนน้อยกว่าจำนวนเต็มน้อยกว่า (เป็นฟังก์ชันของ ,และ )?Mnn0nMnn0


คุณใช้ความซับซ้อน "มาตรฐาน" Kolmogorov ที่นี่หรือความซับซ้อนของคำนำหน้าหรือไม่
Aubrey da Cunha

ที่จริงฉันคิดแค่ความซับซ้อนของ Kolmogorov ฉันเดา2nโอผูกพัน domotorp ที่กล่าวถึงเมื่อเราพิจารณาจักรวาลของสายทั้งหมด ฉันไม่ชัดเจนว่าผลลัพธ์ 'สอดคล้อง' ใด ๆ สำหรับชุดย่อยขนาดสุ่มโดยพลการMสามารถผลิตได้ อย่างไรก็ตามความซับซ้อนของคำนำหน้าจะนำเราไปสู่มุมมองที่ต่างออกไปไหม
vs

แน่นอนว่ามันจะไม่เปลี่ยนลำดับความสำคัญอันที่จริงฉันคิดว่าตอนนี้คำตอบของฉันถูกผูกไว้กับทั้งสองรุ่น
domotorp

1
สำหรับทุกคน n และทุก ๆ cความน่าจะเป็นที่สุ่ม nสตริงบิต x มีความซับซ้อน Kolmogorov K(x)nc มากกว่า 112c (กับ c=nn0) ดังนั้นในการกระจายแบบสุ่มของM สตริงที่คุณควรคาดหวัง M2(nn0) สตริงด้วย K(x)<n0... โดยสังเขปมีความเป็นไปได้สูงมากที่จะเลือกสายที่มีความซับซ้อนของ Kolmogorov สูง
Marzio De Biasi

คำตอบ:


10

ความซับซ้อนของ Kolmogorov นั้นขึ้นอยู่กับค่าคงที่เสริมเท่านั้นดังนั้นจึงไม่สามารถให้คำตอบที่แน่นอนได้ ขอบเขตที่ฉันอธิบายไว้ที่นี่นั้นอ่อนแอกว่า

แน่นอนจำนวนที่คาดหวังสามารถคำนวณได้ง่ายเมื่อเรารู้จำนวน 2n สตริงมีความซับซ้อนน้อยกว่า n0ดังนั้นฉันจะตอบคำถามนี้ มันมักจะเป็นคำสั่งแรกเกี่ยวกับความซับซ้อนของ Kolmogorov ที่จำนวนนี้เป็นอย่างมาก2n01- เนื่องจากมีเพียงสตริงจำนวนมากที่มีความยาวน้อยกว่านี้ ในทางตรงกันข้ามถ้าโปรแกรมของคุณพูดว่า "ความยาวnรับ xหมายเลข th "จากนั้นคุณจะได้รับ 2n0K(n)C สตริงของความซับซ้อนน้อยกว่า n0ที่ไหน K(n) เป็นรุ่นนำหน้าฟรีของความซับซ้อนของ Kolmogorov n (อย่างมากที่สุด logn+logn+O(1)) ในรายละเอียดเพิ่มเติมสตริงแรกมีคำอธิบายของเครื่องทัวริงที่นำเข้าpxโดยที่ p คือคำอธิบายของโปรแกรมที่ไม่มีคำนำหน้า nเอาท์พุท xจำนวนความยาว n, ซึ่งเป็น O(1) บิตและจากนั้นตามด้วย px.

อาจเป็นไปได้ที่จะปรับปรุงขอบเขตเหล่านี้ แต่ฉันสงสัยว่าคุณจะได้รับคำตอบที่แน่นอน


คุณช่วยอธิบายเล็กน้อยเกี่ยวกับวลี 'หากโปรแกรมของคุณพูดว่า "ความยาว n ใช้หมายเลข xth" "หรือไม่
vs

คุณพูดถูกมันควรจะปราศจากคำนำหน้าฉันแก้ไขมัน
domotorp

3

คำตอบที่แม่นยำจะได้รับ จำนวนสตริงที่มีความยาวn มีความซับซ้อนมากที่สุด n0 คือ 2n0-K(n0|n)ถึงปัจจัยคงที่ ดังนั้นกระบวนการใด ๆ ที่สุ่มเลือกเซตย่อยจะมีความน่าจะเป็นที่สมเหตุสมผล2K(n0|n)+O(1) เศษส่วนของสตริงของความซับซ้อนน้อยกว่า n0. ในการแสดงของเราเรียกร้องของเราก็พอเพียงที่จะแสดงให้เห็นว่าจำนวนของสตริงที่มีความซับซ้อนเท่ากับไปk มอบให้โดย 2kK(k|n). เราสามารถแสดงผลลัพธ์ที่จำเป็นโดยพิจารณาจากผลรวมของค่านี้มากกว่าk ตั้งแต่ 1 ถึง n0. ในการแสดงสิ่งนี้เราใช้ผลการเพิ่มความซับซ้อนแบบธรรมดา (เนื่องจาก B. Bauwens และ A. Shen ทฤษฎีบทการเพิ่มความซับซ้อนแบบ Kolmogorov ธรรมดาทฤษฎีของระบบคอมพิวเตอร์ 52 (2): 297-302, กุมภาพันธ์ 2013)

C(a,b)=K(a|C(a,b))+C(b|a,C(a,b))+O(1).
ที่นี่ K()หมายถึงความซับซ้อนของ Kolmogorov คำนำหน้าฟรี เลือกa=nเราสังเกตว่าสำหรับแต่ละ nสตริงบิต b ของความซับซ้อน k เรามี
k=C(b)=C(n,b)+O(1)=K(n|k)+C(b|n,k)+O(1).
ดังนั้นสำหรับแต่ละเช่น b เรามี C(b|n,k)=kK(n|k)+O(1). ปล่อยk=kK(n|k). ตอนนี้เราสามารถสังเกตได้ว่ามีอยู่มากที่สุดO(2k) สตริงดังกล่าว และแต่ละ lexicographically ก่อน 2k' สายยาว n พอใจ (|n,k)k'+O(1). ดังนั้นΩ(2k') ของพวกเขาพึงพอใจ (|n,k)=k'+O(1).
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.