มี x อยู่ไหมที่ K (xx) <K (x) โดยที่ K คือ Kolmogorov complextity


16

ให้แสดงถึงความซับซ้อนของ Kolmogorov สตริงxทำมีอยู่สตริงดังกล่าวว่า(x) (ที่นี่เป็นการต่อเชื่อมกับตัวเอง) คำถามที่คล้ายกัน แต่แตกต่างกันถูกถามที่นี่แต่ตัวอย่างที่ให้ไว้ในคำตอบสำหรับคำถามนั้นไม่ได้ผลสำหรับคำถามนี้x K ( x x ) < K ( x ) x x xK(x)xK(xx)<K(x)xxx

คำตอบ:


20

ฉันไม่มีความเชี่ยวชาญในความซับซ้อนของ Kolmogorov แต่ฉันคิดว่าxดังกล่าวสามารถสร้างได้สำหรับฟังก์ชันความซับซ้อนทุกตัว K ดังต่อไปนี้ ตั้งแต่ 1, 11, 1111, 11111111, …, 1 2 n , …คือการเข้ารหัสของจำนวนธรรมชาติn , K (1 2 n ) ไม่สามารถเป็น o (log n ) อย่างไรก็ตามเมื่อn = 2 mชัด K (1 2 n ) = K (1 2 2 m ) = O (log m ) = O (log log n ) ดังนั้นลำดับ K (1), K (11), K (1111), K (11111111), …, K (1 2 n ), …ไม่สามารถเพิ่มขึ้นซ้ำซากจำเจอย่างอ่อนซึ่งหมายความว่ามีสตริงxในรูปแบบ 1 2 nเช่นนั้น K ( xx ) <K ( x )


1
@ Tsuyoshi, มีสตริงที่บีบอัดไม่ได้ที่K ( x x ) < K ( x ) ? xK(xx)<K(x)
Mohammad Al-Turkistany

ฉันคิดว่าและ K (1 ^ {2 ^ n}) = Ω (log n) ขัดแย้งกัน สิ่งที่เขาหมายถึงคือ: ถ้าF ( n ) = o ( บันทึกn )แล้วK ( 1 2 n ) O ( F ( n ) ) มิฉะนั้นหลักฐานก็ดูดี K(122ม.)=O(เข้าสู่ระบบม.)(n)=โอ(เข้าสู่ระบบn)K(12n)O((n))
Sune Jakobsen

1
ดูเหมือนว่าจะใช้งานได้ อันที่จริงฉันคิดว่ามันให้ลำดับที่ไม่มีที่สิ้นสุดของสตริงดังกล่าว อย่างไรก็ตามฉันเข้าใจผิดบางอย่างหรือคำสั่งของกฎลูกโซ่สำหรับความซับซ้อนของ Kolmogorov ที่ปรากฏในวิกิพีเดีย ( en.wikipedia.org/wiki/Chain_rule_for_Kolmogorov_complexity ) นั้นผิด ตอนแรกฉันคิดว่าคำนิยามของวิกิพีเดียอาจไม่สามารถใช้ได้ที่นี่เนื่องจากคุณต้องรู้ว่าจุดสิ้นสุดของ X และ Y เริ่มต้นที่ใดในขณะที่ที่นี่ไม่จำเป็นที่จะต้องใช้ที่นี่ แต่เมื่อ Y = X คุณสามารถเพิ่มคำนั้นลงใน O (1) โดยพูดว่า "แยกกลาง"
Abel Molina

@Sune: สัญกรณ์Ω (⋅) มีคำจำกัดความที่แตกต่างกันเล็กน้อย “ K (1 ^ 2 ^ n) = Ω (log n)” ในคำตอบของฉันหมายถึง“ limsup K (1 ^ 2 ^ n) / log n> 0,” และมันไม่ขัดแย้งกับ“ K (1 ^ 2 ^ 2 ^ m) = O (log m). "ฉันแก้ไขคำตอบเพื่อชี้แจงประเด็นนี้ ดูคำจำกัดความใดที่เราควรสอนเกี่ยวกับอัตราการเติบโตของซีมโทติค
Tsuyoshi Ito

1
@turkistany และทั้งหมด: โปรดทราบว่ามันเป็นความจริงเสมอที่ K (xx)> K (x) -c สำหรับค่าคงที่บางอย่างฉันคิดว่านี่ควรจะชี้ให้เห็น นอกจากนี้ยังหมายความว่าเราต้องการคำจำกัดความที่แม่นยำของการบีบอัดหากเราต้องการศึกษาคำถามนี้ ฉันเดาว่าคำตอบคือใช่อีกครั้ง แต่ฉันไม่มีหลักฐาน
domotorp

2

ใช่. ความซับซ้อนในการฝึก Kolomogorov ขึ้นอยู่กับแบบจำลองของคุณ เครื่องทัวริง, โปรแกรม Java, โปรแกรม C ++, ... หากมีความแปลกในรูปแบบของคุณที่อนุญาตให้สิ่งนี้เกิดขึ้นในอินพุตที่ จำกัด มันไม่มีปัญหา

คำถามที่ดีกว่าคือคุณสามารถหลีกเลี่ยงพฤติกรรมนี้ได้มากเพียงใดและยังมีตัวแบบเป็นสากล


ฉันคิดว่าคำถามที่ดีกว่าคือ: มี x ดังกล่าวสำหรับทุกรุ่นหรือไม่ ฉันไม่รู้ว่า "model" เป็นทางการ แต่ดูเหมือนว่าคำตอบของ Tsuyoshis นั้นใช้ได้กับภาษาการเขียนโปรแกรมที่สมเหตุสมผลทั้งหมด
Sune Jakobsen

คุณสามารถกำหนดถึงx xและสิ่งที่ใหญ่กว่าสำหรับxและยังมีรูปแบบสากล 0xxx
Kaveh

1

@Tsuyoshi:

ฉันไม่เข้าใจหลักฐานของคุณดี

สมมติว่าเราเลือกเครื่องทัวริงมาตรฐานเป็น "คำอธิบายภาษา" กำหนดเป็นจำนวนของรัฐของ TM ที่เล็กที่สุดที่เริ่มต้นด้วยเทปที่ว่างเปล่าและหยุดหลังจากพิมพ์สตริงsกับมันK(s) s

คุณได้พิสูจน์ให้เห็นว่าเราสามารถสร้างว่า "พิมพ์" สตริงs s = 1111 ... 1 = 1 2 n + 1บนเทปและถูกสร้างขึ้นด้วยน้อยรัฐกว่าT M sที่ "พิมพ์ว่า" string s = 1 2 n ?TMssss=1111...1=12n+1TMss=12n

หลักฐานของคุณสามารถนำไปใช้กับความซับซ้อนของ Kolmogorov กับ TM ได้หรือไม่?

ตกลง! ผมได้รับมัน ... เมื่อ T M s sสามารถ "ขับเคลื่อน" กับใหม่ "ภายในวง" (เราเพิ่มบางรัฐ แต่เราสามารถลบหลายรัฐว่าในT M sมีความจำเป็นสำหรับ " นับ " n ) ... ขอบคุณ!n+1=2mTMssTMsn

(ขออภัย แต่ฉันไม่ทราบวิธีโพสต์สิ่งนี้เป็นความคิดเห็น)


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