一个生活中的例子: 用球表示状态
来看一个生活中的例子, 比如表示天气吧, 假设有三种状态要表示: "晴天", "阴天", "下雨". 假如用小球来表示, 要怎么表示呢?
如果小球有三种颜色, 红绿蓝, 自然就很好办. 让 红=晴天
, 绿=阴天
, 蓝=下雨
就可以了.
一种颜色
假如现在限制你只使用红色的小球, 那么还能表示吗? 你可能会说, 这我就没办法了.
但是我没有说你一次只可以用一个红色小球呀? 对吧, 你完全可以使用多个红球呀! 下面是一个方案:
一个红球=晴天
两个红球=阴天
三个红球=下雨
显然, 哪怕只有一种球, 只要不断堆积这个数量, 依然可以表达很多不同的情况(状态). 不过只有一种颜色的小球的情况还是存在弊端的.
首先是哪怕只是表示有限的几种情况, 常常都需要很多很多的球.
另一种情况, 比如现在要连续表达三天的天气情况, 假如就是周一到周三吧, 把三个状态紧凑地写成为:
晴天晴天阴天
代表前两天为晴天, 周三就变为阴天了.
用一种颜色的小球去紧凑表示, 晴天用一个球, 两个晴天就用两个球, 一个阴天用两个球, 最终就是四个球, 也即是结果会变成:
○○○○
但这样一来就歧义了.
- 如果是
○/○/○○
, 那就符合原意, 前两天为晴天, 周三则为阴天; - 假如是
○○/○/○
, 那意思就变了, 成了周一阴天, 接下来两天是晴天; - 假如是
○/○○/○
, 那意思又不一样, 成了周一晴天, 周二阴天, 周三再度回到晴天.
甚至还可能是 ○○/○○
, 或者 ○/○/○/○
这就连天数都变了, 不再是三天, 而是两天或者四天, 然后阴晴情况是两个阴天或是四个晴天, 都不对.
使用分隔符
当然, 你可能说, 我这样去表示: ○ ○ ○○
, 用一个 空白 来隔开. 但这样其实就引入了新的符号, 而不是仅仅用红球了, 空白也是个符号呀.
<<老子·道经·第二章>>里说: 故有无相生, 难易相成, 长短相形, 高下相倾, 音声相和, 前后相随, 恒也.
所谓有无相生, 举个例子来说, 砌墙的时候, 有些地方故意不砌砖, 这些地方就属于"无", 后面就成为窗子, 门等. 可是这些"无"难道就是没用的吗? 显然不是, 正因为"无", 它们才有用.
再举个例子, 杯子中间是空的, 所以也是"无", 但也正因为这种"无", 它才能用于盛东西. 如果杯子是实的, 它反而没用了.
所以, 没有 有时也是一种有, 空白 也是一种东西, 而且是有用的东西.
现在普遍用电脑打字, 空白 也是要输入的, 甚至说, 键盘上最大的一个键, 所谓的
空格键
就是用于输入空白的.
你用空白, 跟我用斜杠本质上没有区别, 把空白替换成斜杠就还是变成了 ○/○/○○
, 甚至进一步说把 斜杠 / 替换为 绿, 那就成了 ○绿○绿○○
, 再把 ○
替换为 红
, 结果就是 红绿红绿红红
.
所以, 不管你是用斜杠也好, 空白也罢, 本质上与使用两种不同颜色的小球一样, 违反了只能用一种颜色小球的约定.
事实很明显, 如果只用一种小球, 哪怕数量上不受限制, 当需要表示许多紧凑的连在一块的信息时, 就会引发歧义. 另一方面, 我们看到, 如果能多一种颜色的小球, 然后仅把它视作一种类似斜杠或者空白的分隔符, 就能够无歧义的表示多个连续的信息.
所以, 至少需要两种不同颜色的球. 当然, 如果只把其中一种球用作分隔, 而另一种球则通过不断增加数量去表示不同状态, 这种表示法的效率依然不太高.
下面考虑一种新的方式, 不把绿球视作分隔, 而是它本身就可以代表一种状态. 两种小球均可以用于状态的表示:
红=晴天
绿=阴天
红绿=下雨
但这样有什么问题呢? 其实问题还是类似的, 比如一串的 红绿红绿
:
- 可以是
红/绿/红绿
, 那就是 晴天--阴天--下雨; - 假如是
红绿/红/绿
, 那意思就变了; - 假如是
红/绿红/绿
, 那意思又不一样; - 假如是
红绿/红绿
, 那就连天数都变了.
显然, 如此看来还是得引入一个新的分隔符元素, 比如 蓝球, 也即是需要三种不同颜色的小球. 可一定要再度引入新的颜色的球吗? 未必!
定宽
当有两种不同颜色的小球时, 可以引入一种新的规定: 一次用两个小球一起去表示一个状态, 必须用两个, 也只能用两个. 然后:
红红=晴天
绿绿=阴天
红绿=下雨
现在, 如果有一串的 红绿红红红绿绿绿
, 就只可能有且只有一种没有歧义的解析了: 红绿/红红/红绿/绿绿
, 表示 下雨/晴天/下雨/阴天
.
因为前面已经规定了, 一次必须且只能用两个, 所以分隔问题就不存在了, 只需要 两两/两两 去分隔就好了.
如果想表达更多的状态, 那无非就是从一开始就确立好 一次必须且只能用 的个数, 比如 一次必须且只能用三个, 或者 一次必须且只能用四个...等等.
两种颜色的球, 用一个球, 根据颜色的不同, 可以表达两种情况(状态), 用两个就能表达 2 × 2 = 4 种, 比如前面还可以增加一种天气状态:
红红=晴天
绿绿=阴天
红绿=下雨
绿红=刮风
排列
这里需要注意一个顺序或者说次序的问题, 红绿 与 绿红 是不一样的.
用数学的语言来说, 就是
组合
与排列
的区别.组合不分顺序, 红绿 与 绿红 被认为是一样的;
但按排列来看, 就是不一样的, 排列是讲究顺序的.
因此, 说有四种, 说的是 排列, 而不是 组合.
举个类似的例子, 男女两两结合, 按组合观点, 有三种情况:
男男: 一对男同志;
男女(或者女男, 是一样的): 常规婚姻;
女女: 一对女同志.
但按排列来记, 男女 和 女男 代表不同情况, 可以赋予不同含义, 就有四种:
男男: 一对男同志;
男女: 普通婚姻(女嫁男方);
女男: 特殊婚姻(上门女婿);
女女: 一对女同志.
那么按 排列
来弄, 如果拓展到一次用三个球, 就有 2 × 2 × 2 = 8 种, 比如:
红红红=晴天
绿绿绿=阴天
红绿红=下雨
绿红绿=刮风
红红绿=下雪
绿绿红=冰雹
红绿绿=台风
绿红红=沙尘暴
顺序
当越来越多个球时, 最好对顺序做出约定, 不然很乱, 容易搞混或弄重复了. 为此可以规定, 从右到左, 先用绿球, 再用红球, 最打头的是 绿绿绿, 最后的是 红红红:
绿绿绿=阴天
绿绿红=冰雹
绿红绿=刮风
绿红红=沙尘暴
红绿绿=台风
红绿红=下雨
红红绿=下雪
红红红=晴天
如此一来, 就比较有规律了. 而如果三球还不够, 一路扩展, 还可以到 4 球系统, 8 球系统, 16 球系统, 乃至 32 球系统, 64 球系统...
两种颜色的球, 再结合一次用几个相同数量的球去表达不同的状态的规定, 就足以让我们去表达万事万物.
如果只有一种颜色, 则无法做到这一点.
比如, 要表达全部的英文字母, 大小写一块共 26 × 2 = 52 种, 那么就可以采用一个 6 球系统, 有 2 × 2 × 2 × 2 × 2 × 2 = 64 种不同排列, 足以表达全部大小写字母, 剩余的还能表达如 空白, 标点符号等.
然后规定:
绿绿绿绿绿绿=A
绿绿绿绿绿红=B
绿绿绿绿红绿=C
...
之后, 就可以用这套 球语言系统 去沟通了, 我不跟你说中文, 也不跟你说英文, 我跟你说个球, 照样可以沟通, 只是看上去听上去都比较啰嗦而已, 但它确实是可能的.
比如, 说"绿绿绿绿绿绿绿绿绿绿绿红绿绿绿绿红绿"其实意思就是 "ABC", 当然了, 很啰嗦, 必须承认.
阿基米德曾经说过, 给我一个杠杆, 我就能撬动地球. 在这里, 我们也可以说, 给我两种不同颜色的球, 我就可以表达任何东西.
老子也曾经说过: "道生一, 一生二, 二生三, 三生万物."
见于<<老子·德经·第四十二章>>
要我说呢, 事不过三, 其实二就够了, 二生万物.