专栏|不正经的经济学2:微信“脑残友”的清理算法

2019-07-19

The Algorithm of Sweeping the Idiots in Your Friend List of Wechat

By Hanson Koo, 30th. Jan.,2019

作者:无惑先生

:HansonKu

微信公众号:Hanson_say

【1】

吸烟有害健康,咪蒙摧残智商。

吸烟虽然不好,但大量的烟民创造了庞大的需求、岗位、产出、税收,这部分剩余再进入到消费和投资,给社会带来持续的经济价值。

本文的“脑残”不带有歧视的意思,就好比投机这个词(speculation)原本是中性的,由于理解上的偏差,变成了“投机倒把”的意思(贬义),从而产生些误解。

如果你的朋友是逻辑思维和咪蒙的铁粉,你就得做好心理准备:在很多方面,他们的观点和思考方式会显得非常奇葩,甚至不可理喻。但这并不代表他们内心是邪恶的,思想是龌龊的,人品是底下的。至于能力方面,试想一个学生将九九乘法口诀背得滚瓜烂熟,并认为他已经**地掌握了高斯公式和马尔科夫过程。然后他想在数学研究工作中有所建树,你觉得会是怎样的结果?

【2】

今天大家都在忙着检测自己微信朋友的质量,具体方法如下:


我去试了下,数据还是挺令人惊讶的:我自己的微信朋友中的比例是11.7%和23.16%。


另外,添加新的好友时,可以关注下这几个公众号的好友关注数是否发生了变化。如果数字增加了,说明……

关键的难题是:我们如何区分当前朋友清单里关注罗胖和咪蒙的部分呢?

算法的逻辑并不复杂,给大家介绍下

假设当前微信好友数是n,罗胖的好友关注数为L,咪蒙的好友关注数为M

第一步:随机delete 1个好友,这个时候你的好友清单变成了n-1;

第二步:观察罗胖(L)和咪蒙(M)的好友关注数变化,这里有四种情况:①L减少1,M不变;②L不变,M减少1;③L和M都减少1;④L和M都不变。如果是情况④,说明该好友没有关注罗胖和咪蒙,应该把他加回来。创建一个back列表,将这位好友放进去;

第三步:在n-1的好友清单中,继续随机选出一名好友,重复以上操作。

什么时候停止呢?有两个信号:①n-1<0>,说明你所有的好友已经全部检测过了。② L =0 并且 M = 0 的时候,说明所有关注罗胖和咪蒙的人已经被你清理掉了。剩下的朋友是clean的。

第四步:将back列表中的好友重新添加回来。

这样,你就把关注罗胖和咪蒙的好友都清理掉了。

//这段不是代码,也不遵循任何programming Language的语法!!!//

print Friend(n),count n, Create Back[ ],//确认好友数量,建立back列表//

while n-1 > = 0 //当n-1小于0时意为着所有朋友已经检验过了//,

L+M > 0 // 如果L和M都等于0,说明所有关注罗胖和咪蒙的人已经被清理,可以中止该循环操作。//

i = random(n), Friend(i) = Y

delete Firend(i)

if L' =L and M' = M, //关注数没变//

copy Y into Back[ ] //标记该好友,后续要加回//

Delete Y

n-- //一轮操作结束,好友数减少1个//

break //中止循环操作//

Back[ ] = Friend //将没有关注罗胖和咪蒙的好友加回//




加载中

今日财富

  • 联系电话:021-61873426
  • 联系地址:上海市浦东新区东方路800号宝安大厦2003A室
最具商业价值的财富管理媒体
扫码关注我们