Профиль пользователя Wei琛凡ФотографииБлогСпискиДополнительно Сервис Справка

Блог


03.11.2009

重大打击

      最近几次连续事件,对我造成了重大打击。越发觉得自己没用。一个人不喜欢自己,真是一件相当痛苦的事情。为什么我就是认识不清自己的能力,不能在自己能力范围内做事和生活呢?
28.10.2009

未得断肠句

感同xiaoli,借句入诗
 
未得断肠句
忽来冷梦秋
杯中常看月
醉我不成愁
26.10.2009

寻觅鬼屋!

题:一个小镇上有10000户房子,编号1到10000。身为探险者的你到小镇歇脚,却得知镇上有好几间鬼屋。这下你来劲了,想要到鬼屋里去探个究竟。但镇上的人谈屋变色,都不敢直接告诉你鬼屋的号码。终于,一个小孩壮胆说,鬼屋的号码有个特点,就是小于它号码的所有屋子号码和等于从比它大一号算起的一些连续屋子的号码和。
问:你能在天黑前找到鬼屋吗?
 
答:应该涉及数论的知识,隐约感觉和Fibonacci数列有关系。胆小者慎入 :)
24.10.2009

青春期留恋症——半读《曼哈顿西区》

      《曼哈顿西区》是mitbbs上非常不错的一篇小说。作者平静而忧伤的笔触,细腻感人。就像是一位成年人在收拾青春期的回忆,情感在此时彼时中交错,从容中尽是不安。
      小说成功塑造了三个典型的人物。女生毛米,社会学PhD candidate。傻傻的、懒懒的烦恼着,留恋青春期,不愿长大。没有办法接受“成年人”的生活,单纯而善良。女侠飘飘,毛米的铁姐们,快意恩仇,潇洒独立,事业有成。对毛米来说,她更像一位大姐,所有困难她都能给扛着,无偿为毛米付出。忍,毛米的前男友,完全理性,刚毅克己。毛米有无数的无奈:对社会学研究中理性的数据分析部分完全不感兴趣,只喜欢发发调查问卷,于是论文迟迟出不来,都五年了还不知道什么时候毕业;于是和老板关系不好,被停掉funding;于是有了巨大的生活压力,在遥遥无期的毕业前如何生存;恐惧着身无长技,找工作困难……总之,毛米抵触一切与“成年人”相关的东西,只想单纯的活着,活在自己善良的心里。她的确善良,总能看到社会底层无助的眼神,听到社会底层无力的声音,并为之惋惜和焦虑。当她在公社里整理图书,给监狱里的犯人哪怕是死刑犯寄去图书,她能体会到一丝平静的快乐。她的生活态度是慵懒的,并没有什么目标:学弹琴似乎不是为了爱好,只是为了打发时间,根本不去好好练习;在公社的时候觉得心情不错,但也没有坚持。她对忍的爱倒是执着、超越一切的,这是毛米身上最为动人的一份品质。
      小说我只看了前大半,但却不经意的猜中了结局。所有人为悲剧必有冲突,可想毛米内心中承受着巨大的煎熬。
      毛米希冀一种她所谓的“青春期”生活,这种生活是什么样子,她自己未必说得清楚。我想应当是一种无忧无虑、没有生存压力、不用有任何目标、不用费心拼搏、但情感体验非常丰富的生活。这里的“情感体验”包括单纯的快乐与忧伤、包括单纯的爱与被爱、包括对世人的同情、甚至包括对自己傻乎乎的模样的一种善意的自嘲。
      毛米为什么会那么入骨的爱上忍,很重要的一部分原因是毛米潜意识中有对另外一种价值取向的向往,就是做像忍和飘飘那样的成功的成年人,为一个社会公认的高端目标努力打拼。这种价值取向可能来源于她从小的教育、可能强加自于周围人的影响,不管怎样,这是社会主流的价值取向。这个主流价值取向与毛米的价值取向在很大程度上不相容。比如说毛米会觉得钢琴老师虽然最后没有“成功”,但仍然有一个说起来让人动容的一生,那也是一种价值,有一种“维纳斯”般残缺的魅力在。毛米爱上忍的另一部分原因则是因为忍在这种主流价值取向的外表下,内心中仍然保有一部分柔软的角落,比如说在毛米醉酒后送她回家。这个角落可以和毛米产生短暂的共鸣,但令毛米沮丧的是,忍最终选择尘封那个角落,与她划清界限。毛米与忍互为相反的轨迹,正证明了想平衡于主流价值观与毛米价值观之间,至为不易。
      毛米内心的另一部分冲突是对社会阶层的情感认同上。毛米执著于一种宗教式的善,平静宽容,不分理由不计得失。这种善她很难在社会精英层中寻觅到。她觉得精英层过于物质,灯红酒绿中丧失了善以及其它情感体验的能力。相反的,这种善她在社会底层感受颇多,于是她更偏向于把自己认同于社会底层。小说中有很多社会底层人民的角色,比如说钢琴老师、公社的年轻人们、还有毛米去送法院传单时聊过天的一个“阿飞女”等等,毛米在和他们相处时心理上是平等的,或者说有时反而是高出一等的“佛看人世”的悲悯。然而她也看到了很多社会底层的阴暗面,看到了社会底层的脏乱差、了解了社会底层的清苦、体味到了社会底层不一样的挣扎,这些都导致了毛米又没有办法把自己完全放在这个阶层上。于是,毛米丧失了自己的社会标签,找不到自己的归宿。
        毛米之所以有这样的煎熬,与她自己视野的狭窄不无关系。我猜想她的父母有相当的社会地位,对她寄望过严,但在许多方面又过于保护,导致毛米一方面对主流价值有潜在的认同,另一方面又不够现实,于是走上了一种叛逆式的逃避的道路。其实这个社会有很多层面,每个层面都有各色人等,你只有付出一点点努力,争取到一点点生存的空间,你仍然可以去尽情的扩张你的情感体验。在这个方面,我不是很喜欢毛米,不太理解作者塑造这个人物的初衷。但不管怎么样,她的纯真与至爱,平静中激荡的波澜,读来仍然让人动容。
