写在四十岁生日

我过去不喜欢走捷径。

我并不歧视走捷径,只是一种策略的选择。

这可能来源于我方法论里对学习的定义。我自己理性,会把所有东西都拆成一种学习,哪些是基本功,哪些需要练习,哪些是高级技巧,哪些是非常规技术。

每当我兴趣转移想学一个新技术,会尽量找到体系化的培训方案,然后一步步的学。比如网球,我会去学正手标准动作,反手标准动作。如果一个动作没有练好,无法在实战中应用,我不太会去改变动作去适应实战,而是会去想为什么我无法适应,然后决定是去练习,还是根据自己的情况去修改。而随着我越学越多,我很少会修改了,基本会按千锤百炼后的动作去练习。

回到工作上,我把工作也当作了一个技能,和网球,编程没有什么区别。所以我40岁之前对于工作的态度一直都是——如果哪里效果不好,回去练练内功。

那什么是捷径,就是达到同样的效果却不需要付出同样的努力。

我之前不喜欢走捷径的主要理由有两个:

  1. 我要创造价值,走捷径会影响我达成真正的目标。
  2. 我认为练基本功和走捷径其实不冲突,但是习惯走捷径了会影响个人能力的建设。

但是现在情况变了,我不在把创造价值当做基本价值观,方法论暨知识体系也基本搭建完成。我现在要进入一个实战阶段了。

我现在在工作这个层面上,要研究我现有的方法论搭配上所有可能捷径到底能做到什么程度。

这可能就是我的四十不惑吧。

写在最后:除了推销短信,没人记得我的四十岁生日,有种没有责任没有义务的自由感了。

停下来,回头看一看

五一我让自己完全停下来,停掉了所有的工作,结论是——我陷入了迷失的状态中。坚信自己现在的正确性,闷头不听劝的状态。

我见过太多陷入这种状况的人,我也知道自己会陷入同样的陷阱,我曾经尽全力避免自己踏入同样的问题。但是当问题出现,我还是没能在第一时间内跳出来。

有三个环节失效了:

  • 我的定期中断制度失效了,周度/月度总结没有坚持下来
  • 少数思考的时间,用来思考其他人或事,而不是分析自己
  • 执行力下降,或者说变懒了

对应的解决方法,在未来的Ramp期间:

  • 每天都留出一小时,看书,思考或者锻炼
  • 每个月强制休息一天,用来反思,订下个月计划,回顾上个月的计划完成情况
  • 优先考虑自己的目标,找到目前主要问题(短板),基于这个问题去安排未来一段时间的

效率,目标,理想

最近心情很不好,直接原因是被身边的人拉低效率。

在新工作岗位几年以后,我自信已经落在这个岗位>+2sigma的水平范围里,进而面临三个对应的问题:

  1. 对于水平不如我的同事,我需要向他们解释太多逻辑,即使这样也不能保证所有人都能理解。
  2. 我还是被管理和技术的矛盾困扰,情绪上的,而不是技术上的。
  3. 倦怠,这不是熟练工作后的必然,而是我没有Motivation的必然。我把工作作为消遣的游戏,这个游戏不再有趣了。

所以我最近半年甚至一年心情不好的根本原因,是我依然没有找到人生目标。以及,新工作作为一个游戏无法满足我了。

我给自己订了一个目标/理想,我觉得问题不大,但是还没办法调动自己,应该是哪里还有问题,得再想想。

对于工作,套用我自己最近经常说的一句话,问题问对了,就解决一大半了。

少废话,说结论,莫纠缠。

麻将中胡大四喜的概率计算

定义:和牌型中,有东南西北4副刻(杠)子。

不算花牌的情况下,一共有136张牌。计算发牌上手直接天胡大四喜的概率

其中,东南西北全是刻的组合种类是$$\begin{equation}C^4_3C^4_3C^4_3C^4_3\tag{1}\end{equation}$$从其他的30种牌型里挑一种当将的种类是$$C^{30}_1C^4_2$$相乘即得到所有胡大四喜的组合。

全部组合则是$$C^{136}_{14}$$

概率为——

$$\frac{C^4_3C^4_3C^4_3C^4_3C^{30}_1C^4_2}{C^{136}_{14}} \approx 1e^{-12}\%=0.0000000000001\%$$

对应东南西北分别有1/2/3/4个杠组合是

$$C^4_1C^4_3C^4_3C^4_3 \tag{2.1}$$

$$C^4_2C^4_3C^4_3 \tag{2.2}$$

$$C^4_3C^4_3 \tag{2.3}$$

$$C^4_4  \tag{2.4}$$

概率是$$\frac{C^4_1C^4_3C^4_3C^4_3C^{30}_1C^4_2}{C^{136}_{15}}$$

$$\frac{C^4_2C^4_3C^4_3C^{30}_1C^4_2}{C^{136}_{16}}$$

$$\frac{C^4_3C^4_3C^{30}_1C^4_2}{C^{136}_{17}}$$

$$\frac{C^4_4C^{30}_1C^4_2}{C^{136}_{18}} $$

5个概率相加即是总概率。

下面讨论连续抓牌下,胡大四喜的概率,先不考虑其他人的策略和碰,假设所有牌都随机出现且可以被使用。

对于N张牌不出现杠的概率,需要12张凑成4个刻子,组合数量公式(1)计算相同为$$C^4_3C^4_3C^4_3C^4_3$$

在剩余的N-12牌里必须出现至少一个对子,因为3张也是允许的,且会出现2个对子或者更复杂情况,所以用互斥集合——$$总的组合数量-凑不成对子的组合数量$$

$$C^{136-16}_{N-12}-C^{30}_N(C^4_1)^N\tag{3}$$

其中当N>30时,根据抽屉原理必有一个对子。

得到公式,在打乱牌序中前N张牌,可以得到无杠大四喜的概率为

$$P_0 = \frac{C^4_3C^4_3C^4_3C^4_3(C^{136-16}_{N-12}-C^{30}_{N-12}(C^4_1)^{N-12})}{C^{136}_N}\tag{4.1}$$

对于有杠大四喜,四风的组合如式(2.1-2.4),将的组合如式(3),对应的概率为

$$P_1 = \frac{C^4_1C^4_3C^4_3C^4_3(C^{136-16}_{N-13}-C^{30}_{N-13}(C^4_1)^{N-13})}{C^{136}_N}\tag{4.2}$$

$$P_2 = \frac{C^4_2C^4_3C^4_3(C^{136-16}_{N-14}-C^{30}_{N-14}(C^4_1)^{N-14})}{C^{136}_N}\tag{4.3}$$

$$P_3 = \frac{C^4_3C^4_3(C^{136-16}_{N-15}-C^{30}_{N-15}(C^4_1)^{N-15})}{C^{136}_N}\tag{4.4}$$

$$P_4 = \frac{C^4_4(C^{136-16}_{N-16}-C^{30}_{N-16}(C^4_1)^{N-16})}{C^{136}_N}\tag{4.5}$$

当\(N\geq 18\)

$$P=\sum_{i=0}^4P_i$$

