反馈系统

我的鱼缸中有一个加热棒,它的作用很简单,当鱼缸中的温度低于预设的某个值时开始自动加热,温度达到或高于这个值时停止加热。凭借它的帮忙,我的小水族箱中的温度一直维持在 25 ℃左右,里面的几条来自热带的小鱼才能快乐地度过杭州的冬季。

这个加热棒也可以被称为恒温器或者温度控制系统,这两个名字其实比加热棒更能反映出它的实质。简单来说,它是一个自动控制系统,它能根据周围环境的温度信息(输入),决定是否加热(输出),同时,它的动作会影响到环境(反馈),而环境的变化又会再次影响它的动作(迭代)。在这儿,水温、加热棒组成了一个反馈系统(确切一点说,是一个负反馈系统)。

这种通过自身的反馈调整运行状态的系统非常有趣,事实上,这些系统在我们周围随处可见,比如卫生间里抽水马桶的水箱中水位与阀门,我们身体上眼睛瞳孔的尺寸与环境光线的强弱,森林中树木与野火的关系,草原上羊与狼的数目,市场上供给与需求之间的关系等等。这是一种无所不在又无比深刻的系统。

有史可查的第一个人造的反馈系统(或说自动控制系统)可以追溯到古希腊时代。当时,常用的计时设备是水钟,靠存水器中的水流来驱动计时。但一个问题是,随着存水器中的水慢慢流走,水压会逐渐降低,水流的速度也会逐渐变慢,从而导致钟的运行速度也逐渐变慢。这时,一位叫克特西比乌斯(Ktesibios)的发明家想出了一个创造性的方案,完美地解决了这个问题。

克特西比乌斯水钟水流调节装置

克特西比乌斯的方案的示意图见上图。我们可以看到,他在存水器与最终的出水口之间加了一个缓冲器,存水器由一根尾部为倒漏斗形的管子与这个缓冲器相连,倒漏斗形与缓冲器中间,有一个圆锥形的浮子。如果缓冲器中的水位过高,浮子会升起,堵住倒漏斗,从而阻止存水器中的水继续进入缓冲器,如果缓冲器中的水位过低,浮子会离开倒漏斗,让存水器为缓冲器加水。这样,就能让缓冲器中的水位保持恒定,从而也保证了出水口水流速度的恒定。

这真是一个精妙绝伦的发明!

另外一个意义重大的反馈系统(自动控制系统)存在于瓦特改良的蒸汽机中。

蒸汽机其实在瓦特之前就已经被发明并且小规模地应用了,但还存在很多问题。瓦特对蒸汽机做了两个重要的改进,一是将他将蒸汽机的加热室和冷却室分开,这样就将当时的蒸汽机的效率一下子提高为原来的三倍,另一改进与本文的主题有关,他为蒸汽机添加了离心调速器(也叫飞球调控器之类名字),使蒸汽机的转速能恒定在操作者指定的数值上。

瓦特离心调速器对蒸汽机转速的控制
  (图片来自互联网)

上图是一个带有离心调速器的蒸汽机的示意图。离心调速器包含两个铅球,装在一条硬摆杆的两端,挂在一根柱子上。蒸汽机运行时,这根柱子同步旋转,带动两个铅球转动,旋转的铅球由于离心力作用,会飞起来,柱子转动越快,铅球就飞得越高。铅球飞起时,会通过一系列联动装置操作蒸汽阀,而蒸汽阀的调整将影响蒸汽机的转速,也即影响柱子、铅球的转速,最终,整个系统会稳定在一个预设的值上。

如果说瓦特的第一个改进是将蒸汽机的力量真正释放出来,他的这第二个改进则是为这野马般的力量套上了缰绳,使这个力量能被人类控制。没有第二个改进,转速不稳定的蒸汽机力量越大就越危险,根本不可能大规模应用,工业革命或许也就不会发生。

除了巨大的机械,反馈系统也能在软件系统中应用,比如在游戏体验中的应用。

我们知道,一个游戏如果太简单,大家玩一会儿后就会觉得它无聊,如果太难,大家玩一会儿后会有挫折感,这两种情形对玩家而言都不是好的体验,最好玩的游戏,是稍微有点挑战性,但又不是太难的那种。但是,每个人的游戏水平都不一样,有些人觉得简单的,另一些人却觉得难,有没有什么方法,能使一个游戏让大家感受到的难度差不多呢?

答案是有的,方法与克特西比乌斯水钟的水流调节器以及瓦特蒸汽机的离心调速器的原理别无二致,——我们可以根据用户的游戏情况,动态地调整游戏的难度。

比如在我之前做的那个网页塔防游戏中就尝试着应用了这种策略:如果上一波怪物造成的伤害太大,下一波怪物则会弱一些;如果上一波怪物没造成伤害或造成的伤害非常小,下一波怪物则会强一些。通过这样的动态调整,我希望能做到让新手感觉游戏不是那么难,同时让高手也觉得游戏不是那么无聊。

当然,这只是一个很简单的游戏,在大型游戏中,敌人的强弱仅仅只是游戏体验的一部分,要考虑及平衡的因素还有很多,这个反馈回路可能会很长很复杂。

反观我们这些做互联网用户体验的,面临的情况其实也很类似,除去纷繁芜杂的名目,我们要做的,就是把产品呈现给用户,度量用户的体验,再反馈到产品中,然后再度量用户体验,再反馈,不断地迭代。与上面不同的是,我们自己也在这个反馈回路中,我们自身,连同千万名天南海北的用户、千万台嗡嗡作响的服务器以及千万根杂乱无章的网线一起,都是这个巨大系统的部件。这么看来,我们最重要的工作貌似可以分为三块:制作或调整产品,准确地度量用户体验,以及有效的反馈。

4 Replies to “反馈系统”

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s