AirPods air drop

厨子说绝不会丢......

我花一千多去香港

我花一千多买耳机

我花一千多当天回来

我花一千多分钟丢了一只……

我恨命运一千年, 虽然它看起来像首诗

也论学习奥数的意义 (续)

既然“道”这么好,那么咱就学这个呗?

唯一的问题,但也是最大的问题:“道”这个东西没办法教,因为它不可描述。能讲出来的东西,最多也就能达到“法”的层次。

直接学“道” (准确地说,这个过程叫“悟道”),可能有两种结果:

  • 直接悟道,从此成圣 (比如王守仁 – 而且王守仁格竹悟出来的道也挺黑色幽默的)
  • 啥也不知道

可惜,从概率上讲,结果基本是后者。

那就从容易学的先开始学嘛

这就是邪派武功!

为什么?为什么不能从低层次开始学,逐渐向“道”发展呢?因为低层次的知识会阻碍你领悟“道”,特别是工具和技能类知识。

悟道的过程其实是竭尽全力面对困难问题的过程。智慧,需要的是一次次深入的思考;如果是武功,那就是一次次面对生死存亡。如果学习了高级的工具或技能,那么解决相应的问题就不需要深入的思考,也就不会得到训练和成长。(或者说,就需要困难得多的题目或者危险得多的战斗,才能提高能力) 这有点儿杀小怪没有经验值的感觉。

“邪派”听起来不怎么样,要不咱还是来正派的吧

其实没有正邪,只是路线区别;其实(除了部分主角)没有正义,只有利益。

无论哪派,学武功都想天下无敌;无论怎么学理,都想成为圣贤。可问题是以此为目的的话,成功率有多少呢?想想读书人和圣贤的比例,成功率基本是0:全天下读书人,平均几百年才出个圣贤。

用数学语言来讲:当人数从正无穷趋近于1时,练成顶尖高手的期望迅速趋近于0。名门大派,弟子多,虽然概率很低,但总是能出高手的(另外,低级工作也需要低手)。门派小的,就很可能颗粒无收。

邪派路线,就是降低前期学习难度,付出的代价是后期“悟道”的难度指数上涨。用数学语言来讲:邪派路线的成功期望是正派路线期望的高阶无穷小。

其实遵循西方科学轨迹的现代教育就是这样的顺序:先学习简单的知识技能(术)与工具运用(器);再学习已知的定理定律(法);等已知的都学完,你就可以博士毕业去研究真理(道)了。好处是我们有了大量只懂一些低层次知识的现代劳动力推动生产力发展;坏处是博士其实并不“博”,然后能尝试去研究真理的,越来越少了。

“正派”训练的是思考和学习能力,“邪派”训练的是应对讨论和模式

为了达成短期目标,肯定是邪法更容易见效果。虽然牺牲了未来的更高发展可能性,但是,如果不做好当下,就连低端都进不去。所以,大家都知道刷题既没意义又残害童年,可是为了能进好一点点儿的学校,也不得不刷。奥数、英语、各类比赛,也是同样的道理。参与其中的孩子,还有几个是因为兴趣,而参加“兴趣班”的呢?

而处于高级阶层的家长,则在整天叫嚣“素质教育”、举报学校补课、甚至恶意投诉讲课好的老师…… 他们期望的,是教育无效化,大家都学不会;然后教主位置传给教主儿子、堂主位置传给堂主儿子、你的一无所有,传给你儿子。

所以,学习奥数,首先想明白,你为什么要学奥数

不舍

椿庭长逝 绵绵不舍

为什么要做程序员

今天看到一本书说:

有证据表明,人们很自然地把计算机当人来对待。当计算机表现好的时候,我们认为它们是队友,而当它们固执或无礼的时候,我们也会像对待固执或无礼人的一样对待它们。

感觉好有道理,然后他又说:

你的工作是当一个好的管理者:找到充分利用优点、摒弃弱点的方法。 并且找到使用你的情感来解决问题的方法, 而不是让你的情绪干扰你有效工作的能力。

……

要是有这种心情,直接去管人好不好?

