Có tồn tại x sao cho K (xx) <K (x), trong đó K là độ phức tạp Kolmogorov.


16

Gọi biểu thị độ phức tạp Kolmogorov của một chuỗi x . Có tồn tại một chuỗi sao cho K ( x x ) < K ( x ) . (Ở đây x x là phép nối của x với chính nó). Một câu hỏi tương tự nhưng khác nhau đã được hỏi ở đây , nhưng ví dụ được đưa ra trong câu trả lời cho câu hỏi đó không hoạt động cho câu hỏi này.K(x)xK(xx)<K(x)xxx

Câu trả lời:


20

Tôi không phải là chuyên gia về độ phức tạp Kolmogorov, nhưng tôi nghĩ rằng x có thể được xây dựng cho mọi hàm phức tạp K như sau. Vì 1, 11, 1111, 11111111, Mạnh, 1 2 n , tầm là mã hóa của số tự nhiên n , K (1 2 n ) không thể là o (log n ). Tuy nhiên, khi n = 2 m , rõ ràng K (1 2 n ) = K (1 2 2 m ) = O (log m ) = O (log log n ). Do đó, chuỗi K (1), K (11), K (1111), K (11111111), Vượt, K (1 2 n ), Hoài không thể tăng đơn điệu, điều đó có nghĩa là tồn tại một chuỗix ở dạng 1 2 n sao cho K ( xx ) <K ( x ).


1
@Tsuyoshi, Có một chuỗi không thể nén được sao cho K ( x x ) < K ( x ) ? xK(xx)<K(x)
Mohammad Al-Turkistany

Tôi nghĩ rằng và K (1 ^ {2 ^ n}) = (log n) mâu thuẫn với nhau. Những gì ông có nghĩa là: Nếu f ( n ) = o ( log n ) sau đó K ( 1 2 n ) O ( f ( n ) ) . Nếu không thì bằng chứng có vẻ tốt. K(122m)=O(logm)f(n)=o(logn)K(12n)O(f(n))
Sune Jakobsen

1
Điều này dường như làm việc. Thật vậy, tôi nghĩ rằng nó cung cấp cho bạn một chuỗi vô hạn của các chuỗi như vậy. Tuy nhiên, hoặc tôi đang hiểu nhầm điều gì đó, hoặc tuyên bố về quy tắc chuỗi cho Kolmogorov Độ phức tạp xuất hiện trong wikipedia ( en.wikipedia.org/wiki/Chain_rule_for_Kolmogorov_complexity ) là sai. Ban đầu tôi nghĩ rằng định nghĩa của wikipedia có thể không áp dụng ở đây, vì ở đó bạn phải có thể biết X kết thúc và Y bắt đầu từ đâu, trong khi ở đây điều này dường như không bắt buộc, nhưng khi Y = X bạn có thể thêm nó vào mô tả trong O (1) bằng cách nói "chia ở giữa".
Abel Molina

@Sune: Ký hiệu Ω (⋅) có một số định nghĩa hơi khác nhau. Cẩn K (1 ^ 2 ^ n) = (log n) trong câu trả lời của tôi có nghĩa là lim limup K (1 ^ 2 ^ n) / log n> 0, và nó không mâu thuẫn với K (1 ^ 2 ^ 2 ^ m) = O (log m). Tôi đã chỉnh sửa câu trả lời để làm rõ điểm này. Xem thêm Định nghĩa về tốc độ tăng trưởng tiệm cận mà chúng ta nên dạy?
Tsuyoshi Ito

1
@turkistany và tất cả: Lưu ý rằng luôn luôn đúng rằng K (xx)> K (x) -c đối với một số hằng, tôi nghĩ điều này nên được chỉ ra. Điều này cũng có nghĩa là chúng ta cần một định nghĩa rất chính xác về không thể nhấn được nếu chúng ta muốn nghiên cứu câu hỏi này. Tôi đoán câu trả lời là một lần nữa, nhưng tôi không có bằng chứng.
domotorp

2

Đúng. Sự phức tạp của Kolomogorov trong thực tế không phụ thuộc vào mô hình của bạn. Máy Turing, chương trình Java, chương trình C ++, ... nếu có một idiosyncrasy trong mô hình của bạn cho phép điều này xảy ra trên một tập hợp đầu vào hữu hạn thì không có vấn đề gì.

Câu hỏi tốt hơn là bạn có thể thoát khỏi bao nhiêu hành vi này mà vẫn có mô hình là phổ quát.


Tôi nghĩ một câu hỏi tốt hơn là: Liệu x như vậy có tồn tại cho tất cả các mô hình không? Tôi không biết "mô hình" chính thức là gì, nhưng có vẻ như câu trả lời của Tsuyoshis hoạt động với tất cả các ngôn ngữ lập trình hợp lý.
Sune Jakobsen

0xxx

1

@Tsuyoshi:

Tôi không hiểu rõ bằng chứng của bạn.

K(s) s

TMssss=1111...1=12n+1TMss=12n

Bằng chứng của bạn có thể được áp dụng cho độ phức tạp Kolmogorov trên TM không?

n+1=2mTMssTMsn

(xin lỗi, nhưng tôi không biết làm thế nào để đăng bài này dưới dạng bình luận)


Để viết nhận xét về bài đăng được thực hiện bởi một người khác không phải bạn không phải là câu trả lời cho câu hỏi của bạn, bạn cần có điểm danh tiếng ít nhất 50.
Tsuyoshi Ito
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.