从马文到AlphaGo AI走过了怎样的70年?-程序员宅基地

技术标签: 人工智能  数据结构与算法  大数据  

(原标题:从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?)

【编者按】从19世纪中叶人工智能的萌芽时期,到现今人工智能的重生,从马文·明斯基到AlphaGo,历史上发生了哪些激动人心的故事?本文以此铺展人工智能发展近70年来背后发生的故事。作者@沐阳浸月,中科院自动化所复杂系统国家重点实验室研究生,主攻机器人与人工智能。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

前不久,在人工智能领域发生了两件大事,一个就是是伟大的人工智能先驱马文·明斯基教授逝世,一个是谷歌AlphaGo击败欧洲围棋冠军,职业围棋二段樊麾。

马文·明斯基教授是几乎见证了从人工智能作为一门学科的兴起直至今日成就的所有大风大浪的人,或者可以说何教授本人就是这些大风浪的弄潮儿,他对人工智能的发展的影响意义十分深远。而谷歌AlphaGo此次取得的成就,也可以算是人工智能领域一次里程碑式的创举,它的成功标志着人工智能领域又进入了一个新高度。这篇文章,我们将从马文·明斯基还是哈佛大学本科生的时候讲起,一直到今日AlphaGo的胜利,梳理一下人工智能是怎样从初见萌芽一步一步走到今日的辉煌成就的。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

要是从宏观的角度来讲,人工智能的历史按照所使用的方法,可以分为两个阶段,分水岭大概在1986年神经网络的回归——

前半段历史中,我们主要使用的方法和思路是基于规则的方法,也就是我们试图找到人类认知事物的方法,模仿人类智能和思维方法,找到一套方法,模拟出人类思维的过程,解决人工智能的问题。

后半段的历史,也就是我们现在所处的这个时期,我们主要采取的方法是基于统计的方法,也就是我们现在发现,有的时候我们不需要把人类的思维过程模拟出一套规则来教给计算机,我们可以在一个大的数量集里面来训练计算机,让它自己找到规律从而完成人工智能遇到的问题。

这个转化也可以用一个形象的例子来描述,就像我们想造出飞机,就观察鸟是怎么样飞的,然后模仿鸟的动作就行,不需要什么空气动力学什么的,这种思想在人类历史上也被称为“鸟飞派”。但是我们都知道,怀特兄弟造出飞机靠的是空气动力学,而不是仿生学。不过我们不能就因为这一点就笑话人工智能前半段各位研究人员和前辈的努力和心血,因为这是人类认知事物的普遍规律,其实现在也有不少人会认为,计算机可以读懂文字、看懂图片靠的是依靠和我们人类一样的认知过程。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

在研究基于规则的探索中,人工智能经历了三个主要阶段——兴起、繁盛和萧条。会有这样的过程,一个重要原因是基于规则方法的局限性。好了,那我们就先扒一扒这段历史。

一、萌芽阶段

人工智能的萌芽时期大概出现在19世纪中叶,第一位需要介绍的人物便是马文·明斯基。明斯基于1946年进入哈佛大学主修物理专业,但他选修的课程相当广泛,从电气工程、数学,到遗传学、心理学等涉及多个学科专业,后来他放弃物理改修数学。

1950年,也就是明斯基本科的最后一年,他和他的同学Dean Edmonds建造了世界上第一台神经网络计算机,并命名其为SNARC(Stochastic Neural Analog Reinforcement Calculator)。这台计算机是由3000个真空管和B-24轰炸机上一个多余的自动指示装置来模拟40个神经元组成的网络的。后来,明斯基又到普林斯顿大学攻读数学博士学位,并以“神经网络和脑模型问题”为题完成博士论文,但是当时的评审委员会并不认为这可以看做是数学。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

(马文·明斯基)

明斯基的这些成果虽然可以被称作人工智能的早期工作,但是鉴于当时的明斯基还是一个青涩的毛头小子,所做的博士论文都不能得到相应的认可,所以影响力有限。

