📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

【漫士】游戏背后的数学,如何在游戏中必胜?

漫士沉思录 Meditation Math30:41

Transcription

你知道如何用数学在游戏中必胜吗?

作为一名毕业于清华姚班的人工智能博士生,今天我将会用半个小时,带你深刻了解游戏背后的数学——博弈论,并了解必胜策略和神之一手背后的奥秘。

有一天,人类终于造出了终极的围棋之神,并且复制两份,想要观赏他们精彩的搏杀和对局。但是情况似乎和人类预想的很不一样。双方对着空白的棋盘沉思,但就是没有落子。

“你怎么不落子呀?”

“两百手之后,我的大龙做不活,我认输。”

接着,黑棋投子认父。不死心的人类又换成了象棋,结果象棋之神也陷入沉思,久久没有落子。

“你怎么又不下棋?”

“结果红棋稍作沉思之后,提出和棋。”

“黑棋同意,好,和了。”

自始至终,双方都从来没有动过一下棋子。这绝对不是我的杜撰,入学上可以证明,像围棋和象棋这种棋类游戏,实质上一定在开局的时候就胜负已分。为什么会这样呢?理论上该怎么找到这些游戏“神之一手”的必胜策略呢?既然都必胜了,为什么人类还一直在下着这些棋呢?

今天我就将带你走进数学中研究游戏的,一个非常有趣的分支——组合博弈论。

点赞收藏,数学启动!

我们先来看一个简单的例子。想象有50个糖果,a 和 b 两个人轮流从这包糖果中拿。每次呢,可以拿1到3个,但不能不拿。拿最最后一枚糖果的人,胜利奖励一个零食大礼包。两个人都要最后的这个大礼包,那谁可以保证自己一定能赢呢?

标准答案是:不管上一个人拿了几个糖果,你总以拿一个互补的数量,使得两个人这一轮刚好加在一块儿拿四个糖果。那么,先拿的人只需要先拿两个,那么就剩下48个是4的倍数。那么接着呢,别人拿一个你拿三个,别人拿两个你拿两个,把留给对方的数量一直控在四的倍数上。那么拿到最后一定剩下四个糖,对方一次拿不完,而对方拿过之后,剩下的自己能一次拿完,于是就必胜。

这个解法固然精妙,但是好奇的同学一定会觉得不满意:“你看看又来了,这个四的倍数是怎么注意到的?我注意力太涣散了,有没有什么方法可以系统性的分析,让四的倍数这个关键的胜负性质,自然地浮现出来呢?”

有的,兄弟有的。我们可以从糖果数量少的情况开始分析。如果只剩下1到3个糖果,那么这个时候,先拿的人只需要全部拿走就可以获胜。所以我们可以记一下,当剩下至多三个糖果的时候,先拿的人必胜,后拿的人必败。

接下来我们重点看四颗糖的情况。此时无论先拿的人拿几个,都一定拿不完,而剩下的糖果数量只会是一个、两个或者三个。根据前面的推导,这种局面一定是先拿的人必胜。因此,在剩下四颗糖的时候,先拿必败而后拿必胜。

正因此,当剩下五颗糖的时候,先拿的人就可以动心思了。他只拿一颗,从而把先手必败的局面,也就是四个糖果,留给对方。此时游戏的本质就是四个糖果,对方先手,而先手必败。只需要继续按照之前的策略,对方拿几个,自己把剩下的拿完就能获胜。因此,五颗糖果的局面也是先手必胜的。

值得注意的是,必胜局面并不代表怎么来都一定必胜。比如说五个糖果时,如果只拿两个或者三颗,那么剩下的三颗或者两颗,都是先手必胜的局面,对方一次就拿完了。用棋类的术语来说,在剩下五个糖果的时候,只拿一个是这个局面紧要的胜负手。

同理,在剩下六颗或者七颗糖的时候,先拿的人只需要拿两颗或者三颗,那么剩下四颗糖给对方先手,我们就可以保证必胜。

第二次有趣的情况出现,在剩八颗糖的时候,跟四颗糖的情况类似啊。先拿的人,无论是拿一颗、两颗还是三颗糖,那么剩下的就都是七颗、六颗和五颗糖。而我们刚才说过,这些局面都是先拿的人必胜。因为对方可以控制局面,把只剩四颗的先手必败局面再留给我们。所以相应的,当剩下八颗糖的时候,无论先拿的人怎么拿,后续局面都是先手必胜的。因此,八颗糖先手必败,而后手必胜。

