数学聊斋之二

数学聊斋之二(李尚志)
发信人: mingzi (单身汉)
二、 《指鹿为马》之幼儿版
—— 纠错码

最近读到一则笑话:

某人向客人夸耀自己的儿子博比特别聪明:“他只有两岁,就认识所有的动物了。”并让

儿子在客人面前表演。客人翻开一本动物画册,指着一张长颈鹿的画片问:“这是什么?

”答:“马马。”又指了一张老虎的画片,又答:“猫咪。”然后指了狮子的照片,博比

说:“狗狗。”又指了黑猩猩的画片,博比说:“爸爸。”
这则笑话的题目叫做《聪明的博比》。读了之后,发笑之余,你觉得博比聪明吗?假如你

是考官,在这场辨认动物的考试中,你给博比多少分?

博比将所问的四种动物都答错了,按照我们通行的考试标准,只能得零分。但这只能说明

他不认识这四种动物,却不能说明他不聪明。两岁的幼儿怎能认识所有的动物呢?他认识

马、猫、狗、爸爸(人)这些在日常生活中常见的动物,不认识长颈鹿、老虎、狮子、猩猩

这些在日常生活中少见的动物。他不认识长颈鹿,却能在认识的动物中找到一种最接近长

颈鹿的,这就是马。对他不认识的老虎、狮子、猩猩,他也都能在认识的动物中分别找到

最接近的猫、狗、爸爸来作为答案。这难道不是很聪明的吗?

实际上,博比采用的就是现代纠错码的原理。我们现在常采用由 0,1 组成的序列来传递


信息。但是,传递过程中可能出错,比如序列中某一位本来是0,传递过程中变成了1,整个

信息就错了。问题是:接收信息的一方怎么能知道收到的序列是否有错?如果有错,怎样

纠正?

假如序列中某一位本应是0,却变成了1,成为另一个序列。如果这个已经错了的序列代表

了另一个信息,那么接收方就无法知道这个序列是否发生了错误,而会将它误译为另一个

信息。可以假定错误是不多的,比如假定在10 位中最多可能错一位。但必须让它错了一


位之后就不代表任何信息,这才知道出现了错误。具体来说:由10位0,1数字总共可能组成


2^10=1024种不同的序列。如果将这1024个不同的序列全部用来传递信息,那就不能发现错


误了。只能将其中一部分序列作为传递信息的合法序列,其余的都是非法的序列。而且选择

合法的序列使它们每两个之间至少有三位数字不相同。这样,如果接收到的序列不是合法

序列,就可能断定是在传递过程中发生了错误。怎样进行纠正?向聪明的博比学习----将

这个非法序列修改一位,纠正为一个与之最接近的合法序列! 就好象博比将“非法动物”

(他不认识的)长颈鹿纠正为“合法动物”(他所认识的)马。

不妨说:纠错码的原理就是“指鹿为马”。发出的信息只能是“马”而不能是“鹿”,如

果你收到的是“鹿”,那就是错了,要将它纠正为 “马”!


--
Another roof ,another proof

※ 来源:·北大未名站 bbs.pku.edu.cn


google_ad_client = "pub-2416224910262877"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_channel = ""; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000";

其他文章:

数学聊斋之一

仿佛来自虚空,Grothendieck的故事1

google一些鲜为人知的搜索技巧-1

试图通俗地讲一下庞加莱猜想是怎么回事

Heroes in My Heart (1)

美国如何变成数学超级强国

月光理论及推论

对数学未来的思考

Fields奖获得者分析

你可能感兴趣的:(生活,Google,笑话,bbs)