接着上场的第二位人物影响力就大很多,那就是计算机科学之父阿兰·图灵,他是被认为最早提出机器智能设想的人。图灵在1950年的时候(也就是明斯基还在读本科的时候)在杂志《思想》(Mind)发表了一篇名为“计算机器与智能”的文章,在文章中,图灵并没有提出什么具体的研究方法,但是文章中提到的好多概念,诸如图灵测试、机器学习、遗传算法和强化学习等,至今都是人工智能领域十分重要的分支。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

(图灵在1950年的时候在杂志《思想》(Mind)发表的名为“计算机器与智能”的文章)

介绍完以上两大人物,接下来标志着人工智能作为一个独立领域而诞生的盛会——达特茅斯研讨会就要粉墨登场了。

不过在介绍达特茅斯研讨会之前,我们不得不介绍这第三位重量级的人物,那就是约翰·麦卡锡,因为他正是这次研讨会的发起人。约翰·麦卡锡于1948年获得加州理工学院数学学士学位,1951年获得普林斯顿大学数学博士学位。然后又在那里作为老师工作了两年,接着短暂地为斯坦福大学供职后到了达特茅斯大学,正是这个时期,它组织了达特茅斯研讨会。在这次大会上,麦卡锡的术语人工智能第一次被正式使用,所以麦卡锡也被称作人工智能之父。其实麦卡锡在达特茅斯会议前后,他的主要研究方向正是计算机下棋。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

(约翰·麦卡锡)

下棋程序的关键之一是如何减少计算机需要考虑的棋步。麦卡锡经过艰苦探索,终于发明了著名的 - 搜索法,使搜索能有效进行。 - 搜索法说核心就是,算法在采取最佳招数的情况下允许忽略一些未来不会发生的事情。说的有点抽象,我们来举个十分简单的例子。

假如你面前有两个口袋和一个你的敌人,每个口袋放着面值不等的人民币,你来选择口袋,你的敌人决定给你这个口袋里哪张面值的钱。假设你一次只能找一只口袋,在找口袋时一次只能从里面摸出一次。当然你希望面值越大越好,你的敌人自然希望面值越小越好。假如你选择了第一个口袋。现在我们从第一个口袋开始,看每一张面值,并对口袋作出评价。比方说口袋里有一张5元的和一张10元的。如果你挑了这只口袋敌人自然会给你5元的,10元的就是无关紧要的了。

现在你开始翻第二个口袋,你每次看一张面值,都会跟你能得到的最好的那张面值(5元)去比较。所以此时你肯定就去找这个口袋里面面值最小的,因为只要最少的要比5元好,那么你就可以挑这个口袋。假如你在第二个口袋摸出一张1元的,那么你就不用考虑这个口袋了,因为如果你挑了这个口袋,敌人肯定会给你1元面值的,那当然要选择最小面值的5元的那个口袋啦。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

(基于 - 剪枝算法的智能五子棋)

虽然有点绕,不过我觉得你应该大概已经理解了这个思路。这就是 - 搜索法,因为这种算法在低于或者超过我们搜索中的 或者 值时就不再搜索,所以这种算法也称为 - 剪枝算法。这种算法至今仍是解决人工智能问题中一种常用的高效方法。当年IBM的深蓝国际象棋程序,因为打败世界冠军卡斯帕罗夫而闻名世界,它靠的正是在30个IBM RS/6000处理器的并行计算机上运行的 - 搜索法。

但是需要注意的是,前不久的谷歌AlphaGo,由于棋盘是19x19的,几乎所有的交叉点都可以走子,初始的分支因子为361,这对于常规的 - 搜索来说太令人生畏了,所以别看名字里面带了一个 (Alpha,有可能这个名字是为了纪念麦卡锡的 - 搜索算法),AlphaGo采用的是却是蒙特卡洛搜索树(MCTS),它是一种随机采样的搜索树算法,它解决了在有限时间内要遍历十分宽的树而牺牲深度的问题。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

