[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"_public_topic_publications_%C4%91%E1%BB%99%20ph%E1%BB%A9c%20t%E1%BA%A1p%20kolmogorov{\"limit\":5}":3,"_public_topic_byId_%C4%91%E1%BB%99%20ph%E1%BB%A9c%20t%E1%BA%A1p%20kolmogorov":11},{"code":4,"data":5,"meta":10},"SUCCESS",{"latest":6,"mostCited":7,"vietnamFeatured":8,"vietnamLatest":9},[],[],[],[],null,{"code":4,"data":12,"meta":10},{"id":13,"title":14,"description":15,"content":16,"term":13,"englishTitle":17,"synonyms":18,"definition":23,"discipline":24,"references":25,"faqs":66,"createUser":79,"publishUser":83,"keywords":87,"keywordCount":84,"enrichTopicLink":88,"status":89,"createTime":90,"updateTime":91,"publishTime":92,"linkEnrichedTime":10,"publicationScanTime":10,"contentErrorMessage":10,"viewCount":93,"wikidataId":10,"relateTopics":94},"độ phức tạp kolmogorov","Độ phức tạp Kolmogorov là gì? Định nghĩa và ứng dụng","Độ phức tạp Kolmogorov là gì? Khám phá định lý bất biến, tính không tính toán được, tính ngẫu nhiên thuật toán, mối liên hệ entropy Shannon và ứng dụng AI.","\u003Cp>Độ phức tạp Kolmogorov (Kolmogorov complexity), còn được gọi là độ phức tạp mô tả hay độ phức tạp thuật toán (algorithmic complexity), là độ dài của chương trình máy tính ngắn nhất chạy trên một máy Turing vạn năng có khả năng sinh ra một chuỗi nhị phân hoặc đối tượng dữ liệu cho trước và dừng lại. Được đề xuất độc lập bởi Andrey Kolmogorov, Ray Solomonoff và Gregory Chaitin vào giai đoạn khởi xướng, khái niệm này tạo nên nền tảng của lý thuyết thông tin thuật toán (Algorithmic Information Theory), thiết lập cầu nối sâu sắc giữa khoa học tính toán lý thuyết, lý thuyết thông tin và nhận thức luận khoa học. Mục từ này phân tích định nghĩa hình thức, định lý bất biến, tính không tính toán được, mối liên hệ với tính ngẫu nhiên thuật toán, tương quan với entropy Shannon và các ứng dụng thực tiễn trong nén dữ liệu và suy luận quy nạp.\u003C\u002Fp>\n\n\u003Ch2>Định nghĩa hình thức và Mô hình máy Turing\u003C\u002Fh2>\n\u003Cp>Để lượng hóa lượng thông tin nội tại chứa trong một chuỗi ký tự hữu hạn mà không phụ thuộc vào các giả định {{topic|%7B%22topic%22%3A%22ph%C3%A2n%20ph%E1%BB%91i%20x%C3%A1c%20su%E1%BA%A5t%22%7D}} ngẫu nhiên bên ngoài, độ phức tạp Kolmogorov sử dụng mô hình tính toán hình thức của Alan Turing.\u003C\u002Fp>\n\n\u003Ch3>Độ phức tạp Kolmogorov thuần túy (Plain Complexity)\u003C\u002Fh3>\n\u003Cp>Cho \u003Cscript type=\"math\u002Ftex\">U\u003C\u002Fscript> là một máy Turing vạn năng (Universal Turing Machine) và \u003Cscript type=\"math\u002Ftex\">s\u003C\u002Fscript> là một chuỗi nhị phân hữu hạn thuộc tập \u003Cscript type=\"math\u002Ftex\">\\{0, 1\\}^*\u003C\u002Fscript>. Độ phức tạp Kolmogorov thuần túy của chuỗi \u003Cscript type=\"math\u002Ftex\">s\u003C\u002Fscript> đối với máy \u003Cscript type=\"math\u002Ftex\">U\u003C\u002Fscript>, ký hiệu là \u003Cscript type=\"math\u002Ftex\">C_U(s)\u003C\u002Fscript>, được định nghĩa là độ dài ngắn nhất của một chuỗi chương trình đầu vào \u003Cscript type=\"math\u002Ftex\">p\u003C\u002Fscript> sao cho khi máy \u003Cscript type=\"math\u002Ftex\">U\u003C\u002Fscript> thực thi chương trình \u003Cscript type=\"math\u002Ftex\">p\u003C\u002Fscript>, nó xuất ra chính xác chuỗi \u003Cscript type=\"math\u002Ftex\">s\u003C\u002Fscript> và dừng lại:\u003C\u002Fp>\n\n\u003Cscript type=\"math\u002Ftex; mode=display\">C_U(s) = \\min \\{ |p| : U(p) = s \\}\u003C\u002Fscript>\n\n\u003Cp>Nếu không tồn tại chương trình nào để \u003Cscript type=\"math\u002Ftex\">U\u003C\u002Fscript> sinh ra \u003Cscript type=\"math\u002Ftex\">s\u003C\u002Fscript>, ta quy ước \u003Cscript type=\"math\u002Ftex\">C_U(s) = \\infty\u003C\u002Fscript>. Do \u003Cscript type=\"math\u002Ftex\">U\u003C\u002Fscript> là máy vạn năng, luôn tồn tại chương trình in trực tiếp chuỗi \u003Cscript type=\"math\u002Ftex\">s\u003C\u002Fscript>, nên \u003Cscript type=\"math\u002Ftex\">C_U(s)\u003C\u002Fscript> luôn là một số nguyên hữu hạn không âm.\u003C\u002Fp>\n\n\u003Ch3>Độ phức tạp Kolmogorov có điều kiện (Conditional Complexity)\u003C\u002Fh3>\n\u003Cp>Độ phức tạp Kolmogorov có điều kiện của chuỗi \u003Cscript type=\"math\u002Ftex\">s\u003C\u002Fscript> khi biết trước thông tin phụ trợ \u003Cscript type=\"math\u002Ftex\">y\u003C\u002Fscript>, ký hiệu là \u003Cscript type=\"math\u002Ftex\">C(s|y)\u003C\u002Fscript>, là độ dài của chương trình ngắn nhất nhận \u003Cscript type=\"math\u002Ftex\">y\u003C\u002Fscript> làm đầu vào bổ sung và sinh ra chuỗi \u003Cscript type=\"math\u002Ftex\">s\u003C\u002Fscript>:\u003C\u002Fp>\n\n\u003Cscript type=\"math\u002Ftex; mode=display\">C_U(s|y) = \\min \\{ |p| : U(p, y) = s \\}\u003C\u002Fscript>\n\n\u003Cp>Khái niệm này đo lường lượng thông tin còn lại cần bổ sung để tái tạo chuỗi \u003Cscript type=\"math\u002Ftex\">s\u003C\u002Fscript> khi đã nắm giữ chuỗi dữ liệu \u003Cscript type=\"math\u002Ftex\">y\u003C\u002Fscript>.\u003C\u002Fp>\n\n\u003Ch2>Định lý bất biến của Kolmogorov\u003C\u002Fh2>\n\u003Cp>Một câu hỏi tự nhiên đặt ra là: liệu độ phức tạp của một chuỗi có bị phụ thuộc hoàn toàn vào việc lựa chọn ngôn ngữ lập trình hoặc cấu trúc phần cứng của máy Turing vạn năng hay không? Andrey Kolmogorov (1968) đã chứng minh Định lý bất biến (Invariance Theorem), khẳng định tính độc lập căn bản của thước đo này đối với mô hình máy tính cụ thể.\u003C\u002Fp>\n\n\u003Ch3>Phát biểu định lý\u003C\u002Fh3>\n\u003Cp>Cho \u003Cscript type=\"math\u002Ftex\">U\u003C\u002Fscript> là một máy Turing vạn năng cố định. Với mọi máy Turing \u003Cscript type=\"math\u002Ftex\">M\u003C\u002Fscript> bất kỳ, tồn tại một hằng số \u003Cscript type=\"math\u002Ftex\">c_M\u003C\u002Fscript> (chỉ phụ thuộc vào máy \u003Cscript type=\"math\u002Ftex\">M\u003C\u002Fscript> và \u003Cscript type=\"math\u002Ftex\">U\u003C\u002Fscript>, hoàn toàn không phụ thuộc vào chuỗi \u003Cscript type=\"math\u002Ftex\">s\u003C\u002Fscript>) sao cho với mọi chuỗi nhị phân \u003Cscript type=\"math\u002Ftex\">s\u003C\u002Fscript>:\u003C\u002Fp>\n\n\u003Cscript type=\"math\u002Ftex; mode=display\">C_U(s) \\le C_M(s) + c_M\u003C\u002Fscript>\n\n\u003Cp>Nếu \u003Cscript type=\"math\u002Ftex\">V\u003C\u002Fscript> cũng là một máy Turing vạn năng khác, thì áp dụng định lý theo cả hai chiều ta có:\u003C\u002Fp>\n\n\u003Cscript type=\"math\u002Ftex; mode=display\">|C_U(s) - C_V(s)| \\le c_{U,V}\u003C\u002Fscript>\n\n\u003Ch3>Ý nghĩa nền tảng\u003C\u002Fh3>\n\u003Cp>Hằng số \u003Cscript type=\"math\u002Ftex\">c_M\u003C\u002Fscript> về mặt trực giác chính là độ dài của chương trình mô phỏng (trình biên dịch hoặc trình thông dịch) cho phép máy vạn năng \u003Cscript type=\"math\u002Ftex\">U\u003C\u002Fscript> thực thi mã nguồn của máy \u003Cscript type=\"math\u002Ftex\">M\u003C\u002Fscript>. Khi độ dài chuỗi \u003Cscript type=\"math\u002Ftex\">s\u003C\u002Fscript> tiến tới vô cùng, hằng số này trở nên không đáng kể. Vì vậy, độ phức tạp Kolmogorov là một thuộc tính nội tại khách quan của chính đối tượng dữ liệu, không phụ thuộc vào công cụ tính toán được lựa chọn.\u003C\u002Fp>\n\n\u003Ch2>Tính không thể tính toán được (Uncomputability)\u003C\u002Fh2>\n\u003Cp>Mặc dù có định nghĩa toán học chính xác và thanh nhã, hàm độ phức tạp Kolmogorov là một hàm không thể tính toán được bằng bất kỳ thuật toán hữu hạn nào.\u003C\u002Fp>\n\n\u003Ch3>Mối liên hệ với Bài toán dừng (Halting Problem)\u003C\u002Fh3>\n\u003Cp>Gregory Chaitin (1966) đã chỉ ra rằng việc tính toán chính xác \u003Cscript type=\"math\u002Ftex\">C(s)\u003C\u002Fscript> tương đương với việc giải quyết Bài toán dừng của Alan Turing. Để tìm chương trình ngắn nhất sinh ra chuỗi \u003Cscript type=\"math\u002Ftex\">s\u003C\u002Fscript>, một thuật toán giả định sẽ phải duyệt qua tất cả các chương trình có độ dài tăng dần và chạy thử nghiệm. Tuy nhiên, theo định lý về bài toán dừng, không có thuật toán tổng quát nào có thể xác định xem một chương trình tùy ý sẽ dừng lại và xuất ra kết quả hay sẽ rơi vào vòng lặp vô tận.\u003C\u002Fp>\n\n\u003Ch3>Nghịch lý Berry và giới hạn của các hệ tiên đề hình thức\u003C\u002Fh3>\n\u003Cp>Tính không tính toán được cũng có thể được chứng minh thông qua biến thể của nghịch lý Berry: \"Xét số nguyên nhỏ nhất không thể định nghĩa bằng ít hơn một trăm chữ\". Nếu tồn tại một thuật toán tính được \u003Cscript type=\"math\u002Ftex\">C(s)\u003C\u002Fscript>, ta có thể viết một chương trình ngắn để tìm chuỗi đầu tiên có độ phức tạp lớn hơn chính độ dài chương trình đó, dẫn đến mâu thuẫn logic trực tiếp.\u003C\u002Fp>\n\u003Cp>Hơn nữa, trong bất kỳ hệ tiên đề hình thức nhất quán nào (như hệ tiên đề Zermelo-Fraenkel), chỉ có thể chứng minh các mệnh đề có dạng \u003Cscript type=\"math\u002Ftex\">C(s) \\ge k\u003C\u002Fscript> cho các giá trị \u003Cscript type=\"math\u002Ftex\">k\u003C\u002Fscript> nhỏ hơn một ngưỡng hằng số cố định phụ thuộc vào số lượng tiên đề của hệ thống.\u003C\u002Fp>\n\n\u003Ch2>Độ phức tạp tiền tố (Prefix Kolmogorov Complexity)\u003C\u002Fh2>\n\u003Cp>Trong cấu trúc độ phức tạp thuần túy \u003Cscript type=\"math\u002Ftex\">C(s)\u003C\u002Fscript>, việc xác định điểm kết thúc của chương trình \u003Cscript type=\"math\u002Ftex\">p\u003C\u002Fscript> đòi hỏi thông tin về độ dài của chương trình đó. Để khắc phục khiếm khuyết này và xây dựng một {{topic|%7B%22topic%22%3A%22l%C3%BD%20thuy%E1%BA%BFt%20x%C3%A1c%20su%E1%BA%A5t%22%7D}} chặt chẽ, các nhà nghiên cứu đã giới thiệu Độ phức tạp tiền tố.\u003C\u002Fp>\n\n\u003Ch3>Khái niệm mã không tiền tố và Bất đẳng thức Kraft\u003C\u002Fh3>\n\u003Cp>Một tập hợp các chuỗi nhị phân được gọi là mã tiền tố tự do (prefix-free code) nếu không có chuỗi nào trong tập hợp là tiền tố của một chuỗi khác. Máy Turing tiền tố (Prefix Turing Machine) là máy chỉ chấp nhận tập miền xác định là một mã tiền tố tự do.\u003C\u002Fp>\n\u003Cp>Theo Bất đẳng thức Kraft, đối với mọi tập chương trình hợp lệ của máy Turing tiền tố, tổng lũy thừa âm của độ dài các chương trình luôn hội tụ và bị chặn trên:\u003C\u002Fp>\n\n\u003Cscript type=\"math\u002Ftex; mode=display\">\\sum_{p \\in \\mathrm{dom}(U)} 2^{-|p|} \\le 1\u003C\u002Fscript>\n\n\u003Ch3>Số ngẫu nhiên Chaitin Omega\u003C\u002Fh3>\n\u003Cp>Tổng xác suất dừng phổ quát của máy Turing tiền tố định nghĩa nên hằng số Chaitin \u003Cscript type=\"math\u002Ftex\">\\Omega\u003C\u002Fscript>:\u003C\u002Fp>\n\n\u003Cscript type=\"math\u002Ftex; mode=display\">\\Omega = \\sum_{p \\in \\mathrm{dom}(U)} 2^{-|p|}\u003C\u002Fscript>\n\n\u003Cp>Hằng số \u003Cscript type=\"math\u002Ftex\">\\Omega\u003C\u002Fscript> là một số thực nằm trong khoảng giữa 0 và 1, biểu diễn xác suất để một chương trình được sinh ngẫu nhiên từng bit sẽ dừng lại. Đây là một số siêu việt không thể tính toán được và mang tính ngẫu nhiên thuật toán tối đa.\u003C\u002Fp>\n\n\u003Ch2>Tính ngẫu nhiên thuật toán và Tính không thể nén\u003C\u002Fh2>\n\u003Cp>Trước khi lý thuyết độ phức tạp Kolmogorov ra đời, lý thuyết xác suất cổ điển gặp khó khăn trong việc định nghĩa thế nào là một chuỗi cá thể ngẫu nhiên. Ví dụ, một chuỗi gồm toàn chữ số 0 và một chuỗi tung đồng xu ngẫu nhiên có cùng xác suất xuất hiện \u003Cscript type=\"math\u002Ftex\">2^{-n}\u003C\u002Fscript> trong phân phối đều, nhưng trực giác cho thấy chuỗi thứ hai có tính ngẫu nhiên cao hơn.\u003C\u002Fp>\n\n\u003Ch3>Định nghĩa tính ngẫu nhiên theo Kolmogorov và Martin-Löf\u003C\u002Fh3>\n\u003Cp>Per Martin-Lof (1966) cùng với Kolmogorov và Chaitin đã đưa ra định nghĩa tính ngẫu nhiên thông qua tính không thể nén được của thuật toán (algorithmic incompressibility). Một chuỗi nhị phân \u003Cscript type=\"math\u002Ftex\">s\u003C\u002Fscript> có độ dài \u003Cscript type=\"math\u002Ftex\">n\u003C\u002Fscript> được coi là ngẫu nhiên nếu độ phức tạp Kolmogorov của nó xấp xỉ bằng chính độ dài của nó:\u003C\u002Fp>\n\n\u003Cscript type=\"math\u002Ftex; mode=display\">C(s) \\ge n - c\u003C\u002Fscript>\n\n\u003Cp>trong đó \u003Cscript type=\"math\u002Ftex\">c\u003C\u002Fscript> là một hằng số nhỏ độc lập với \u003Cscript type=\"math\u002Ftex\">n\u003C\u002Fscript>. Một chuỗi ngẫu nhiên là chuỗi không chứa đựng bất kỳ quy luật hay cấu trúc lặp lại nào có thể được nén lại thành một chương trình ngắn hơn.\u003C\u002Fp>\n\n\u003Ch3>Sự tồn tại của các chuỗi không nén được\u003C\u002Fh3>\n\u003Cp>Bằng nguyên lý chuồng bồ câu (Pigeonhole Principle), ta có thể chứng minh sự tồn tại tất yếu của các chuỗi không thể nén được. Số lượng chương trình nhị phân có độ dài nhỏ hơn \u003Cscript type=\"math\u002Ftex\">n\u003C\u002Fscript> là:\u003C\u002Fp>\n\n\u003Cscript type=\"math\u002Ftex; mode=display\">\\sum_{i=0}^{n-1} 2^i = 2^n - 1\u003C\u002Fscript>\n\n\u003Cp>Do tổng số chuỗi nhị phân có độ dài chính xác bằng \u003Cscript type=\"math\u002Ftex\">n\u003C\u002Fscript> là \u003Cscript type=\"math\u002Ftex\">2^n\u003C\u002Fscript>, nên số lượng chương trình ngắn hơn luôn ít hơn số lượng chuỗi cần biểu diễn ít nhất 1 chương trình. Do đó, với mọi độ dài \u003Cscript type=\"math\u002Ftex\">n\u003C\u002Fscript>, luôn tồn tại ít nhất một chuỗi có \u003Cscript type=\"math\u002Ftex\">C(s) \\ge n\u003C\u002Fscript>, và phần lớn các chuỗi nhị phân đều có độ phức tạp xấp xỉ \u003Cscript type=\"math\u002Ftex\">n\u003C\u002Fscript>.\u003C\u002Fp>\n\n\u003Ch2>Mối quan hệ giữa Độ phức tạp Kolmogorov và Entropy Shannon\u003C\u002Fh2>\n\u003Cp>Lý thuyết thông tin cổ điển của Claude Shannon đo lường lượng thông tin trung bình của một {{topic|%7B%22topic%22%3A%22bi%E1%BA%BFn%20ng%E1%BA%ABu%20nhi%C3%AAn%22%7D}} theo phân phối xác suất, trong khi độ phức tạp Kolmogorov đo lường lượng thông tin nội tại của một đối tượng cụ thể duy nhất.\u003C\u002Fp>\n\n\u003Ch3>Sự hội tụ tiệm cận\u003C\u002Fh3>\n\u003Cp>Thomas M. Cover và Joy A. Thomas (2005) trong \u003Cem>Elements of Information Theory\u003C\u002Fem> đã làm sáng tỏ mối liên kết toán học giữa hai trường phái này. Cho một dãy các biến ngẫu nhiên độc lập đồng phân phối (i.i.d.) \u003Cscript type=\"math\u002Ftex\">X_1, X_2, \\dots, X_n\u003C\u002Fscript> tuân theo phân phối xác suất \u003Cscript type=\"math\u002Ftex\">P\u003C\u002Fscript> với Entropy Shannon là \u003Cscript type=\"math\u002Ftex\">H(P)\u003C\u002Fscript>. Giới hạn kỳ vọng toán học của độ phức tạp Kolmogorov trên mỗi ký tự sẽ hội tụ chính xác về Entropy Shannon khi độ dài chuỗi tiến tới vô cùng:\u003C\u002Fp>\n\n\u003Cscript type=\"math\u002Ftex; mode=display\">\\lim_{n \\to \\infty} \\frac{1}{n} \\mathbb{E}[C(X_1 X_2 \\dots X_n)] = H(P)\u003C\u002Fscript>\n\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Tiêu chí so sánh\u003C\u002Fth>\n\u003Cth>Entropy Shannon \u003Cscript type=\"math\u002Ftex\">H(X)\u003C\u002Fscript>\u003C\u002Fth>\n\u003Cth>Độ phức tạp Kolmogorov \u003Cscript type=\"math\u002Ftex\">K(s)\u003C\u002Fscript>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Đối tượng nghiên cứu\u003C\u002Ftd>\n\u003Ctd>Biến ngẫu nhiên và phân phối xác suất tập thể\u003C\u002Ftd>\n\u003Ctd>Một chuỗi ký tự hoặc đối tượng dữ liệu đơn lẻ\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Bản chất đo lường\u003C\u002Ftd>\n\u003Ctd>Lượng thông tin trung bình thống kê\u003C\u002Ftd>\n\u003Ctd>Độ dài chương trình sinh ngắn nhất\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Khả năng tính toán\u003C\u002Ftd>\n\u003Ctd>Hoàn toàn tính toán được nếu biết phân phối\u003C\u002Ftd>\n\u003Ctd>Không thể tính toán được về mặt thuật toán\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Ràng buộc tiên nghiệm\u003C\u002Ftd>\n\u003Ctd>Đòi hỏi giả định về không gian mẫu và phân phối\u003C\u002Ftd>\n\u003Ctd>Phi tham số, không phụ thuộc phân phối xác suất\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n\u003Ch2>Ứng dụng lý thuyết và Thực tiễn\u003C\u002Fh2>\n\u003Cp>Mặc dù không thể tính toán tuyệt đối, các nguyên lý rút ra từ độ phức tạp Kolmogorov đã thúc đẩy nhiều bước tiến quan trọng trong khoa học hiện đại.\u003C\u002Fp>\n\n\u003Ch3>Suy luận quy nạp Solomonoff và Trí tuệ nhân tạo\u003C\u002Fh3>\n\u003Cp>Ray Solomonoff (1964) đã phát triển lý thuyết quy nạp hình thức bằng cách gán cho mỗi mô hình giả thuyết một xác suất tiên nghiệm tỷ lệ nghịch với lũy thừa của độ phức tạp Kolmogorov của nó. Đây là sự toán học hóa chuẩn xác của Nguyên lý Dao cạo Occam: mô hình đơn giản nhất giải thích được dữ liệu quan sát chính là mô hình có xác suất đúng cao nhất. Mô hình AIXI của Marcus Hutter trong lý thuyết {{topic|%7B%22topic%22%3A%22h%E1%BB%8Dc%20t%C4%83ng%20c%C6%B0%E1%BB%9Dng%22%7D}} tổng quát là sự hiện thực hóa trực tiếp của nguyên lý quy nạp Solomonoff.\u003C\u002Fp>\n\n\u003Ch3>Nguyên lý độ dài mô tả tối thiểu (MDL)\u003C\u002Fh3>\n\u003Cp>Trong {{topic|%7B%22topic%22%3A%22h%E1%BB%8Dc%20m%C3%A1y%22%7D}} và thống kê suy luận, Jorma Rissanen đã phát triển Nguyên lý độ dài mô tả tối thiểu (Minimum Description Length - MDL). MDL xấp xỉ độ phức tạp Kolmogorov thực tế bằng cách chọn mô hình sao cho tổng độ dài mô tả của mô hình cộng với độ dài mô tả của dữ liệu sai lệch khi dùng mô hình đó là nhỏ nhất, giúp giải quyết triệt để hiện tượng quá khớp (overfitting).\u003C\u002Fp>\n\n\u003Ch3>Khoảng cách thông tin chuẩn hóa (NID) và Nén dữ liệu\u003C\u002Fh3>\n\u003Cp>Ming Li và Paul Vitanyi (2019) trong công trình tổng kết của mình đã giới thiệu Khoảng cách thông tin chuẩn hóa (Normalized Information Distance - NID), một thước đo khoảng cách vạn năng giữa hai đối tượng dựa trên độ phức tạp Kolmogorov có điều kiện. Trong thực tế, các thuật toán nén dữ liệu tiêu chuẩn (như Gzip, LZMA) được sử dụng để xấp xỉ NID thành Khoảng cách nén chuẩn hóa (Normalized Compression Distance - NCD), cho phép phân cụm dữ liệu tự động trên văn bản, mã nguồn, âm nhạc và trình tự {{topic|%7B%22topic%22%3A%22chu%E1%BB%97i%20gen%22%7D}} sinh học mà không cần tri thức chuyên ngành.\u003C\u002Fp>\n","kolmogorov complexity",[19,20,21,22],"độ phức tạp thuật toán","độ phức tạp mô tả","độ phức tạp Kolmogorov-Chaitin","algorithmic complexity","Độ phức tạp Kolmogorov (hay độ phức tạp thuật toán) là độ dài của chương trình máy tính ngắn nhất chạy trên một máy Turing vạn năng có khả năng sinh ra một chuỗi ký tự hoặc đối tượng dữ liệu cho trước và dừng lại.","NATURAL_SCIENCES",[26,33,40,47,52,59],{"citationText":27,"title":28,"authors":29,"source":30,"year":31,"doi":32,"url":10},"Kolmogorov, A. N. (1968). Logical basis for information theory and probability theory. IEEE Transactions on Information Theory, 14(5), 662-664.","Logical basis for information theory and probability theory","Andrey N. Kolmogorov","IEEE Transactions on Information Theory",1968,"10.1109\u002FTIT.1968.1054210",{"citationText":34,"title":35,"authors":36,"source":37,"year":38,"doi":39,"url":10},"Solomonoff, R. J. (1964). A formal theory of inductive inference. Part I. Information and Control, 7(1), 1-22.","A formal theory of inductive inference. Part I","Ray J. Solomonoff","Information and Control",1964,"10.1016\u002FS0019-9958(64)90223-2",{"citationText":41,"title":42,"authors":43,"source":44,"year":45,"doi":46,"url":10},"Chaitin, G. J. (1966). On the Length of Programs for Computing Finite Binary Sequences. Journal of the ACM, 13(4), 547-569.","On the Length of Programs for Computing Finite Binary Sequences","Gregory J. Chaitin","Journal of the ACM",1966,"10.1145\u002F321356.321363",{"citationText":48,"title":49,"authors":50,"source":37,"year":45,"doi":51,"url":10},"Martin-Lof, P. (1966). The definition of random sequences. Information and Control, 9(6), 602-619.","The definition of random sequences","Per Martin-Löf","10.1016\u002FS0019-9958(66)80018-9",{"citationText":53,"title":54,"authors":55,"source":56,"year":57,"doi":58,"url":10},"Li, M., & Vitanyi, P. (2019). An Introduction to Kolmogorov Complexity and Its Applications (4th ed.). Springer International Publishing.","An Introduction to Kolmogorov Complexity and Its Applications","Ming Li, Paul Vitányi","Texts in Computer Science",2019,"10.1007\u002F978-3-030-11298-1",{"citationText":60,"title":61,"authors":62,"source":63,"year":64,"doi":65,"url":10},"Cover, T. M., & Thomas, J. A. (2005). Elements of Information Theory (2nd ed.). Wiley-Interscience.","Elements of Information Theory","Thomas M. Cover, Joy A. Thomas","Wiley-Interscience",2005,"10.1002\u002F047174882X",[67,70,73,76],{"question":68,"answer":69},"Độ phức tạp Kolmogorov khác gì so với Entropy Shannon?","Entropy Shannon đo lường lượng thông tin trung bình theo một phân phối xác suất thống kê cho trước. Ngược lại, độ phức tạp Kolmogorov đo lượng thông tin nội tại của một đối tượng dữ liệu cá thể duy nhất dựa trên độ dài chương trình ngắn nhất sinh ra nó.",{"question":71,"answer":72},"Tại sao độ phức tạp Kolmogorov không thể tính toán được (uncomputable)?","Việc tính toán độ phức tạp Kolmogorov tương đương với việc giải quyết Bài toán dừng (Halting Problem) của Alan Turing. Do không có thuật toán nào có thể xác định xem một chương trình tùy ý có dừng lại hay không, nên không thể duyệt qua mọi chương trình để tìm ra chương trình ngắn nhất.",{"question":74,"answer":75},"Thế nào là một chuỗi ngẫu nhiên theo nghĩa thuật toán?","Một chuỗi nhị phân được coi là ngẫu nhiên theo nghĩa Kolmogorov và Martin-Löf nếu nó không thể nén được, tức là độ phức tạp Kolmogorov của chuỗi xấp xỉ bằng chính độ dài của nó (không có chương trình nào ngắn hơn có thể sinh ra chuỗi).",{"question":77,"answer":78},"Định lý bất biến của Kolmogorov có ý nghĩa gì?","Định lý bất biến chứng minh rằng độ phức tạp Kolmogorov của một chuỗi giữa hai ngôn ngữ lập trình vạn năng hoặc máy Turing vạn năng khác nhau chỉ sai khác tối đa một hằng số cố định (độ dài trình biên dịch), giúp khẳng định đây là thuộc tính khách quan của dữ liệu.",{"id":80,"researcherId":10,"name":81,"imageUrl":82},2681,"Cuong Ta","https:\u002F\u002Flh3.googleusercontent.com\u002Fa\u002FACg8ocKFuWh0ZD601Hp0_V_2xAK3kIOs20Kyv3V5ZLBo6fwfjyymJYzE=s96-c",{"id":84,"researcherId":10,"name":85,"imageUrl":86},1,"Nguyễn Ngọc Sơn","https:\u002F\u002Flh3.googleusercontent.com\u002Fa\u002FACg8ocLGfGsF1nYQqYK5BasTLhNu1dBrBXg2fcEgBNPXJ0p2gqLQnO7i=s96-c",[13],false,"PUBLISHED","2025-12-01T09:43:02.593+00:00","2026-09-02T11:15:16.389+00:00","2026-09-02T11:15:03.270+00:00",0,[95,98,106,111,116,121,126,131,136,141],{"id":96,"title":97,"term":96,"englishTitle":10,"definition":10,"discipline":10,"disciplineCode":10,"disciplineLabel":10,"disciplineColor":10,"disciplineIcon":10},"tính chất ugn","Tính chất UGN là gì? Các nghiên cứu khoa học liên quan",{"id":99,"title":100,"term":99,"englishTitle":99,"definition":101,"discipline":24,"disciplineCode":102,"disciplineLabel":103,"disciplineColor":104,"disciplineIcon":105},"proton","Proton là gì? Cấu trúc và ứng dụng của Proton","Proton là một hạt hạ nguyên tử bền vững thuộc nhóm baryon cấu tạo từ hai quark lên và một quark xuống, mang điện tích nguyên tố dương và có khối lượng nghỉ xấp xỉ 1.6726 x 10^-27 kg nằm trong hạt nhân nguyên tử.","natural-sciences","Khoa học tự nhiên","#0E9F9C","atom",{"id":107,"title":108,"term":107,"englishTitle":109,"definition":110,"discipline":24,"disciplineCode":102,"disciplineLabel":103,"disciplineColor":104,"disciplineIcon":105},"nhiệt độ nóng chảy","Nhiệt độ nóng chảy là gì? Các nghiên cứu khoa học liên quan","nhiet do nong chay","khái niệm và đối tượng nghiên cứu cơ bản trong khoa học tự nhiên, phản ánh các đặc trưng bản chất, cơ chế vận hành và các quy luật tương tác hệ thống trong thực tiễn.",{"id":112,"title":113,"term":112,"englishTitle":114,"definition":115,"discipline":24,"disciplineCode":102,"disciplineLabel":103,"disciplineColor":104,"disciplineIcon":105},"hằng số tốc độ","Hằng số tốc độ là gì? Các bài nghiên cứu khoa học liên quan","rate constant","Hằng số tốc độ (Reaction Rate Constant, ký hiệu k) là một hệ số tỷ lệ đặc trưng trong phương trình động học biểu thị tốc độ của phản ứng hóa học khi nồng độ của tất cả các chất phản ứng bằng đơn vị.",{"id":117,"title":118,"term":117,"englishTitle":119,"definition":120,"discipline":24,"disciplineCode":102,"disciplineLabel":103,"disciplineColor":104,"disciplineIcon":105},"động vật linh trưởng","Động vật linh trưởng là gì? Tiến hóa Perelman, giải phẫu Fleagle và Estrada","primates","Động vật linh trưởng là một bộ thú có vú bậc cao đặc trưng bởi bàn tay ngón cái đối diện, thị giác lập thể 3D và vỏ não phát triển, tiến hóa qua các nhánh Mũi ướt và Mũi khô theo nghiên cứu Perelman-Fleagle.",{"id":122,"title":123,"term":122,"englishTitle":124,"definition":125,"discipline":24,"disciplineCode":102,"disciplineLabel":103,"disciplineColor":104,"disciplineIcon":105},"đồng vị","Đồng vị là gì? Phân loại và ứng dụng trong khoa học hiện đại","isotope","Đồng vị là các biến thể của cùng một nguyên tố hóa học có cùng số proton trong hạt nhân nhưng khác nhau về số neutron, dẫn đến khối lượng nguyên tử khác nhau.",{"id":127,"title":128,"term":127,"englishTitle":129,"definition":130,"discipline":24,"disciplineCode":102,"disciplineLabel":103,"disciplineColor":104,"disciplineIcon":105},"chu trình sinh địa hóa","Chu trình sinh địa hóa: Khái niệm, nguyên lý và ứng dụng","Biogeochemical cycle","Chu trình sinh địa hóa là một thuật ngữ và phạm trù học thuật then chốt trong lĩnh vực natural sciences, phản ánh các nguyên lý, cơ chế và phương pháp luận chuyên sâu đã được chuẩn hóa trong nghiên cứu và ứng dụng thực tiễn.",{"id":132,"title":133,"term":132,"englishTitle":134,"definition":135,"discipline":24,"disciplineCode":102,"disciplineLabel":103,"disciplineColor":104,"disciplineIcon":105},"ethylene","Ethylene là gì? Cấu trúc hóa học, vai trò sinh học và ứng dụng","Ethylene","Ethylene (ethene, công thức hóa học C2H4) là một hydrocarbon không no thuộc nhóm anken đơn giản nhất, tồn tại ở thể khí không màu, đồng thời là một phytohormone dạng khí điều hòa sự chín và rụng ở thực vật.",{"id":137,"title":138,"term":137,"englishTitle":139,"definition":140,"discipline":24,"disciplineCode":102,"disciplineLabel":103,"disciplineColor":104,"disciplineIcon":105},"không khí ẩm","Không khí ẩm là gì? Các công bố khoa học về Không khí ẩm","moist air","Không khí ẩm là hỗn hợp nhiệt động học giữa không khí khô và hơi nước, có các thông số đặc trưng gồm độ ẩm tương đối, độ ẩm tuyệt đối và nhiệt độ điểm sương.",{"id":142,"title":143,"term":142,"englishTitle":144,"definition":145,"discipline":24,"disciplineCode":102,"disciplineLabel":103,"disciplineColor":104,"disciplineIcon":105},"hệ số phân bố","Hệ số phân bố là gì? Ý nghĩa trong hóa học và dược lý","Partition Coefficient","Hệ số phân bố (partition coefficient, ký hiệu P hoặc log P) là đại lượng nhiệt động học biểu thị tỷ lệ nồng độ cân bằng của một chất tan không phân ly giữa hai dung môi không trộn lẫn (thường là 1-octanol và nước)."]