2016-03-31

身边的扎哈·哈迪德 ( Zaha Hadid )

扎哈·哈迪德 在她设计的德国 Wolfsburg 科学馆 Phaeno 前, 2005
如果, 一个人,或者其作品,跟我们有过切身的联系,那么她的去世,就更能令我们动容。 她或者他的作品, 成了我们自身生命体验的一部分。 她去世的时候, 我们自己生命中的某时某刻就会闪烁明灭, 记忆像萤火虫般飞舞,在脑海良久盘旋。

今天, 建筑师 Zaha Hadid 去世了。  很想写一下她的作品, 那些我看到过的, 经历过的, 缅怀这位当代杰出的建筑大师。 本文用到的照片全部来自互联网。


2016-03-28

[斯图加特 21 的前世今生] 第六回: 欧罗巴区

 《斯图加特 21 的前世今生》 篇目页

先说个笑话。 大概两三周之前的周六, 我照例到市政厅广场的露天菜场买菜。 回家斜穿国王广场的时候,遇到三位中国游客向我问路。他们给我看一本笔记, 上面写了斯图加特几个景点名字, 问我它们在哪里。 欸,很多地方我都刚刚在 《第五回: 漫步说玄宗》 里写过! 于是就滔滔不绝了。 旧王宫, 新王宫, 国王大厦, 艺术博物馆…… 它们的来龙去脉和今日功用都说得清清楚楚。 他们可开心了, 问我是不是专业导游。 我说不是。 他们又问我是不是这里念书的学生。 这下真正被他们 flatter 到了。 我和老公小孩走在上海外滩, 是被十几二十岁的年轻人叫阿姨的。 而这三个孩子居然还当我是女学生, 他们嘴实在是太甜了,阿姨我心花怒放,又额外跟他们说了些本地名胜和前往的方法。 并且建议他们去附近的露天市场买点新鲜水果吃。 三个男孩跟我说他们在瑞士念书,趁周末来这里玩的。 现在外面留学的中国年轻人, 举止礼貌和外形气质, 比我们那一代人年轻时又有进步。 真替新一代高兴。 向有需要的游客讲解本地风物令我感到十分快乐。 假如我不写这个系列, 是不会去翻看那么多资料的。 被别人 appreciate 的感觉, 真的很好。  我很 enjoy 写这个地理人文系列。  

照片来自 manager magazin
上回说了斯图加特富有传统的国王大街, 这次说说完全新建的欧罗巴区, 就是上图中用黄线标出的 Europaviertel。

第一回中已经说过,现在欧罗巴区的那个地方原来是德铁的货车站和生产物资调度中心, 总面积约 9 万 1 千平方米, 在 1980 年代德铁就决定将货车站铲平, 然后卖地并建造新区。 规划者们希望, 这个新区建成以后, 市中心将会从现在的国王广场那一带向东北移到新的 Ingenhoven 火车站一带。 第一回里也说过,政府部门和德铁热衷于把斯图加特作为 “新的欧洲中心” 来推销。 于是这个新区就叫做欧罗巴区 ( Europaviertel ),区里的街道和广场, 都以欧洲的城市命名。 下面是欧罗巴区的建筑区块示意图:

2016-03-26

从小学编程

大约两年以前, 我曾经在欧洲动态的一篇《不懂程式语言,21 世纪文盲》后面留言这样说:

……
对于这个问题:不懂程式语言,21世纪文盲?我的答案为,完全不是。 鼓励学生自幼就学习编程固然是好事,但是我觉得也没有必要把编程作为独立的一门课让中小学生来必修。 
个人感觉,教育中小学生,最关键在于培养他们的(自我)学习能力,保持他们对这个世界的好奇心,和激发他们对某些学问的兴趣。就理工方面的基础来说,数学和科学远比会两门编程语言重要得多。数学是最锻炼思维能力的学科,数学上学得扎实深远,再学习编程语言是比较轻而易举的事,上手应该很快的,似乎没必要在稚嫩的年纪作为必修课去学。其实,现代的数学教学,很多时候已经离不开电脑软件的配合。尤其是要处理海量数据的统计概率什么的,不用电脑编写程序真的难以想像。而这些作为工具的编程,可以渗透在数学和科学课上教授(Octave 或者 R),这样其实也就保证了每个学生多多少少会点 scripting。 除此之外,人各有天分志趣不同,我觉得还是尊重小孩自身的天分志趣,让他自己选择科目,帮他/她在那些方面打些基础,教他/她在那个领域怎样自己学习深造,比较好。任何科目,包括文学,音乐,美术,政治,或者计算机科学,等等等等,都有她内在的价值,学扎实了都可以实现个人自我价值兼服务社会。如果对某个科目或者手艺,比如编程,如果真的没有兴趣,不必勉强的。 
数学上除了基本的运算,更关键是要教授小孩子数学建模的思想,可以在中小学就开始教。 Model Thinking 可以作为必修课来教,编程就不要必修吧。今天教的编程语言说不定两年后就过时了。
……

现在,自己经历了一些优秀的机器学习 (Maching Learning) 的课程,以及体验了一下 Khan Academy 的一些数学课以后,想法有些改变。

2016-03-25

Kaggle Contests: 一场高端劳动力市场的革命

最近的机器学习(Machine Learning)课程上,有同学建议大家去参加 Kaggle Contests。 Kaggle 竞赛是什么呢?