后来麦卡锡有从达特茅斯搬到了MIT,在那里他又做出了三项十分重要的贡献。第一个是他定义了高级语言Lisp语言,从此Lisp语言长期以来垄断着人工智能领域的应用,而且人们也有了可以拿来用的得力工具了,但是稀少而且昂贵的计算资源仍是问题。于是麦卡锡和他的同事又发明了分时技术。然后,麦卡锡发表了题为“有常识的程序”的文章,文中他描述了一种系统,取名为意见接收者,任务是使用知识来搜索问题的解,这个假想也被看成是第一个完整的人工智能系统。

同年,明斯基也搬到了MIT,他们共同创建了世界上第一座人工智能实验室——MIT AI Lab实验室。尽管后来麦卡锡和明斯基在某些观点上产生了分歧导致他们的合作并没有继续,但这是后话。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

(MIT AI Lab实验室)

二、人工智能的诞生

好了,前期的一些大人物介绍完了,让我们一起回到1956年那个意义非凡的夏天。

那年,28岁的约翰·麦卡锡,同龄的马文·明斯基,37岁的罗切斯特和40岁的香农一共四个人,提议在麦卡锡工作的达特茅斯学院开一个头脑风暴式的研讨会,他们称之为“达特茅斯夏季人工智能研究会议”。参加会议的除了以上这四位,还有6位年轻的科学家,其中包括40岁的赫伯特·西蒙和28岁的艾伦·纽维尔。在这次研讨会上,大家讨论了当时计算机科学领域尚未解决的问题,包括人工智能、自然语言处理和神经网络等。人工智能这个提法便是这次会议上提出的,上文也有提到。在这个具有历史意义的会议上,明斯基的SNARC,麦卡锡的 - 搜索法,以及西蒙和纽维尔的“逻辑理论家”是会议的三个亮点。前面已经对明斯基的SNARC,麦卡锡的 - 搜索法有所介绍,下面我们再来看一下西蒙和纽维尔的“逻辑理论家”又是什么。

西蒙和纽维尔均是来自卡内基梅隆大学(当时还叫卡内基技术学院)的研究者,他们的研究成果在这次盛会上十分引人注意。“逻辑理论家”是西蒙和纽维尔研究出来的一个推理程序,他们声称这个程序可以进行非数值的思考。然后在这次研讨会之后不久,他们的程序就能证明罗素和怀特海德的《数学原理》第二章的大部分定理。但是历史往往对新鲜事物总是反应迟缓,他们将一篇与逻辑理论家合著的论文提交到《符号逻辑杂志》的时候,编辑们拒绝了他们。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

我们现在来看看这个研讨会的成果,或者说叫意义。遗憾的是,由于历史的局限,这个世界上最聪明的头脑一个月的火花碰撞,并没有产生任何新的突破,他们对自然语言处理的理解,合在一起甚至不如今天一位世界上一流大学的博士毕业生。但是这次研讨会却让人工智能领域主要的人物基本上全部登场。在随后的20年,人工智能领域就被这些人以及他们在MIT、CMU、斯坦福和IBM的学生和同事们支配了。

我们看看这10个人,除了香农,当时其实大多数都没什么名气,但是不久之后便一个个开始崭露头角,其中包括四位图灵奖的获得者(麦卡锡,明斯基,西蒙和纽维尔),这四位也是我上文主要介绍的四个人。当然,香农也不用得图灵奖,作为信息论的发明人,他在科学史上的地位也图灵也差不多了。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

(香农) 

三、短暂的繁荣与困境

从这次会议之后,人工智能迎来了它的一个春天,因为鉴于计算机一直被认为是只能进行数值计算的机器,所以,它稍微做一点看起来有智能的事情,人们都惊讶不已。