18.10.2009

球面分布

      球面分布这个东东学起来挺有意思,可是目前我还没有完全想通它的直观意义。上个礼拜五以为自己想明白了,还在TA session上大肆发挥了一通(我真的很适合当老师),其实是片面的。我当时说,球面分布就是沿各个维度按同样的一维分布采样,这样得到的采样点就是球面分布的。于是,球面分布便有了许多很好的性质,比如说:
      1)球面分布可以看成两个独立分布的乘积,一个是在单位球面上均匀采样,另一个则是对长度采样;
      2)球面分布向量的长度与归一化球面分布向量的联合分布其实就是长度随机变量与单位球面均匀分布向量的联合分布;
      3)如果有一个尺度函数能够抹掉所有向量的长度信息,也就是说T(aX)=T(X),那么这个尺度函数作用于任意球面分布向量,便与T(S)同分布,S就是单位球面均匀分布向量。
      按照第一段提到的直观意义,这三点性质都是显而易见的,只要用数学语言表述出来并且证明一下就好了。可上述直观意义的片面性在于:如果一个向量服从球面分布,那么每个维度服从同样的分布;但如果仅仅是每个维度按同样的一维分布采样,并不能推出整个向量就是球面分布的,甚至每个维度独立同分布都不行。于是,问题就来了,什么样的各维度同分布采样能够导致球面分布呢?什么样的不行呢?当然我知道,从特征函数可以知道这一点,但在现实生活中,除了多维正态分布,还有哪些分布可以归为球面分布而又有实际用途呢?多维正态分布有非常好的性质,这是它得到广泛应用的原因。很多结论都可以由多维正态分布的性质直接推出,并不需仰仗球面分布。
      不过不管怎样,至少我看到了上面的3)价值。对于任意一个球面分布向量X来说,T(X)=sqrt(d)*avg(X)/S(avg(X)表示所有维度的均值,S即标准差)是抹掉了向量长度信息的一个函数,于是对任何球面分布向量,这个T(X)便于T(S)同分布,而我们知道标准多维正态分布N_d与S同分布,于是T(X)便与T(N_d)同分布,即为t(d-1)。这个结论非常爽,也是t分布这么广泛应用的原因之一吧。
14.10.2009

风波荷月香摇晚

风波荷月香摇晚
柳院梨烟雨抱晴
李杜文章难对此
便随好景作刘伶
08.10.2009

旷日持久的讨论

      今天终于有了比较实质性的结果。值得记上一笔。
      我工作的项目是参与开发一个server。这个server是数据库之上的一个layer,从数据库取出数据进行cache,并将数据返回给其它的应用程序。server用java开发,通讯层使用MINA框架。同时要提供java和c++的Client Library(CientLib),除了给其它应用程序提供访问数据的接口,还要隐藏实现static load balancing和fail over的机制。
      相当多的business objects要处理。这些objects有不小的可能性会在将来需要改变。这迫使我们为objects引入版本,从程序角度简单看就是创建与版本对应的package(java)。需要提供不同语言的ClientLib,则迫使我们寻求code generation的方案。Code Generator(CodeGen)主要要做两件事,一是按照一种更高层的object定义格式,生成不同语言下的class定义;二是读写objects。Google protocol不错,但由于编译器不兼容,最后被迫放弃。只好自己写CodeGen。
      不同版本的objects可能在某段时间内存在,也就是说server必须在某段时间内支持同一个object的不同版本。这产生出很多问题。怎么保证后向兼容,即老版本的ClientLib仍然能够和新版本server沟通?怎么实现serielization和deserielization?无数种方案被提出,无数次讨论,终于有了一个比较好的方案。
      我们把objects的改变分成两类。一类是较大规模的改动,包括删除field,在原有两个field之间添加新field等,而另一类则是简单的添加field。前一类我们会升主版本,比如说从1.3到2.0,这时需要创建新的package(java)和namespace(c++)。server另开一个端口serve这个新版本。也就是说,没有一个端口会serve两个主版本的objects,或者说每一个主版本都对应一个独特的端口及一条独特的socket。这样可以实现主版本间的后向兼容,读写也不存在什么问题。对后一类,我们升级副版本,比如说从2.5到2.6。不需创建新package,不需开辟新端口,但需要在CodeGen上做足文章。
      本来我们在CodeGen中是用java序列化的,但如此一来,老版本的ClientLib如何读?讨论到最后我们决定放弃序列化,而采用我们自定义的消息格式,其实很简单,就是对每个object,用4个bytes写object长度,然后紧跟该object的binary序列。注意每个object均如此,因此会有嵌套。在读object函数中,按field的顺序一直往下读,读完之后直接跳到该object binary序列的末尾,然后紧接着读下一个object。注意仍然有嵌套在这里面,不过每个object的读函数做好自己的事,便没什么问题了。
      关键在写object函数。怎么写object的长度呢?其实也不难。每个object的写函数做完自己的事情之后将长度往上一层汇报一下,上一层的写函数求一下和再往上汇报,仅此而已。这些logic都要在CodeGen的代码中实现。
      于是,一个那么复杂的问题最后竟然简化到这样的地步,不得不佩服组里这些经验老道的程序员们。狠狠的崇拜了他们一下,也狠狠的学了一招,过瘾!
05.10.2009

一醉诗成酒未冷

一醉诗成酒未冷
半酣月舞影犹癫
长风我自扶松去
笑看云天山海烟

浪费了两天

      最近看上了Flex,简单好用有够酷。但是一个小破问题却让我头疼了两天,至今无解。
      用HttpService发送post请求,不过是flex 101的东东。post请求中带参数,可以算102吧。可是,我就连这102都搞不定,塞。。。
      我想将下面的字符串“<reportedby>huwei</reportedby>”作为参数“bug”的值传到server端。这里参数值是一个xml string,flex会将它自动url-encoded一下,于是传到server端就变成了%3Creportedby%3E...之类的了。已经试过将contentType改成“application/xml”,会导致其它的麻烦,下面会说到。
<mx:request>
    <bug>
        <reportedby>huwei</reportedby>
    </bug>
</mx:request>
      似乎PHP、JSP、Perl对传过来的xml string都可以正常解析,没问题。但讨厌的是我的project中,我们用MINA框架来写一个简单的Java Http Server接口,用socket连接,只不过包上http的codec而已。不知道是不是因为这个“非主流”Http Server的缘故,flex的HttpService必须用contentType=“application/x-www-form-urlencoded”、server端必须有crossdomain.xml,浏览器才能够与server沟通不出fault。这是题外话。
      xml string作为参数值传到我的server,都变成了上面说的url-encoded字符串。当然可以用java的URLDecoder将其还原。但心里总是不爽,按道理说,flex应该提供这样的便利,将xml string原原本本传递而不进行任何处理的啊。于是使劲google,使劲试各种方案,结果两天下来还是没找到。哪位达人要是知道怎么搞麻烦告知一下,谢了先啊。
29.09.2009

模拟交易之纸牌风云

        这是整个培训中让我最为享受的游戏。
        从两幅牌中随机抽出四张牌作为股票,看不到牌面,让大家围绕其价值进行交易。这里的价值简单定义为四张股票牌的点数和,所有人头牌JQK均算10点。总共游戏三个交易日,每交易日30分钟,每交易日开始翻开一张股票牌。主持人公布每次交易的价格,另外也会随机翻开剩下的牌,每次一张,作为市场信息的模拟。trader根据已经翻开的股票牌以及信息牌制定交易策略,并在pit内以out-cry的方式与其他trader询价交易。每次交易量不得超过10股。整个培训团队分为17个小组,每组三人,正好在三个交易日轮流扮演trader。同组其他两人则记录交易信息,向主持人报告交易价格,并且随时关注本组的position,计算未平仓股数以及break-even价格。
        最开始计算期望价格是小菜一碟,但随着信息的增多,再想计算期望价格,并非易事。只能靠对数字的感觉。
        第一张股票牌是红心4,我作为本组第一位上场的trader,迅速决定要在22~25价位上扮演market maker。信息牌出现人头牌偏多的状况,于是我贯彻这一策略,在第一个交易日内保持基本平仓。但我也意识到,人头牌三倍之内偏多非常正常,不足以作为下一交易日继续此策略的依据。
        第二张股票牌是方块5。该交易日Nirav是trader,我制定基本策略,希望在这一轮以26左右的价位多short。场面非常混乱,我们未能和Nirav有效沟通,导致short position高达90股以上。信息牌纷繁复杂,遗憾的是我并未想到最佳方案,即对每个点牌数出现张数,而只是凭自己的感觉让Nirav降低short的价位。当然,我自己对信息牌的感觉是股票期望价格在降低。
        第三张股票牌是草花10。这是一个很重要的转折,一下便将我对股票价格的估计拉回到25左右,因为我纵观已有信息牌,发现6、8点牌为数较少。而人头牌与10点牌已出现殆尽。对每个点牌数张数的思路到此已现端倪,可惜我到游戏结束还没有形成这一套路。不管怎样,我大略估计了一下风险,认为我们还是不要过多的对最后一张牌压注为好,便制定了平仓的基本策略。Courtney很好的贯彻了这一策略,将short position拉回到25股。
        结果最后一张股票牌是黑桃A。其实Nirav已经在最后一个交易日结束前两三分钟做出了这一判断。但他并不是很自信,而我当时忙于计算position,没有认真听他说理由,导致丧失最后压注的大好时机。不过不管怎么样,我们三个人对价格的判断基本正确,对风险控制得相当好,应当说进行得非常成功。获胜的几个组其实都没有说出理性的思路,应该说运气成分偏多。
        值得一提的是晨犁试图跟其他组OTC交易,规则并没有明确提到,是这个游戏中的一个创新。好好利用或可增加胜算。   