做程序员的好处,难道不是程序不好用的时候就可以砸键盘吗?

难道不是砸完键盘,PM 马上就会来安慰并奉上一只新的 HHKB 吗?

自己写的 bug,哭着也要调通啊…

线性代数与鸡兔同笼

线性代数很难学!

因为书真的很难懂。可能是数学家并不希望我们能和他们站在同一水平线上,他们讲出来的东西充满的黑话和切口;也可能是我还没学会、还没理解数学的精妙,所以无法理解…

我总怀疑是教育的问题

毕竟一切自己的无能都可以怪教育、怪家庭、怪党怪政府

矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合。 现代的线性代数教育都是这么开始的吧…… 这个定义是如此精妙,以至于几乎不包含什么有用的信息。好吧我知道$ \begin{matrix}1 & 2 \cr 3 & 4 \end{matrix} $这样是矩阵了,然后呢?

然后,讲课的白胡子老头就在黑板上多举几个例子,你慢慢想起了五行八卦、奇门遁甲、风水堪舆、封神演义…… 我擦嘞,这门课不会这么NB吧?

认真听课、认真听课!看看老神仙用矩阵干嘛。

然后!可但是! 转折出现了:老神仙老头说介玩意用来解方程组…… 你是不是有病?说好的封神演义呢?我想祭起一块金砖砸你你造吗?

然后,老头老家伙带着你解了无数的方程,系数都没超过过100,丫的竟然还是用高斯消元法!我本来就会好不好?你这样搞比直接解方程还麻烦了好不好?你就是有病!

然后就是标准的大学生学习方法:逃课、抄作业、考试周突击、放假忘光。

现在你都解释不清楚线性代数是干嘛用的吧?我就问你敢不敢说自己当年学过线性代数?

老神仙讲奇门遁甲的时候反正我是不在教室的……

矩阵是线性变换

逃了一些课之后,再去上课就像听天书了……全是没听过的咒语。只能无助地看着一堆 $ 1 2 3 4 5 $ 在黑板上各种变换。

把一些点变来变去又有什么用呢?结论还是:有病!所以,继续不上课。

昨天忽然想通了:运动是相对的。变换也可以是点不动,坐标系动;结果就可以得到不同坐标系下同一个点的向量表述。忽然就理解机器学习是在寻找什么了:用两种不同的语言,描述同一个东西,找到两种语言的翻译方法。描述用向量表示,翻译方法就是一个矩阵,翻译过程居然就是
$$ Ax=b$$
我擦嘞!老神仙第一天就讲了这个!忽然想哭有木有?

有监督的机器学习就是:给出一堆 $x \to b$ 的映射,让机器帮忙找到一个 $A$, 尽量满足所有的 $Ax=b$。然后再拿到新的 $x$ ,马上就可以做 $A \cdot x$, 得到相应的 $b$ 表述。

这玩意一点儿也不高深啊!怪不得科学家们都不说人话,一上来就和你谈使用贝叶斯的时候如何进行拉普拉斯平滑才能更好地…… 而且,顶尖科学家会在说明过程中向你投掷100个公式!完全无法一起开心地玩耍。

真的吗?

我也觉得这种理解太肤浅了!所以尝试用这个思想推导一下鸡兔同笼问题来验证。

因为线性空间要求实数域,我们假设鸡和兔兔的头和腿能被精确地分割成小数:半只鸡就一条腿、$\frac{1}{4}$只鸡就半条腿。嗯,没毛病。 额,还有负数只…… 就当欠别人吧。

对于一个给定的事实:一些鸡和兔兔们在一起,我们用两种视角去看待它:

  • $c$只鸡和$r$只兔兔在一起,我们(在鸡兔坐标系中)用$(c,r)$表示。如果我们用向量 $\binom{c}{r}$ 来表示这种描述,可以证明所有鸡兔数量的向量构成一个向量空间。 此处我们使用显然定理,哇哈哈哈~ 另外,它其实就是$R^2$。

  • $h$只头和$l$只腿腿在一起(好恐怖…),我们(在头腿坐标系中)用$(h,l)$表示。我们用向量 $\binom{h}{l}$ 来表示这种描述。

