当前位置: 首页 > article >正文

信息和介质的辩证

设计一个网络传输协议时,我们不能盲目。我们一定要先从自然的角度去思考,而不是技术的角度。

最自然的角度莫过于我们自己使用的语言,我们使用语言进行信息交互持续了上万年,直到今天,我们的语言之所以是如此形式,一定经历了上万年的演化来适应我们自身,所以它一定是合理的。
本文用语言举例,但我不是研究语言的,纯观察所得,深究不算数。

语言分书面语和口语,它们虽对立又统一,本文切入点,视介质不同而已。

书面语诉诸非易失介质,如石头,竹简,纸,硬盘,而口语则诉诸易失介质,如空气,大脑注意力。介质易失与否很容易区分,问题是书面语和口语如何适应非易失和易失。先说结论,然后展开:

  • 口语要冗余,便于在时间序中流式理解,口语几乎都是多音节的和黏着的;
  • 书面语要压缩,便于节省非易失介质空间,因此书面语几乎都是言简意赅。

对理解语言而言,各类中文官话(包括普通话)是反面例子,尽可能将书面语和口语统一在汉字,这对理解语言的本质反而不利,用方言来理解语言而更合理。

秦制书同文对官话的形成有决定作用,自始有了多音节口语压缩成单音节汉字的趋势,比如 “这里”,“那里” 中的 “里” 只是辅助冗余音节,为统一书写,就单独给出了汉字,最终 “这里”,“那里” 就成了独立词汇。口语趋向书面语,因此官话要字正腔圆,一个字说不清就容易引发歧义。

口语强调在 “解码算法” 恢复没听清的部分,多音节连读恰好提供冗余,与阅读书面语时的一字不差,字正腔圆正好相反。

口语中有很多约定俗成的规则,慢慢就成了语法,通过人称,时态,格的规则理解信息,多音节连读也是约定俗成的一部分,比如 “I love you”,将 /v/ 与 /j/ 拼在一起,读成 /vj/ 的音,最终就是 “/aɪ lʌvjuː/”,而 “I hate you” 则是 “/aɪ heɪtjuː/”,这一大堆音节,就算缺失了某一个,也能恢复原意,有了一些规则后,甚至语序颠倒随意放置都无所谓(比如德语,日语),这对乱序有很强容错性。

但对于偏书面语的官话读法,字正腔圆的 “wo ai ni” 只有 3 个音节,漏一个就不知所云了,所以非官话方言一般都不怎么用 “爱” 的读音表达,几乎都是多音节表达,比如 “daijian”,“zhongyi”,“xihan”,“huanxi”,虽然字面上 “待见”,“钟意”,“稀罕”,“欢喜” 都是双音节汉字,但请注意,双音节汉字是为了迎合书同文,在没有文字纯口语表达时,很多音节其实只是后缀。

晋语安阳方言的几个口语例子,“最后” 口语读作 “momoyier”,“最前” 读作 “jinjintouerji”,“边上” 读作 “bianerbianerbianer”,“一点” 读作 “xixixier”,“一坨” 读作 “yeguoluede”,指示位置时都会有后缀 “iang”,它是写不出来的,但如果硬写,还是会写成 “上”,或者 “昂”,很明显这是不正确的,但如果假以时日太久,几百年后的人会认为 “内昂”,“寄昂”,“扽囊” 是完整的指示位置的词汇了。

借书面语的文字标注口语读音的问题显而易见,因为口语是即时的,读音会随时间而变化,但书同文的书面语则相对持久,如果 2000 年前有个字 x 读 “la”,两个口语词 y’la’,z’la’ 为了写下来借用了该字做注音,写作 yx,zx,但 2000 年后口语方言 y’la’ 变成了 y’ba’,但仍然写作 yx,就比较奇怪,同样,如果 x 不再读 “la” 也会不顺畅,换句话说,书同文的书面语和口语是独立的,属于孤立语,而黏着语和屈折语的口语和书面语则相对一致,能听读就能写,看到即可读。

无考证的猜测,古人几乎不会用之乎者也交流,他们的口语大概就是多音节语音的黏着语(外部变化)或屈折语(内部变化),几乎不可能是现代汉语这种孤立语,从官话区外的各地方言能说不能写就可见一斑。