27.09.2009

结束·伤感

      我是一个没有秘密的人,但我深的悲喜却不容易写在脸上。当大家醉后言别的时候,忽然意识到一个月的相聚终抵不过天各一方,一丝伤感盘上心头。努力微笑着,淡的握手而非主动拥抱,我以表面的平静对抗着心底的涌流。
      朋友们来自四面八方:新加坡,悉尼,苏黎世,香港,东京……不同的思想和文化,不同的工作领域,但同样富有年轻人的激情和热望,给这匆匆的一个月涂满了丰富的色彩和乐趣。每一天经过时是平淡,但回首竟都是珍奇。
      不知道以后还能否有这样的机会,能够有这么长的时间重回课堂,认识这么多朝气蓬勃的朋友们。培训结束了,新的征途正要开始。
17.09.2009

价值

      培训过去三周了,听报告无数,耳朵起茧,受益不浅。最深切的感受是弥散在细处的社会价值观,比之中国大有不同。
      美国社会强调家庭价值观。每一位报告人的书面简介中都会提到家庭情况,以“Personal Data”标明。老婆丈夫叫什么名字,有几个小孩,甚至连离婚正单身乃至同性恋正和partner同居都会交代清楚。主持人的介绍以及报告人自我介绍也都会提及家庭,通常会把小孩的名字补上。这让我想到总统竞选,一家人都可以上台风一下光,颇有做秀之嫌。但这却是总统竞选早有的传统做法,至少从约翰肯尼迪那会儿就这样了。我想这说明了美国整个社会在潜意识里面对人的判断是和他/她的家庭情况紧密相连的。中国也强调家庭价值观,但在不同的方面吧。我自己感觉中国社会的家庭价值观是建立在等级制度之上的,总体上缺乏平等与温情。
      美国社会强调个体对社会的回报。不管再怎么削减开支,我们还是租了两辆大巴一起到纽约中国城,与社区小学的孩子们一起度过了一个愉快的下午。这是一所为贫困家庭的孩子开办的学校,学校经费申请非常困难,但校长老师都极为热情开朗。我们分成七八个小组,每个小组带领孩子们做一些有意思的事情,比如说让孩子们设计卡片、制作项链、画出自己手掌的轮廓然后在其中设计各式图案。一同培训的美国朋友们对这类社区活动驾轻就熟,我还没怎么摸全头脑他们就已经开始工作,招呼起孩子们。可见他们从小就有无数这方面的经历与训练,也可见美国社会对社区活动的重视程度。另一个例子,公司给每位员工提供两天的带薪假参加社区活动。再一个例子,MBA申请中,社区活动是必不可少的一项经历。中国的价值观中不太强调以小事回馈社会,而更多的是强调要当大官,以更大的手笔去改变社会。同样,缺乏温情。也许有朋友要说,四川大地震、抗洪抢险,这么多可歌可泣的事迹,难道不是强调回馈社会么?的确是,但不知道大家注意没有,中国社会太习惯于树立典型,树立一些离平常人大有距离的典型,而不去提倡一些平常人都能做到“小善”。这其实对改善整个社会的价值观与精神风貌大为不利,甚至会起反作用。
      美国社会强调环保。培训如此紧张,但我们还是分到了两个小时时间,专门了解了一下环保的相关知识。令我惊讶的是,不少美国朋友对哪些塑料能回收那些塑料不能回收都知道得一清二楚。包括上面提到的社区活动,孩子们写的很多东西画的很多画都和环保、热爱地球相关。公司电梯间有一些宣传橱窗,内容常变,但总少不了环保话题,比如说废电池回收前应注意将两节电池正极对放,公司的打印机将默认为双面打印等。中国社会还处在高速发展阶段,客观上没法强调环保。但发展到了一定程度,环保问题会成为一个瓶颈。
      美国社会强调平等,强调参与,强调发掘个体价值。虽是陈词滥调,但还是想说说。培训的好几个环节,报告人上来就亲切的希望了解大家,让大家分享最近有趣的事情。结束语也通常是希望大家有事直接找我,我的邮件是blablabla。培训中很多环节都需要我们积极参与,比如说环保的部分我们就分成几个小组,每个小组讨论生活当中环保的好例子以及不足可改善的地方;比如说认识自我个性发掘环节,同样个性的人分到同一组,一起研究如何说服个性不同的另一组等等。好几个high rank的报告人也都提到,他们的工作其实就是培养下属,让他们能够挑战自己,以至最终能够替代自己,这样他们就可以去寻求新的需求,尝试新的工作岗位。这个观点让我大为惊叹,我想中国的领导人很少能够说出这样有气度的话来,很少能够有这样远瞻的用人思路。这当然和整个中国社会的阶级结构紧密相关。中国社会竞争过激,权层必须在社会强加一定的等级观、神秘感才能保证自己的权益,强调平等对他们有弊无利。但在全球市场一体化的冲击下,中国社会必然要在个体价值这个层面上寻找到一个新的平衡点,让我们拭目以待。

