ZT命运论和乱数种子

  • 白展堂
    上周落枕,过来将近10天也不好,肩膀脖子超痛,基本无法也无心工作。所以来随便吹吹牛,扯扯蛋。

    有人说人生是命运决定的,开始我觉得纯粹是胡说八道,不过后来的一件事让我改变了这个看法。

    这要说到好多年前,工作上的一个项目。

    因该有很多朋友喜欢电玩,有心的朋友可能会注意到,很多游戏都有replay这个功能。比如足球游戏winning eleven,进球之后会有重放进球片段的replay。或者,一些3D格斗游戏自己/对方被击倒之后,也会重拨最后几招的过程。

    还没有流落到游戏这行之前,我也曾经想过“replay是怎么做的啊,是不是要像录像机那样,保存那么久的动画?游戏机的内存够吗?”

    后来,进入了游戏届,某个项目让我接触到了一个术语---random seed,也就是乱数种子。

    具体的东西,有兴趣的朋友可以去wikipedia查查,大概意思就是,事先设定一个算法(公式),然后给这个算法一个初期的数,然后去生成一系列的随机数。

    比如最简单的例子就是

    x = x * a + b;

    比如,如果我们规定a是2,b是1,然后我们给这个公式一个初期值(也就是所谓的种子),之后我们连续套用五次公式,我们会得到下边这些数字

    x(seed) = 5
    x1 = 5 * 2 + 1 = 11
    x2 = 11 * 2 + 1 = 23
    x3 = 23 * 2 + 1 = 47
    x4 = 47 * 2 + 1 = 95
    x5 = 95 * 2 + 1 = 192

    11, 23, 47, 95, 192

    要说的事情就是,如果这个公式是固定的,而且,给这个公式一个固定的初期值,那么无论重复多少次,我们都会得到相同的一些列数字。

    当然,这个例子仅仅是一个例子,实际上需要一点数学知识才能得到相对精确的随机数字,这里就不赘述了。

    言归正传,在需要保存replay的游戏里边,随机数的产生方法也都是利用这种“乱数种子”的方式,而不是去用API提供的库函数。

    这样,我们想重放一个片断的时候,只要给程序当初的“种子”,然后保存下user的操作情报(也就是上下左右方向和按钮),然后让程序用这个“种子”和操作情报,重新运行一下的话,就可以完全的再现当时的情况。而不需要保存画面。


    罗嗦了这么多,相信大家也知道我要说什么了。

    人生,不也就是一个巨大的公式?而我们出生的时间地点,我们的父母,身边的人,就是那个种子。

    只不过,人生的种子,和人生的公式都相当复杂,相当的动态。但是其实我相信,只要能把一个人恢复到他出生的那个环境,那么不管让他恢复到婴儿状态多少次,他长大之后都完全还是同一个人,他每分每秒做什么,也会一成不变。

    只不过,这一切都是不可逆的。

    可能有人会说,我可以拼搏改变命运,但是我要说,你拼搏或者你不拼搏,都是你迄今为止的经历让你作出的判断。选择拼搏与否,也是命运。

    似乎有点宿命论,也不知道大家明白我要说什么不。

    胡言乱语了哈。
  • O
    Oldman
    量子理论秒杀lz
  • q
    qxch
    lz要坚信你的宿命就是拼搏,那就不矛盾了

    为什么宿命论的人一定要懒呢?
  • T
    Tales.J
    凹点。。。。。。
  • O
    OpEth
    错,是lz秒杀了量子论。。。。。
  • 罪恶台球师
    黑客2里就说了,一切都是安排好的,你所要知道的只是为什么这样安排.
  • 水星的爱
    40不惑,50知天命,LZ慢慢等吧
  • a
    adawang
    至少在一定的范围内,有着准确性啊

    就象牛顿力学,难道是放在任何条件、范围、环境下都成立的?
  • a
    adawang
    但是一成不变我不同意

    大处或许不变,但小处甚至小到每分每秒,肯定不一样。命数还没细到这程度。

    而且同样的命数,放在不同的地理环境,不同的生活圈子中,也会受到影响。相当于同一个物体放进了不同的场
  • 白展堂
    另外DNA本来就是遗传序列,人的肉体是有继承性的.
    对于命运来说我感觉也是有继承性的,不过载体还不知道是什么.
  • 二流大神
    当年说星际争霸的录像就是用了这种技术
  • 猫猫猫
    量子论秒杀宿命论!

    上帝掷筛子吗?
    是的, 并且还要扔到我们看不到的地方去....
  • z
    zo
    正是有了决定论才有量子理论。。。。量子理论本身也是一种内在的决定论