如何应对不完整信息?

1. 什么是不完整信息?

顾名思义,不完整信息就是存在片面的、不完全和未知的信息。造成不完整信息的原因有很多,比如认知水平、人类脑容量限制、科技发展水平、系统的复杂性和事物本身的不确定性等等,导致人类不可避免要面对大量不完整信息决策场景。而如何有效应对不完整信息事关人类对未知事物的认知准确度,代表着人类的科技发展水平。


2. 有哪些不完整信息?

既然应对不完整信息很重要,那么首先我们要了解究竟有哪些不完整信息呢?

第一类是我们明确知道的不完整信息,包括:a)科学已经证明的无法抓取的信息,比如不确定性定理;b)还有我们故意忽略掉的信息,比如由于天气预报的复杂性——我们刻意忽略掉一些影响因素(太阳的反应、月球的引力等),复杂系统的分层——下层特意屏蔽对上层的细节可见性;c)另外还有想抓取却受限于当前科技发展水平而无法获取的信息,比如黑洞、癌症及近几年随着数据的爆炸性增长,人类对大数据的分析和使用却任然受限于当前的大数据技术。

第二类是我们不知道的不完整信息,即表面上我们觉得一切尽在掌握,客观实际上却存在大量未知的信息。比如人类从牛顿物理力学到爱因斯坦相对论的认知变迁,从决定论到混沌论的转换等等,我们不断的在重新完善认知。


3. 如何应对不完整信息?

综上所述,由于不完整信息的存在,我们必须想办法去应对这种情形,以免产生不确定性,进而影响正确决策。在IT领域,我们应对不完整信息的常见方法有:

3.1 增加冗余(Redundancy)

增加冗余可以有效避免不完整信息带来的潜在风险,在IT工业界随处可见,例如通过冗余备份来应对灾难和错误的不确定性,通过Multiple IO path来应对IO链路在网络传输过程中的不确定性,服务器的Active-Standby模式来应对服务的不确定性等等。

3.2 多角度(Multi-dimensions)

通过多角度看待同一个事物,来增加认知的准确性。比如在测试过程中,通过白盒、黑盒、边界测试、压力测试等多种策略来规避软件代码中可能出现的Bug;在决策系统中,通过风险、可靠性、性能、可用性、安全等多个角度来评估某一个方案的可行性;Data fusion过程中通过Multi-sensors既采用了冗余技术又利用了多角度来增强采集信息的精确度等。

3.3 多层次

多层次抽象既可以降低系统的复杂度,同时又可以提升系统的精确度,同时还能尽可能的降低不完整信息带来的不确定性。例如神经网络学习通过抽象多个层次来不断学习从而增强准确性。

3.4 重试

重试是人类应对不完整信息既简单又有效的一种常见方式。例如在网络环境中,由于网络环境的复杂性及动态性,网络传输过程中经常会发生信号中断或异常,此时采用重试,就可能规避不完整信息带来的不确定性问题;系统组件之间的通信也常常采用这种策略,可以在不知道也不用分析失败原因的情况下,解决可靠性问题。


我们引用埃里克.雷蒙(Eric Steven Raymond)1999年在他出版的讨论软件工程方法的著名文集《大教堂和市集》的一个著名观点来结束本篇文章:

“Given enough eyeballs,all bugs are shallow”  ——即只要足够多的眼球关注,就可让所有软件代码缺陷浮现。

这又被称为 Linus‘s Law,这一定律从某种程度向我们揭露了冗余和多角度的重要性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值