联系

对jt的blog突发奇想,不记下来着实可惜——
 
“在国内前前后后晃荡了两个月了,记忆中有很多有趣的事情,尤其是对我这种小海龟来说,呵呵
 1. 要寄快递给朋友,上门取货的是个操着外地口音的大叔,因为当时下雨,我叮嘱他回去帮我在包裹外面套一个袋子。他二话没说答应了。一个小时之后,大叔来电,非常抑郁的说,你这个包裹套上袋子就超重啦,要加五块钱。可当时我已经跑到北京城的另一头了,大叔犹豫了一会儿说:“算了,我帮你垫上吧,下周我上班的时候去你那儿取钱好了。”这自然是再好不过了。只是下周我就要回到美国,就给了大叔Ti的手机号,告诉他有空的时候就问这个人要那五块钱。结果,包裹按时寄到了,大叔却再也没来要那五块钱。。。
 2. 跟朋友去饭店吃饭,看到菜单上有个“玫瑰花露”,就问服务员,这是什么啊?小伙子一脸真诚的说:“闻着就跟中药似的。。。”我等绝倒~结帐的时候,那个小伙子又一脸真诚的跑来,说:“不好意思啊,我今天第一天上班,那个东西我也没喝过,这是给你们的优惠卷,欢迎下次再来!”真是可爱的要死。。。 
3. 一次在地铁出口等人,无聊之际四处张望,发现旁边有个卖玉米的小伙子。这小伙子很有意思,来买的是男性或者大妈都很正常,遇到漂亮姑娘就立马说“我再送你一个吧”,搞的好几个女孩说:“不是吧?是不是有问题的呀?”小伙子只好再三解释,女孩子们才将信将疑的走了:)) 
4. 某次面试,面试官是该公司的CEO,谈了十几分钟,他突然冒出一句:“你觉得你是淑女型还是野蛮女友型?”我眨巴眨巴眼睛说:“我是因人而异型。”后来貌似这CEO对我很满意,非常想要我去他们公司,可是我怎么敢。。。”
 
 
万事皆有联系,透过现象看本质,嘿嘿——
 
1. 大叔记错手机号了,很坚持的打了一下午,都是一个小伙子接的电话:“都说了我们这儿只有‘玫瑰花露’,没有‘玫瑰饯’,烦不烦哪你!”。大叔很郁闷,“这城里人心眼太不实诚,就五块钱(玫瑰饯)都要赖。还有更了不得的,给钱让我去踢玉米摊,唉,你说,这坏事俺咋做得出来。。。”
2. 服务员拿着三张一百,心里乐了:“rp守恒,可不,前几天还被他丫的电话骚扰,看,这回白赚了一张大钞!得,还是赶快给张优惠卷把这美女打发走,省得她待会发现。不过我刚才告诉她玫瑰花露闻着跟中药似的,也算说了大实话,对得起她了。可不是么,每次把那剩下的玉米水端进厨房,都得把我恶心死。。。”
3. “‘偶像型还是实力型’,废话,不‘实力’能卖那么多年玉米还活着么,不‘偶像’能让那端我剩水的帅哥老盯着我看么!这么没素质的问题,那CEO不会是看上我了吧。。。”
4. CEO怒了,这些乡巴佬,这么好的机会赚钱都不赚,得,“去去,把我的东西赶紧送到!”。赶走快递大叔,CEO心想:“这卖玉米的是有能耐,我们正需要这样的推销员。可是他傲气大盛,一定得杀他个下马威以后才管得住。除了买些人去踢他的玉米摊,还能怎么搞呢。。。”
03.09.2009

