|
|
1
62
熵可以有不同的含义:
数据压缩中的熵 数据压缩中的熵可能表示输入到压缩算法的数据的随机性。熵越大,压缩比越小。这意味着文本的随机性越强,压缩的效果就越差。
|
|
|
2
20
我最喜欢的定义是在这本优秀的书的第一章中,有一个更实际的重点 The Pragmatic Programmer: From Journeyman to Master 安德鲁·亨特和大卫·托马斯:
案文摘自: http://pragprog.com/the-pragmatic-programmer/extracts/software-entropy |
|
|
3
11
我总是遇到香农熵意义上的熵。 http://en.wikipedia.org/wiki/Information_entropy : 在信息论中,熵是对随机变量的不确定性的度量。在这种情况下,术语本身通常指香农熵,它在预期值的意义上量化消息中包含的信息,通常以位等单位表示。等价地,香农熵是一个平均信息含量的度量,当一个人不知道随机变量的值时,他丢失了这个平均信息含量。 |
|
4
9
概率计算示例应用中的熵方程:
|
|
|
5
6
|
|
|
6
5
根据压缩和信息理论,信源的熵是信源中的符号可以传递的平均信息量(以位为单位)。非正式地说,一个符号越不可能出现,它的出现带来的惊喜就越多。
如果你的来源有两个符号,比如
举个更有趣的例子,如果源代码有三个符号,
将熵计算为“平均意外”,其中每个符号的“意外”是其概率乘以概率的负二进制对数:
使用二进制日志的负数(当然),因为值介于0和1(独占)之间的日志是负数。 |
|
|
7
3
熵一词可以用一句话来定义:
“描述系统所需的信息量。”
想象一个宇宙膨胀的例子:从一开始,所有物质都聚集在大爆炸之前的一个小点上,因此我们可以用“所有物质都在一个点内”来描述这个系统。而今天,需要更多的信息来描述这个系统(即宇宙),你需要描述所有行星的位置,它们的运动,它们上面有什么等等。。
“hello”=5个字符熵=40位熵(如果charsize为8位)。
|
|
|
8
2
简单地说,熵定义了随机性。这更像是不可预测的事情。更专业的说法是,在计算中,熵是操作系统或应用程序收集的随机性,用于密码学或其他需要随机数据的用途。这种随机性通常是从硬件资源中收集的,既可以是预先存在的资源,如鼠标移动,也可以是专门提供的随机性生成器。 现在,我们可以很容易地得出熵对于一个文件的意义,即衡量一个文件中字节的无序程度。有各种各样的单位用来定义熵,如纳特、香农或哈特利。嗯,最常用的单位是香农。根据Shannons算法,文件熵必须输入的值范围为0到8。所以,当熵值为零时,可以说结果是确定的。相反,当熵值为8时,结果最不可预测。Shannon给出的测量事件结果随机性的公式为:
哪里 事件是否具有概率性 圆周率 . 这个等式的结果总是在0到8之间。 https://www.talentcookie.com/2016/02/file-entropy-in-malware-analysis/ |
|
|
9
0
熵对于病毒研究人员来说也是一个哈希代码。熵越小,就意味着可能是加密或压缩的代码,可能是病毒。 标准二进制比压缩或加密二进制具有更高的熵。 |
|
|
10
0
熵在计算机科学中有许多典型的含义。这取决于上下文。在安全性中,熵意味着你放置了多少随机性,例如,当你生成私钥时,许多应用程序要求你移动鼠标来生成熵。这将通过随机性的“人类”元素生成熵,并将其添加到生成密钥的散列过程中。 现在也有了熵的软件工程定义。此定义表示过时的代码,或是许多开发人员编写过的代码。通常用于参考何时接近重构软件项目。“这个项目的代码有着巨大的熵,因为维护它的很多人目前都不在这个项目中”。 下面是我还记得的第三个用法示例。在模拟退火主题中(就计算机科学而言),熵被描述为算法评估过程中发生了多少衰减。 不过,我想回答你的问题,除了你在字典里能找到的定义外,“熵”这个词没有一个具体的定义。计算机科学如何应用该术语取决于所用术语的上下文及其应用对象。 |
|
|
11
0
熵很容易成为一件大事。在我看来,这是一个美丽的夜晚 simple and useful concept . 基本上,它量化了平均而言,您将从一个事件中学到的内容,比如掷硬币、执行分支指令或为数组编制索引。 像一个比较运算中间的一个搜索算法,有一定的概率p取一个分支,另一个取一个p。 假设P是1/2,就像在二进制搜索中一样。然后,如果你使用那个分支,你会比以前知道多一点,因为log(2/1),base 2,是1。另一方面,如果你选择另一个分支,你也会学到1点。 要获得您将学习的平均信息量,请将您在第一个分支上学习到的信息乘以您获取该分支的概率,再加上您在第二个分支上学习到的信息乘以该分支的概率。 1/2乘以1位,再加上1/2乘以1位,等于1/2位加1/2位,或总熵为1位。这就是你从这个决定中学到的东西。 另一方面,假设您在一个包含1024个条目的表中进行线性搜索。 在第一个==测试中,YES的概率是1/1024,因此在该决策中YES的熵是
因此,如果答案是肯定的,你可以学习10位,但这种可能性大约是千分之一。 另一方面,不太可能。它是熵
或者大约1乘以大约零=大约零。 把这两个因素加在一起,你平均会在这个决定上学到1/100左右。 这就是线性搜索速度慢的原因。每次决策时的熵(您期望学习的信息量)太小,因为您必须学习10位才能在表中找到条目。 |
|
|
12
0
计算机科学中的熵通常指一串位的随机性。 下面的问题是关于如何做到这一点: |
|
|
13
0
简单地说,如果你知道语言中符号的概率,你可以计算语言中符号的平均信息含量。 或 语言的熵是语言中平均符号的信息含量的度量 考虑一枚公平的硬币; 所以熵计算为
|
|
|
14
0
熵是指偶尔根据客户需求对软件进行重塑的程度,因此重塑软件以满足客户需求的成本达到最大。 |
|
|
15
-1
我听说人们误用了熵的热力学定义。 在这个系统中,熵肯定在增加。
|
|
|
Okonjo Mitchel · CS50凯撒:分段故障问题 4 年前 |
|
|
Baraa · 而我在java中得到无限的while循环 4 年前 |
|
|
deficiencyOn · 用DP求解“背包” 8 年前 |
|
|
Robbie · 使用嵌套的if-else语句理解Do-While循环 8 年前 |
|
|
Andrei · 查找两个数组中的差异[重复] 8 年前 |
|
|
Shkarik · 为什么我在Scala中的二进制搜索实现如此缓慢? 8 年前 |