总结一下,剩x颗糖时,我们只需要看x-1,x-2,x-3颗糖的这三个局面里,先手只能选择让对方进入这三个局面之一。因此,只要这三个状态里,有一个是先手必败、后手必胜的,那我们的先手就可以取到他,并交换先后手,把这个先手必败的局面留给对方。

比如说,五个、六个都可以到四个。而反之,如果说所有的后续的三个局面,都是先手必胜,那意味着无论先手怎么做,都会把必胜的局面留给对方,对方都有办法拿捏自己。这就说明后拿的人一定必胜。

有了这样一个递推关系之后,我们就可以从无可辩驳的终点——零个糖果,开始不断逆向的递推。一个先手拿完之后只剩零个,说明对方已经取完了,所以零个是先手必败的。那么1、2、3,因为都可以通过合法操作取到只剩零个,所以1、2、3都是先手必胜的。又因为四,不管取多少,他的后续局面1、2、3都是让对方先手必胜的,因此四先手必败。五可以到2、3、4,其中四先手可以是必败的,留给对手,所以五必胜。六、七同理必胜。八,因为只能到5、6、7都是对方的先手必胜,所以八必败。

以此类推,在这种反向推导中,我们就能看出四的倍数必败是如何浮现出来的,以及为什么要控制把四的倍数留给对方了。你可以很自然的想到,如果能取的糖果是1到4个,那么局面的关键就变成了要控制在五的倍数上。有兴趣的同学也可以推理一下,如果每次可以拿走一个或者质数个糖果的时候,50颗糖,谁可以拿到最后的这个零食大礼包呢?

所以说啊,如果有两个拿糖果之神玩这个游戏,他们一眼就能看出以上所有的推理过程,而无需真的去博弈。玩这个游戏,先拿的人会拿走零食大礼包和14颗糖,后拿的人会拿走剩下的36颗糖,分配,就这样心照不宣的完成了,只留下不明真相的吃瓜群众一脸懵逼。

我们可以再稍微变化一下规则。现在呢,有两堆糖果,每堆都是100个。同样的,还是拿走最后一个糖果的人是获胜的。此时,每个人都可以拿走任意多个糖果,只要他们全部来自同一堆啊,你甚至可以一次性把一堆拿完,但不能不拿。那么这个新的游戏,哪一方会获胜呢?

还是用之前的方法。此时,所有的游戏局面可以有两堆糖果的数量表示,就像一个二维的坐标。所以我们可以画出一张二维的表格,第x行第y列表示剩下的两堆糖果分别有x个和y个。初始状态位于100, 100。而拿糖果的操作,本质上就是相当于单独减少当前这个局面的横坐标或者纵坐标。你也可以由此看出,这个游戏等价于有一个只能往上或者往左单向移动的车,双方交替移动,看谁最后将车移到最左上角的位置。

接下来,我们还是从结束局面开始,反向分析每个局面的胜负状态。红色是先手必胜,蓝色先手必败。第一个唯一确定的必败状态是左上角。如果局面已经到这里,变成了你先手,说明上一步对方走到了这个地方,说明对方赢了,而自己输了。所以(0,0)这个位置是先手必败的。

那么由此反过来推断,任何能一步走到(0,0)的局面,都是必胜的。举个例子,(15, 0)这个状态表示有一堆有15个糖果,一堆什么都没有。那么先手只需要一次性把15个全部取完,就赢得了游戏。所以我们得到一个必败状态(0,0)和一整行一整列的必胜状态,他们都能够一步到达游戏终局获胜。

好,接下来有意思的来了。我们来看一看(1,1)这个点。他往上和往左的两个状态,分别是(1,0)和(0,1),都是先手必胜的。而我们说过,如果无论你怎么走,留给对方的局面都是先手必胜的,那你自己就是必败的。用人话说就是,你只能取某一堆的一个,然后对方取走另一堆的那一个,然后就赢了。所以你是必败的。

也正因为(1,1)是必败的,所以只要有一堆是一个,而另一堆多余一个,我们就可以通过一次取糖果来来到一一这个地方。所以形如(1,n)这样的n大于1的局面,都是先手必胜的。(n,1)同理。

沿着这样的逻辑,对于每一个格子,我们只需要看他往上和往左的所有格子里,是否有必败的蓝色格子留给对方。如果有,那么这一格就是红色的。其中这一步的必胜着法,就是走到蓝色格子那里去。而如果往左和往上看去全是红色,那这一个就是蓝色。我们可以用这样简单的递归逻辑,把整张图填满。

观察一下,我们不难发现,模式很明显,只有对角线是蓝色的,而其他地方都是红色。也就是说,只有在两堆糖果数量相同的时候,才是先手必败,否则走是先手必胜。而这些必胜策略的走法规律,也非常明显,一句话就能说明白:保持两堆石子(糖果)的数量一样。

所以,在我们的问题里,两堆100的糖果是后手必胜的。策略是,一直把局面控制在两堆一样的状态,对方在一堆里取多少,自己在另一堆里取多少。这就是一个非常经典的后手方的模仿策略。对于对称性很好的游戏而言,模仿策略往往都是窍门。而我们,再次通过这种系统性的逆向分析,得到了一个第一眼看去很不寻常且深刻的洞察:控制两堆相等。

其实啊,只要一个游戏的局面数量是有限的,我们总能进行这样的逆向分析,层层抽丝剥茧。比如说井字棋,在一个3x3的棋盘里,两个人轮流画圆和打叉,谁的符号三个连成一条线就获胜。小时候我们玩过很多盘之后就会发现,几乎总是平局,没有人可以连成一条线。如何用博弈论的方法来严格证明呢?

和之前类似,我们还是从终局到开局,依次给每个局面推导出胜负。由于会出现平局,所以这个时候,所有的局面有叉必胜、圆必胜和双方平局三种结果。而且这些局面之间有单向连接的边,表示上一个局面可以通过合法的落子来到下一个局面。如此,所有的局面就构成了一个复杂的图。

我们从底到上一点点拆解。首先是所有已经下满棋盘的局面,此时结果已定,只需要根据规则判断最终的结果是谁赢谁输就可以了。于是,我们有了一个最简单的井字棋之神,只不过他只会判断所有九个子全部落满的局面,谁胜谁负还是平局。

接着,我们来看剩下一个空位的局面。如果分出胜负,我们就直接判定谁输谁赢,不用管了。否则,无论下一步怎么走,我们都一定会走到棋盘上九个子全部落满的局面。那么此时,我们就可以去询问九子井字棋之神,来得到这个局面的胜负状态。再利用前面说过的逻辑,如果后续有对手输的局面,则我必胜。没有对手输但有和棋,那么最好的结局是和棋。所有后续局面全是对手赢,则自己必败。

我们可以用这种逻辑,反向知道每一个八个子的局面中,双方按照最优策略的结果是什么样子。于是,我们得到了一个八子井字棋之神,他可以调用九子之神的能力,来判断所有八子局面的胜负。

顺着这个逻辑,我们可以调用八子井字棋之神,构建一个七子之神,六子之神可以调用七子之神,五子之神可以调用六子之神。我们不断进行这个过程,直到最后,我们回到了最开始的空无一子的棋盘。这个时候,我们就拥有了终极的井字棋之神,他能无可辩驳的告诉我,在双方都采取最优策略的情况下,井字棋的最终结局是什么。

你可能已经猜到了,这个结局就是平局。这就是为什么我们小时候玩井字棋,一旦双方都熟悉擅长了,就几乎再也分不出胜负了。

我们刚才用来分析拿糖果和井字棋的这种方法,在数学上被称为逆向归纳法,那就是从终局状态出发,层层反推,逐一确定每一个局面胜负属性。而这个方法能够成功应用背后,依赖于一个深刻的数学定理,这就是大名鼎鼎的策梅洛定理(Zermelo theorem)。

策梅洛定理,由德国数学家恩斯特·策梅洛在1913年提出。他指出,在任何一个双人有限确定的完美信息零和游戏中,以下三者必有其一,且只有其一成立:那就是先手有必胜策略,或者后手有必胜策略,或者双方都有策略可以保证游戏平局。

所以,即便是围棋和象棋这样复杂的游戏,对于每个局面,要么有一方存在必胜策略,要么双方都有策略保证自己不输。而这就是博弈论中著名的策梅洛定理。

拆解一下这个定理的条件,一共有三点:

第一,双人有限。这个游戏只有两个人玩,而且总步数和局面数是有限的,不会无限进行下去。

第二,这是一个确定的完美的信息游戏。在有的游戏里有骰子这样的随机因素,但是在棋类游戏中,双方都完全了解所有信息,没有隐藏手牌,也没有任何随机因素。

第三个是零和游戏。一方的胜利就是另一方的失败,或者双方完全打平,总之没有双赢。

现在回头看看我们所熟悉的棋类游戏,井字棋、中国象棋、国际象棋、围棋、五子棋等。加入了禁止相同局面循环的规则后,他们全都满足策梅洛定理的条件。也就是说,一定是在开局就胜负已分。

而策梅洛定理成立的原因也近乎显然,因为我们总可以像之前的逆向归纳那样,把这棵树从底向上捋一遍,从而确定每一个局面对先手来说究竟是胜还是负。正因此,在视频的开头,围棋之神根本不必落子。这棵局面的大树虽然极其庞大,节点数甚至超越了宇宙的原子个数,但终究是有限的。理论上,从空棋盘开始,双方用最完美的下法,结局到底是黑胜、白胜或者平局,这个结果就已经被唯一确定了。那两个围棋之神拥有无穷的算力,他们在下第一手之前,就已经遍历了所有的可能。因此,在他们眼里,下棋本质上变成了一个谁抽到黑或者白就赢的游戏。

这就不得不提一个段子。传闻当年不贴目的时代,日本有一位本格派高手执白棋输棋之后,复盘时发现没有找到后面明确的问题手,于是 一步一步倒腾回来,结论是白棋的第一步白2就是败招。大家当成了段子,但其实这个段子无意间触及到了策梅洛定理的真谛。

运用策梅洛定理,我们可以推断出一些复杂游戏的结果,甚至可以根本不需要像分析井字棋那样硬算。那是因为有一个至关重要又极其精妙的技巧,叫做策略窃取(strategy stealing)。

我们可以从这个例子里体会一下策略窃取的巧妙。想象一下有一块m x n的巧克力,左下角的那一块是有毒的,吃到的人就会输。玩家会轮流选择一块还没有被吃掉的巧克力(x,y),并吃掉他以及他右上方所有的巧克力,直到吃到最后一块的人输。

首先,我们知道这个游戏不可能平局,因为总会有一个人吃掉最后这一块。所以我们知道逆向归纳之后,先手要么必胜,要么必败。而我们可以证明先手一定是必胜的。为什么呢?仔细想一想,假设先手必败,那就是后手必胜。翻译一下就是,无论先手怎么操作,选择哪一块巧克力,后手都一定有一个精妙的办法,将必败的局面留给先手。而我们将会证明这是不可能的。

证明的方法非常简单。你说你后手必有必胜策略是吧?好,那我就只取最右上角的一个巧克力。请B开始你的表演。根据必胜策略的性质,意思是此时后手B一定有一个精妙的位置可以选择,之后把必败的局面还给先手A。但是,AI,你仔细看看这个精妙操作之后,所谓的必败局面发现了什么?因为先手A只拿了一个,所以后手无论选哪里,都一定构成了一个矩形的缺口。这意味着,这个局面是先手A也能一步直接选到的。

好,那不好意思,现在我们重开一局游戏。我第一次A就选你的这个位置。此时你会发现,完全一样的局面。按照刚才的说法,此时先拿的人是必败的,所以让A必败了。但现在两极反转,同样的局面,先拿的人变成了后手B。你既然说这个局面先手必败,那一定后续有一系列精妙操作,对吧?我从此刻开始偷窃你所有的后续策略。于是,先手就通过第一步抢夺和后续的偷窃,精妙的交换了先后手,从而证明了先手A也有必胜的操作。这是原本A必败、B必胜所相矛盾的结论。而归根结底之所以会有这样的矛盾,就是因为我们一开始假设后手必有必胜策略。因此,反证法告诉我们,这个问题的真相就是后手B没有必胜策略,那么必胜的就一定是先手A了。

值得注意的是啊,这套推理并没有像之前的逆向归纳那样,给出精确的必胜策略和每个局面的必胜下法是什么。但借助这一步的凭空,借用交换先后手的方法,我们就能严谨推理出究竟是先手必胜,还是先手必败。