简单地说,各种公司或者组织可以在 kaggle.com 上发布竞赛,这些竞赛由实际生产或者交易中的某个具体问题出发,寻求基于机器学习或者数据挖掘(Data Mining)的解决之道。竞赛要用到的产业界/金融界数据则由发布比赛的组织提供。每个比赛的优化目标都是不一样的, 所以获胜规则也不同。 每一个比赛,事先定义好获胜规则,通常有几十天时间给参赛者递交算法方案。 任何人都可以组队参加这样的竞赛。 递交方案的时间截止后,算法表现最好的团队胜出,前几名通常可以得到几万或者几千美元的奖金。

就拿我刚刚在 kaggle 上看到的一个竞赛来举个例子。 法国巴黎银行集团 (BNP Paribas)旗下的保险公司 Cardif 希望能对索赔申请快速作出反应。于是他们就在 kaggle 上发布竞赛,希望参赛团队提供准确并且快速的索赔单审核算法。 假如客户提交的索赔单上各种数据齐全并看上去真实可信,算法应该对此作出 “可信” 的预言,这样 Cardif 可以尽快向客户付款,提升客户满意度。 假如索赔单上数据不全或者看上去可疑, 算法就应该降低该单的可信等级,并给出需要进一步审核的资料清单。

复活节应景: Lego 做的画蛋机器

上个周末, 老公在网上看到画彩蛋用的机器, 就一时兴起, 用 Lego 和一组玩具马达做了一个。



这些 Lego 砖块都是老公小时候玩过的, 三十多年历史了呢, 他们家都收得好好的。 他小时候穿过的衣服, 我婆婆也都还收着。 有人说 “缝缝补补又三年的时代已经过去”。  我却觉得, 玩具, 衣物等物品循环利用, 不浪费资源很环保。 我的父母和公共婆婆都有勤俭节约的美德,老公和我也是这样教自己的小孩子: 任何耐用品,尽量不要赶时髦不停换。 东西坏了,修修补补还能用就不要丢弃。

机器特写:

2016-03-12

浅说 AlphaGo

首先, 今天是李世石先生结婚十周年纪念日。 多么值得纪念的一天, 先祝李先生李太太锡婚纪念日愉快, 长长久久! 李先生今日坚强战斗, 虽然不敌电脑的蛮力, 但是回到家还有太太温暖的拥抱, 还有女儿绕膝, 还有无数我这样远远关注比赛, 为他摇旗呐喊, 加油打气的人, 做人还是很美好的。 李先生加油。

再说一件题外事。 其实我不会下围棋, 平时也并不关心围棋界的消息。 这次比赛是从德国最大的科普新闻网站 heise 那里看到的。 当天去查了一下有关 AlphaGo 的资料, 了解到她那套算法是用到经过海量棋谱深度学习以后的模拟神经网络。 而我是了解机器深度学习的原理, 也见识过这一族算法的厉害的。 在计算机视觉, 计算机语音识别等等领域, 这几年都是大量用到这套工具。 虽然是围棋盲, 但是当下就隐隐感觉到了 AlphaGo 来者不善。

我就在 heise 网站留言说: “AlphaGo 的深度学习算法有学到人类最优秀棋手的 think patterns,在实战中还有强劲的实时运算能力找到致胜的道路。 归根到底其实李也是这样子学习棋艺并且作战的。 但是, 实战中计算机不会累也不会漏看什么局面, 它的表现要比人类稳定得多。 如果李在比赛中从头到尾都处于极佳状态, 那他还有点机会。 否则他会很难办。 我衷心祝李好运。”

就是这样一个留言,有被德国的围棋爱好者痛骂, 说李一定会赢。 基本上, heise 的读者已经是些技术宅人。 也就是说, heise 的读者对新技术的理解和接受水平是高于德国民众的平均水平的。 由此可以窥得德国社会对于人工智能怎样运作的理解度和接受度。 所以人工智能很容易在德国社会引起无谓的恐慌和抵触。 所以自动驾驶汽车一类的先进工具注定会在德国遭遇阻力。 所以科普工作者们必须还要做很多事。 好的我今天就是来科普的。 废话讲完, 言归正传。


2016-03-03

Nondeterministic 的爱尔兰单一可转移投票制度 PR STV?

前几天我有几位朋友在说爱尔兰选议员的计票方法导致出结果很慢。 我大致看了一下计票规则, 感觉好像也不是太过复杂, 就是一遍一遍人工数票确实很慢。 于是今天中午午休的时候就试着写一段小程序来模拟下爱尔兰的计票过程。 工作人员只要输入每张选票上的排名, 输入完毕以后,计算机在几秒之内就可以出结果的, 哪怕是当中需要不停转移。

具体算法可以参考维基百科上的介绍

就计算复杂度来说,基本上是计算机系第一学期的家庭作业,有兴趣的中学生也可以写。 但是写代码的过程中我发现一个问题: 这种计票方法其实可能是 nondeterministic 的。 也就是说, 同样的一堆有效选票, 同样的计票方法, 每次计票可以得出不同的最终结果。

为什么是这样呢? 因为那些成为 surplus 而被转移的选票, 上面还有后续的第二选择, 第三选择等重要信息, 会影响到后几轮的计票结果。 每张选票, 上面的 choice 链是不一样的。 不同的选票在前几轮中被转移, 就会导致后面几轮计票的不同结果。 让我们看一个具体例子。 一般来说, 第一轮计票一定是 deterministic 的。 假设第一位当选者总共得了 11001 张票, 有 1000 张选票可以分给人家。 假如我们把那些给当选者的 11001 张选票全部再数一遍, 按第二选择的比例来给余下的候选人分配多余票, 那么第 2, 3, 4, 。。。 名每人从第一轮的 surplus 中分到多少票也是一件确定的事。 现在就出现问题: