Giá trị dự kiến ​​của độ phức tạp Kolmogorov trong một mẫu ngẫu nhiên


9

Độ phức tạp Kolmogorov của một chuỗi là không thể tính toán được. Tuy nhiên, trong một tập hợp con ngẫu nhiên có kích thước của các chuỗi nhị phân có độ dài n , có bao nhiêu dự kiến ​​có độ phức tạp nhỏ hơn một số nguyên n 0 nhỏ hơn n (như một hàm của M , nn 0 )?Mnn0nMnn0


Bạn đang sử dụng độ phức tạp Kolmogorov "tiêu chuẩn" ở đây, hay độ phức tạp tiền tố?
Aubrey da Cunha

Thật ra tôi chỉ nghĩ về sự phức tạp của Kolmogorov. Tôi đã đoán được ràng buộc mà domotorp đã đề cập khi chúng ta xem xét vũ trụ của tất cả các chuỗi. Tôi không rõ liệu có bất kỳ kết quả 'nhất quán' nào cho một tập hợp con ngẫu nhiên có kích thước M có thể được tạo ra hay không. Tuy nhiên, sự phức tạp của tiền tố sẽ đưa chúng ta đến một quan điểm khác? 2noM
so với

Nó chắc chắn sẽ không thay đổi thứ tự cường độ, thực tế tôi nghĩ bây giờ câu trả lời của tôi là ràng buộc cho cả hai phiên bản.
domotorp

1
Đối với mỗi và mỗi c , xác suất mà một ngẫu nhiên n chuỗi bit x có Kolmogorov phức tạp K ( x ) n - c lớn hơn 1 - 1ncnxK(x)nc (vớic=n-n0). Vì vậy, trong một phân phối ngẫu nhiên củachuỗiM, bạn nên mong đợiM112cc=nn0M chuỗi cóK(x)<n0... theo trực giác, có xác suất rất cao để chọn một chuỗi có độ phức tạp Kolmogorov cao. M2(nn0)K(x)<n0
Marzio De Biasi

Câu trả lời:


10

Độ phức tạp Kolmogorov chỉ được xác định cho đến một số hằng số phụ gia, do đó không thể đưa ra câu trả lời chính xác. Các ràng buộc mà tôi mô tả ở đây thậm chí còn yếu hơn.

Tất nhiên, số lượng dự kiến ​​có thể được tính toán dễ dàng khi chúng ta biết có bao nhiêu chuỗi có độ phức tạp nhỏ hơn n 0 , vì vậy hãy để tôi trả lời điều này. Nó thường là tuyên bố đầu tiên về độ phức tạp Kolmogorov rằng con số này nhiều nhất là 2 n 0 - 1 - vì chỉ có nhiều chuỗi có độ dài nhỏ hơn. Mặt khác, nếu chương trình của bạn nói "có độ dài n , hãy lấy số thứ x ", thì bạn nhận được 2 n 0 - K ( n ) - C chuỗi có độ phức tạp nhỏ hơn n 0 , trong đó2nn02n01nx2n0K(n)Cn0 là phiên bản tiền tố miễn Kolmogorov phức tạp của n (vì vậy ở hầu hết các log n + log * n + O ( 1 ) ). Chi tiết hơn, trước tiên, chuỗi chứa mô tả của máy Turing đã nhập p x , trong đó p là mô tả của chương trình không có tiền tố xuất ra n , xuất rasố thứ x có độ dài n , là O ( 1 ) bit, và sau đó điều này được theo sau bởi p x .K(n)nlogn+logn+O(1)pxnxnO(1)px

Có lẽ có thể cải thiện các giới hạn này, nhưng tôi nghi ngờ rằng bạn có thể nhận được một câu trả lời chính xác.


Bạn có thể giải thích một chút về cụm từ 'nếu chương trình của bạn nói "có độ dài n, hãy lấy số thứ x"'?
so với

Bạn nói đúng, nó không có tiền tố ở đó, tôi đã sửa nó.
domotorp

3

nn02n0K(n0|n)2K(n0|n)+O(1)n0k2kK(k|n)kn0

C(a,b)=K(a|C(a,b))+C(b|a,C(a,b))+O(1).
K()a=nnbk
k=C(b)=C(n,b)+O(1)=K(n|k)+C(b|n,k)+O(1).
bC(b|n,k)=kK(n|k)+O(1)k=kK(n|k)O(2k)b2knC(b|n,k)k+O(1)Ω(2k)C(b|n,k)=k+O(1)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.