因为鉴于当时简单的计算机与编程工具,研究者们主要着眼于一些比较特定的问题。例如Herbert Gelernter建造了一个几何定理证明器,可以证明一些学生会感到棘手的几何定理;阿瑟·萨缪尔编写了西洋跳棋程序,水平能达到业余高手;James Slagle的SAINT程序能求解大学一年级的闭合式微积分问题;还有就是结合了多项技术的积木世界问题,它可以使用一只每次能拿起一块积木的机器手按照某种方式调整这些木块。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

(马文·明斯基与他的积木机器人)

虽然这些早期的人工智能项目看起来拥有着巨大的热情和期望,但是由于方法的局限性,人工智能领域的研究者越来越意识到他们所遇到的瓶颈和困难,再加上没有真正令人振奋人心的项目出来而导致资助的停止,人工智能陷入了一个低潮。

产生这些现实困难的原因主要有三点。

第一点是大部分早期程序对要完成的任务的主题一无所知。就拿机器翻译来说,给程序一个句子,会用的方法只是进行句法分割然后对分割后的成分进行词典翻译,那这样就很容易产生歧义。例如I went to the bank,bank既有银行也有河岸的意思,如果只是单纯的分割加单词翻译,这句话根本没法解释。

第二点是问题的难解性。上面我已经提到,早期的人工智能程序主要解决特定的问题,因为特定的问题对象少,复杂度低啊,但是一旦问题的维度上来了,程序立马就捉襟见肘了。

第三点就是程序本身的结构就有问题。例如明斯基在1969年证明了两输入的感知机连何时输入是相同的都判断不了。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

(感知机模型)

综上,由于种种困难,再加上资助的减少,人工智能步入了寒冬。这便是人工智能历史的上半段。

四、人工智能的重生

上个世纪80年代中期,当初于1969年由Bryson和Ho建立的反传学习算法被重新发明,然后统计学在人工智能领域的使用以及良好的效果也让科学界为之一振。于是在新的结构和新的方法下,人工智能又重获新生。

首先兴起的是语音识别领域,在这个方面的成就一个重要的原因是隐马尔可夫模型的方法开始主导这个领域。隐马尔可夫模型包含“隐含”和“马尔可夫链”两个概念,马尔可夫链是具有这样一种特性的链条,就是现在的状态只和前一个状态有关,而和再往前的状态没有关系。所以我们遇到这样一个链条的时候,我们可以随机选择一个状态作为初始状态,然后按照上述规则随机选择后续状态。“隐含”的意思则是在这个马尔可夫链上再加一个限制就是,任意时刻的状态我们是不可知的,但是这个状态会输出一个结果,这个结果只和这个状态相关,所以这个也称为独立输出假设。

通过这么一解释我们就能看出,隐马尔可夫模型是基于严格的数学理论基础,这允许语音研究者以其他领域中发展数十年的数学成果为依据。其次这个模型的这种随机性可以通过大量的真实语音进行训练,这就保证了性能的鲁棒性。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

(隐马尔可夫模型简图)

在马尔可夫链的基础上还诞生了一个以对不确定性知识进行有效表示和严格推理的形式化方法——贝叶斯网络。贝叶斯网络是一个加权的有向图,是马尔可夫链的拓展。马尔可夫链保证了网络中的每一个状态只跟与其直接相连的状态有关,而跟与它间接相连的状态没有关系,那么这就是贝叶斯网络。在这个网络中,每个节点的概率,都可以用贝叶斯公式来计算,贝叶斯网络因此得名。

贝叶斯网络极大地克服了20世纪60年代和70年代概率推理系统的很多问题,它目前主导着不确定推理和专家系统中的人工智能研究。而且这种方法允许根据经验进行学习,并且结合了经典人工智能和神经网络最好的部分。所以极大的推动的人工智能领域走向现在我们正处的这个巅峰时代。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

(一个简单的贝叶斯网络。雨水影响洒水器是否有动作,且雨水及洒水器二者均可影响草是否湿润)

除了这种算法上的革新,还有两个重要推动因素就是互谅网的兴起以及极大数据集的可用性。就像我们用Siri的时候必须联网一样,人工智能系统基于Web的应用变得越来越普遍;我之前在文章《2015年,机器人界发生了哪些神奇疯狂的故事?(下)》中介绍的HitchBOT,它可以拍照、自动识别路人的语言,并将回答显示在屏幕上,这个能力也是通过在网络上搜索相应的答案而实现的。

由于我们现在采用的方法已经基本上变为是基于概率的方法,所以我们便需要有大量的数据集对我们的系统进行训练,以完成监督学习。而现在的互联网环境让这种极大数据集的获得变得越来越方便和容易。就如我们所熟知的ImageNet,ImageNet是一个带有标记信息的图片库,里面的图片均已经由人对图片内容进行了标记。它就好比是一个用于测试计算机视觉系统识别能力的“题库”,包含超过百万道“题目”。 题目由图像和对应的单词(80%为名词)组成,考察的方式是计算机视觉系统能否识别图像中的物体并返回正确的单词。ImageNet使用训练题对计算机视觉系统进行“培训”,然后用测试题测试其识别能力。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

(ImageNet数据集)

又如AlphaGo,在DeepMind的主页里,AlphaGo是这样被介绍的:它是一种计算机玩围棋的新方法,这种方法运用了基于深度神经网络的蒙特卡洛搜索树,而这个深度神经网络一方面是通过运用人类专家级围棋棋局进行监督学习来训练,另一方面还通过程序通过电脑自己与自己博弈的增强学习来进行训练,可见AlphaGo的成果也离不开通过学习人类专家级棋谱进行监督学习的这个大量数据集的使用。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

 

(DeepMind的主页里AlphaGo的页面)

今天这篇文章,我们从人工智能的萌芽一直到今天AlphaGo打败击败欧洲冠军樊麾职业二段这个里程碑式的事件截止,介绍了人工智能能走到今天这个成就的一路的艰难险阻与大风大浪。我相信,随着计算机运算能力以及更加优化的算法,以及大数据集和数据挖掘等技术的帮助,人工智能的路一定会继续高歌猛进。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33878457/article/details/86217137

智能推荐

使用nginx解决浏览器跨域问题_nginx不停的xhr-程序员宅基地

