1.1信息是什么(what is information)
从工程学的角度看,信息就是我们在接受到它之后,能够对事物的状态,异常,或者更多的差异性内容,有所了解。
更通俗一点的描述就是:信息就是用来描述“减少差异性的”某种量。
通过数据解决的差异性越大,数据所包含的信息也就越多。
例子:一副54张的扑克牌,描述其中一张扑克牌的信息(以下是四个独立选项)
1.扑克牌不是大小王。
2.扑克牌是红桃牌。
3.扑克牌是4.
4.扑克牌是红桃4.
可以很明显地理解,选项4包含的信息更多,更具体,而选项1包含的信息最少。
1.2信息的量化(quantify information)
虽然使用通用数学的10进制数来作为信息的载体我们会比较熟悉,但我现在要获取的是计算机系的学位,所以我还是以计算机通用的二进制位来作为信息的载体。
或者用更通用的术语;信息的载体:数据(data)
为了表示存在着的两种不同的状态,我们需要两种差异性的数据表示。(0,1)
而带权位的数据,使得我们使用数据所需要的位数为”log(信息量)“。
举例子,表示某种状态需要的信息为8,那么所需要的位数也就是3
(以000,001,010,011,100,101,110,111的解释方式的话)。
我们需要三位的二进制(bit)数据来表示这个信息。
而假如表示某种状态,或者差异的离散分布,需要的信息为36,log(36)=5.17;
但是我们无法表示5.17的位数;
所以要么用6位的数据表示这个信息,或者选用其他的解释方式。
1.3熵(entropy)
说是用来评价编码方式好坏的某种标准(但是没怎么听懂)
是某个信息标准临界线吗?
假如需要表示信息的具体位数需要为8位,那么8位的编码就是熵?低于8位的编码方式会造成信息的不足,高于8位的编码会造成多余的,不需要的位。可能会造成编码位数的浪费?(编码位数也是需要消耗资源的)
1.4编码(encodings)
编码就是将具体的东西(比如字符)映射到具体信息的载体上(0,1),然后通过相应的解释方式唯一正确地解释信息的过程。
假设我们需要表示A,B,C,D四个字符,并且用这四个字符组成字符串,那么我们对他们进行编码解释方式的设计。
首先是定长的编码方式;A:00,B:01,C:10,D:11。
那么以这种方式表示的一个序列,比如说CBDA,在数据(data)上就应该是:10011100,
或者可以选择精心设计过的编码方式比如:A:0,B:10,C:110,D:111。
这样的话CBDA就是:110101110。这样的编码方式也能确保解释方式的绝对确定性。
可以用二叉树简单验证的。
为了对比正确的编码方式,举个错误编码方式的例子:A:0,B:1,C:10,D:11。
这样的话,CBDA的编码就是:101110,但实际解释这段数据的时候,
会错误将其解释位:BABBBA,这样,就没有得到正确的信息。
就像是二叉树短寻路路径一样。
这里突然提起来二叉树,往上一看,好像上面的定长编码方式也可以理解为二叉树的定长路径,也就是完全二叉树的2^n?三叉数在数学上对定长信息的表示是3^n?10进制可以理解为一个十叉树?
假如无限延申的话,树论似乎可以延伸到所有数学中,而我现在学的是计算机组成,算了,就不对此深入探索了。