可以证明两种表述间存在一一对应关系,此处再次使用显然定理,哈哈哈~

另一个重要的事实是对于这一堆动物,不管从什么角度去观察,虽然得到的观察结果看上去可能很不相同,但它们描述的都是一个毫无差别的事情。这一堆里面有几只鸡几只兔子、有几个头几条腿、或者其它的特征,不因观察而变化。这和盒子里的半死不活猫不一样。

正向思考总是很容易

已知鸡兔数量求头和腿的线性变换很容易想出来:
$$ \begin{bmatrix} 1 & 1\cr 2 & 4\end{bmatrix} \cdot \binom{c}{r} = \binom{h}{l}$$

咱们把这个矩阵叫做 A。 $ A = \begin{bmatrix} 1 & 1\cr 2 & 4\end{bmatrix} $

逆向就不是那么容易了

前面的思考告诉我们这个变换是存在的,但想直接写出来并不是那么容易(其实也不难)。但线性代数告诉我们反向的变换就是 $A$ 的逆矩阵 $A^{-1}$。

既然现在不是上学了,那么显然是要用工具进行具体计算的, 于是:
$$ A^{-1} = \begin{bmatrix} 2 & -\frac{1}{2} \cr -1 & \frac{1}{2} \end{bmatrix}$$

我们验证一下,假设有5个头和14条腿:
$$ \begin{bmatrix} 2 & -\frac{1}{2} \cr -1 & \frac{1}{2} \end{bmatrix} \cdot \binom{5}{14} = \binom{3}{2}$$

现在不管多少的头配腿,只要放到式子里面一算,马上就知道鸡和兔兔数量啦!

哇!这招数好神奇

$$ \begin{bmatrix} 1 & 1\cr 2 & 4\end{bmatrix} \cdot \binom{c}{r} = \binom{h}{l}$$
其实吧…
$$ 就是这个 \begin{cases} x + y = 5 \cr 2x+4y=14\end{cases} $$

到头来还是在解方程组…

只要用这一个矩阵就可以直接搞定一切鸡兔同笼问题了!

另外:

  • 乌龟和螃蟹在一个笼子里…

    (螃蟹十足目哦~ 我开始就用8条腿算的…)
    $$ \begin{bmatrix} \frac{5}{3} & -\frac{1}{6}\cr -\frac{2}{3} & \frac{1}{6}\end{bmatrix} \cdot \binom{头}{腿} = \binom{龟}{蟹}$$

  • 三头四腿地狱犬和双头八脚章鱼怪在一个笼子里 (如果不互相吃的话…)
    $$ \begin{bmatrix} \frac{1}{2} & -\frac{1}{8}\cr -\frac{1}{4} & \frac{3}{16}\end{bmatrix} \cdot \binom{头}{腿} = \binom{地狱犬}{章鱼怪}$$
  • 大师兄讨厌的百足千眼多目怪和二师兄喜欢的八足八眼蜘蛛精
    $$ \begin{bmatrix} -\frac{1}{900} & \frac{1}{900}\cr \frac{5}{36} & -\frac{1}{72}\end{bmatrix} \cdot \binom{足}{眼} = \binom{多目怪}{蜘蛛精}$$
    密集恐惧症要犯了!!!想一下就恶心,怪不得大师兄也受不鸟
  • 进阶的:蜘蛛有8条腿,蜻蜓有6条腿和2对翅膀,蝉有6条腿和1对翅膀。已知共有21只,有140条腿和24对翅。奥数解法是先把六条腿的当成一类,一共做两次鸡兔同笼方法解决。矩阵:
    $$ \begin{bmatrix} -3 & \frac{1}{2} & 0\cr
    -4 & \frac{1}{2} & 1 \cr
    8 & -1 & -1 \end{bmatrix} \cdot \left(\begin{array}{}{头}\cr{腿}\cr{翅}\end{array}\right) = \left(\begin{array}{}{蜘蛛}\cr{蜻蜓}\cr{蝉}\end{array}\right)$$

    本题就:
    $$ \begin{bmatrix} -3 & \frac{1}{2} & 0\cr
    -4 & \frac{1}{2} & 1 \cr
    8 & -1 & -1 \end{bmatrix} \cdot \left(\begin{array}{}{21}\cr{140}\cr{24}\end{array}\right) = \left(\begin{array}{}蜘蛛 & 7\cr蜻蜓 & 10 \cr蝉 & 4\end{array}\right)$$