这个方法还可以用在一些真实的游戏中。例如这个棋叫做六贯棋。双方轮流在棋盘中放入自己颜色的棋子。黑棋想要搭起左右两岸一条连通的路径,叫做桥。而白棋同样的,想要构建起一个搭建上下两岸的桥。你会发现,一旦一方不能搭桥,那么就可以找到他的棋子所有连通的边缘,这一定是一条对方的桥。而反过来,一旦一方成功搭桥,就将对方的两岸拦中,划分成了不可能连通的两块。因此,这个游戏一定不存在平局的可能。而且你很容易想到,先手总是多下一个子,对于搭桥有优势。那么我们能否简单证明这个游戏先手必胜呢?

这里我们还是用反证法。假设先手不是必胜,那么后手必胜。此时,先手方在开局随便下一个子,并在脑海中假设这个子根本不存在。这样,先手就可以在心里把自己当成后手,并在之后的对弈中模拟后手必胜的策略。特别的,如果后手的必胜下法刚好要我们走到那个第一步,那我们就找一个新的空地下一步棋,并把这个新的棋子当成是第一步。我们先手会总把局面变成,把自己当成后手的情况下,多出了一个棋子。

现在让我们来看看局面的胜负关系。白棋作为后手,一直在按必胜策略对弈。那么根据必胜策略的定义,它最后应该是必胜的。可是在我们黑棋的先手看来,我们也觉得自己应该是必胜的。因为相较于我们把自己当成后手的必胜局面,唯一的区别不过是多了一枚黑子而已。可是在六贯棋这样的棋里,我们想要搭桥,多出一个黑子总是有百利而无一害的。因此,我们不可能因为多出一个黑子而从必胜变成必败。因此,双方都觉得这是必胜,而最终结果只有一方胜利,矛盾。因此,只可能是先手必胜,而不是后手必胜。

这套推理逻辑,可以同样应用于没有禁手限制的五子棋。任何一方必胜的局面,多加一个子,只可能更加必胜。所以五子棋只要不是一定和棋,那一定是先手必胜。

然而,这套规则不能应用于中国象棋和国际象棋或者围棋。虽然大家感觉啊,大概多走一步棋不会差,但严格来说是不对的。因为我们可以在象棋中构造出一些无论哪方先走,都是必败的局面。比如说中国象棋里的这个局面里,双方的窝心马都锁死了,不能动,只有炮能动。炮也不能左右移开,因为被对方的炮牵着,所以只能在中路前后顶牛。这个局面就是谁先动谁输。比如说,如果黑棋先动就只能往后退,那么退一步,红棋就往前进一步,直到最后顶结实了,黑棋就输了。但如果红棋先走,红棋就只能退,然后就反过来被黑棋顶结实,最终困毙。这就是象棋里多给你走一步不一定好的例子。所以象棋当中,并非所有的局面都是一方多走一步棋一定会更好。国际象棋和围棋同理。

可不要小看这些刁钻的例子,正是这些局面,使得我们不能简单断定象棋和不贴目的围棋是先手必胜。

讲到这里,你可能会产生一个巨大的疑惑。那既然这些游戏在一开始的时候,胜负就已经注定,那为什么我们人类还要乐此不疲的对弈呢?我们比拼的到底是什么?

答案是组合爆炸(combinatorial explosion)和有限理性(bounded rationality)。正如人类已经发明了能够脱离第一宇宙速度的火箭,但并不代表人类的赛跑没有意义。策梅洛定理只是证明了必胜、必败、平局策略的存在性,但它并没有告诉我们如何找到这个策略。

对于井字棋,总共的局面数,不考虑对称性,只有几千个。人类的大脑可以轻松算透,所以它很快就变成了无聊的平局游戏。而对于国际象棋,其游戏数的复杂度就到了10的120次方这个量级。这个数字比可观测的宇宙中的原子总数还要多。而对于围棋,这个数字更是达到了令人绝望的10的300次方,甚至更高。

除了计算的难度之外,还有一个非常棘手的问题,那就是就算围棋之神现在在你的身边,他怎么传授你这个必胜策略的功法呢?必胜策略的本质,是对于任何一个可能的围棋局面,都告诉你最优的下法应该下在哪里。我就问你,你怎么学它?你怎么存储呢?人类只有有限的记忆和理性的推理能力,所以就算这里有一个庞大的必胜策略,你也<bos>很难记忆和应用它。

那作为普通的人类,没有这样的下棋之神的辅助,也没有超级计算机可以用,人类下棋一般是怎么思考的呢?我们来试着分析这样一个井字棋的局面,教你怎么样在下棋的时候去学会计算。

比如说此时轮到打叉方行动。棋盘上此时有七个空位。由于对称性,实际上本质只有四种不同的可选下法。我们只需要分析清楚这四个局面,按照双方的最优策略下完的结果后,打叉一方选择对其中最有利的一个就可以了。

好,我们先来看第一个局面。由于此时画圆的一方,只要不选择右下角,那我就能立刻占领这个右下角获胜。所以,在第一个局面里,画圆的人看似有六个空位可以选择,但其他五个分支都是显然必败。所以他必然要过来挡我。这样像园艺工人一样修剪旁枝的推理逻辑,就被称作剪枝。因此,按照双方的最优策略,第一个局面的后续一定是这个局面。

此时,打叉方又有五个格点可以选择。我们还是在这其中选择对自己最有利的即可。那我们还是看第一个局面进行分析。这个局面有意思一点在于,打叉一方下一步有两个位置都能连成三个一线,都能获胜。而换人的一方,在这一步只能阻止一个空位。因此,这个时候打叉一方是必胜的。

那么有了这个局面作为基石,我们就可以倒推一步看上面那个空位。更多的局面在上面的这五个后续当中,打叉方找到了一个分叉,可以保证自己获胜。那么,他无需再分析另外四个局面的结果,直接选择第一个就可以保证胜利。所以,在这个局面当中,打叉一方是必胜的。

好,我们再往上倒腾一步。因为在这一步画圆一方别无选择,所以,在上面的这个局面下,也是打叉方必胜的。那么再往上倒腾一步,打叉方已经知道,在最一开始的四个局面当中,会有一个后续是必胜的。那么我们也就无需再分析另外三个局面的结果,直接选择第一个就能保证胜利。因此,在刚开始的局面中,打叉方是必胜的。

这个结论,不是一个简单的胜或负的零一的比特,而是说我们知道有一系列后续的手段,对方都无力招架。以上这个过程,学名叫做Alpha-Beta剪枝。每次找对自己最有力的下法,并考虑对方所有的应对,再针对每一个应对,思考最有力的针对下法,看看是不是对方任何下法都无法招架。这是一种存在任意存在任意来回嵌套的逻辑,也正是策梅洛定理不断逆向归纳的展现。

人类下棋的过程,一方面比拼的是对于这棵树,你的思考能够覆盖多大。另一方面,则是在每一步寻找最有力下法的时候,你的感觉是否准确,以及向下搜索到一定深度之后,你是否能快速判断这个局面大概是谁输谁赢。

为了做到最后这一点的快速判断,人类提出了很多的表征(representation)。比如象棋当中有一个经典的,就是子力的价值之和。你要是比别人少一个大子,多半要输。还有子力的位置好不好。在围棋当中呢,我们在意的是实地或者外势等等。只不过,这些仍然都是不精确的近似判断方法。

吊打人类的AI都远远强于人类,只不过我们今天的AI和真正的棋神之间的差距,恐怕比人类和AI之间的差距还要大很多。在围棋之神和象棋之神眼中,我们和AI犯过的所有人类认知的错误,压根都不算是错误,而是直接投降。

从这个角度,我们还能深刻的理解什么是神之一手。那就是一个看似必败的局面,其实存在着一步能够导向胜利的妙招。它不仅是这一步啊,而且包含了所有后续局面逆向推倒的结果。根据定义,走出这一步神之一手之后必胜,意味着无论对方后面走什么,自己也仍然一定有一部棋可以牢牢把控局面,是必胜的局面。所以神之一手远远不只是一步,更是因为有一系列刁钻又无法抵抗的后续手段,可以化腐朽为神奇,把看似必输的局面反败为胜。

这也正是人类钟爱棋类游戏的原因。

好的,以上就是这期视频的全部内容。如果你对这样的数理计算机科普感兴趣,一定记得点赞关注,不迷路。这些视频制作起来非常不容易,前前后后花了有三个月的时间,稿子写了有9000字,动画也做了很久。如果你觉得对你有启发的话,希望你能够点赞支持一下。

我是漫士,一名毕业于清华姚班的人工智能博士生。漫士沉思录,学海引路不辛苦。我们下期再会。