悲伤的故事

      罗密欧与朱莉叶在城堡里过着“幸福”的生活。
      一天,小罗要出门,就跟小朱说,今天无论如何你不能出城堡,否则就要受到严惩。小朱答应了,于是小罗走了。
      小朱等小罗走远,就乐颠颠的跑去会情人了。结果还没怎么开始缠绵呢,两个人就闹翻了。小朱脾气火爆,当下就把情人踹了,赌誓再不回来。
      小朱回到城堡,看门人说,小罗跟俺说过了,要是你背着他出城堡,等你回来我就要杀掉你。你现在走吧,永远别再回来。
      小朱好郁闷。她知道护城河通向城堡的一个秘密荒废的后门,于是她就去找摆渡人。摆渡人说,你给钱我就带你进堡。小朱说,我莫得钱哪,等我进到堡里再给你钱咋样?摆渡人说,先交钱后干活,没钱免谈。
      小朱更郁闷,就跑去找她的情人。情人这下幸灾乐祸了,您不是才把我踹了嘛,您有本事再找一个去。
      小朱无比郁闷,只好跑去找她的好友。好友说,这个这个,我可不想插手你们家的私事,我什么都帮不了你。
      这下小朱绝望了,就回到城堡。结果看门人就把她杀掉了。
 
在这个悲伤的故事里有六个角色:小罗、小朱、看门人、情人、摆渡人、好友。谁对小朱的死负有更大的责任?请你按责任大小排序,并说说理由:)

德克萨斯拿住

      在网上看到这个直译的时候,硬是愣了三秒钟以上。莫非年纪大了太迟钝?懊恼一番缓过劲来想想,可不是么,“Texas Hold'em”,还能怎么翻译更好呢?“德克萨斯州拿住他们”?hmm,貌似给人起名我自诩为行家,但给东西起名我似乎不是很在行。
      阿Q一下立刻释然,放眼美国,起名儿强过我的也怕没几个吧。要不然怎么这些爆贵的住宅区,名字都那么“德克萨斯拿住”呢,像“××× Townhouse”,“××× Village”,直译过来就是“×××那旮瘩的公寓房”、“×××村”(其实×××是个小城市,但也没必要自贬吧),气场还远不及国内的“帝宸”、“龙禹”这些三流小区名。越想心情越好,突然一下“ding”出一个不错的域名:sunonus。阳光照在俺们身上,多幸福,而且还是回文啵!就是从后面往前读也是一样的!英文中最著名的回文是一个很出名的标语:A man, a plan, a canal, Panama! 有兴趣的同学google一下吧。跑题太远了。
      “拿住”是个好东东,容易上瘾。昨晚才学,今天就小炫了一把。虽然没下真钱,但把几个老外忽悠得一踮一踮的,也够我被窝里乐一晚上了。这玩艺儿靠装,而我又是一个不错的演员。那次杀人,要不是xiang最后违规搞一句“我以我人格担保我不是杀手”,senlin到最后还以为我和他是一伙的咧。我是个好孩子,可不敢上升到人格的高度玩游戏。下次哪位组织“拿住”,一定要叫上我。
      对赌没有研究,感觉所有赌法中,“拿住”将客观概率和主观人性斗争结合得最好,难怪它一下子火起来,痴迷者如此之众。高手必须具备很多优秀品质,但相比起来更重要的一条是对对手的了解和感觉。这奇妙的感觉可不得了,不是一般人轻易修炼得成的。优秀的trader也是一样,仅凭运气绝难赢久,必须有一种感觉能够在繁复的信息中捕捉到机会。这些东西目前的科学无法解释,就连这些trader自己也常将这种异于常人的能力归因于“God's feeling“。
      自然界本身充满了随机,不然怎么会有大量变异而导致进化?但偏偏进化出来一个对随机性感觉不好的人脑。一只股票XYZ,市场对它的一致看法是每年10%的盈利,它的风险是30%,那么期望持有这只股票多长时间能够做到不陪不赚?一般人的回答可能是6个月、1年、3年、5年等,但答案竟是15年。而另一个问题,期望持有这只股票多长时间能够做到平均每年8%的盈利?回答竟是300年以上。生命是有限的,这种生物与生俱来的“稀缺资源”导致我们没有办法对超出我们生命长度之外的事情做到冷静的估计和判断,仔细想想,难道没有一些可悲和无奈的意味在里面么?
      然而无数的随机却总似乎围绕着一些线索,正如同变异的总体趋势是进化而非退化,人类社会也在无数的“crisis”中朝更完善的方向发展。也总有一些伟人,能够觅到这些线索,给迷惘的人们一些惊喜和期待。然而我非伟人,所以当我站在钢筋水泥混凝土的顶楼,隔窗遥望这些那些遥不可及的喧闹的时候,我能想到的便只能是“拿住”这样的话题以及一些与它相关的一些可有可无的文字。
      罢了,咖啡又凉了。
01.09.2009

