问题是: 我们做了个新 app, 然而点赞量太少, 需要做点假数据 其实这个跟很多店面雇黄牛排队, 游戏里雇美女玩家应该都是一样的道理(当然了, 有很多都是抠脚大汉的美女头像). 关键是怎么能让人觉得不是假的? 这里是一点思考.
先看几个概念
复杂性: 直接的感受是越来越复杂, 从单细胞到人类, 从无机材料到手机. 而复杂度是否会一直升高? 看一下<分钟物理>对于复杂性来源的解释.
爆发模式: 规律通常指某类事件在一段较短的时间内密集发生, 之后是很长的一段沉默期, 然后同类事件再次以更高频率短时间内多次发生.
写程序的过程
刚开始直接的思路是, 一些假号, 建立个计划任务, 就在特定的时间给出随机的赞. 然而无论个体的随机性怎么变, 在宏观上看, 最终获得的点赞数居然是相似的. 这忽然让我想到, 空气分子不可预测的随机排布, 最终能达到稳定态.
人类行为是具有爆发性的: 总是在短时间内点好几个赞, 而其它时间是寂静的. 所以我定义出了一些时间. 一个任务控制用户睡觉, 一个任务控制用户醒来. 时间在作息时间和特殊情况的作用下, 渐渐变得不同.
给特定人点赞的总是那么几个人: 我不知道别人的是怎么样的, 反正给我点赞的总是那么些人. 所以更多的是出于对内容, 还是人的喜欢? 不过有一点是明确的, 人类本身并不会发出随机的喜欢(然而不可辨识的随机是不是会被认为是复杂?) 所以我加入了一点个人喜好:
当然喜好的结论也不是确定的, 喜好给出概率, 概率给出是否赞的结果. 一个用户可以综合几个类型, 导致不确定性.
现在只是简单的结构上的喜好, 并没有加入对内容的判断. 也可能会导致有些没考虑到的情况. 所以加入了几种低概率的随机:
可以改进的地方还有很多, 但是有一点可以明确: 如果把程序当做一件很好玩的事情, 那确实会很好玩.
未来的可能
<复杂> 里一个有意思的程序(具体忘记了, 大体如下): 一个围棋盘, 边是墙, 一个随机小人出现在随机方格中, 他只能看到附近的8个格子. 棋盘随机格子里有宝石, 小人必须走到格子里才能收集宝石, 碰墙扣分, 拿宝石加分. 要编写个程序让小人收集宝石.
我最初的想法是: 观察附近8个格子, 有>走过去>拾取, 都没有>随机移动个格子, 然后继续观察, 如此循环. 这个解法和作者刚开始想的基本一样, 但是有个问题, 随机的那一步有可能会绕圈, 做出一些意义不大的移动. 最终平均分大概在300多.
后来他用遗传学的方式重新做了一遍. 旁边有8个格子, 有无宝石的情况和走那条路的组合是有限的, 将所有情况随机的生成一些组合, 然后按得分淘汰差的, 之后两两配对, 截取"DNA"片段再组合为新的程序, 如此循环, 很多代后, 平均分居然接近500满分. 甚至有一个后代居然可以在一个有宝石的格子, 却不收集.
认为"自然选择"非常简单, 然而并非如此. 大数据的弱智能也许就是智能本身?