2017-02-28

概率论:蒙提霍尔(三门)问题

蒙提霍尔问题,亦称为蒙特霍问题或三门问题(英文:Monty Hall problem),是一个源自博弈论的数学游戏问题,大致出自美国的电视游戏节目Let's Make a Deal。问题的名字来自该节目的主持人蒙提·霍尔(Monty Hall)。

这个游戏的玩法是:参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车或者是奖品,选中后面有车的那扇门就可以赢得该汽车或奖品,而另外两扇门后面则各藏有一只山羊或者是后面没有任何东西。当参赛者选定了一扇门,但未去开启它的时候,知道门后情形的节目主持人会开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。问题是:换另一扇门会否增加参赛者赢得汽车的机会率?如果严格按照上述的条件的话,答案是会。—换门的话,赢得汽车的概率是2/3。

以下给出严格的提问:

假设你正在参加一个游戏节目,你被要求在三扇门中选择一扇:其中一扇后面有一辆车;其余两扇后面则是山羊。你选择了一道门,假设是一号门,然后知道门后面有什么的主持人,开启了另一扇后面有山羊的门,假设是三号门。他然后问你:「你想选择二号门吗?」转换你的选择对你来说是一种优势吗?

答案:

一次循环打印9×9乘法表

通过纯数学方法遍历一次循环,就可以实现打印9×9乘法表。

以下是参考代码:


int main() {
    int i;
    for (i = 0; i < 45; i++) {
        int R = (sqrt(8 * i + 1) + 1) / 2;
        int C = i + 1 - (R - 1) * R / 2;
        printf("%d*%d=%d", C, R, R * C);
        putchar(R == C ? '\n' : ' ');
    }
    return 0;
}


作者:苦逼小青年
链接:https://www.zhihu.com/question/55768263/answer/146636640
来源:知乎

2017-02-27

大学,学习与社会,个人同集体

实话实说,我今天很不爽,因为辅导员的「拍脑袋决策」,我们早上又要早读、又要早操、还要整理宿舍卫生,蛮折腾人的。早读无心学习,写一段文字记录下此刻的心情。

昨天晚上班主任开班会,提及到班级的成绩并不理想,希望能形成学习互助小组,类似精准扶贫的形式形成定向的帮助团队,实现更好的提高成绩。为了避开更加激烈的争执,我当时没有发表任何意见,事后想想,其实这样的策略,真的帮助不大。

辅导员说,「有些东西分班的时候就决定了,后期的努力并不大」,对此我还是部分认同的。人的前程,从来不会因为周围人的改变而改变。人们总是趋向于参与到自己认同感高的群体中——懒惰的人会选择一个懒惰的环境,进取的人会选择一个进取的环境。当一个人本身的内驱力缺乏的时候,任何的外力都无助于其前进和发展。

但是想想,其实也并不绝对。当我们真心渴望改变的时候,内心中形成的强大内驱力会驱使我们不断进步和前行。在这种力量下,固然辛苦但心甘情愿,我们坦然的接受了奋斗过程中的痛苦,并对未来充满憧憬和希望。当内心接纳之时,所有的痛苦便都是浮云。

学习如此,社会上何尝不是如此。古语有云「物以类聚,人以群分」,讲的便是这个道理。正如一个程序设计团队,当团队成员实在无心之时,不妨劝其退出,与其赖着消耗自己和他人的时光,倒不如找点有意义的事情去做。

回到开篇的话题,关于辅导员的「拍脑袋决策」。实话实话,这是一种外部的驱动力,企图以学院压力的形式驱使每个学生保持前进和奋斗,但仔细看看,对那些意志力极其坚定(就是不去)的同学而言,又有多少价值呢?反言之,对于那些意志力不够坚定的同学,在一种有人偷懒但却无需付出极高代价的条件中,又能坚持多久呢?而对于前面未曾提及的意志力坚定去参加的同学,估计学院不统一组织,他也会自己找教室自习(当然可能没有这么早)。

讲真,这样的情况下,我看不到组织早读/早操的意义何在,于是我坚定的拒绝了辅导员的提议,哪怕是付出扣学分的代价。每个人的时间观念和对时间的利用方式是不一样的,比如我在深夜的时候自己做点事情(Coding,Homeworking,etc.)是更有效率的。所以我愿意选择熬夜晚起,在不耽误上课的情况下,于我而言,我更倾向于后面的选择,因为深夜的时候我可能不会犯困,而早起可能让我上午的课精力不佳。