一线生机(2)

题:100名死囚,100个盒子放在幕布后面,每个盒子里面随机放着一只数字球。数字从1到100,不重复。从1号死囚开始,每名死囚可以选50个盒子,由法官看盒子里球的数字,若其中某球的数字等于死囚的编号,就轮到下一号死囚重复这个过程,一直到100号选完法官判验结果为止。一旦有某一个死囚选的50个盒子不符合上述条件,所有死囚即刻处斩;否则全获释放。没有一名死囚能看到法官判验的过程,只能知道结果(显然)。死囚们之前可以商量制定一个选盒子判验的策略,但一旦1号死囚开始,不能有任何的信息传递。
问:如果你是这100名死囚中的一名,你能为大家找出这一线生机吗?
20.08.2009

一线生机

题:100名死囚,100顶帽子。法官在每顶帽子上随机写上一个 [1, 100] 的整数,数字可以重复。写完之后给每名死囚戴上一顶。每名死囚只能看到其他99名死囚帽子上的数,却不知道自己帽子的数字是多少。现在让死囚们猜自己的数字,并把数字写在纸条上交给法官。法官看这100张纸条,一旦有一名死囚猜中了自己的数字,全部死囚便得释放。
问:如果在戴帽子之后这些死囚不能有任何的信息传递,但在戴帽之前他们能够商量制定一些猜数字策略,你能给他们指出这一线生机吗?
 
答:(多谢Loy Weng同学提供这个更为精妙的解法。)
1. 为这N名死囚编号,从0到N-1。假设第i名死囚帽子上的数字为n_i,且对于任意i,n_i落在[0, N-1]内。
2. 令X=sum_i n_i,Y_j=sum_{i!=j} n_i,则X=Y_j+n_j,或n_j=X-Y_j(对任意j)。
3. 根据余数运算的性质,我们有:X=s*N+x,Y_j=t_j*N+y_j,其中s和t_j为非负整数,x和所有y_j均落在[0, N-1]内。
4. 因为x落在[0, N-1]内,则x必然等于某一位死囚的编号,假设x=k。
5. 由2、3、4,我们有n_k=X-Y_k=(s-t_j)*N+(x-y_j)=(s-t_j)*N+(k-y_j)。若k-y_j为负,则我们有n_k=(s-t_j-1)*N+(N+k-y_j)。
综上,这个必生策略是:每个死囚将其他死囚帽子上的数字求和取余,用自己的编号减掉这个数。若结果小于零,则加上N。这样得到的最终结果便是该死囚要猜的数。根据这个策略,可以保证有且仅有一个死囚猜中自己的数字。
 
解二:(多谢Kai Song同学提供这个极为精妙的解法。注:这个解法只对N=2^m有效)
1. 为这N名死囚编号,从0到N-1。假设第i名死囚帽子上的数字为n_i。下面的运算“xor”表示二进制展开后按位xor。xor_{?}表示对所有满足条件的值做xor。
2. 令Y(n_0, n_1, ... , n_{N-1})= xor_{i in [0,N-1]} n_i,则Y必然落在[0, N-1],也就是说,Y对应某一位死囚的编号,但具体是哪一位死囚不知道。我们假设Y=k。
3. 根据xor的性质,我们有:Y xor n_j = xor_{i!=j} n_j 以及 (Y xor n_j) xor Y = n_j。注意,这对每一位编号为j(j in [0,N-1])的死囚都成立。
4. 对于编号为k的死囚,xor_{i!=k} n_k可知,自己的编号k已知。而我们又假设了Y=k,于是根据上面两式,我们有:xor_{i!=k} n_k xor k = n_k。也就是说,编号为k的死囚必能猜中他的数字。
 
总结:这个策略就是,每位死囚将所有其他死囚的数字二进制展开后按位xor,然后再和他自己的编号xor,便可得到他要猜的数字。这样可以保证有且仅有一位死囚猜中。
01.08.2009

缘分天注定

题:无限大的平面上有100条道路,没有任何两条道路是平行的。每条道路上都有一个人在匀速行走。如果有两个人,他们都和其他的99个人相遇
问:你相信每两个人都有缘分相遇吗?
 
答:
解法一:(刚才走路回家才想到的)
在三维时空中,x、y轴代表这个无限大平面的坐标轴,外加一个时间轴。那么任何一个人的轨迹就是这个三维时空中的一条直线(因为道路是直线,并且人匀速行走)。人X和人Y相遇<=>直线X和直线Y在这三维空间中相交。现假设A、B是题中与其他所有人都相遇的两位,我们来考虑人C和人D。既然直线A和直线B相交,那么它们便决定了一个平面AB。根据题意,直线C和直线A、B均相交,那么
1. 如果相交不在一点,则直线C便在平面AB上。同理直线D也在平面AB上。又根据题意,直线C和直线D不平行,则直线C和直线D必相交,即人C和人D必相遇。
2. 如果相交在一点,则直线C可能与AB不共面,于是直线C和直线D便不一定相交,即人C和人D不一定相遇。
 
