computer-science - 熵的计算机科学定义是什么?

标签 computer-science information-theory entropy compression

我最近在大学开设了一门数据压缩类(class)。然而,我发现“熵”一词在计算机科学中的使用相当模糊。据我所知,它大致可以翻译为系统或结构的“随机性”。

计算机科学“熵”的正确定义是什么?

最佳答案

熵可以表示不同的含义:

Computing

In computing, entropy is the randomness collected by an operating system or application for use in cryptography or other uses that require random data. This randomness is often collected from hardware sources, either pre-existing ones such as mouse movements or specially provided randomness generators.

Information theory

In information theory, entropy is a measure of the uncertainty associated with a random variable. The term by itself in this context usually refers to the Shannon entropy, which quantifies, in the sense of an expected value, the information contained in a message, usually in units such as bits. Equivalently, the Shannon entropy is a measure of the average information content one is missing when one does not know the value of the random variable

数据压缩中的熵

数据压缩中的熵可能表示您输入压缩算法的数据的随机性。熵越大,压缩比越小。这意味着文本越随机,可以压缩的程度就越小。

Shannon's entropy represents an absolute limit on the best possible lossless compression of any communication: treating messages to be encoded as a sequence of independent and identically-distributed random variables, Shannon's source coding theorem shows that, in the limit, the average length of the shortest possible representation to encode the messages in a given alphabet is their entropy divided by the logarithm of the number of symbols in the target alphabet.

关于computer-science - 熵的计算机科学定义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/510412/

相关文章:

java - javax.crypto.KeyGenerator使用/random或/urandom生成 key 吗?

linux - 如何从熵池中停止/开发/随机填充。我可以卸载一个模块来做吗?

functional-programming - Date.now引用透明吗?

java - 在 Java 中提取字符串的前两个字符

computer-science - 上下文无关语法-计算理论

python - 有任何信息理论可以帮助我在无需目视检查的情况下对数据集进行聚类吗?

.net - 使用鼠标移动和击键来生成加密熵(如 MEGA 上所示)

computer-science - 我想描述什么计算机科学主题?

database-design - 信息模型和本体之间有什么区别?

string - 如何在 C++ 中区分两个很长的字符串?