$$P=\frac{C^4_3C^4_3C^4_3C^4_3(C^{136-16}_{N-12}-C^{30}_{N-12}(C^4_1)^{N-12})+C^4_1C^4_3C^4_3C^4_3(C^{136-16}_{N-13}-C^{30}_{N-13}(C^4_1)^{N-13})+C^4_2C^4_3C^4_3(C^{136-16}_{N-14}-C^{30}_{N-14}(C^4_1)^{N-14})+C^4_3C^4_3(C^{136-16}_{N-15}-C^{30}_{N-15}(C^4_1)^{N-15})+C^4_4(C^{136-16}_{N-16}-C^{30}_{N-16}(C^4_1)^{N-16})}{C^{136}_N}$$

    public static void combi(int n)
    {
        if(n<=18 || n>=136)
        {
            return;
        }
        //there're 5 situations for dasixi
        // 1. each of 4 wind tile have 3 same tiles but not all 4
        //denominator is 136 choose n
        double denominator = Combinatorics.Combinations(136, n);
        double numerator = 4*4*4*4;
        numerator *= Combinatorics.Combinations(120,n-12) - Combinatorics.Combinations(30,n-12)*Math.Pow(4,n-12);


        // 2. 1 of 4 wind, have 4 same tiles as a Gong, other 3 have 3 same tiles
        double numerator1 = Combinatorics.Combinations(4,1) *4*4*4;
        numerator1 *= Combinatorics.Combinations(120,n-13) - Combinatorics.Combinations(30,n-13)*Math.Pow(4,n-13);
        numerator += numerator1;

        // 3. 2 of 4 wind, have 4 same tiles as a Gong, other 2 have 3 same tiles
        double numerator2 = Combinatorics.Combinations(4,2) *4*4;
        numerator2 *= Combinatorics.Combinations(120,n-14) - Combinatorics.Combinations(30,n-14)*Math.Pow(4,n-14);
        numerator += numerator2;

        // 4. 3 of 4 wind, have 4 same tiles as a Gong, other 1 have 3 same tiles
        double numerator3 = Combinatorics.Combinations(4,3) *4;
        numerator3 *= Combinatorics.Combinations(120,n-15) - Combinatorics.Combinations(30,n-15)*Math.Pow(4,n-15);
        numerator += numerator3;

        // 5. 4 of 4 wind, have 4 same tiles as a Gong
        double numerator4 = Combinatorics.Combinations(4,4);
        numerator4 *= Combinatorics.Combinations(120,n-16) - Combinatorics.Combinations(30,n-16)*Math.Pow(4,n-16);
        numerator += numerator4;
        
        double result = numerator/denominator;

        //console write result as percentage
        Console.WriteLine(string.Format("{1} -- {0:P}", result,n));
    }

概率曲线(红色)和随机运行100万次生成的曲线(绿色):

2nd Dec 2023 – Sunny Weifang关于恐慌

最近又恐慌了,刚才想了一下,原因出在自己做事的优先级上。总觉得很多事没有做,但是想不起来,或者想起来又不想干。

不想干的原因无非:1.不重要2.没思路3.太枯燥。没有干劲于是进入恶性循环。

其实去年我列了一个流程来尝试解决自己的问题,但是一年下来效果并不是好。原因大概是懒。但为什么懒?什么是懒?

我现在的定义就是,舒适区,无论多么复杂挑战的生活,只要形成一定的套路,我就会认为这一切是自然的应该发生的,I deserve it,然后花精力在维护现有生活模式上,而不是去谋求改变(无论是变好还是变坏)。

回忆一下,2020年我选择了跳槽就是打破了舒适区,一整年的目标是为了转正。2021年转正了,一年的目标是为了证明自己的定级,以及找到在潍坊的生活节奏。2022年到现在,目标不那么阶跃了,是从项目管理转变为site管理,这个目标好像很挑战,但是我没有找到节奏。

所以我8月份给自己订了一个新方向,其实就是对自己停滞不前的满。

Motivation最重要。

萝卜刀与成就感

我近期才关注到萝卜刀。在完全没有了解这个产品之前,我以为这只是另外一个暴火后,人有我也要有的玩具。但是女儿昨天拿到手后几乎没有停过,今早起床就开始玩,我意识到这个东西触及到了一些人类的底层代码。

萝卜刀的SOP是两步,甩开,甩上,需要用离心力。有一个很简单的机械设计,到位后会有碰撞的声音。这是一个正反馈,通过复数的操作,达到预计的目标。

这是一个常见的套路,设定一个目标,通过不同难度的“努力”,达到目标,例如:消消乐,赶海,马拉松,等等等等。

萝卜刀的套路在于下沉到了儿童,两步的操作简单到任何年龄段的儿童都可以学会,从而调动这段代码。虽然越简单的操作获得的“成就感”相对越低,但是太复杂的操作又会减少受众的范围。

我感兴趣的点在于阀值,相当多的人阀值是不会变的,有些爱好会坚持数十年,没有变化但是可以持续的获得成就感(快乐),这些快乐是建立在重复的步骤和稳定的结果上。

我的成就感是动态的目标,比如竞速类游戏,不停挑战最快纪录。最终的循环是越到后面,越难达成目标,但是获得的快乐就越多。不过这个循环最终是无解的。负面的影响是,虽然越多的投入获得更多的快乐,但是目标无法达成时,带来的反噬也更剧烈,挫败感会强烈到影响情绪,且影响非常长的时间。

我自己的解决办法是用其他目标对冲,一个常见的场景是,工作中的多个case,因为时间问题不得不以较低(较心理预期,因为类似的工作已经做了多次,标准在不停地提升)的标准完成时,我就会累积挫败感。所以当晚上回到自己的空间,会打开游戏,挑战一些目标,这时候就需要新游戏登场,因为老游戏的标准也上升了。

很显然需要调整的是我,我把自己放在了一个理论上无解的死循环里。

Diary Aug, 28th 2023

I worried all the past week. I didn’t know why until I figured it out on Sunday, when I took a bath without any of my screens.

Ramp season is over for 2023, it’s been the summer break and the innovation season is coming after it. this is the 3rd year @Apple and I used to it. therefore my body feel tired when my spirit loosed.

But I can’t stop last week since emergency happened, my body is eager to break. the contradiction makes me worry.

is it the RC? I don’t think so. I realized the panic is not for the routine work, but from my vision.

I decided to go South Asia for my career in next decade, I believe it’s the trending that can’t be reversed. I decided to take the advantage as many people did 30 years ago, people from Hong Kong, Taiwan, Singapore, they came to Mainland with new mindset. They grow up with those new factories in China.

I was panic because I’m not ready, nobody can. People always do something they’re not prepared, especially when they want to ahead of others. I will do it which means I should do something for it. I was panic because of I didn’t.

It’s easy when I realized the root cause, just did something be prepared. Here’re the things:

  1. it’s been 30 years since the supply chain shift to China, read books or papers.
  2. how to manage the supply chain? what’s the theory? why it’s the trending South Asia?
  3. What is South Asia? there’re 10 countries, they have difference political, religion, languages, why they were an alien?
  4. history of Vietnam, why Vietnam is the first target when supply chain need a new factory.
  5. what’s the next country? why?

围棋,一种1v1的博弈

围棋是一种流行很广的游戏,特别在东亚。

学棋一般要从很小年龄学起。一开始是学规则,落子在交叉线上,什么是气,什么是提子。提子是一种典型的正激励,刚刚学棋的孩子会沉迷这种感觉,初学者常见错误,为了享受提子的快乐走一步废棋。

下一个学习阶段,死活题,通过局部5到20步交互,解决一个预设好的棋型(问题)。从学棋的角度来说,这是非常有效率的一步,死活题节拍快,几分钟就可以做一个。难度区分度大,可易可难。特别适合作为筛选,判断学员是否有学棋的天赋。

第三步,定式,死活棋是最小局部,有唯一解的一种情况。作为一种博弈游戏,还存在不唯一的解,称之为定式。这是学习中遇到的第一个抽象挑战。对于相当多的人来说,可能一辈子都无法迈过这一步。开始要判断局势,在某种局势下,这是定式一,最优解,如果你棋风稳健,可以选择定式二。最重要的差异,死活棋是可以看到结果的,而定式在终局复盘之前都是作为不定结果存在的。还有一个和定式类似的定义,叫手筋。