但书面语恰好相反,多音节倾向于压缩到单音节单字,甚至还会出现 “嫑”,“孬” 这种强压缩的汉字。说明汉字是强压缩文字的另一个例子是,英文书翻译成中文版会变薄,中文书翻译成英文版会变厚,这恰好说明英语,德语等语言是强口语弱书面的,正好和中文相反。

古人几乎只用口语交流而不书写,书面语最初仅限于祭司阶层用于记录和占卜,或用于商业活动,很明显祭司的书面语与交流为目的的口语相去甚远,而商人的书面语则作为交流的辅助而与之类似,所以源于地中海周边商业交流的欧洲语言更接近口语,而源自祭司甲骨文的汉语则更接近书面语。

最近家人在学德语,了解到德语对语序很随意,但这种随意的前提是强规则,只要了解了语法规则,任意语序均可恢复语义,但另一方面,当用这种语言进行书写存储时,就显得冗余浪费了。
把上面这一堆总结一下,大致可以得到下面的推论:

  • 介质越易失,信息冗余度越高,介质越不易失,信息压缩度越高。
  • 介质最易失的一端就是传输,介质最不易失的一端就是存储。

回到传输协议的设计,我们现在知道这是强介质相关的,Tesla 的 TTPoE 很显然符合,介质好所以它才敢极简,丢包就 gbn,反之,如果部署在坏网络上,冗余传输就很必要。

但很多人误会了冗余传输,本质上是混淆了介质丢包还是拥塞丢包,所以当拥塞发生时冗余传输定会火上浇油,就类似在噪杂的环境大家一起喊得越响越崩溃,正确的做法应该是载波监听冲突检测,这就是为什么每当我提出 fec 方案时,总有人给出 “试过,效果不好” 的反面结论。

评价介质的好坏要排除拥塞因素,拥塞是指信息超过了容量,而介质问题与此无关。

好介质的极端是存储,效率靠压缩,容错靠拷贝,坏介质的极端是传输,效率靠冗余,容错靠黏着。我们可以从几乎任何地方看到这个规律的体现,从卡车拉硬盘运输到灾备机房到 raid5,从书面语到口语,从印刷术到屈折语,黏着语再到孤立语。

做一个类比,我觉得 TCP 与中文普通话类似,如果抽不出 TCP 的特性,那就看看普通话,语速说不快,语序不能乱,发音要标准,音节不能连,说快了听不清要重说,语序乱了造成误解要解释,发音不标准会造成歧义,说白了就是把书面语用来交流了。

缩写,年代,公式,型号,让人不明觉厉的四件套。

浙江温州皮鞋湿,下雨进水不会胖。


http://www.kler.cn/a/350272.html

相关文章:

  • [答疑]这个消息名是写发送数据还是接收数据
  • ThinkPHP 8的多对多关联
  • 第23篇 基于ARM A9处理器用汇编语言实现中断<五>
  • TCP断开通信前的四次挥手(为啥不是三次?)
  • 【游戏设计原理】75 - 最小最大化
  • RTMP|RTSP播放器只解码视频关键帧功能探讨
  • 智能化企业新人培训:AI助理如何加速新员融入与成长
  • 遥感图像处理又上大分!加个多模态,一篇A会到手~
  • 洛谷P1484.种树
  • 【Linux】基本认知全套入门
  • docker启动的rabbitmq如何启动其SSL功能
  • 嵌入式中数据库sqlit3基本使用方法与现象
  • 十、结构型(外观模式)
  • Gin框架操作指南02:JSON渲染
  • 利用 Llama 3.1模型 + Dify开源LLM应用开发平台,在你的Windows环境中搭建一套AI工作流
  • 理解前端开发和小程序开发中的 build 和 dev 模式
  • 迪杰斯特拉算法的理解
  • Content-Type 详解
  • 打破医院内外网通讯壁垒的关键-消息摆渡
  • mysql用户管理(user表列信息介绍,本质,管理操作),数据库的权限管理(权限列表,权限操作)
  • MySQL 通过 Next-Key Locking 技术(行锁+间隙锁)避免幻读问题
  • Java中的Iterator接口,以及HashSet和TreeSet
  • Pytest中fixture的scope详解
  • iMeta: 南医大余光创组ggtree最新文章-系统发育树存储与可视化的数据结构
  • MySQL(python开发)——(3)表数据的基本操作,增删改查
  • C语言之练习题