文章浏览阅读1k次。通过使用ajax方法跨域请求是浏览器所不允许的,浏览器出于安全考虑是禁止的。警告信息如下:不过jQuery对跨域问题也有解决方案,使用jsonp的方式解决,方法如下:$.ajax({ async:false, url: 'http://www.mysite.com/demo.do', // 跨域URL ty..._nginx不停的xhr

在 Oracle 中配置 extproc 以访问 ST_Geometry-程序员宅基地

文章浏览阅读2k次。关于在 Oracle 中配置 extproc 以访问 ST_Geometry,也就是我们所说的 使用空间SQL 的方法,官方文档链接如下。http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/gdbs-in-oracle/configure-oracle-extproc.htm其实简单总结一下,主要就分为以下几个步骤。..._extproc

Linux C++ gbk转为utf-8_linux c++ gbk->utf8-程序员宅基地

文章浏览阅读1.5w次。linux下没有上面的两个函数,需要使用函数 mbstowcs和wcstombsmbstowcs将多字节编码转换为宽字节编码wcstombs将宽字节编码转换为多字节编码这两个函数,转换过程中受到系统编码类型的影响,需要通过设置来设定转换前和转换后的编码类型。通过函数setlocale进行系统编码的设置。linux下输入命名locale -a查看系统支持的编码_linux c++ gbk->utf8

IMP-00009: 导出文件异常结束-程序员宅基地

文章浏览阅读750次。今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到“ IMP-00009:导出文件异常结束” 错误,google一下,发现可能有如下原因导致imp的数据太大,没有写buffer和commit两个数据库字符集不同从低版本exp的dmp文件,向高版本imp导出的dmp文件出错传输dmp文件时,文件损坏解决办法:imp时指定..._imp-00009导出文件异常结束

python程序员需要深入掌握的技能_Python用数据说明程序员需要掌握的技能-程序员宅基地

文章浏览阅读143次。当下是一个大数据的时代,各个行业都离不开数据的支持。因此,网络爬虫就应运而生。网络爬虫当下最为火热的是Python,Python开发爬虫相对简单,而且功能库相当完善,力压众多开发语言。本次教程我们爬取前程无忧的招聘信息来分析Python程序员需要掌握那些编程技术。首先在谷歌浏览器打开前程无忧的首页,按F12打开浏览器的开发者工具。浏览器开发者工具是用于捕捉网站的请求信息,通过分析请求信息可以了解请..._初级python程序员能力要求

Spring @Service生成bean名称的规则(当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致)_@service beanname-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏6次。@Service标注的bean,类名:ABDemoService查看源码后发现,原来是经过一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致public class AnnotationBeanNameGenerator implements BeanNameGenerator { private static final String C..._@service beanname

随便推点

二叉树的各种创建方法_二叉树的建立-程序员宅基地

文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h>#include<iostream>#include<stack>#include<queue>using namespace std;typed_二叉树的建立

解决asp.net导出excel时中文文件名乱码_asp.net utf8 导出中文字符乱码-程序员宅基地

文章浏览阅读7.1k次。在Asp.net上使用Excel导出功能,如果文件名出现中文,便会以乱码视之。 解决方法: fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);_asp.net utf8 导出中文字符乱码

笔记-编译原理-实验一-词法分析器设计_对pl/0作以下修改扩充。增加单词-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏23次。第一次实验 词法分析实验报告设计思想词法分析的主要任务是根据文法的词汇表以及对应约定的编码进行一定的识别,找出文件中所有的合法的单词,并给出一定的信息作为最后的结果,用于后续语法分析程序的使用;本实验针对 PL/0 语言 的文法、词汇表编写一个词法分析程序,对于每个单词根据词汇表输出: (单词种类, 单词的值) 二元对。词汇表:种别编码单词符号助记符0beginb..._对pl/0作以下修改扩充。增加单词

android adb shell 权限,android adb shell权限被拒绝-程序员宅基地

文章浏览阅读773次。我在使用adb.exe时遇到了麻烦.我想使用与bash相同的adb.exe shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)更改bash二进制文件遵循以下顺序> adb remount> adb push bash / system / bin /> adb shell> cd / system / bin> chm..._adb shell mv 权限

投影仪-相机标定_相机-投影仪标定-程序员宅基地

文章浏览阅读6.8k次,点赞12次,收藏125次。1. 单目相机标定引言相机标定已经研究多年,标定的算法可以分为基于摄影测量的标定和自标定。其中,应用最为广泛的还是张正友标定法。这是一种简单灵活、高鲁棒性、低成本的相机标定算法。仅需要一台相机和一块平面标定板构建相机标定系统,在标定过程中,相机拍摄多个角度下(至少两个角度,推荐10~20个角度)的标定板图像(相机和标定板都可以移动),即可对相机的内外参数进行标定。下面介绍张氏标定法(以下也这么称呼)的原理。原理相机模型和单应矩阵相机标定,就是对相机的内外参数进行计算的过程,从而得到物体到图像的投影_相机-投影仪标定

Wayland架构、渲染、硬件支持-程序员宅基地

文章浏览阅读2.2k次。文章目录Wayland 架构Wayland 渲染Wayland的 硬件支持简 述: 翻译一篇关于和 wayland 有关的技术文章, 其英文标题为Wayland Architecture .Wayland 架构若是想要更好的理解 Wayland 架构及其与 X (X11 or X Window System) 结构;一种很好的方法是将事件从输入设备就开始跟踪, 查看期间所有的屏幕上出现的变化。这就是我们现在对 X 的理解。 内核是从一个输入设备中获取一个事件,并通过 evdev 输入_wayland

推荐文章

热门文章

相关标签