18/63/14java简单加密算法算法

六年级简便计算练习题答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
六年级简便计算练习题答案
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢天津大学硕士学位论文第二章双向流固耦合的理论和方;
天津大学硕士学位论文第二章双向流固耦合的理论和方法问题;☆高效率的并行计算功能,提供多种自动/手动分区算法;内置MPI并行机制大幅度提高并行效率。另外,FLUENT特有动态负载平衡功能,确保全局高效并行计算;☆FLUENT软件提供了友好的用户界面,并为用户提供了二次开发接口(UDF):"A-FLUENT软件采用C/C++语言编写,从而大大提高了对计算机内存的利用率。2.3.2FLUENT求解的基本思想FLUENT是基于有限差分的方法来求解偏微分方程数值解的思想。其基本点是:将求解区域用与坐标轴平行的一系列网格线的交点所组成的点的集合来代替,在每个节点上,将控制方程中每一个导数用相应的差分表达式来代替,从而在每个节点上形成一个代数方程,每个方程中包含了本节点及其附近一些节点上的未知值,求解这些代数方程就获得了所需的数值解。由于各阶导数的差分表达式可以从Taylor(泰勒)展开式来导出,这方法又称离散方程的Taylor展开法。FLUENT中对于时间上的偏导数,有一阶、二阶的显示或隐式格式可选择;对于空间上的偏导数或控制体界面上的通量表示方法,有一阶、二阶迎风格式,指数率格式,QUICK格式、中心差分格式、三阶MUSCL格式(虽然也可以用于可压缩流动,但是要注意在FLUENT中的MUSCL格式没有使用限制器,在捕捉激波等间断时可能出现数值过冲而发散或得不到满意的结果)等多种格式供选择。针对可压缩流动,为了捕捉流场中的激波和各种间断面还有Roe.FDS格式、AUSM类格式供选择,提高了间断面的捕捉精度和效率。1)简单解释一下迎风的概念。迎风是相对于局部速度定义的,即用上游节点的变量值计算本地的变量值。一阶迎风和二阶迎风可以理解为保留Taylor级数的阶数不同从而精度不同,二阶精度更高,对一般的工程问题二阶精度是足够的,但是比一阶精度要难收敛一些。QUICK格式是使用加权和插值到混合形式给出控制体边界上的值。QUICK格式是针对结构化网格(四边形网格或六面体网格)才有意义的,一般在内场可以有三阶精度,在边界只有二阶精度。虽然非结构化网格也可以选用QUICK,实际上使用的还是二阶迎风格式。所以在流动方向可以预期的情况下,能够划分出与流动方法一致的结构化网格,使用QUICK格式可以提高计算精度,但是在很多工程问题中,流动方向是未知的,例如四角旋风炉中,流动是比较混乱的,这时花很大力气划分结构化网格意义不大,划分非结构化网格,然后使用二阶迎风格式就足够了。天津大学硕士学位论文第二章双向流固耦合的理论和方法2)差分格式构造方法构造差分方程的方法是多种多样的。对应于一个偏微分方程,可以建立各不相同的差分方程,它们的解都是原偏微分方程的近似解,也可以用不同的方法得到相同的差分方程,下面介绍几种常用的差分方程构造方法。(a)泰勒级数展开法考虑双曲型一维平流方程及初值条件Q“口仉虬0一∞∞+@甜,矾M诊∽(2.7)问题求解域为舻f的上半平面。在上半平面上画出两族平行于坐标轴的直线,把求解域分成矩形网格。网格心爱你的交点称为节点,石方向上网格线之间的距离缸称为时间步长,t方向上网格线之间的距离出称为时间步长,见图2.1,这样两族网格线可记为JLfo.n)2△f△,-2Ax一厶x0Ax2Ax图2.1网格划分x=Xj=/缸,J=0,±1,±2,…t=乙=nat,玎=O,1,2,…网格节点国,“)简记为(,,胛),则节点处的函数值可记为材;=u(xj,t.)=u(jAx,nAt)天津大学硕士学位论文第二章双向流固耦合的理论和方法为求出偏导数的各种基本差分表达,首先对空间坐标将函数口做如f=泰勒级数展开甜A=甜(_+缸,“)=“;+(“:):缸+iI(“:):缸2-(-)28,+去(甜≯缸3+o(血4)甜川=u(xj―Ax,厶)="?一似):Ax+寺(“:):缸2‘-?(.)29一吉(蛾缸3+D(血4)利用这两个展开式,可以导出偏导数的几种基本差分表达式。(I)一阶中心差商(2.8)式减去(2-9)式,然后等式两边除以2Ax-毪手=(“:)一(甜鬟缸2+。Ax3)由此可得(2-…(2.11)称为一阶偏导的一阶中心差商表达。它具有心阶的截断误差,记(《):兰簪+。Ax2)(材:):=警+。(血)(2-…为R--O(ax2)或者说具有二阶精度。当缸趋于零时,截断误差R也趋于零,因此说差商与微商是相容的。(2)一阶向前差商(2-8)式两边同时减去甜;,然后等式两边同除以Ax,整理得到(2-12)一阶向前差商具有一阶精度,lPD(血),它与微商也是相容的。(3)一阶向后差商同一阶向前差商的推导方法一样,从(2.9)式得到(“:):=华+。(止)(2-13)一阶向前差商具有一阶精度。(4)二阶中心差商把式(2.8)和(2.9)相加,可以推导出二阶偏导数的二阶中心差分表达式(2.14)(《):=挚+。(△)c2)它具有二阶精度,R=O(Ax2),二阶中心差商与二阶偏导也是相容的。同样可以导出对时间偏导数的有限差分表达式。如对时间的一阶向前差分表天津大学硕士学位论文第二章双向流固耦合的理论和方法达式为(“税=警n+ln十p(血)(2-15)其截断误差为R=O(A0。有了以上的差分公式,就可以用差商代替偏微分方程(2.7)式的第一式的微商,构成逼近偏微分方程的差分方程。差分方程加上离散化的初始条件就得到差分格式。当用一阶向前差商逼近时,导数分别选用三种不同的空间一阶差商来逼近空间偏导数时,对于定解问题(2.7)式可以构成三种差分格式。(1)中心差分格式用一阶中心差商逼近空间偏导,把(2.11)和(2.15)代入(2.7)式的第一式得到差分方程。把初值条件(2.7)式的第二式写成离散的初值条件,即中心差分格式{f望兰+口鱼二垒:oAt2Ax(2-16)【搿,0=f(xj)写成便于计算的格式j“,.+l毡”一五aAt(‰一蠕)【材,0=f(xj)式的查分星座如图2.2(a)所示。护△∥缸称为网格比。(2)向前差分格式(右偏)用一阶向前差商逼近空间偏导,并写成便于计算的形式(2-17)格式截断误差R=D(At,ax2),差分方程中用到n+l时间层上的一个节点和n层上的三个节点。差分方程中用到的时间层上的格点称作差分星座。中心差分格p=彬一日尝(略-一杉)I“,0=f(xj)R=O(At,Ax),其差分星座如图2-2(b)。(3)向后差分格式(左偏)用一阶向后差商逼近空间偏导,并写成便于计算的形式(2-18)』甜,n+l码一口尝(铲蠕)(2-19)【甜,0=f(xj)R=O(At,ax),其差分星座如图2.2(c)。天津大学硕士学位论文第二章双向流固耦合的理论和方法玎二7#、:7壮:7#j―ljj+lJj+lj一1j(a)中心(b)右偏图2.2差分星座图(c)左偏fz,二-=口一bax+cAx2缸Ⅲ…缸:鬻二乏揣)/(2Ax:)c=(甜盖。一2甜?+“二。2)(2-21)协22,(列:):=(6+2蹦)L卸=(略。一“二。/(2Ax)(“:):=2c(u;+.-2u;+“二)/血2(2―23)(2―24)三亿文库包含各类专业文献、幼儿教育、小学教育、应用写作文书、中学教育、文学作品欣赏、行业资料、外语学习资料、双向流固耦合两种计算方法的比较63等内容。 
 (2)双向流固耦合。考虑流场对固体变形的影响,同时也要考虑固体形变对流场的影响。 计算量很大,而且很难收敛。 (3)热应力计算。这个主要是温度与结构的耦合。...  管道流体双向流固耦合的动力学模拟分析 【摘要】新疆某石化公司的 10-K-302C 离心式甲烷制冷压缩机自 2009 年 9 月开机以来, 润滑油管线振动位移一直较大。...  通过 ansys 计算检查最大位移:最上面的点 x 向变形曲线 至此,固体部分的计算...CFX_流固双向耦合的实现 10页 5下载券 ANSYS流固耦合分析实例 31页 免费 CFX...  fluent单项流固耦合_建筑/土木_工程科技_专业资料。...FSI 计算按数据传 递方式可分两类:单向耦合与双向...单向耦合计算思路很简单, 就是先算流体,然后将流体...  耦合计算设置在稳态计算设置的基础上进行修正 1、设置计算类型、时间步 2、动...双向流固耦合两种计算方... 65页 4下载券 流固耦合问题计算方法综... 2页...  更需用 Insight,去展示 欧拉域内部的流固耦合计算...容许两种以上之材料, 因此, 应用欧拉法可模拟计算...若隧道内系铺设双向轨道,双向行车,列车大致占隧道之...  Fluent与DS的单向流固耦合计算_机械/仪表_工程科技_...FSI 计算按数据传递方式可分两类:单向耦合 与双向...我们这里来举一个最 简单的单向耦合例子:风吹挡板...  总之,在流固耦合分析中,你最好要按着先流体后固体...而 Eluer 算法则不行,Euler 算 法在计算流体时...在动态分析中联立这两种网 格划分方式可以节省计算机...这就是amazon发明的“喜欢这个商品的人,也喜欢某某”算法。&br&其核心是数学中的“多维空间中两个向量夹角的余弦公式”,当初我的确是被这算法惊艳到了。&br&&br&============= 更新 =============================&br&不好意思,之前说的有误,特来更正兼补充。&br&&br&“商品推荐”系统的算法( &a href=&///?target=http%3A//en.wikipedia.org/wiki/Collaborative_filtering& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Collaborative filtering&i class=&icon-external&&&/i&&/a& )分两大类,&br&第一类,以人为本,先找到与你相似的人,然后看看他们买了什么你没有买的东西。这类算法最经典的实现就是“多维空间中两个向量夹角的余弦公式”;&br&第二类, 以物为本直接建立各商品之间的相似度关系矩阵。这类算法中最经典是'斜率=1' (&a href=&///?target=http%3A//en.wikipedia.org/wiki/Slope_One& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Slope One&i class=&icon-external&&&/i&&/a&)。amazon发明了暴力简化的第二类算法,‘买了这个商品的人,也买了xxx’。&br&&br&我们先来看看第一类,最大的问题如何判断并量化两人的相似性,思路是这样 -- &br&例子:&br&有3首歌放在那里,《最炫民族风》,《晴天》,《Hero》。&br&A君,收藏了《最炫民族风》,而遇到《晴天》,《Hero》则总是跳过;&br&B君,经常单曲循环《最炫民族风》,《晴天》会播放完,《Hero》则拉黑了&br&C君,拉黑了《最炫民族风》,而《晴天》《Hero》都收藏了。&br&&br&我们都看出来了,A,B二位品味接近,C和他们很不一样。&br&那么问题来了,说A,B相似,到底有多相似,如何量化?&br&&br&我们把三首歌想象成三维空间的三个维度,《最炫民族风》是x轴,《晴天》是y轴,《Hero》是z轴,对每首歌的喜欢程度即该维度上的坐标,&br&并且对喜欢程度做量化(比如: 单曲循环=5, 分享=4, 收藏=3, 主动播放=2 ,
跳过=-1 , 拉黑=-5 )。&br&那么每个人的总体口味就是一个向量,A君是 (3,-1,-1),B君是(5,1,-5),C君是(-5,3,3)。
(抱歉我不会画立体图)&br&我们可以用向量夹角的余弦值来表示两个向量的相似程度, 0度角(表示两人完全一致)的余弦是1, 180%角(表示两人截然相反)的余弦是-1。&br&&br&根据余弦公式,
&b& 夹角余弦 = 向量点积/ (向量长度的叉积)&/b& =
( x1x2 + y1y2 + z1z2) / (
跟号(x1平方+y1平方+z1平方 ) x
跟号(x2平方+y2平方+z2平方 ) )&br&可见 A君B君夹角的余弦是0.81 , A君C君夹角的余弦是 -0.97 ,公式诚不欺我也。&br&以上是三维(三首歌)的情况,如法炮制N维N首歌的情况都是一样的。&br&假设我们选取一百首种子歌曲,算出了各君之间的相似值,那么当我们发现A君还喜欢听的《小苹果》B君居然没听过,相信大家都知道该怎么和B君推荐了吧。&br&&br&第一类以人为本推荐算法的好处我想已经很清楚了,那就是精准!&br&代价是运算量很大,而且对于新来的人(听得少,动作少),也不太好使,&br&所以人们又发明了第二类算法。&br&&br&假设我们对新来的D君,只知道她喜欢最炫民族风,那么问题来了,给她推荐啥好咯?&br&&img src=&/f9b50aa7934b1bcebacb4e715d9f1190_b.jpg& data-rawwidth=&903& data-rawheight=&552& class=&origin_image zh-lightbox-thumb& width=&903& data-original=&/f9b50aa7934b1bcebacb4e715d9f1190_r.jpg&&&br&如图,推荐《晴天》!&br&&br&呵呵,第二类算法的好处大家也看出来了,简单粗暴好操作(也适合map-reduce),可精度差了点。&br&&br&所以,各家网站真正的推荐算法,是他们在综合上述两类算法的基础上,各自研制并且不断地改进调节的,外人不得而知! ^_^&br&&br&===
再补充 ===&br&&br&多谢 @刘彦彬 给了一个非常专业的评论 ,不贴出来可惜了。&br&&i&“这个只能说是理论基础。歌曲不考虑热门冷门,同时不考虑用户数和歌曲数计算复杂度的话第一一天内离线数据计算不完的(当然网易云音乐用户量小全量暴力计算当我没说),实际应用起来复杂很多了。现在的推荐系统并不存在一种算法通吃,除了算法上的问题,还需要考虑基础数据的影响因素,比如两张歌单有多少歌曲重合,歌单的质量是怎么样的。” &/i&&br&&br&我上一帖也说了,&br&'向量夹角余弦' 解决的是‘量化顾客口味相似度’的问题(是最经典的解法,也有别的解法),&br&不是有了它就能轻易实现第一类算法的,难处在后面咯。&br&我不是干‘CF/算法/数据挖掘/互联网’的,只是几年前偶尔瞄到过这方面文章被惊艳了一下,&br&见到这题就随口抖了个机灵,然后被评论区几位带板凳来的朋友给推上来了 ^_^&br&&br&既然大家都这么有兴趣,我在来抛块砖,说说‘有了理论基础之后咋整’的思(nao3)考(dong4)。&br&继续第一类算法的话题,目标“每日歌曲推荐”(其实题主感兴趣的是这个吧,旁边‘根据你喜欢的xxx推荐的yyy歌单’我觉得不咋样)。&br&首先就是如何定维度。
&br&直接用‘歌’当维度是不行的,第一是太多了算不过来,第二维度数一直猛涨也不是个事。&br&用‘歌单’或者‘专辑’,‘演唱/演奏者’呢?也有类似的困难。&br&说到这里大家应该都意识到了,咱不是还有‘tag’嘛!&br&云音乐初期,tag是可以由大家自己填的,我记得我填过‘莫扎特’,‘钢协’,‘交响’这样的tag,现在都不见了吧。&br&一段时间之后,tag无法自填了,只能从云音乐给的tag lib中选,这肯定有原因的。&br&我的推测就是,他们需要用tag来当作维度,所以不希望tag数经常变化。&br&第一阶段,他们需要搜集用户的输入来做出tag lib,&br&第二阶段,他们构建了多维度空间,就不希望再动维度了,因此关闭了自填tag的功能。&br&&br&假设就用tag做为维度,那么第二个难处在于,维度上的'刻度'必须有正有负才好使,&br&用户没有机会直接表达对tag的好恶(不能收藏,播放,跳过一个tag),如何定刻度呢。&br&我认为每一首歌背后是有其所属tags这个属性的,这个属性在UI上看不到很可能是因为比较容易引起口水。&br&歌往往隶属于很多歌单,而那些歌单都是有tags的,根据那些歌单的播放数收藏数分享数可以决定其'权威性',&br&取'权威性'高的歌单的tag,就可以得到每首歌的tag属性。&br&然后用户在表达对一首首歌的好恶的时候,其实就不知不觉地影响了他在相应维度上的刻度。&br&&br&假设维度和刻度都这样解决,那么我们可以对每个用户做出‘口味向量’了,接下来的难处是,&br&啥时候算/如何保存‘用户相似性’?&br&所有用户两两算一下相似性,存为一个NxN的矩阵,这种事情不是闹这玩的。&br&&br&其实到了这一步,不考虑‘以人为本’,直接根据我喜欢的tag,从各tag里挑一些人气高的,或者蹿升快的歌来推荐也算是能交差了。&br&不过那样的话,就容易同质化,也就不易让用户‘惊艳’了。&br&让我们继续沿着第一类算法的思路琢磨琢磨。&br&&br&多维度空间还有一大好处是,有‘像限’这种的概念,&br&比如我们可以粗暴地假设,和我同一个像限的人,就是和我‘相似’的人,&br&如果因为维度太多,或者初期用户太少等原因找不到同像限的人, 还可以去‘相邻’的像限找嘛。&br&OK,假设我们根据tag以及自己的像限,找到了一批和自己‘气味相投’的人。&br&再丛这批人中,选几个‘和我夹角余弦’最大(再综合一下个人名声比如星标,粉丝数,和我的互动度等,更好)的人,&br&从他们听过而我没听过的歌中,再选一批 他们喜欢,或者他们新听到,新收藏,或者总人气高的等等,&br&就可以说是“根据我的口味生成”的“每日歌曲推荐”了。&br&&br&以上内容,均是臆测,如果雷同,纯属巧合 ^_^
这就是amazon发明的“喜欢这个商品的人,也喜欢某某”算法。 其核心是数学中的“多维空间中两个向量夹角的余弦公式”,当初我的确是被这算法惊艳到了。 ============= 更新 ============================= 不好意思,之前说的有误,特来更正兼补…
以前我有一个朋友,谈论什么都谈论得头头是道,我非常惊奇,他为什么几乎无所不知?为什么可以无所不评?&br&&br&直到有一天他告诉我说:&评论有什么难的?你要评论什么东西,一定先说他的不好,这样才能衬托你的高明,拿吉他指弹来说,弹得快技巧丰富的,你就说他节奏不够稳定或者说他囿于技巧之中,太过旖旎,弹得慢的,你就说他技巧吸收不够充分。&br&&br&评论书籍,如果是文学小说的话,你就说,文字虽好但是未免落入俗套,如果是学术著作,你就说里面的内容虽然旁征博引,但未必经得起推敲。&br&评论画作,那就更简单了,你可以把别人觉得不好看的说是充满神来之笔的灵感,把别人觉得好看的说他用色未免略微庸俗。记住,不管评论什么东西,都略略缀上一些不足,这样才能显得你无所不知又十分高明。&&br&&br&&br&&那如果当真是神之一手,举世无双呢?&&br&&br&&br&&br&他沉吟半晌。&br&&br&&br&&br&&那,就说他缺乏美感。&
以前我有一个朋友,谈论什么都谈论得头头是道,我非常惊奇,他为什么几乎无所不知?为什么可以无所不评? 直到有一天他告诉我说:"评论有什么难的?你要评论什么东西,一定先说他的不好,这样才能衬托你的高明,拿吉他指弹来说,弹得快技巧丰富的,你就说他…
&b&说句题外话,今天再一次被某些媒体人不要脸的吃相恶心到了。&/b&&br&&br&已经51胜的Master同陈耀烨九段 (感谢&a data-hash=&11f0fc6c51ed768a3660& href=&///people/11f0fc6c51ed768a3660& class=&member_mention& data-hovercard=&p$b$11f0fc6c51ed768a3660&&@半目之殇&/a&的指正) 的对局中,行至第7手后,由于陈耀烨掉线30秒内未落子,系统判定和棋。&br&&img src=&/v2-08ac479abec34b693dc167_b.jpg& data-rawwidth=&440& data-rawheight=&436& class=&origin_image zh-lightbox-thumb& width=&440& data-original=&/v2-08ac479abec34b693dc167_r.jpg&&&br&这本来是一件十分遗憾的意外事件,尤其是陈耀烨苦苦等了这么久,最终竟然以这种方式结束对局,心中郁闷可想而知。&br&&br&&b&但到了某些媒体人眼中,这居然成了一件可以刺激大众G点的噱头,有些媒体把自己的底线和棋手的尊严踩到脚底,然后毫无廉耻搬用春秋笔法误导大众。&/b&&br&&img src=&/v2-839df79cbd3ffebd57cc68_b.png& data-rawwidth=&690& data-rawheight=&247& class=&origin_image zh-lightbox-thumb& width=&690& data-original=&/v2-839df79cbd3ffebd57cc68_r.png&&&img src=&/v2-55b28ba026dfb68c8be8e50_b.png& data-rawwidth=&688& data-rawheight=&352& class=&origin_image zh-lightbox-thumb& width=&688& data-original=&/v2-55b28ba026dfb68c8be8e50_r.png&&&img src=&/v2-cabebfedefe0b696bfdec_b.png& data-rawwidth=&689& data-rawheight=&347& class=&origin_image zh-lightbox-thumb& width=&689& data-original=&/v2-cabebfedefe0b696bfdec_r.png&&&br&&b&简直是字字诛心,尤其是“利用”二字,将节奏带的飞起。&/b&&br&&br&于是点开评论,十有八九都是网友的跟风调侃,在他们的推波助澜下,居然真的有人信以为真,以为陈耀烨九段真的有意采取了如此下三滥不入流的方式。&br&&br&&img src=&/v2-9d3700addc21de9b0280bd1_b.png& data-rawwidth=&577& data-rawheight=&60& class=&origin_image zh-lightbox-thumb& width=&577& data-original=&/v2-9d3700addc21de9b0280bd1_r.png&&&img src=&/v2-b4761bb4bedc73acbd2c53fe3efa5872_b.png& data-rawwidth=&567& data-rawheight=&119& class=&origin_image zh-lightbox-thumb& width=&567& data-original=&/v2-b4761bb4bedc73acbd2c53fe3efa5872_r.png&&&img src=&/v2-3aac0d93ce_b.png& data-rawwidth=&579& data-rawheight=&63& class=&origin_image zh-lightbox-thumb& width=&579& data-original=&/v2-3aac0d93ce_r.png&&&img src=&/v2-2d4c1b9c1d3e8eafc859fb2956f94def_b.png& data-rawwidth=&577& data-rawheight=&55& class=&origin_image zh-lightbox-thumb& width=&577& data-original=&/v2-2d4c1b9c1d3e8eafc859fb2956f94def_r.png&&&br&&b&陈耀烨是谁?曾经最年轻的九段(&/b& 感谢&a data-hash=&faf854ca5& href=&///people/faf854ca5& class=&member_mention& data-hovercard=&p$b$faf854ca5&&@宛丘&/a&指正 &b&),国内连续8年蝉联天元,获得过两次世界大赛的冠军(决赛对手分别是李世乭和柯洁)。&/b&&br&&br&这么一个世界冠军,难道他不想真刀真枪和Master对决一次?&br&&br&无数职业棋手为之热爱、奋斗、奉献终身的围棋正历经千年来前所未有变局时刻,所有棋手都希望成为其中的见证者、亲历者和有尊严的缔造者。无一不是在震惊中抱着“朝闻道夕死可矣”的觉悟积极求战。所以才会有李世石在同AlphaGo对局中憋得脸颊通红,才会有柯洁输给Master后彻夜未眠,才会有一众职业选手齐聚网棋排着队等待对局。&br&&br&他们不知道Master实力逆天么?他们不知道Master连战连胜么?他们不知道胜机渺茫么?那他们为什么还要前仆后继只求一战?&br&&br&这其中道理很简单,有些人却永远都不会懂,我只想跟这些人说一句:&br&&br&&b&不要因为你们没有节操,就觉得全世界的人都不要脸。&/b&
说句题外话,今天再一次被某些媒体人不要脸的吃相恶心到了。 已经51胜的Master同陈耀烨九段 (感谢的指正) 的对局中,行至第7手后,由于陈耀烨掉线30秒内未落子,系统判定和棋。 这本来是一件十分遗憾的意外事件,尤其是陈耀烨苦苦等了这么久,最…
非常好的一个问题。这可能是我在知乎见到过的问编程有关的问题中问得最好的一个了。我非常喜欢这个问题。&br&&br&计算机科学有两类根本问题。一类是理论:算法,数据结构,复杂度,机器学习,模式识别,等等等。一类是系统:操作系统,网络系统,分布式系统,存储系统,游戏引擎,等等等等。&br&&br&理论走的是深度,是在追问在给定的计算能力约束下如何把一个问题解决得更快更好。而系统走的是广度,是在追问对于一个现实的需求如何在众多的技术中设计出最多快好省的技术组合。&br&&br&搞ACM的人,只练第一类。像你这样的更偏向于第二类。其实挺难得的,但很可惜的是第二类能力没有简单高效的测量考察方法,不像算法和数据结构有ACM竞赛,所以很多系统的苗子都因为缺少激励和正确引导慢慢就消隐了。&br&&br&所以比尔盖茨才会说,看到现在学编程的人经常都把编程看作解各种脑筋急转弯的问题,他觉得很遗憾。&br&&br&做系统,确实不提倡“重复发明轮子”。但注意,是不提倡“重复发明”,不是不提倡“重新制造”。恰恰相反的,我以为,系统的编程能力正体现在“重新制造”的能力。&br&&br&能把已有的部件接起来,这很好。但当你恰好缺一种关键的胶水的时候,你能写出来吗?当一个已有的部件不完全符合你的需求的时候,你能改进它吗?如果你用的部件中有bug,你能把它修好吗?在网上繁多的类似功能的部件中,谁好谁坏?为什么?差别本质吗?一个开源代码库,你能把它从一个语言翻译到另一个语言吗?从一个平台移植到另一个平台吗?能准确估计自己翻译和移植的过程需要多少时间吗?能准确估计翻译和移植之后性能是会有提升还是会有所下降吗?&br&&br&系统编程能力体现在把已有的代码拿来并变成更好的代码,体现在把没用的代码拿来并变成有用的代码,体现在把一个做好的轮子拿来能画出来轮子的设计蓝图,并用道理解释出设计蓝图中哪些地方是关键的,哪些地方是次要的,哪些地方是不容触碰的,哪些地方是还可以改进的。&br&&br&如果你一点不懂理论,还是应该学点的。对于系统性能的设计上,算法和数据结构就像在自己手头的钱一样,它们不是万能的,但不懂是万万不行的。&br&&br&怎么提高系统编程能力呢?土办法:多造轮子。就像学画画要画鸡蛋一样,不是这世界上没有人会画鸡蛋,但画鸡蛋能驯服手指,感受阴影线条和笔触。所以,自己多写点东西吧。写个编译器?渲染器?操作系统?web服务器?web浏览器?部件都一个个换成自己手写的,然后和已有的现成部件比一比,看看谁的性能好,谁的易用性好?好在哪儿?差在哪儿?为什么?&br&&br&更聪明一点的办法:多拆轮子。多研究别人的代码是怎么写的。然而这个实践起来经常很难。原因:大部分工业上用的轮子可能设计上的思想和技术是好的,都设计和制造过程都很烂,里面乱成一团,让人乍一看毫无头绪,导致其对新手来说非常难拆。这种状况其实非常糟糕。所以,此办法一般只对比较简单的轮子好使,对于复杂的轮子,请量力而行。&br&&br&轮子不好拆,其实是一个非常严重的问题。重复发明轮子固然是时间的浪费,但当轮子复杂而又不好拆的时候,尤其是原来造轮子的人已经不在场的时候,重新发明和建造轮子往往会成为无奈之下最好的选择。这是为什么工业界在明知道重复发明/制造轮子非常不好的情况下还在不断重复发明/制造轮子的根本原因。&br&&br&程序本质是逻辑演绎的形式化表达,记载的是人类对这个世界的数字化理解。不能拆的轮子就像那一篇篇丢了曲谱的宋词一样,能读,却不能唱。&br&&br&鄙人不才,正在自己研究怎么设计建造一种既好用又好拆的轮子。您没那么幸运,恐怕是等不到鄙人的技术做出来并发扬光大了。在那之前,多造轮子,多拆好拆的小轮子,应该是提高编程能力最好的办法了。&br&&br&以上。嗯。&br&&i&(文章属个人观点,与本人工作雇主无关。)&/i&
非常好的一个问题。这可能是我在知乎见到过的问编程有关的问题中问得最好的一个了。我非常喜欢这个问题。 计算机科学有两类根本问题。一类是理论:算法,数据结构,复杂度,机器学习,模式识别,等等等。一类是系统:操作系统,网络系统,分布式系统,存储…
谢邀。&br&&br&这道题怎么做,取决于我们如何从数学的角度理解题干中这句话:&br&&b&“他们的原则是先求保命,再去多杀人”。&/b&&br&&br&我的理解是:&br&&ol&&li&每个人采取方案,使得剩下的人在采取最佳方案的时候,自己的存活概率最大;&br&&/li&&li&如果有多种方案使得自己的存活概率最大且相同,则采取杀死人最多的方案;&br&&/li&&/ol&&br&假设我的理解正确,那么,&b&这道题将会有一个可怕的答案。&/b&&br&&br&&b&定义: &/b&&img src=&///equation?tex=m_%7Bn%7D+& alt=&m_{n} & eeimg=&1&& 为第 &img src=&///equation?tex=n& alt=&n& eeimg=&1&& 个人取走的绿豆数,而 &img src=&///equation?tex=M_%7Bn%7D+& alt=&M_{n} & eeimg=&1&& 为前 &img src=&///equation?tex=n& alt=&n& eeimg=&1&& 个人取走的总绿豆数&br&&br&&br&&b&引理 1&/b&:&br&当 &img src=&///equation?tex=n& alt=&n& eeimg=&1&& 个人 (&img src=&///equation?tex=1%5Cleq+n%5Cleq+3& alt=&1\leq n\leq 3& eeimg=&1&&) 取过绿豆时,如果被取走的绿豆数满足&br&&img src=&///equation?tex=20n%3CM_%7Bn%7D%3C95%2Bn+& alt=&20n&M_{n}&95+n & eeimg=&1&&&br&则第 &img src=&///equation?tex=n%2B1& alt=&n+1& eeimg=&1&& 个人应该取 &img src=&///equation?tex=m_%7Bn%2B1%7D+%3D%5Cmin%5Cleft%28+96-M_%7Bn%7D%2Bn%2C%5Cleft%5B+%5Cfrac%7BM_%7Bn%7D-1+%7D%7Bn%7D++%5Cright%5D+++%5Cright%29+& alt=&m_{n+1} =\min\left( 96-M_{n}+n,\left[ \frac{M_{n}-1 }{n}
\right) & eeimg=&1&& 颗绿豆’&br&&br&&b&证明:&/b&&br&&br&这个方案,可以确保自己不死,同时剩下未取豆子的人死亡概率最大。&br&&br&其中:&br&&ul&&li&&img src=&///equation?tex=96-M_%7Bn%7D%2Bn& alt=&96-M_{n}+n& eeimg=&1&& 是确保剩下的人至少有一颗绿豆可选,且自己至少取了 2 颗;&br&&/li&&li&&img src=&///equation?tex=%5Cleft%5B+%5Cfrac%7BM_%7Bn%7D-1+%7D%7Bn%7D++%5Cright%5D+++& alt=&\left[ \frac{M_{n}-1 }{n}
& eeimg=&1&& 是确保自己取的绿豆数至少比前面取的最多的人少 1 ;&br&&/li&&/ul&&br&由于 &img src=&///equation?tex=M_%7Bn%7D%3E20n& alt=&M_{n}&20n& eeimg=&1&&, 有&img src=&///equation?tex=%5Cleft%5B+%5Cfrac%7BM_%7Bn%7D-1+%7D%7Bn%7D++%5Cright%5D++%5Cgeq+20& alt=&\left[ \frac{M_{n}-1 }{n}
\geq 20& eeimg=&1&&, 这不仅保证了自己取的豆子数不是最多的,并且其他人不可能都取到那么多,所以自己必然存活;&br&&br&&ul&&li&如果 &img src=&///equation?tex=%5Cleft%5B+%5Cfrac%7BM_%7Bn%7D-1+%7D%7Bn%7D++%5Cright%5D++%3C+96-M_%7Bn%7D-n& alt=&\left[ \frac{M_{n}-1 }{n}
& 96-M_{n}-n& eeimg=&1&&,他在确保自己存活的情况下,使得剩下的豆子数最少,这样可以杀更多的人;&/li&&li&如果&img src=&///equation?tex=+%5Cleft%5B+%5Cfrac%7BM_%7Bn%7D-1+%7D%7Bn%7D++%5Cright%5D++%5Cgeq++96-M_%7Bn%7D-n& alt=& \left[ \frac{M_{n}-1 }{n}
96-M_{n}-n& eeimg=&1&&,他在确保自己存活的情况下,剩下的人每个人只能取 1 颗豆子,确保杀死剩下的所有人;&br&&/li&&/ul&&br&&b&推论1&/b&:如果第 1 个人想要存活,那么他取的豆子数不能超过 20 颗,否则,后面的人只要采取引理1 的方案,将保证自己存活,且此时第 1 个人会因为取的绿豆数最多而死亡,而最后 1~3 个人(根据第 1 个人取的绿豆数)会因为自己取的豆子数最少而死亡;&br&&br&&br&&b&引理 2&/b&:当 &img src=&///equation?tex=n%3D2%2C3& alt=&n=2,3& eeimg=&1&&时,若&img src=&///equation?tex=M_%7Bn%7D%5Cleq+20n& alt=&M_{n}\leq 20n& eeimg=&1&&,&br&则第 &img src=&///equation?tex=n%2B1& alt=&n+1& eeimg=&1&& 个人应该取 &img src=&///equation?tex=m_%7Bn%2B1%7D+%3D%5Cleft%5B+%5Cfrac%7BM_%7Bn%7D%7D%7Bn%7D%2B0.5%5Cright%5D+& alt=&m_{n+1} =\left[ \frac{M_{n}}{n}+0.5\right] & eeimg=&1&& 颗绿豆’来确保自己的存活概率最高&br&&br&(其中,&img src=&///equation?tex=%5Cleft%5B+%5Cfrac%7BM_%7Bn%7D%7D%7Bn%7D%2B0.5%5Cright%5D+& alt=&\left[ \frac{M_{n}}{n}+0.5\right] & eeimg=&1&& 是均值的四舍五入)&br&&br&因为当且仅当在这种情况下,只要前面的人取的绿豆数的最大最小值之差不小于 2,自己就确保能存活(否则存活范围会变窄)&br&&br&* &i&对于第 5 个人,这个条件可能不成立,比如见到前面四个人取了 62 颗, 可能是 14+16+16+16,也可能是 15+15+15+17,所以他无论取 15 颗还是 16 颗都有机会但不能确保自己存活。&/i&&br&&br&而所有人取绿豆的最大最小值的差不大于 1,所有人都得死;&br&&br&&b&引理3&/b&: 当大家都极度自私的情况下,前 2 个人没有存活的可能&br&&br&这是因为由引理2,如果第 3~5 个人都会采取对他们而言存活概率的方案,如果第 2 个人和第 1 个人取的绿豆数差超过 1 个,那前两个人就包揽了最大最小值,必须死,如果差不超过1,则所有人都得死;&br&&br&既然第 1 个人没有存活概率,那他的目标就很耐人寻味了:&br&&br&&b&如果自己没有存活概率——&/b&&br&&b&选择1:杀死尽可能多的人&/b&&br&&b&选择2:尽可能拯救更多的人&/b&&br&&br&按照我的假设,应该是前者。&br&&br&既然第 1 个人没有存活概率,不妨让大家都死得干净些——&b&取走 96 颗绿豆!&/b&&br&&br&但如果,第 1 个人有点恻隐之心,做出了选择 2:&br&&br&那,他会取走 21~33 的豆子数,根据 引理1, 第 2~4 个人会存活;&br&&br&&b&所以,本题根据对题意的不同理解,有两解:&/b&&br&&ul&&li&&b&所有人都死亡;&/b&&br&&/li&&li&&b&第 2~4 个人存活;&/b&&br&&/li&&/ul&&br&而对于第 1 个囚犯,他将面临一个哲学难题:&br&&b&如果自己不可能活下去,你会选择让别人陪葬,还是让其他人好好活下去?&/b&&br&&br&如果是你,会怎么选择呢?&br&&br&【完】
谢邀。 这道题怎么做,取决于我们如何从数学的角度理解题干中这句话: “他们的原则是先求保命,再去多杀人”。 我的理解是: 每个人采取方案,使得剩下的人在采取最佳方案的时候,自己的存活概率最大; 如果有多种方案使得自己的存活概率最大且相同,则采…
先直接回答这个问题,下面再分析AlphaGo和人工智能的未来。我认为AlphaGo这次的比赛打败李世乭比较悬,但是1-2年之内必然完胜人类。&br&&ol&&li&&b&按照两者的Elo(围棋等级分),可以算出去年年底的AlphaGo打败李世乭的概率相当低。&/b&如何算出的呢?AlphaGo去年年底的顶级分布式版本的Elo是3168(见下面第一张图),而李世乭的Elo大约是3532(全球围棋手Elo: &a href=&///?target=http%3A//www.goratings.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Go Ratings&i class=&icon-external&&&/i&&/a& ,见下面第二张图)。&br&&img src=&/fc27792ef9ccd3d05520_b.png& data-rawwidth=&350& data-rawheight=&374& class=&content_image& width=&350&&&img src=&/bef51010f1adce3ef3d6ef6_b.png& data-rawwidth=&347& data-rawheight=&229& class=&content_image& width=&347&&&br&按照这两个等级分的两个棋手对弈,李世乭每盘的胜算为89%(&img src=&///equation?tex=%5Cfrac%7B1%7D%7B%281%2B10%5E%7B%28%2%29%2F400%29%29%7D+%29%7D+& alt=&\frac{1}{(1+10^{(()/400))} )} & eeimg=&1&&,公式见:&a href=&///?target=https%3A///r/chess/comments/2y6ezm/how_to_guide_converting_elo_differences_to/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&How to Guide: Converting Elo Differences To Winning Probabilities : chess&i class=&icon-external&&&/i&&/a&)。如果对弈一盘,AlphaGo尚有11%的获胜的可能性,而整个比赛五盘胜出三盘或更多,AlphaGo就只有1.1%的可能性了。(当然,这是几个月前的AlphaGo,也许今天已经超越了:见下面第三点)。&br&&/li&&li&&b&AlphaGo不是打败了欧洲冠军吗?有些&/b&人认为AlphaGo去年底击败了欧洲冠军樊麾,所以挑战(前)世界冠军应有希望。但是,樊麾只是职业二段(Elo 3000左右),而李世乭是职业九段(ELO 3532)。这两位的差别是巨大的,完全不能混为一谈。就比如说一个人乒乓球打败了非洲冠军,并不代表他就可以成功挑战中国冠军。&br&&/li&&li&&b&AlphaGo有可能在这几个月突飞猛进,进而击败李世乭吗?&/b&AlphaGo的负责人说:”外界不知道我们这几个月进步了非常多“。(来自:&a href=&///?target=http%3A///2016/alphago-lee-sedol-whos-underdog-in-google-ai-million-go-match/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Odds favor machine over human in big Go showdown&i class=&icon-external&&&/i&&/a& )。这点确实有可能。AlphaGo进步的方法有两个:(1)增加硬件:我们从Nature的文章可以看到:从1202个CPU到1920个CPU,AlphaGo的ELO只增加了28,而且线性地增加CPU,不会看到线性的ELO成长。若要达到364 ELO积分的提升,需要的CPU将达到天文数字(有篇文章估计至少要10万个CPU:&a href=&///?target=http%3A///blog-posts/alphago-and-ai-progress& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&AlphaGo and AI Progress&i class=&icon-external&&&/i&&/a&)。当然,谷歌有钱有机器,但是纯粹加机器将会碰到并行计算互相协调的瓶颈(就是说假设有十万万台机器,它们的总计算能力很强,但是彼此的协调将成为瓶颈)。在几个月之内增加两个数量级的CPU并调节算法,降低瓶颈,应该不容易。(2)增加学习功能:AlphaGo有两种学习功能,第一种是根据高手棋谱的学习,第二种是自我对弈,自我学习。前者已经使用了16万次高手比赛,而后者也在巨大机组上训练了8天。这方面肯定会有进步,但是要超越世界冠军可能不容易。最后,换一种分析方式:如果从过去深蓝击败世界冠军的“成长过程”来看,深蓝大约1993年达到职业大师水平,4年后才在一场六盘的比赛中击败世界冠军(大约500Elo积分点的提升)。今天的AlphaGo应该和1993年的深蓝相似,刚进入职业大师水平。若要击败世界冠军,虽然未必需要4年的时间,但是几个月似乎不够。&/li&&li&&b&还有什么以上未考虑的因素,导致AlphaGo获胜吗?&/b&如果谷歌刻意未出全力和樊麾对抗,或者有其它学习或并行计算方面超越了Nature里面的描述,那AlphaGo完全有可能获胜。&/li&&/ol&既然写了这么多,就对这个题目再发表一些看法:&br&&ol&&li&&b&AlphaGo 是什么?&/b&在今年一月的Nature (&a href=&///?target=http%3A///nature/journal/v529/n7587/full/nature16961.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/nature/journ&/span&&span class=&invisible&&al/v529/n7587/full/nature16961.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& )有AlphaGo的详细介绍,AlphaGo是一套为了围棋优化的设计周密的深度学习引擎,使用了神经网路加上MCTS (Monte Carlo tree search),并且用上了巨大的谷歌云计算资源,结合CPU+GPU,加上从高手棋谱和自我学习的功能。这套系统比以前的围棋系统提高了接近1000分的Elo,从业余5段提升到可以击败职业2段的水平,超越了前人对围棋领域的预测,更达到了人工智能领域的重大里程碑。&/li&&li&&b&AlphaGo 是科学的创新突破吗?&/b&AlphaGo是一套设计精密的卓越工程,也达到了历史性的业界里程碑,不过Nature文章中并没有新的“发明”,AlphaGo的特点在于:不同机器学习技术的整合(例如:reinforcement learning, deep neural network, policy+value network, MCTS的整合可谓创新)、棋谱学习和自我学习的整合、相对非常可扩张的architecture(让其充分利用谷歌的计算资源)、CPU+GPU并行发挥优势的整合。这套“工程”不但有世界顶级的机器学习技术,也有非常高效的代码,并且充分发挥了谷歌世界最宏伟的计算资源(不仅仅是比赛使用,训练AlphaGo时也同样关键)。&br&AlphaGo的跳跃式成长来自几个因素:1)15-20名世界顶级的计算机科学家和机器学习专家(这是围棋领域从未有的豪华团队:也许你觉得这不算什么,但是要考虑到这类专家的稀缺性),2)前面一点提到的技术、创新、整合和优化。3)全世界最浩大的谷歌后台计算平台,供给团队使用,4)整合CPU+GPU的计算能力。&/li&&li&&b&AlphaGo是个通用的大脑,可以用在任何领域吗?&/b&AlphaGo里面的深度学习、神经网络、MCTS,和AlphaGo的扩张能力计算能力都是通用的技术。AlphaGo的成功也验证了这些技术的可扩展性。但是,AlphaGo其实做了相当多的围棋领域的优化;除了上述的系统调整整合之外,里面甚至还有人工设定和调节的一些参数。AlphaGo的团队在Nature上也说:AlphaGo不是完全自我对弈end-to-end的学习(如之前同一个团队做Atari AI,用end-to-end,没有任何人工干预学习打电动游戏)。如果AlphaGo今天要进入一个新的应用领域,用AlphaGo的底层技术和AlphaGo的团队,应该可以更快更有效地开发出解决方案。这也就是AlphaGo真正优于深蓝的地方。但是上述的开发也要相当的时间,并且要世界上非常稀缺的深度计算科学家(现在年待遇行情已达250万美金)。所以,AlphaGo还不能算是一个通用技术平台,不是一个工程师可以经过调动API可以使用的,而且还距离比较远。&/li&&li&&b&如果这次AlphaGo没有打败&/b&&b&李世乭,那还要多久呢?&/b&IBM深蓝从进入大师级别到比赛击败世界冠军花了四年。AlphaGo应该会比深蓝更快提升自己,因为深蓝需要新版本的硬件,和针对Kasparov的人工调节优化,而AlphaGo是基于谷歌的硬件计算平台,和相对通用的深度学习算法。所以,几个月太短,4年太长,就预计1-2年之间吧。&br&&/li&&li&&b&从国际象棋到围棋,到底是不是巨大的突破呢?&/b&肯定是的,在这篇文章里面(&a href=&/question/& class=&internal&&在国际象棋领域,电脑已经可以战胜人脑,那么围棋领域电脑还差多远? - 计算机&/a& ),第一位回答者分析了围棋的复杂度为&img src=&///equation?tex=10%5E%7B172%7D+& alt=&10^{172} & eeimg=&1&& 而国际象棋则只有&img src=&///equation?tex=10%5E%7B46%7D+& alt=&10^{46} & eeimg=&1&& 。在1997年深蓝击败世界冠军时,大家都认为:深蓝使用的是人工调整的评估函数,而且是用特殊设计的硬件和”暴力“的搜索 (brute-force) 地征服了国际象棋级别的复杂度,但是围棋是不能靠穷举的,因为它的搜索太广(每步的选择有几百而非几十)也太深(一盘棋有几百步而非几十步)。而AlphaGo的发展让我们看到了,过去二十年的发展,机器学习+并行计算+海量数据是可以克服这些数字上的挑战的,至少足以超越最顶尖的人类。&/li&&li&&b&AlphaGo 若打败了世界冠军,就意味着计算机超越人脑?或者可以思考了吗?我的回答:&/b&&/li&&/ol&&ul&&li&在可以凭逻辑分析推算的问题上,机器即将远远把人类抛在后面。机器速度会越来越快,学习能力会越来越强,数据会越来越多。当年,大家讨论“国际象棋输给机器不算什么,围棋才是真正的智慧”只是我们人类维护自己尊严但是不实际的幻想!今天,我们该面对现实了!&/li&&li&在大数据+机器学习+大规模并行计算的时代,我们将看到无数的商机和产品,能够在预测、分析、推荐等方面,产生巨大的商业和用户价值。不过,这些解决方案和人类相比,其实没有什么意义,因为人差太远了(比如说:推荐引擎将能推荐你最可能会买的产品、想吃的菜,想认识的人;自动交易能得到更高的投资回报和风险比例。。。)。&/li&&li&在感知方面,人类也将会被机器超越。今天的语音识别,人脸识别,未来的自动驾驶,都是例子。&/li&&li&但是,以上都还是冷冰冰的技术,机器打败了世界冠军也没有感到高兴(甚至说不出为什么)。对于那些科幻片的粉丝们:机器人是否会人性化?这还是未知的。毕竟,在情感、喜怒哀乐、七情六欲、人文艺术、美和爱、价值观等方面,机器离人还差的很远,甚至连基础都没有。对人工智能的研究者,这是下一个挑战。对我们人类,在下个突破之前,我们还是多发展右脑吧!&/li&&/ul&P.S. - 也许有人好奇,为什么这个话题我说了这么多,因为在1986年,我在读书时,曾经开发了一套黑白棋系统(复杂度&img src=&///equation?tex=10%5E%7B28%7D+& alt=&10^{28} & eeimg=&1&&),击败了黑白棋的世界团体冠军,而当年的那套系统也有(非常粗浅的)自我学习的能力。有兴趣的网友可以在这里看到我当年的文章:&a href=&///?target=http%3A///science/article/pii/0768& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&A pattern classification approach to evaluation function learning&i class=&icon-external&&&/i&&/a& ) 。
先直接回答这个问题,下面再分析AlphaGo和人工智能的未来。我认为AlphaGo这次的比赛打败李世乭比较悬,但是1-2年之内必然完胜人类。 按照两者的Elo(围棋等级分),可以算出去年年底的AlphaGo打败李世乭的概率相当低。如何算出的呢?AlphaGo去年年底的顶级…
&p&这是精彩的对局,也是人类的伟大胜利!&/p&&br&&p&-&/p&&p&大家都已经知道,第一盘人类和AlphaGo对形势判断的出入,是因为AlphaGo已经算清了右边的手段,所以提前在其他局部用亏损手段缩小棋盘、简明定型以扩大胜率,是人类低估了AlphaGo;&/p&&br&&p&看过了第二盘,大家也知道AlphaGo在前半盘也会凭借强大的大局观走出妙手,同时也会出现疑问手,而后半盘则全部是AlphaGo强大计算力的天下;&/p&&br&&p&看了第三盘,所有人都是绝望的,李世石在第15手就因急躁冒进导致形势落后,然后AlphaGo用朴实无华的手法步步挺近,将李世石彻底碾压,后半盘李世石虽然找回了自己拼命在白棋空中出了棋,AlphaGo的下法也疑似出错,但毕竟优势太大,李世石仍然无力回天。&/p&&br&&p&看过前三盘,还要再质疑AlphaGo的实力的人,恐怕就有点太不实事求是了。&/p&&p&顶尖高手们对AlphaGo棋力的判断已经普遍为:超越了所有的人类。&/p&&br&&p&大家都绝望的认为,一盘比一盘强的AlphaGo将不会再给李世石机会,大家只是感情上希望这位勇敢的胜负师赢下一盘,留住一点自己的尊严。&/p&&br&&p&-&/p&&p&今天的第四盘,李世石在前半盘的下法似乎完全不合自己的棋风,AlphaGo的黑棋过分的将白棋的头压了过去,李世石居然不断,忍了...忍了!&/p&&p&右边,AlphaGo居然用同样的手法又将李世石的头压了下去,李世石居然又忍了!&/p&&br&&p&以李世石性格和棋风之凶悍,简直不敢想象。&/p&&p&很多人都觉得他的心态仍然没有调整过来,很可能还会轻易的输掉。&/p&&br&&p&中盘出现了巨大的转换,李世石用上边和AlphaGo的右边交换,双方都气势如虹(虽然AlphaGo应该没有“气势”),一部分人认为李世石形势还可以,一部分人认为AlphaGo有利,但似乎没有人认为李世石形势有利。&/p&&p&按照AlphaGo的下法,它应该也判断此时自己的胜率超过50%。&/p&&br&&p&就当此时......&/p&&p&李世石祭出了惊天妙手!&/p&&img src=&/7bf7f44b7a4ff7d04ea8100_b.png& data-rawwidth=&500& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&/7bf7f44b7a4ff7d04ea8100_r.png&&&p&白78挖!这将会是被写入史册的妙手!&/p&&br&&p&如果李世石是早就算到了这一手,判断黑空中有棋,所以才进行的转换,那么这种表现就和AlphaGo第一盘中的表现一样。&/p&&br&&p&看到了这一手,真的觉得输了也值了。&/p&&p&这完全体现了人类巅峰的直觉、创造力和计算力!&/p&&br&&p&古力此时说:“如果这盘棋能赢,就是千古名局。”&/p&&br&&p&看到这样的李世石,所有的阴谋论以及质疑李世石的声音,都可以休矣。&/p&&p&这样的李世石,已经找回了自己,完全体现了人类巅峰的实力。&/p&&p&如果这样都赢不了,那只能说明对手过于强大,人类需要继续努力,并向电脑学习。&/p&&br&&p&接下来,AlphaGo居然下出了一系列莫名其妙的下法,亏了一大把,不知道是不是因为bug,希望赛后能获知AlphaGo团队发布的更多相关信息。&/p&&p&有鉴于第一盘的情况,很多人都非常的谨慎,等待着接下来的进程,看看AlphaGo是不是有和第一盘一样的,大家都没有看到的暗藏手段。&/p&&br&&p&可随着棋局的进程,白棋离终点越来越近,终于拿下了此局。&/p&&p&在直播间的我们,都激动的快要说不出话来了。&/p&&br&&p&-&/p&&p&赛前有人认为,AlphaGo的进步速度很快,李世石能取得一胜就是人类的伟大胜利。&/p&&p&当时大部分人,包括我,都认为这种预测太激进了,AlphaGo的进步应该不会这么快到这种程度,人类怎么也能再支撑一两年。&/p&&br&&p&但事实证明,那些人的判断是对的。&/p&&p&这盘棋,体现了人类顶峰的实力,面对如此强大的对手,下出了如此惊艳的妙手,赢下了如此艰难的比赛,正是人类伟大的胜利!&/p&&br&&p&我昨晚看到李世石走出赛场的神情,对他感到分外惋惜,发了这样一条朋友圈:&img src=&/b7bffecc17e46665cbc65b77ca0735dc_b.jpg& data-rawwidth=&440& data-rawheight=&524& class=&origin_image zh-lightbox-thumb& width=&440& data-original=&/b7bffecc17e46665cbc65b77ca0735dc_r.jpg&&&/p&&br&&p&-&/p&&p&而现在,相信所有人都和我一样,为这位伟大的胜负师感到高兴。&/p&&p&也感谢AlphaGo团队,创造出了如此强劲的人工智能程序,激发出了人类的巅峰式强大。&/p&&br&&p&我现在,倍加期待最后一日的对局。&/p&&p&也更期待未来的发展,无论是人工智能,还是围棋。&/p&&br&&p&-&/p&&p&向伟大的胜负师——李世石致敬!&/p&&br&&br&&br&&br&&p&-&/p&
这是精彩的对局,也是人类的伟大胜利! -大家都已经知道,第一盘人类和AlphaGo对形势判断的出入,是因为AlphaGo已经算清了右边的手段,所以提前在其他局部用亏损手段缩小棋盘、简明定型以扩大胜率,是人类低估了AlphaGo; 看过了第二盘,大家也知道AlphaGo…
&p&上大学的时候,有一次打印课程设计,要打印两份,打出来一摞是“...”排序的,于是我就在店门口左一张右一张的开始分成两摞。然后打印店老板过来看了一眼,一脸鄙视的从我手里接过一摞打印稿,左边两张,右边两张的分了起来...&/p&&p&这样[1,12,23,34,45...]一次两张也能分成有序的两摞,这是在生活中第一次让我感觉到算法好厉害。&/p&&p&--------------------------------&/p&&p&这不是“怎么快速打印两份文档”的算法,这是“不小心设置错了怎么努力补救更快一点”的算法啊!&/p&&p&我作为一个程序员因为这种答案上了日报,会不会很影响职业道路...&/p&&blockquote&HR:“同学,你就是那个连打印机都不会用的小傻瓜么...”&/blockquote&
上大学的时候,有一次打印课程设计,要打印两份,打出来一摞是“...”排序的,于是我就在店门口左一张右一张的开始分成两摞。然后打印店老板过来看了一眼,一脸鄙视的从我手里接过一摞打印稿,左边两张,右边两张的分了起来...这样[1,12,23,34,45…
&p&嗯。。给大家介绍一位清华基科班的前辈: &/p&&blockquote&曾蓓是清华第一届数理基科班学生,也是第三届十杰中唯一的一位本科生。曾蓓出生于国际象棋世家,但直到8岁她的父亲才同意正式教她,13岁拿到了全国少年组冠军,14岁拿到世界少年赛季军,15岁入选国家青少年集训队,16岁夺得全国棋协大师赛冠军,17岁获得全国青年赛季军。1998年,她被清华大学体育代表队特招,事实上,当年高考她裸分650。这位曾被教练评价为“专业下棋、业余读书”的国际象棋大师进入清华后不仅进入了基础科学班,而且在大二时名列班级的第一名。&br&曾蓓曾是第八届研究生学术新秀得主,更是清华大学特等奖学金历史上少有的“双料”得主:即本科生阶段和研究生阶段都获得特等奖学金,她也是清华历史上同时获得这两项荣誉的三位女生之一。&br&硕士研究生毕业后,曾蓓赴麻省理工学院攻读物理学博士并于2009年获得学位。2010年曾蓓成为加拿大滑铁卢大学量子计算研究所的研究员和圭尔夫大学助理教授,当属华人物理学界的后起之秀。&/blockquote&&p&她现在的研究方向之一是量子信息。。换句话说今后造出来量子计算机有她一份功劳。&/p&&p&以及她曾在去年 alphago 对战李世石前夕表示过,放弃国际象棋转投物理的一个原因是看到国际象棋的 AI 有多厉害。。&/p&&br&&p&-------&/p&&p&大家谬赞。就想着夹杂一点私货。&/p&&p&(为避免误伤,不知道知乎劝退党是什么情况的朋友,就别看下面这段了)&/p&&p&知乎上的某一群劝退党真是越来越low了。柯洁转行做AI?给你们看个转行的例子就是告诉你们说,人家就是要转行,也不可能是你们整天喊的CS好找工作大法好。这类人的水平,下棋的时候是在挑战人类的智力极限,转行了也一样是。哪像你们,坐井观天,觉得所有人理应追着热点抢风口的那点儿虚名浮利。&/p&
嗯。。给大家介绍一位清华基科班的前辈: 曾蓓是清华第一届数理基科班学生,也是第三届十杰中唯一的一位本科生。曾蓓出生于国际象棋世家,但直到8岁她的父亲才同意正式教她,13岁拿到了全国少年组冠军,14岁拿到世界少年赛季军,15岁入选国家青少年集训队,…
神经网络很萌的!&br&&br&&b&0. 分类&/b&&br&神经网络最重要的用途是分类,为了让大家对分类有个直观的认识,咱们先看几个例子:&br&&ul&&li&垃圾邮件识别:现在有一封电子邮件,把出现在里面的所有词汇提取出来,送进一个机器里,机器需要判断这封邮件是否是垃圾邮件。&/li&&li&疾病判断:病人到医院去做了一大堆肝功、尿检测验,把测验结果送进一个机器里,机器需要判断这个病人是否得病,得的什么病。&/li&&li&猫狗分类:有一大堆猫、狗照片,把每一张照片送进一个机器里,机器需要判断这幅照片里的东西是猫还是狗。&/li&&/ul&这种能自动对输入的东西进行分类的机器,就叫做分类器。&br&&br&分类器的输入是一个数值向量,叫做特征(向量)。在第一个例子里,分类器的输入是一堆0、1值,表示字典里的每一个词是否在邮件中出现,比如向量(1,1,0,0,0......)就表示这封邮件里只出现了两个词abandon和abnormal;第二个例子里,分类器的输入是一堆化验指标;第三个例子里,分类器的输入是照片,假如每一张照片都是320*240像素的红绿蓝三通道彩色照片,那么分类器的输入就是一个长度为320*240*3=230400的向量。&br&&br&分类器的输出也是数值。第一个例子中,输出1表示邮件是垃圾邮件,输出0则说明邮件是正常邮件;第二个例子中,输出0表示健康,输出1表示有甲肝,输出2表示有乙肝,输出3表示有饼干等等;第三个例子中,输出0表示图片中是狗,输出1表示是猫。&br&&br&分类器的目标就是让正确分类的比例尽可能高。一般我们需要首先收集一些样本,人为标记上正确分类结果,然后用这些标记好的数据训练分类器,训练好的分类器就可以在新来的特征向量上工作了。&br&&br&&b&1. 神经元&/b&&br&咱们假设分类器的输入是通过某种途径获得的两个值,输出是0和1,比如分别代表猫和狗。现在有一些样本:&br&&img src=&/6ecf14a96fc508a0ce2c8c9f77a89662_b.jpg& data-rawwidth=&420& data-rawheight=&315& class=&content_image& width=&420&&大家想想,最简单地把这两组特征向量分开的方法是啥?当然是在两组数据中间画一条竖直线,直线左边是狗,右边是猫,分类器就完成了。以后来了新的向量,凡是落在直线左边的都是狗,落在右边的都是猫。&br&&br&一条直线把平面一分为二,一个平面把三维空间一分为二,一个n-1维超平面把n维空间一分为二,两边分属不同的两类,这种分类器就叫做神经元。&br&&br&大家都知道平面上的直线方程是&img src=&///equation?tex=ax%2Bby%2Bc%3D0& alt=&ax+by+c=0& eeimg=&1&&,等式左边大于零和小于零分别表示点&img src=&///equation?tex=%28x%2Cy%29& alt=&(x,y)& eeimg=&1&&在直线的一侧还是另一侧,把这个式子推广到n维空间里,直线的高维形式称为超平面,它的方程是:&br&&img src=&///equation?tex=h+%3D+a_1x_1%2Ba_2+x_2%2B...%2Ba_nx_n%2Ba_0%3D0& alt=&h = a_1x_1+a_2 x_2+...+a_nx_n+a_0=0& eeimg=&1&&&br&神经元就是当h大于0时输出1,h小于0时输出0这么一个模型,它的实质就是&b&把特征空间一切两半,认为两瓣分别属两个类&/b&。你恐怕再也想不到比这更简单的分类器了,它是McCulloch和Pitts在1943年想出来了。&br&&br&这个模型有点像人脑中的神经元:从多个感受器接受电信号&img src=&///equation?tex=x_1%2C+x_2%2C...%2Cx_n& alt=&x_1, x_2,...,x_n& eeimg=&1&&,进行处理(加权相加再偏移一点,即判断输入是否在某条直线&img src=&///equation?tex=h%3D0& alt=&h=0& eeimg=&1&&的一侧),发出电信号(在正确的那侧发出1,否则不发信号,可以认为是发出0),这就是它叫神经元的原因。&br&&br&当然,上面那幅图我们是开了上帝视角才知道“一条竖直线能分开两类”,在实际训练神经元时,我们并不知道特征是怎么抱团的。神经元模型的一种学习方法称为Hebb算法:&br&&br&先随机选一条直线/平面/超平面,然后把样本一个个拿过来,如果这条直线分错了,说明这个点&b&分错边了&/b&,就稍微把直线移动一点,让它靠近这个样本,争取跨过这个样本,让它跑到直线正确的一侧;如果直线分对了,它就暂时停下不动。因此训练神经元的过程就是这条直线不断在跳舞,最终跳到两个类之间的竖直线位置。&br&&br&&b&2. 神经网络&/b&&br&MP神经元有几个显著缺点。首先它把直线一侧变为0,另一侧变为1,这东西不可微,不利于数学分析。人们用一个和0-1阶跃函数类似但是更平滑的函数Sigmoid函数来代替它(Sigmoid函数自带一个尺度参数,可以控制神经元对离超平面距离不同的点的响应,这里忽略它),从此神经网络的训练就可以用梯度下降法来构造了,这就是有名的反向传播算法。&br&&br&神经元的另一个缺点是:它只能切一刀!你给我说说一刀怎么能把下面这两类分开吧。&br&&img src=&/28cd0deae5b9f80de4e4a_b.jpg& data-rawwidth=&420& data-rawheight=&315& class=&content_image& width=&420&&解决办法是多层神经网络,底层神经元的输出是高层神经元的输入。我们可以在中间横着砍一刀,竖着砍一刀,然后把左上和右下的部分合在一起,与右上的左下部分分开;也可以围着左上角的边沿砍10刀把这一部分先挖出来,然后和右下角合并。&br&&br&&b&每砍一刀,其实就是使用了一个神经元&/b&,把不同砍下的半平面做交、并等运算,就是把这些神经元的输出当作输入,后面再连接一个神经元。这个例子中特征的形状称为异或,这种情况一个神经元搞不定,但是两层神经元就能正确对其进行分类。&br&&br&只要你能砍足够多刀,把结果拼在一起,什么奇怪形状的边界神经网络都能够表示,所以说神经网络&b&在理论上&/b&可以表示很复杂的函数/空间分布。但是真实的神经网络是否能摆动到正确的位置还要看网络初始值设置、样本容量和分布。&br&&br&神经网络神奇的地方在于它的每一个组件非常简单——把空间切一刀+某种激活函数(0-1阶跃、sigmoid、max-pooling),但是可以一层一层级联。输入向量连到许多神经元上,这些神经元的输出又连到一堆神经元上,这一过程可以重复很多次。这和人脑中的神经元很相似:每一个神经元都有一些神经元作为其输入,又是另一些神经元的输入,数值向量就像是电信号,在不同神经元之间传导,每一个神经元只有满足了某种条件才会发射信号到下一层神经元。当然,人脑比神经网络模型复杂很多:人工神经网络一般不存在环状结构;人脑神经元的电信号不仅有强弱,还有时间缓急之分,就像莫尔斯电码,在人工神经网络里没有这种复杂的信号模式。&br&&br&&img src=&/df53fac99fc53ba5a90666abcca25e6d_b.jpg& data-rawwidth=&300& data-rawheight=&225& class=&content_image& width=&300&&&br&&br&神经网络的训练依靠反向传播算法:最开始输入层输入特征向量,网络层层计算获得输出,输出层发现输出和正确的类号不一样,这时它就让最后一层神经元进行参数调整,最后一层神经元不仅自己调整参数,还会勒令连接它的倒数第二层神经元调整,层层往回退着调整。经过调整的网络会在样本上继续测试,如果输出还是老分错,继续来一轮回退调整,直到网络输出满意为止。这很像中国的文艺体制,武媚娘传奇剧组就是网络中的一个神经元,最近刚刚调整了参数。&br&&br&&b&3. 大型神经网络&/b&&br&&br&我们不禁要想了,假如我们的这个网络有10层神经元,第8层第2015个神经元,它有什么含义呢?我们知道它把第七层的一大堆神经元的输出作为输入,第七层的神经元又是以第六层的一大堆神经元做为输入,那么这个特殊第八层的神经元,它会不会代表了某种抽象的概念?&br&&br&就好比你的大脑里有一大堆负责处理声音、视觉、触觉信号的神经元,它们对于不同的信息会发出不同的信号,那么会不会有这么一个神经元(或者神经元小集团),它收集这些信号,分析其是否符合某个抽象的概念,和其他负责更具体和更抽象概念的神经元进行交互。&br&&br&2012年多伦多大学的Krizhevsky等人构造了一个超大型&a href=&///?target=http%3A//www.cs.toronto.edu/%7Efritz/absps/imagenet.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&卷积神经网络&i class=&icon-external&&&/i&&/a&[1],有9层,共65万个神经元,6千万个参数。网络的输入是图片,输出是1000个类,比如小虫、美洲豹、救生船等等。这个模型的训练需要海量图片,它的分类准确率也完爆先前&b&所有&/b&分类器。纽约大学的&a href=&///?target=http%3A//web.engr.illinois.edu/%7Eslazebni/spring14/lec24_cnn.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Zeiler和Fergusi&i class=&icon-external&&&/i&&/a&[2]把这个网络中某些神经元挑出来,把在其上响应特别大的那些输入图像放在一起,看它们有什么共同点。他们发现中间层的神经元响应了某些十分抽象的特征。&br&&br&第一层神经元主要负责识别颜色和简单纹理&br&&img src=&/cbd8eee22dca8b0e67f84b3_b.jpg& data-rawwidth=&779& data-rawheight=&422& class=&origin_image zh-lightbox-thumb& width=&779& data-original=&/cbd8eee22dca8b0e67f84b3_r.jpg&&&br&第二层的一些神经元可以识别更加细化的纹理,比如布纹、刻度、叶纹。&br&&img src=&/78fd60058ceabf34d8c77_b.jpg& data-rawwidth=&1060& data-rawheight=&531& class=&origin_image zh-lightbox-thumb& width=&1060& data-original=&/78fd60058ceabf34d8c77_r.jpg&&&br&&br&第三层的一些神经元负责感受黑夜里的黄色烛光、鸡蛋黄、高光。&br&&img src=&/aae832d13b33f15ba97c358fdf7319d2_b.jpg& data-rawwidth=&1058& data-rawheight=&537& class=&origin_image zh-lightbox-thumb& width=&1058& data-original=&/aae832d13b33f15ba97c358fdf7319d2_r.jpg&&&br&第四层的一些神经元负责识别萌狗的脸、七星瓢虫和一堆圆形物体的存在。&br&&img src=&/d456b0fda993b_b.jpg& data-rawwidth=&1058& data-rawheight=&489& class=&origin_image zh-lightbox-thumb& width=&1058& data-original=&/d456b0fda993b_r.jpg&&&br&第五层的一些神经元可以识别出花、圆形屋顶、键盘、鸟、黑眼圈动物。&br&&img src=&/abff15f9ddb3eb716c7da6_b.jpg& data-rawwidth=&1060& data-rawheight=&601& class=&origin_image zh-lightbox-thumb& width=&1060& data-original=&/abff15f9ddb3eb716c7da6_r.jpg&&&br&&br&这里面的概念并不是整个网络的输出,是网络中间层神经元的偏好,它们为后面的神经元服务。虽然每一个神经元都傻不拉几的(只会切一刀),但是65万个神经元能学到的东西还真是深邃呢。&br&&br&[1] Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. In &i&Advances in neural information processing systems&/i& (pp. ).&br&[2] Zeiler, M. D., & Fergus, R. (2013). Visualizing and understanding convolutional neural networks. &i&arXiv preprint arXiv:&/i&.
神经网络很萌的! 0. 分类 神经网络最重要的用途是分类,为了让大家对分类有个直观的认识,咱们先看几个例子: 垃圾邮件识别:现在有一封电子邮件,把出现在里面的所有词汇提取出来,送进一个机器里,机器需要判断这封邮件是否是垃圾邮件。疾病判断:病人到…
AlphaGo即便没有战胜李世石,我最担心的依然是一群人出来宣扬人工智能威胁论。不止这问题,大多数AlphaGo相关问题下的答案都是重灾区。&br&&br&一群人连AlphaGo的基本算法都不懂,讲个machine learning基本概念都一脸懵逼,把自己的脑洞当真知灼见指点人工智能发展方向,还代表全人类觉得AI要统治人类。科普根本不愿听,反复说各种“你也不能确定”“谁也不知道未来”。呵呵。为啥崔永元反转基因招人烦?&br&&br&我今天不要友善度,不客气的说一句:所有看不懂AlphaGo那篇Nature论文而借AlphaGo大肆妄议人工智能的,都是垃圾。&br&&br&对,包括在各大直播平台上出来讲解的大多数IT圈人士和知乎某些自以为懂AI的大V。有多少水平有没有看过那篇Nature,不要以为大多数人都看不出来就可以胡扯。什么AlphaGo加了多少硬件智能指数增加这种蠢话,明明那篇nature的数据就已经说明了没有这回事。知道目前卷积神经网络最广泛用法是处理图像,就认为AlphaGo记忆棋盘图像然后像分析图像那样分析计算的,也真的是够蠢萌。还有看了AlphaGo前三盘表现或某些数据就认为这算法无懈可击,因为自己赛前猜李世石会完败所以自以为自己水平很高的,我很高兴李世石第四盘狂打你们的脸。&br&&br&好好去读那篇nature会死么?哦,不懂英文和里面的数学?去看介绍分析这篇nature的中文文章咯。还是看不懂?那还不承认自己无知。&br&&br&无知不可怕也不是错,可怕的是对自己的无知一无所知还到处宣扬谬误,然后带领着不明谬误的人一起开脑洞编织阴谋论。&br&&br&真的,以后不是AI统治人类,只是蠢人会被AI取代。&br&&br&&br&——————————&br&补充:&br&&br&实话说我写这篇答案时候刚跟人工智能威胁论支持者撕逼完,此问题当时也没多少人关注,所以主要是在发泄情绪,行文比较暴躁……几天得到这么多点赞和关注,实在是有点出乎意料,也觉得受之有愧。请大家还是主要关注以下干货。&br&&br&&a href=&/svjoke/& class=&internal&&人工智能打脸史 - 假装在硅谷 - 知乎专栏&/a&&br&以上引文中,扎克伯格已经打了霍金比尔盖茨马斯克脸了,计算机科学界泰斗斯图尔特o罗素驳斥了的奇葩奇点理论,还有摩尔定律已接近失效,2014年所谓“通过图里测试”也是大有争议,请不要再拿以上这些当论据来支持人工智能威胁论。&br&&br&另外还有该答案对奇点理论的吐槽:&a href=&/question//answer/& class=&internal&&为什么有很多名人让人们警惕人工智能? - 阿成的回答&/a&&br&&br&想看对AlphaGo那篇nature中文介绍的,请关注这个问题:&br&&a href=&/question/& class=&internal&&DeepMind 研发的围棋 AI AlphaGo 系统是如何下棋的?&/a&&br&其中几个高票答案写的都不错。真的,&b&看一篇干货比看十个所谓担忧人类被AI统治的答案有意义多了。&/b&&br&&br&还有这篇干货很赞:&a href=&///?target=http%3A//mp./s%3F__biz%3DMzIxNjE3MTM5OA%3D%3D%26mid%3Didx%3D1%26sn%3D98557fdc359a17af9ab6b1ed7e09854a%26scene%3D2%26srcid%3D0314rM6ivyxIaEMfKIaW167Z%26from%3Dtimeline%26isappinstalled%3D0%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&一张图解AlphaGo原理及弱点&i class=&icon-external&&&/i&&/a& (微信公众号文章,电脑打开可能会有图片无法显示的情况。)&br&下图出自上文,版权属于作者 郑宇,张钧波,是我目前所见的对AlphaGo原理最清晰简明的中文解析。&br&&img src=&/94fcc2aab5_b.jpg& data-rawwidth=&636& data-rawheight=&713& class=&origin_image zh-lightbox-thumb& width=&636& data-original=&/94fcc2aab5_r.jpg&&&br&至于理论上为什么实现强人工智能以及人类被AI奴役的可能性很小,推荐阅读楼下:&br&&a href=&/question//answer/& class=&internal&&AlphaGo 战胜李世石后,最让你害怕的是什么? - Goliath Li的回答&/a&&br&以及: &br&&a href=&/question//answer/?group_id=689664& class=&internal&&为什么人工智能领域的很多专家会认为「人工智能将对人类存亡造成威胁」是无稽之谈? - 李天宇的回答&/a&&br&&br&估计看懂Goliath Li回答里的理论部分对很多人有难度。看不懂没关系,我们确定该答案里这种理论上的严谨推理的靠谱程度远高于“你怎么敢确定……”“你怎么知道未来不会……”这种cheap的言论就行。&br&看完李天宇的答案,我相信大家更容易感觉到Machine Learning并不是什么人类不可控的玄学。我BF数学专业,经常跟我一起讨论学习Machine Learning,他说,目前大多数Machine Learning的算法数学理论难度不会超过数学系本科三年级。 &br&&br&转个machine learning界大牛Yann LeCun的意见:&br&&img src=&/7db_b.png& data-rawwidth=&487& data-rawheight=&336& class=&origin_image zh-lightbox-thumb& width=&487& data-original=&/7db_r.png&&翻译:&br&Slashdot发表的关于AlphaGo胜利的声明:“ 现在我们知道了,我们不需要任何大的新突破就可以做出真正的AI了” &br&简直是完全绝对荒谬的错误。&br&就像我之前说过的:绝大多数人类和动物的学习方式是非监督学习。如果智能是个蛋糕,非监督学习才是蛋糕主体,监督学习只能说是蛋糕上的糖霜奶油,而强化学习只是蛋糕上点缀的樱桃。现在我们知道如何制作“糖霜奶油”和上面的“樱桃”, 但并不知道如何制作蛋糕主体。&br&我们必须先解决关于非监督学习的问题,才能开始考虑如何做出一个真正的AI。这还仅仅是我们所知的难题之一。更何况那些我们未知的难题呢?&br&&br&这里得给个注释,AlphaGo的算法里运用了监督学习和强化学习,几乎没有用非监督学习。其中监督学习里运用到了模仿人类神经网络和思维方式的“深度卷积神经网络”。而Yann LeCun是卷积神经网络的创始人之一。从这篇 &a href=&///?target=http%3A///p/533832.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&深度学习三十年创新路&i class=&icon-external&&&/i&&/a& , 也可以一窥Yann LeCun在机器学习界的地位。&br&&br&另外,&br&田渊栋老师专栏:&a href=&/yuandong& class=&internal&&远东轶事 - 知乎专栏&/a&
和南京大学周志华老师的微博: &a href=&///?target=http%3A///zhouzh2012%3Fis_all%3D1& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&南大周志华的微博&i class=&icon-external&&&/i&&/a&&br&干货也不少,不过不都是科普,有些比较专业的讨论适合有机器学习基础的去看。&br&&br&————补充————&br&&a href=&///?target=https%3A///note//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&人工智能三题&i class=&icon-external&&&/i&&/a&&br&这篇文章里提到的人工智能发展的三条途径非常有意思,对深度神经网络和自由意志的理解也值得借鉴。&br&&br&&br&&b&真心希望大家趁这个机会多了解一下人工智能,少听一点人工智能威胁论。&/b&&br&&br&&br&&b&**&/b&由于评论区实在太长,我不会再阅读回复评论。如果这个问题还有人关注点赞,我会把我最近看到的好的答案,文章和资源引用不断补充进来。
AlphaGo即便没有战胜李世石,我最担心的依然是一群人出来宣扬人工智能威胁论。不止这问题,大多数AlphaGo相关问题下的答案都是重灾区。 一群人连AlphaGo的基本算法都不懂,讲个machine learning基本概念都一脸懵逼,把自己的脑洞当真知灼见指点人工智能发展…
在Matrix67的blog 上看的一道题:&br&有一个黑匣子,黑匣子里有一个关于 x 的多项式 p(x) 。我们不知道它有多少项,但已知所有的系数都是正整数。每一次,你可以给黑匣子输入一个整数,黑匣子将返回把这个整数代入多项式后的值。那么,最少需要多少次, 我们可以得到这个多项式每项的系数呢?&br&答案是两次。&br&/*-------------------------------------答案分界线------------------------------*/&br&&br&&br&&br&&br&&br&&br&&br&&br&&br&&br&&br&&br&&br&&p&第一次,输入 1 ,于是便得到整个多项式的所有系数之和。记作 S 。&/p&&p&第二次,输入 S + 1 ,于是黑匣子返回的是 &/p&&p&&img src=&///equation?tex=a_n+%2A+%28S+%2B+1%29%5En+%2B+a_%7Bn-1%7D+%2A+%28S+%2B+1%29%5E%7Bn-1%7D+%2B+...+%2B+a_1+%2A+%28S+%2B+1%29+%2B+a_0& alt=&a_n * (S + 1)^n + a_{n-1} * (S + 1)^{n-1} + ... + a_1 * (S + 1) + a_0& eeimg=&1&& 的值。&/p&&p&我们要得到 &img src=&///equation?tex=%7Ba_n%2C...%2Ca_0%7D& alt=&{a_n,...,a_0}& eeimg=&1&&,只需要把这个值换成 S+1 进制, 然后依次读出每一位上的数。 &/p&&br&&p&P.S. 第一次得到S是为了保证对于任意系数&img src=&///equation?tex=a_i%2C++a_i%3C%3DS& alt=&a_i,
a_i&=S& eeimg=&1&&&/p&&p&---------------------------------------------------------------------------------------&/p&&br&&p&其实最大系数不超过N的多项式,本来就是N进制的本质&/p&
在Matrix67的blog 上看的一道题: 有一个黑匣子,黑匣子里有一个关于 x 的多项式 p(x) 。我们不知道它有多少项,但已知所有的系数都是正整数。每一次,你可以给黑匣子输入一个整数,黑匣子将返回把这个整数代入多项式后的值。那么,最少需要多少次, 我们可…
3月24日更新:评论里面不少人说游戏AI就是人工智能(artificial intelligence),那我来贴一段维基百科关于人工智能和游戏AI区别的一段话:&br&&br&…&AI& in the term &game AI& overstates its worth, as game AI is not about intelligence, and shares few of the objectives of the academic field of AI. Whereas &real& AI addresses fields of machine learning, decision making based on arbitrary data input, and even the ultimate goal of strong AI that can reason, &game AI& often consists of a half-dozen rules of thumb, or heuristics, that are just enough to give a good gameplay experience.&br&&br&带“AI”俩字就是人工智能了?那鱿鱼是鱼么?水银是银么?联合国是国么?傻瓜是瓜么?&br&&br&&br&------------------------------------------&br&&br&原答案:&br&&br&怎么会有人觉得英雄联盟这种游戏的计算量比围棋大…… 而且围棋是回合制,人类选手尚有思考的时间;如果是即时游戏,当你看到人工智能对手的一刹那,人家已经计算完几种干掉你的方案中哪种最合理了…… &br&&br&你能把对手技能cooldown时间精确到毫秒么?你能每次补刀成功么?你知道从地图上一点到另一点哪条路径是最近的么?你能精确算出英雄A在面对其他英雄时获胜几率多大么?你能做到没有失误操作没有无用操作么?最关键的,你能从比赛开始到结束,一直保持心情和体力没有变化么?然而,这些人工智能都能做到……&br&&br&在预判、操作、计算、风险评估都不如对手的情况下,完全没有赢的希望。你觉得你能赢,只是因为你平时面对的是游戏AI,而不是真正的人工智能。游戏AI只会在特定条件下触发特定操作,跟真正的人工智能差着十万八千里。&br&&br&别谈什么大局观了,开局十几分钟(甚至更短的时间)以后,你将面对一个等级、装备和操作都比你好的对手;别说是人工智能,就是个人类选手,你能赢么?&br&&br&什么?你跟我谈配合?谈默契?谈心有灵犀?少年,一个人工智能控制五个角色很难么?你觉得是你跟队友更默契,还是人工智能跟自己更默契?&br&&br&你说你战术牛逼?战术只不过是人类基于经验总结的方法。昨天AlphaGo走的几步棋,很多围棋大师都说人类选手根本不会这么走。但最后赢得还是人工智能——它所掌握的战术永远比你多。&br&&br&与围棋这种集成了人类几千年智慧精华的游戏相比,英雄联盟根本算不上智力游戏,大部分时间只是在比手速罢了。而比手速,不用我说你也知道人和AI谁更快吧?&br&&br&甚至可以说,不需要动用AlphaGo这样的大杀器,把游戏AI再优化一下,人类选手都不一定能赢。&br&&br&如果真开发出AlphaGo级别的人工智能参加英雄联盟比赛,我估计它的表情应该是——&br&&br&&img data-rawwidth=&284& data-rawheight=&282& src=&/673e25ab0bd_b.jpeg& class=&content_image& width=&284&&
3月24日更新:评论里面不少人说游戏AI就是人工智能(artificial intelligence),那我来贴一段维基百科关于人工智能和游戏AI区别的一段话: …"AI" in the term "game AI" overstates its worth, as game AI is not about intelligence, and shares few of …
和小伙伴一起从演播室出来,心里空空落落的。&br&今早我还在朋友圈说,这将是一个新时代的开端,让我们一起来迎接吧。&br&整个比赛直播过程中,我们也始终很轻松,但当最终的结果出现后,心还是慢慢的沉了下去。&br&这将是伟大的一天,虽然甩下了一些落寞的身影。&br&&br&理性上,大家都知道进步的意义。&br&也都知道长远来看,人工智能的发展不仅对人类生活的方方面面都有积极意义,对围棋本身也是利大于弊的。&br&更知道人工智能战胜人类顶尖棋手,这一天早晚会来。&br&可是当这个事实摆上桌面之后,大家感情上都还是有一丝失落的。&br&&br&从棋局来说,这是一盘精彩的对局,但算不上一盘高质量的对局。&br&双方都出现了不少的失误,李世石的更致命一些。&br&大家在赛前都认为李世石在第一局会求稳,而可能在赢得三盘之后才会行险挑战。&br&我们错了。&br&李世石第一局开局就采取了极为冒险的下法,而被很多人解读为“为了避开电脑的棋谱库”。&br&&br&黑棋错小目配上中国流靠下一路拆边的下法,是两种常见布局的糅合,但这糅合体是一个非常不常见,给人感觉也不见得高效的下法。&br&右上定式中,白棋托角是常见的定式错着,然而李世石却没有选择简明的脱先拆左边,而是强行大飞起来后手捞空,坐等AlphaGo打入上边。这颇合李世石的性格和棋风。&br&可打入的结果大家都看在眼里:黑棋极为被动。甚至很多人当时认为,李世石已经崩了。当然,也有高手经过精确计算后认为,后面的变化黑棋并不差。&br&后来来看,这是李世石开局刻意的冒险,在试探电脑。&br&&br&此后,李世石开始“认真”下了,形势快速的接近了,黑棋越来越主动。&br&黑61原本走在下一路的长,控制住外侧的大局就行了,后面黑棋将越来越主动。然而李世石选择了61的尖,瞄着上面两个子的向下跳靠,意图拿住一个田字斜对角的棋型,将来靠过来之后白棋无法扳头。然而这步尖可能过于贪心了。&br&被白棋长了之后64尖住,黑棋根本就没有机会动出上面两子......&br&当然这问题不大,黑棋此时仍然稍稍有利。&br&&br&白棋一路后推车推至下边,黑棋抢到先手本可抢先于下侧拆边,然而李世石选择了完全不符合自己性格的稳健的枷死棋筋。&br&且不说这步枷的好坏,此时黑棋局面仍然绝对不差。&br&此时AlphaGo走出了80位的长,补尽了上边的味道。这是一步大缓手。&br&黑棋左下双飞燕夹击之后,胜负的天枰已经明显的倾向于黑棋了。&br&&br&白102,是AlphaGo在不利局面下释放出的精彩的胜负手。&br&而白108,是更精彩的手筋,这体现了电脑在局部战斗中精准的计算。&br&白110飞之后,局部黑棋大致已经无法避免亏损。&br&此后黑121于右上后手吃一子也有缓的嫌疑,李世石明显还惦记着白棋大龙。&br&而白122是争议很大的一手。&br&&br&很多人当时认为缓了,也有很多人说像是好手。这步棋如果是由人类下出,有胜利宣言的感觉。&br&此后的黑129拐而不是挡三三,几乎让我们所有人惊掉了眼球。&br&事后至今,仍然有很多人认为这步棋很可能是黑棋最后的败着。&br&只要挡三三然后尖二路,黑棋要么先手收官,要么局部虽是后手却官子便宜甚多。这可能优于此前按照尖顶扳粘的方法收束。如此黑棋应该仍然有盘面十多目的优势。&br&白142挡住显然是错着,按照柯洁的分析,只需跳在一四,黑棋就可能在局部落后手,否则将来白棋有扳了断,救出上面三个子的手段。&br&如果AlphaGo下出这个手段,李世石将输的更快。&br&&br&后面黑棋始终将左边看的很小,而在下面和左下走棋,不知道是为什么。&br&但白棋抢到左边的拆二和四路尖,怎么点目也更大。&br&后面没什么可说的了,棋局早已结束,盘上留下的空间很小了,在电脑精准的官子面前,李世石无力再次翻盘了。&br&有些人说,电脑其实一直觉得自己形势占优,只不过人的判断是错的。&br&这种想法直接推翻了人类几千年在盘上的积累,令人细思恐极,但应该是想多了。&br&棋理是摆在那里的。&br&&br&总的来说,AlphaGo展现出了职业的水平,但还称不上达到了碾压人类的水平。&br&李世石的下法也称不上发挥失常,但也确实下的不好。&br&然而不管怎么说,这对人工智能来说,都是一盘堂堂正正的胜利,阴谋论的说法必将一时大行其道,但意义不大。&br&&br&说一下大家对AlphaGo的一些观感和评价:&br&它始终按照自己的节奏,将棋走在自己认为最大的地方上,丝毫不被对手的节奏所带动。&br&冷冰冰的,没有一丝情绪。这正是电脑最强的一点。&br&前半盘来说,AlphaGo的水平还达不到顶尖职业的水平,在复杂的全局攻防和判断上,它还有很大的提升空间。&br&而进入后半盘,只要空间缩小,电脑就显示出了极其强大的实力。&br&局部战斗的精准手段,局部官子的精准收束,准确的形势判断和全局收束选择,失误的低发生率,使得AlphaGo成为了“一名后半盘显著强于前半盘的棋手”。&br&李世石,不知道是否想到和重视了这一点。&br&&br&赛前,我曾认为结果会是4:1,而那一盘胜局就将是新的历史开启的标志。&br&现在看来,我仍然相信李世石能赢得比赛,但比分也许不会这么悬殊了。&br&客观来说,通判全局,AlphaGo的实力仍然要弱于李世石,但差距没那么大,李世石的任何冒险和失误都可能遭到电脑的严厉惩罚。&br&而从人的心态上来讲,这不是一场均衡的比赛。&br&李世石赢了不算什么,可他输任何一局都会造就历史。&br&&br&一盘过去,李世石的应激反应应该强于电脑,后几盘棋里李世石的处境应该比今天要好一些。&br&但我们都知道,这一次的赛果只是暂时性的。&br&即使李世石后几盘中更加认真起来,最终取得了胜利,也如柯洁所言,AlphaGo现在不是他(柯洁)的对手,然而几个月后呢?一年后呢?&br&李世石如果落败,AlphaGo的下一个挑战对手一定是柯洁。&br&而下次比赛时,柯洁面临的AlphaGo,可就不是今天的AlphaGo了。&br&一两日间,人的应激学习速度快于电脑,可是在现在的技术条件下,给人工智能几个月的训练时间,人是无论如何也赶不上的。&br&&br&AlphaGo对李世石的挑}

我要回帖

更多关于 简单算法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信