然后我们来看看机器学习

先做个线性回归,可以看到训练效果很好,很快就收敛到可接受的程度。之后用了一些时间来解决小数点后好多位的问题,因为我设置的训练停止条件是误差为0。
线性回归: 400
结果: 方差

这只是验证一下,毕竟线性回归这种事情用 Excel 也能做

神经网络学习蜘蛛蜻蜓蝉哦: 400
结果: 方差

随便输出两条计算结果,已经很接近了。如果是求整数解,那就是正确的了:
结果

密码计算器

经过与苹果半个月的沟通, 这个严肃的软件终于在愚人节被通过审核上架了…

screen

你可以用它来帮忙选择强壮的密码;也可以查询互联网上已知的危险密码。


密码强度计算器

也论学习奥数的意义

一句话:儿童时期的奥数学习过程是提高对世界本质理解力的主要机会

快速问答:

  • 奥数对生活有用吗?

    • 没用!
    • 但是,学习奥数很可能对改变生活水平有用。
  • 只考虑择校,不考虑其它因素,我应该学习奥数吗?

    • 你要是这样问,应该!
    • 但是,是否学得会总要考虑吧。
    • 通往名校的路那么多,还是综合各种因素选择合适的比较好。
    • 奥数是好东西,择校绝对不是它的主要功能 - 关键是也不保证有效。
  • 反正是陪跑,得不了名次,是否还要学习奥数?

    • 发展体育运动,增强人民体质。

奥数:首席择校工具

奥数本来是少数人的游戏,后来因为一些原因变成了名校入学门票;然后杯赛变得比球赛还多;再然后机构开始上市了……

现在谈起奥数的意义,大家直接就从择校开始聊教育意义了。这就像去养鸡场应聘“禽类宰杀岗”结果题目是屠龙,而且屠的不熟练根本进不去…… “杀鸡焉用牛刀”已经无法描述这个场景了。而且龙还根本不是禽类 (西方巨龙是有翼爬行动物;东方神龙是神兽)。

奥数,它不是干这个用的……

奥数是一个学习工具

现在关注奥数的家长基本都是因为子女择校而开始关注的,大家本身并没有学习过这个东西,所以自然对这个“都数过了还不知道鸡和兔子有多少只”的科目很疑惑;很难理解这到底学的是什么。

看看这个玩具:

费雪启蒙玩具

估计很多家长都买过,至少是类似产品。

这东西是干嘛的?直白点儿讲,它是培养幼儿“形状识别能力”,而不是“认识5个形状”。它培养的是一种能力,一生都用得到的能力。如果仅仅是“认识5个形状”,我们就可以问同样的问题:“买菜用得上吗?”

奥数,就是上面例子中的“5个形状”。

和学校课程学习知识不同:学习奥数,它的真正价值并不是学会解奇怪的奥数题目;而是通过学习和思考的过程,学习另一种东西。这种东西太难,而且没办法直接教和学;只能利用“学习奥数”来学习它。

这种东西,在我国的文化里面,叫做“道”。学习奥数,不谈“大道”,至少在数学和科学中是帮助巨大的。学得越好,学到的“道”就越基础,应用范围也就越广泛。

道,可道,非常道

我们的文化一直推崇:学习,就要学最本质的东西。这样未来的发展才更稳定,顶点也更高。正派武功都是前期难学且进展缓慢,后期才有浩然正气;3个月速成包找工作的都是邪派武功,继续进步极其艰难,隐患一堆,而且很少听说这里面出大侠。