其次是一个班级的人集体在上自习,高中是一种被逼无奈的选择,但是大学更多的应该是注重个人的发展,所有的重心应该放在个人成长而非集体考核。人总是要学着去享受孤独,有些时候有些事情必须要学着去承受一个人做,远离人群的纷纷扰扰,在一个安静无人的环境,自己一人思考学业、前路规划。

对于早操,中国特色制度,我不想多说,没有意思。

且谈检查卫生的问题。我对知乎上「中国有哪些很流行却不正确的价值观?」中CocoQ的一则回答(https://www.zhihu.com/question/44945488/answer/102104104)甚是赞同。作者在其回答中提到:
检查宿舍卫生是件很奇葩的事情,它剥削了每件物品本该有的意义:垃圾桶里不能有垃圾,挂钩上不能挂床帘,桌子上不能放零食,床上还不能躺人,要把被子叠整齐。我想说,那个上学期评上北京市优秀宿舍的,你们的宿舍在视频中看起来就跟没人住一般、更别谈什么宿舍「文化」了。连宿管老师都说不知道你们走了哪条后门~宿舍卫生不是「剥夺」每件物品该有的意义,而该看每件物品被我们如何使用得整齐、得当、合理。

乱七八糟才是常态

其实我喜欢杂而不乱(´⌣`ʃƪ)

CocoQ的话和我的认知基本一致,对此问题也就不再多说。

为何说辅导员的决定是「拍脑袋决定」?原因其实很清楚——辅导员的出发点是极好的,企图用这样的一种方式驱使学生保持奋斗和进步。但是从长远来看,这些做法反而剥夺了个人的自由,对于计划性极好的同学没有任何例外措施(比如签订成绩保证协议可以避免这些愚蠢的考评)可以保障其自由选择的权利,由此看来,这便是赤裸裸的「拍脑袋决定」,考虑欠完善。

附上一张早读的众生相,以纪念这个「充实」的早读。

2017-02-14

再言「中心化」与「去中心化」

很遗憾并没有找到中心化的定义,不妨先给出维基百科上对去中心化的定义:
去中心化(decentralization)是互联网发展过程中形成的社会化关系形态和内容产生形态,是相对于「中心化」而言的新型网络内容生产过程。

个人感觉这段话的意思是:去中心化就是站在中心化的对立面。

很早之前,我一直坚信去中心化是互联网繁荣昌盛发展到一定阶段的必然产物。然而时间却在我的脸上无情的给了一巴掌。中国的互联网越来越繁荣,网络占据每个人生命中的时间越来越长,然而我所期盼的去中心化去迟迟没有来到,相反的,却是中心化局面变得更加牢不可破。

起码在中国,邮件的普及率仍旧持续走低(只停留在少数办公人员使用),腾讯牢牢的掌握着我们的社交甚至是通讯网络。独立博客的风靡只是一时,最终却败北在微博的强势进攻之下,未成气候。BAT全系列几乎包含了我们互联网生活的方方面面,成为了互联网上名副其实的中心。

互联网的核心词应该是互联,毕竟互联网最初建立的目的是去中心化,这使信息更安全、传播更高效。维基解密也正是在这样一种类似去中心化的模式下组建起来,并充分展现了去中心化的优势。而中心化的弊端也显而易见——倘若某天QQ/微信的服务中断了,中国又会有多少人的正常工作和生活受到影响呢?而对于去中心化的邮件,即使163的服务终端,我仍旧可以选择QQ邮箱或者Outlook.com,一个厂商服务的终端显然无法影响全部使用邮件这项服务的用户。

然而,中心化的优势亦很明显。在中心化之下,一站式解决了你几乎全部的问题,满足了你所有的需求,且令我们无需记忆各种纷繁复杂的地址。我们能感受到,去中心化让每个个体都有机会成为中心。然而,每个中心都依赖于个体,个体一散便不成中心了。社交的本质便是人的「抱团」,抱团的人多了自然形成一个巨大的中心。在这种形式下让每个个体都成为中心,又何其困难!

中心化与去中心化,将永远是一个饱受争议而无解的话题。
2017年02月14日 补充:
推荐阅读:再谈去中心化——互联网化即去中心化
http://www.woshipm.com/it/254171.html

2017-02-12

《不能不说的秘密》摘录


  • 真相之重能够将人沉至海底,对不对?真相之重能够压碎你的肋骨。

  • 这场火是我第一段刻骨铭心的记忆。这之前许多年的光影、色彩、琐事我也的确记得,但这场火留下了完全不同的回忆。事件中体现出的人类复杂心态让我从此为之着迷。当地人似乎很乐于看到特立独行的人和敢于冒险的人遭到乘法。我也可能是平生第一次注意到,权威机构会通过拖延行动来教训当事人,官僚主义会让人变得铁石心肠。他们就那样不管不顾,任凭火「自然烧灭」,我们似乎从中瞥见了邪恶在作祟。

  • 计算机可以在这消极的世界中为我们开创积极的空间:计算机教会我们重新开始,反对「自我」,反对「社会」,在崭新的编码空间里建立起一个没有那么多缺陷、那么多腐败的体系。当年我们深知总有一天计算机会改变世界,事实证明它成功了。保守势力会为我们戴上各种帽子,让媒体发动攻击,祭出「国家利益」、爱国主义的大旗,指控我们卖国叛变,但我们一直都深知,世界要比他们想象中的现代得多。开罗在等待着,突尼斯在等待着,我们都在等待着技术进步为全人类带来更大自由的那一天。未来世界中,力量不是来自于枪杆子,而是来自于交流通讯,人不会再通过得到一小群统治精英的认可来认识自己,而是在融入社交社会、充分挖掘巨大政治潜能的过程中认识自己。

  • 这样的国家绝不会变得迟缓沉重,而可拥有敏捷的创造力和敏锐的灵魂,敏于创新,健于言谈,充分企及人类智慧的最高境界。

  • 20年后的今天,我才明白当年的我是多么的躁动不安。当时我以为年轻人就应该生活在高压下,因为从差不多十岁往后我就没经历过什么宁静的生活。非法入侵的活动规模太大,我不禁开始吓得发抖。我们还只是孩子,与我们作斗争的势力太过邪恶、太过强大,最后我们终于意识到,不仅会被警察突袭,还有可能留下终生的窗纱。世界充斥着歌利亚,我们是弱小的一方。

  • 时间能让你看到(时间反正已经让我看到),当权势被逼入死角时,会用尽各种手段诽谤、报复我们。你需要坚守阵地,及时纠正错误,鼓起勇气,牢记历史上凡是挑战腐败权贵的人都曾被公开恶意中伤。对我的恶意中伤几近滑稽,但对当年一个害怕被铐上手铐的少年来讲,这一切都让我心神不安。警察造访妈妈家之后,我感到神秘势力越来越接近。

  • 我这一生中反复发现,过分信赖别人的忠心,自己是要吃大亏的。

  • 我们为科技而战,为的是阻止权威势力只利用数据满足自己的需求。

  • 当看到他坐在法庭对面时,我死盯着他看。他表情冷漠。他很害怕,很年轻,但他脸上的表情我在未来还会再次见到:那是背叛的表情,表面上还装出一副追求真相的高尚模样。不管怎样,当法官说「囚犯起立」却只有我站起来时,人生骤然清晰。我曾经说过真正的信仰诞生于那一刻。对我这一行来说,真正的信仰不仅诞生于那一刻,也始于警察靴踹开房门的那一刻。

  • 斗争的实质是商业对因特网和言论自由的压制。是关于知识产权、个人表达实质以及访问不受限制的原则。

  • 表层政府的背后有一个隐形政府,不忠于人民,也不为人民负责。摧毁隐形政府,斩断腐朽商界和腐朽政界之间的邪恶纽带,是政治家的首要任务。

  • 每当我们目睹不公平的现象却不采取行动时,我们的人格就会在不公正的现象面前变得消极,失去保护自我、保护亲友的能力。现代经济中,人不可能永远与不公正现象隔离……如果人生只有一次,那就让它汲取我们一切的力量,大胆去闯。无论怎样的逃避,我都无法躲开痛苦的声音。也许当我老了以后,我可能会在实验室里混混日子,在仲夏夜与学生们轻声交谈,对世上的不公平现象毫不在乎。但现在不可以。年轻气盛的男人,如果有用信念,就必须为之采取行动。

  • 我不能永远只背着个帆布包活下去——也许我真的可以、真的应该这样活下去,因为组织架构必须建立在一无所有之上才能运转。同理,在这个巨变时代的开端,我已经开始慢慢变成自己的幽灵,勉强控制着自己的虚构形象,而全世界则忙着打造一个关于我的不真实幻象。

  • 我们的目标是将权力妄图藏在黑暗中的事物暴露在阳光之下。

  • 政治语言的目的就是让谎言听起来真实,让谋杀听起来体面高尚,给虚无缥缈的谎言披上真相的外衣。


以上内容摘自:
《阿桑奇自传:不能不说的秘密》 任海龙 常江译 译林出版社出版

2017-02-11

The Next Big Blue-Collar Job Is Coding



WHEN I ASK people to picture a coder, they usually imagine someone like Mark Zuckerberg: a hoodied college dropout who builds an app in a feverish 72-hour programming jag—with the goal of getting insanely rich and, as they say, “changing the world.”

But this Silicon Valley stereotype isn’t even geographically accurate. The Valley employs only 8 percent of the nation’s coders. All the other millions? They’re more like Devon, a programmer I met who helps maintain a ­security-software service in Portland, Oregon. He isn’t going to get fabulously rich, but his job is stable and rewarding: It’s 40 hours a week, well paid, and intellectually challenging. “My dad was a blue-­collar guy,” he tells me—and in many ways, Devon is too.

Politicians routinely bemoan the loss of good blue-collar jobs. Work like that is correctly seen as a pillar of civil middle-class society. And it may yet be again. What if the next big blue-collar job category is already here—and it’s programming? What if we regarded code not as a high-stakes, sexy affair, but the equivalent of skilled work at a Chrysler plant?

Among other things, it would change training for programming jobs—and who gets encouraged to pursue them. As my friend Anil Dash, a technology thinker and entrepreneur, notes, teachers and businesses would spend less time urging kids to do expensive four-year computer-­science degrees and instead introduce more code at the vocational level in high school. You could learn how to do it at a community college; midcareer folks would attend intense months-long programs like Dev Bootcamp. There’d be less focus on the wunderkinds and more on the proletariat.

These sorts of coders won’t have the deep knowledge to craft wild new algorithms for flash trading or neural networks. Why would they need to? That level of expertise is rarely necessary at a job. But any blue-collar coder will be plenty qualified to sling Java­Script for their local bank. That’s a solidly middle-class job, and middle-class jobs are growing: The national average salary for IT jobs is about $81,000 (more than double the national average for all jobs), and the field is set to expand by 12 percent from 2014 to 2024, faster than most other occupations.

Across the country, people are seizing this opportunity, particularly in states hit hardest by deindustrialization. In Kentucky, mining veteran Rusty Justice decided that code could replace coal. He cofounded Bit Source, a code shop that builds its workforce by retraining coal miners as programmers. Enthusiasm is sky high: Justice got 950 applications for his first 11 positions. Miners, it turns out, are accustomed to deep focus, team play, and working with complex engineering tech. “Coal miners are really technology workers who get dirty,” Justice says.

Meanwhile, the Tennessee nonprofit CodeTN is trying to nudge high school kids into coding programs at community colleges. Some students (and teachers) worry that the kids don’t fit the Zuckerbergian cliché. That’s a cultural albatross, CodeTN cofounder Caleb Fristoe says. “We need to get more employers saying, ‘Yeah, we just need someone to manage the login page,’” he says. “You don’t have to be a superstar.”

Now, to be sure, society does need some superstars! Serious innovators, at companies and in academia, are the ones who create new fields like machine learning. But that doesn’t preclude a new mainstream vision of what most programming work actually is. For decades, pop culture (and, frankly, writers like me) have overpromoted the “lone genius” coder. We’ve cooed over the billionaire programmers of The Social Network and the Anonymized, emo, leather-clad hackers of Mr. Robot. But the real heroes are people who go to work every day and turn out good stuff—whether it’s cars, coal, or code.

This article appears in the December 2016 issue. Subscribe now.
COPYRIGHT:
From: https://www.wired.com/2017/02/programming-is-the-new-blue-collar-job/