学棋学到这一步,还有兴趣且还能跟上进度,应该已经过去几个月了,这时候学员还无法完整的完成一个对局,这时候的对局往往是大输大赢,中盘获胜。但是在对局中,good player会逐渐领会一些技巧,并开始练习。

  • 先手与后手,哪些招数对手必须接招,哪些只是补充自己的漏洞,而对手可以不理会。甚至对于“必须”接招的棋,什么时候可以冒风险不接招(脱先)。
  • 收官,在局势胶着的局面下,如何在最后的几步棋中将利益最大化获得微小的优势,并获得最后的胜利。
  • 以及最终的技巧,对局势的判断。
    • 实地与势,互相的转化
    • 优势情况下如何逼迫对手犯错
    • 劣势情况下如何打乱局面

当学棋学到这个水平,大概就是一个“高手”了,完整的训练建立了完整的体系,没有经过训练的人几乎不可能打败这样一个高手。后面的世界就是天赋与努力的磨合了。

从围棋开始的思考 ——写作提纲

围棋,一种1v1的博弈

人类学棋路径

  • 基本规则
  • 死活题
  • 定式(手筋)
  • 先手后手,与脱先
  • 收官
  • 实地与势

人类大脑发育过程,先实际,再抽象

  • 前额页——风险评估?
  • 数学学习过程,算筹,多和少的概念
  • 代数,高等数学的理解程度

进一步思考 – 规则与竞争

基于一定规则

  • 座子
  • 贴目(经典梗——白2败招),贴目的数值化
  • 通过胜率调整规则
  • 打劫,劫材

盘外招

  • 长考
  • 封盘
  • 限时

特点与乐趣

  • 竞争,一定程度上代表智力
  • 相对公平,盘外招很少
  • 规则相对简单,精通很难,学习曲线陡且长,各种水平差距巨大
  • 可以复盘炫耀

计算机解决分析

数学基础

  • 微分,求导数在几何上的映射关系
  • 最大值,最小值——极值=最优解
  • 局部最优和全局最优
  • 多参数下的极值与最优解——偏微分

动态规划算法

  • 最优子结构
  • 子问题重叠
  • 无后效性(关键)
  • 边界条件

贪心算法

  • 总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,得到的是在某种意义上的局部最优解
  • 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择

AlphaGo

AlphaGo的做法是使用了蒙特卡洛树搜索與兩個深度神經網路相結合的方法

  • 基于随机抽样的蒙特卡洛方法
  • Selection
  • Expansion
  • Simulation
  • Backpropagation
  • 神经网络, deep mind
    • 卷积神经网络Convolutional Neural Network

方法论

  • 通常的成年人技能获得,培训过程类似儿童
  • 半途而废的原因——枯燥的练习,时间分配,错配的目标与路径
  • 根据目标,设定时间的分配,练习的重点(成年人学围棋的可能性?游泳的例子?网球的例子?)
  • 高手的定义——普通人按照一般路径,投入正常资源无法达到的水平(更好的路径,更多的练习)

2018年12月31日 很冷

忽然感觉生活有时候就像玩游戏。难度太小觉得无聊,难度太大又觉得虐,反正就不能消停。

感觉生活太平淡的时候,就会作死,而且几乎是必然的,所以家里人口多了就很致命,同时有几个人作死的概率就会上升。

作为难得的平稳假期,本该享受一下生活的我,今天和老婆恰好一起作了一把,我脑抽要做饭,我老婆则把丈母娘叫过来吃,结果相当不美好。

不过换个角度,结果也没太差,不知道是不是我们俩个磨合这么多年已经习惯了,还是年龄渐长脾气好了,在争吵的边缘控制得相当审慎。

然后壁挂炉的水管就直接冻爆了。折腾完了感觉精疲力竭,什么也不想动了。

最近一个月的工作也是类似,顺了就想折腾,烦了就当机,需要一次认真的反思了。