解法二:必须画图,但比较容易想到,至少我是先想到这个解法的。与解法一相比较笨拙,此处略。
25.07.2009

毒酒与死囚(2)

 
答:首先来看看问题的复杂度。100坛酒当中有两坛是毒酒,总共有多少种情况呢?显然是C(100,2)。再来考虑解答策略的最小信息量。一个死囚第二天非生即死,只有两种可能,因此每位死囚能传达的信息量只有2。于是答案不言自明,最少需要log_2 C(100,2)=13个死囚。下面是具体实现这一最优策略的方法:
 
我们用“1”代表毒酒坛,“0”代表非毒酒坛。
1. 给每种可能情况编号。假设总共只有5坛酒,则我们可以将11000编号为情况1,10100编号为情况2,等等。
2. 给每位死囚发数字牌。同“毒酒与死囚”,即N号死囚发数字牌2^(N-1)。
3. 根据下表,对于情况M,即让数字牌之和为M的那些死囚都去喝情况M中的两坛酒(用“1”表示)。下表以总共有5坛酒为例:
 
         情况号          情况细节           
            01              11000            1000
            02              10100            0100
            03              10010            1100
            04              10001            0010
            05              01100            1010
            06              01010            0110
            07              01001            1110
            08              00110            0001
            09              00101            1001
            10              00011            1010
 
那么第二天看哪些死囚死了,根据他们的数字牌之和就可以知道对应的那种情况发生了,于是可以确定出毒酒坛。
 
拓展:以上方法可以拓展到总共有N坛酒其中有K坛毒酒。最少需要的囚犯数即 log_2 C(N,K)
23.07.2009

也说近期电影

 
看到上面潘尼同学的电影列表,忍不住也说两句。本来想当comments发在潘尼的地盘的,可是怕被潘尼同学说我抢风头。
 
Star Trek当时没看懂,后来听别人解说并且略略做了一点research,才发现编剧编得很棒。很多人说这部Star Trek是前传,我不太同意。我认为这是在讲述的另一个平行时空里的事情,与人们原来熟知的“星际”时空似是而非,比如说Kirk的爸爸没那么早死啊等等。黑洞就是两个时空的交点。这是电影系列的第11集,可算一大创新,打破了Star Trek电影系列逢奇就烂的curse。附带岔开说一句,如果真把这部Star Trek定性为前传,未来的老spock见到了年轻的spock,我就不是那么爽了。我比较不主张不同时期的人物在同一个时间点上有物理上的接触或者对话,我觉得这会打破时空的连续性,形成一个时空上的奇异点,从而导致整个时空crash。或者换句话说,上述事情只能发生在黑洞这样的东东里。我认为比较好的设计是即使你回到过去,也没法改变现在,或者更好的是,正是因为你从试图从未来改变过去,导致了那个未来的发生。12 Monkeys是这个思想的极佳代表作。不得不说这样的设计与宿命论一脉相承,身为反宿命论者的我,喜欢它是因为在这样的设计里,时空整个是一个环,有一种美感在。类似的设计在哈利波特3中也有体现。
 
Angel&Demon刚开始看书,不得不说,小丹同学节奏感上的把握的确是炉火纯青。虽然前17章基本上都是科普加给CERN做宣传,但当我看到第15章末,Kohler耸肩来了句“Sometimes to find truth, one must move mountains”,我还是禁不住大骂了一句:“小丹,你TMD太牛B了!”当然,和Da Vinci Code相比,A&D的恐怖气氛远不够浓重,而且缺乏一种环环相扣的紧凑感。Code人心悬,用来形容Da Vinci Code真是再恰当不过了。这两部电影与书相比,都差得很远,不值一提,就算阿汤哥也拯救不了它们在我心中失败的印象。
 
Terminator-Salvation 和 Transformer 2 风格基本一样,纯粹视觉刺激。是不是还有身体其它部位的刺激就不得而知了。一句平凡的“come with me if you want to live”能点燃现场无数的欢呼,可见T系列在影迷们心中的地位。这就是文化,一种共同的,难以被其它文化体认的东西。后来又把液体机器人那部复习了一遍,果然是经典中的经典,就连现在重看也不会觉得过时。Transformer 2则是把我心中的经典彻底摧毁。想想小时候成天模仿汽车人变形的声音和动作,照现在这样的变形法,那可是模仿不来咯。过于强调人的作用,一堆步兵在地面拿小枪射大金刚,这是想尊重人的生命、体现人的力量么?不make sense嘛。就应该直接上坦克大炮,或者人可以操纵机器人和霸天虎打嘛,像Matrix 3里面的那场Zion大战,那TMD的才过瘾,才能让观众感到人有能与机器抗衡的力量。
 
其它电影都没看过,很土很过时。又有一部根据动画片改编的电影G I Joe即将上映,看trailer也还蛮值得期待。