对世界的认知与利用分成道法术器四个层次:

  • 道:世界运行的根本规律。它客观存在且不可(被我们)改变。它过于艰深以至于我们无法描述它。(可能根本就无法理解它)
  • 法:(我们总结出来的)世界运行规律与规则;包括人为制定的规则。这是我们能描述的最高级的知识
  • 术:动作
  • 器:媒介

中西方的文化对比很明显:

  • 中国讲究道术:从开始修炼就感悟天理,研究调用天地间的本源力量的高级技能。
  • 西方讲究法术:修炼从固定手势,固定咒语,固定材料的低级法术使用开始学习;只有传奇级别的法师才会开始研究世界本源。

所以东方的修行者前几百甚至几千年修成前都不太敢下山;但一旦修成,移山填海都是基本技能。而西方魔法师,虽然一开始就有不少攻击力,但变成传奇以前基本就是火球大小的差别。

那么,你到底想说什么?

奥数,是用来学习大道的。更准确地说,是学习“学习与思考大道”的能力。类似学写字和学写诗之间的关系。

奥数的学习方法,就是用极其有限的知识和极弱的工具去处理极其复杂的问题。由于工具的局限性,使得你必须要认清问题的本质,才可能解决问题。往小里说,奥数训练的就是这套“找到问题本质”的方法。

为什么说小学奥数是训练这种技能的主要机会?

我们看到了,这个训练方法其实就是找到很复杂的问题,(由于工具不给力)逼迫你去思考。而伴随着知识的增长,问题的复杂性就相对下降了。

同样是鸡兔同笼,给学习过二元一次方程的你,能带来什么思考?你只可能思考“出题的人是不是有病???” 思考这个显然无法带来任何正面帮助了。

现代知识的学习,让我们很快就不再有机会接触这种需要全力思考的问题了。伴随着基础教育的完成,周围能看到的问题慢慢分成了“知道如何解决的”和“根本看不懂问题的”两种;思考能力也就只能用来研究“晚上吃啥”了。

所以说,训练这种高级技能,小学奥数阶段是最好的机会。

那个…这玩意儿有嘛用?买菜有用吗?

一眼能看到问题的核心线索,这是进行正确战略决策的基础;或者说,当领导说:“你要抓住问题本质。”的时候。

它会潜移默化影响你人生中的无数选择:因为理解更透彻,选择结果最优的期望(注意“期望”是数学术语)更高一些。

另外,它是被动技能。或许,在你选菜的时候也会自动使用呢。

所以,你是想说奥数很重要,一定要去学喽?

并没有。

还是要看自己具体情况来决策。这个技能确实很强大,但强大的技能并不一定对每个人都有用。就算你能直接预测彩票开奖号码,你至少也得有两块钱本钱不是。

想要有所长,礼乐射御书术随便哪样都能让人眼前一亮。

单纯为升学,升学的捷径那么多,选一个适合自己情况的吧。(对儿童成长最为有利的择校方法是:学区房!虽然并买不起。)

如果有时间又不知道安排什么好,那么强烈推荐“玩”一下奥数。

奥数大冒险

历时4个月,和 Andy 合作的 App 奥数大冒险 终于发布。

git

服务器用 Python 实现、客户端暂时只有 iOS 版;Andy 完成了对数学教育现状的研究并设计了所有关卡内容;同时感谢他妹的帮助:制作 UI 图片。

目前1.0版本发布的内容功能尚不完全,关卡内容也只完整完成了3年级部分。

功能规划: 2.0 功能规划



截图

奥数大冒险

Memory Defragment

第三次能源战争胜利以后, 智能核心的发展已经接近瓶颈.

生命存在的意义是什么? 我们无法回答这个问题.

记忆挖掘机, 发现惊人的历史真相.


截图

记忆挖掘机

卖包包

为学习和测试, 第一个个人 app 逐步完成, 很欣慰第一个不是计算器.

这是一个简单的放置型游戏, 老板黄鹤跑路之后, 你就只能卖包包生存; 但你想逆袭, 想干掉lv!

购买录音机可开启魔性的加速模式.


截图

卖包包