今年第16号台风12日生成将登陆海南岛带来严重影响

中新网海口10月12日电 (符晓虹 李凡)据海南省气象台12日介绍,今年第16号台风(热带风暴级)已于12日上午生成,将于13日晚上在海南岛东部一带沿海登陆,随后穿过海南岛,经北部湾趋向越南北部沿海。

受今年第16号台风和冷空气共同影响,12日~14日海南省陆地和海面将有强风雨天气。海南省气象局12日9时30分继续发布台风四级预警。

海南省气象台预计,16号台风将以每小时15~20公里的速度向西偏北方向移动,强度逐渐增强,将于13日晚上在海南岛东部一带沿海登陆(23~28米/秒,9~10级),随后穿过海南岛,经北部湾趋向越南北部沿海。受今年第16号台风和冷空气共同影响,12日~14日海南省陆地和海面将有强风雨天气。

在该论文之前,魔方复原问题主要有两个研究方向:

面对即将来临的新学期,范文强期待着“像往常一样,走进校园,坐在教室里上课”。他说,虽然现在身不在中国,但心一直在中国。

最优化与‘上帝之数’

16号台风10月12日8时预报路径图。海南省气象服务中心 供图

假设我们已经通过上述过程训练得到模型,那么如何使用模型来复原魔方呢?根据网络结构,我们很容易想到这样的方法(但不幸的是该方法并不可行):

细心的读者可能会注意到,这样的魔方状态的张量表示有一个重大缺点:内存效率低下。实际上,如果将状态表示为20×24的浮点张量,我们浪费了4×20×24=1920字节的内存,考虑到在训练过程中需要表示数千种状态,这会导致数百万字节内存的损耗。为了克服这个问题,在本文的实现中,我使用两种表示形式:一种是张量,用做神经网络输入;另一种是更紧凑的表示形式,以便更长久地存储不同的状态。我们将这种紧凑状态保存为一系列列表,根据角块和侧边面的排列及其方向进行编码。这种表示方式不仅具有更高的内存效率(160字节),而且使魔方的转换也更加方便。

更多细节参见该模块,紧凑状态见函数namedtuple,神经网络张量表示见函数encode_inplace。

由于无需关注中心块,所以在上图中所有中心块都是蓝色。那其余蓝色是怎么回事呢?这是因为每种特殊的立方模块(角块或侧变块)的颜色组合都是固定的。例如,根据上述对魔方前后左右各方向的定义(顶部为白色,红色为正面等等),左上角块一定是绿色、白色和红色,其他立体块不会有这三种颜色的组合。 侧边块也是如此。

在本文中,使用独热编码将三阶魔方的每个状态表示为20×24张量。接下来以下图为例,对这种表示方式进行说明。

“我的代课老师们都很热情,每天提醒我们按时上课。他们边讲课边录课,为我们批改作业、解答疑惑。”范文强说。

此外,模型返回的值也用于辅助决策,即从当前状态的值及其子节点状态的值中选择最大值进行跟踪。根据这样的模型,可以从父节点的状态找到最可能的路径。

虽然不太明显,但实际上根本不需要过多关注中心块,因为它们不能更改其相对位置,只能整体旋转。因此,对于中心块,我们只需就其位置达成一致就可以。例如,在我的实现中,白色面总是在顶部,前面是红色,左边是绿色,依此类推。这使得数据集状态的部分固定,意味着将魔方上所有可能的旋转被视为同一状态。

对于叶节点,通过对状态执行所有可能的动作对其进行“扩展”,并检查所有结果状态是否为目标状态(如果找到了魔方复原的目标状态,则搜索完成)。然后,将叶节点状态传递给模型,输出值和策略,将其存储备用。

正如上文提到的,MCTS是一类方法,不同方法在具体细节和特征方面有所不同,本文使用的是UCT方法(Upper Confidence bound1 applied to Trees)。该方法在树上操作,其中节点是状态,边是动作,将所有状态联系起来。在多数情况下,整个树是非常巨大的,因此我们不会试图构建整个树,只是构建其中的一小部分。首先,让我们从一棵由单个节点组成的树开始,也就是我们的当前状态。

下图是神经网络结构(取自原论文):

在大二下半学期,学校“云端”开学,范文强随之上起“云课堂”。从最初的不知所措,到后来的驾轻就熟,离不开屏幕另一边老师的耐心指导。

我们从数据表示开始介绍。在三阶魔方问题中,我们首先对动作和状态以某种方式进行编码。

向模型提供要解决的三阶魔方的当前状态; 根据策略选择最大可能的动作(或从结果分布中采样); 对模型执行该动作; 重复上述过程,知道魔方复原。

但是,最大的问题是:给定任意状态的三阶魔方,其还原最短动作序列是什么?十分遗憾,尽管三阶魔方已经有54年的历史了,这个问题依然没有答案。只有在2010年,Google的研究小组证明,解决任何魔方状态所需的最小移动量为20,该数字也称为‘上帝之数’。当然,这只是一个平均数字,最佳解决方案可能要短一些,也就是说,复原很多魔方平均需要20步移动,但某个状态可能不需要任何移动(已复原状态)。

现在我们已经知道了三阶魔方的状态是如何以20×24张量编码的,下面我会介绍本文使用的神经网络结构及其训练方法。

还有其他一些类似的问题。这些问题的共同之处在于状态空间特别大,从而导致通过遍历所有可能组合以找到最佳解决方案是不可行的。Rubik魔方也属于这类问题,该问题状态空间为4.33×10¹⁹,想要通过蛮力求解几乎不可能。

如果当前节点不是叶节点,那么我们能够知道该节点的子节点(可到达状态),并从网络获得值和策略输出。因此,我们需要决定选择哪条路径(换句话说,探索哪种行动最优)。这一决定极其重要,甚至称得上是强化学习方法的基石,即“探索-利用问题”。一方面,神经网络的策略告诉我们该怎么做,另一方面,对于策略出错的情况,可以通过探索周围的状态来解决。但由于状态空间巨大,不能一直探索,这就要求我们在这两者之间保持平衡,这直接影响着搜索性能和结果。

数学中,有一些领域专门研究这样的对象,最典型的便是抽象代数。抽象代数是数学研究的一个重要方向,也是现代计算机理论基础之一,主要研究抽象对象集及其代数操作。根据抽象代数,Rubik魔方是一个非常复杂的‘群’,有许多有趣的属性。

当前节点是叶节点; 当前节点在树的中间,并具有子节点。

实际上,基于MDP的RL可以用于各种不同的领域,计算机游戏只是关于复杂决策的一个简易且关注度高的领域。

其中,N(s,a)是状态s选择动作a的次数,P(s,a)是模型为状态s返回的策略,W(s,a)是模型根据状态s的分支a下所有子节点状态返回的最大值。

多数人对深度强化学习的认识主要集中在应用DRL进行游戏,这并不意外,因为Deep Mind在2015年首次应用DRL进行Atari系列游戏,并大获成功。

旅行商问题:在图中找到最短的路径; 蛋白质折叠模拟:寻找蛋白质的3D结构; 资源分配:通过在消费者之间分配固定的资源,以获得最佳目标。

上图中,我们用白色标记了我们需要关注的魔方模块,其余部分(蓝色)是冗余的,不需过多关注。我们都知道,3×3魔方由三种类型的模块组成:8个三色的角块,12个两色的侧边块和6个单色的中心块。

避免冗余:在极端情况下,我们可以通过记录每侧每个贴纸的颜色来表示魔方的状态。但是,如果你计算一下这些组合的数量,会发现它等于6⁶*⁸=6⁴⁸≈2.25×10³⁷,远远大于三阶魔方的状态空间大小,这意味着这种表示形式是高度冗余的,例如,魔方两侧中心对称的情况。至于为什么得到6⁶*⁸,很简单:三阶魔方有6个面,每个面除了中心块外有8个小立方体,所以总共有48个贴面,每个贴面可用6种颜色之一上色。 内存效率:在后续的训练和模型应用过程中,我们需要将大量魔方集的不同状态保存在内存中,这可能会影响流程效率。因此,我们希望表示形式尽可能紧凑。 转换性能:另一方面,我们需要对某一状态进行所有可能的旋转操作,并且要求这些操作快速完成。如果在内存中的状态表示非常紧凑(例如使用位编码),这会导致魔方侧面的每一次旋转需要进行冗长的解压缩过程,严重影响训练速度。 适宜的神经网络:就像其他机器学习、深度学习实例中那样,并非每个数据表示都符合神经网络的输入格式。在NLP中通常使用字符或单词嵌入,在CV中将图像从jpeg解码为原始像素,Random Forests则需要对数据进行大量特征设计等。

策略。由12个数字组成,表示行动的概率分布; 值。使用一个标量表示对状态的评估,具体含义见下文。

后续章节是新的论文方法的详细介绍。

抱着期待的心,金旼奎于2019年正式开启其在中国的第二次留学生活。与范文强一样,在寒假回国后,因为一场突如其来的疫情,金旼奎离校时间已超过半年之久。

可以看到,网络非常简单:策略告诉我们对当前状态进行何种转换,值用于评价状态的好坏程度。那么,最大的问题就是:如何训练网络?

每执行一步MCTS,都要沿着树探索某些路径,一般可以面对以下两种选择:

“我在韩国期间,虽然从位置上、语言上经历了很多困难。但是老师和同学们给予我很多帮助,所以能够坚持不懈地学习,顺利完成作业。”金旼奎说。

由于3×3魔方有6个面,并每个面可以沿两个方向旋转,因此总共有12种旋转方式。当然,直接旋转半圈(在同一方向上连续两次旋转)也是可以的,但为简单起见,我们将其视为两次旋转。

海南省气象部门初步预计,15日前后还将有新的台风进入南海东南部海域,之后向西偏北方向移动,逐渐趋向越南中部沿海。15日~19日受新的台风和冷空气共同影响,海南省陆地和海面将有较强风雨天气过程。

我估计每个人都知道魔方是什么,所以我就不做过多魔方介绍了,而是将这部分的重点放在它与数学和计算机科学的联系。如非特殊说明,本文中的“立方体”是指3×3经典魔方。除了3×3经典魔方,还有其他一些变体魔方,但3×3经典魔方至今仍是最受欢迎的。

另外,12日夜间~14日,海南岛四周沿海陆地将伴有7~8级、阵风9~10级大风,内陆地区将伴有6~8级大风。

因此,要找到某个特定模块的位置,我们只需要知道其某个面的位置即可。一般来说,你可以在侧边块或角块选择一个面进行跟踪关注,但是一旦选定,就要坚持下去。如上图所示,我们选择在顶部跟踪八个立方块贴面,从底部跟踪八个贴面,以及四个侧边块贴面,两个在正面,两个在背面。这样,我们需要跟踪关注的总计有20个贴面。

所有状态都可以通过各种旋转组合得到。例如,在某种状态下顺时针旋转魔方左侧,就会达到一种新的状态,从该状态逆时针旋转同一侧就会回到原始状态。另外,如果连续三次旋转魔方左侧,则回到原始状态的最短路径是再将魔方左侧顺时针旋转一次,而不是逆时针旋转三次(虽然这样也可以,但却不是最佳的) 。

至于12个侧面块,由于它们只有两个贴面,因此只能有两个方向。也得到24种组合,只不过是通过12×2=24计算得到的。最后,我们要跟踪20个立方块,8个角块和12个侧边块,每个立方块有24个可能的位置。

据监测,南海热带低压已于12日8时加强为今年第16号台风(热带风暴级),其中心位于北纬17.6度、东经117.3度,也就是在海南万宁偏东方约740公里的南海中东部海面上,中心附近最大风力8级(18米/秒)。

9月,中国各地高校陆续发布开学时间,包括外国留学生在内,所有高校学生错峰、分批次返校报到。受新冠肺炎疫情影响,部分留学生无法像往年一样按时返校,迎来新学期。来自太原理工大学的范文强就是其中之一。

该神经网络将魔方状态的20×24张量表示作为输入,并产生两个输出:

所有这些方法差异巨大。例如,入门方法需要记住5-7种旋转序列旋转大约100次才能还原魔方。与之形成对比的是,当前三阶魔方还原的世界纪录是4.22秒,这需要更少的步骤,但也要求挑战者需要记忆和训练大量的旋转序列。Jessica Fridrich方法平均约需55个动作,但需要熟悉大约120个动作序列。

虽然看起来Rubik的3×3模型似乎非常简单,但考虑到各种可能的旋转转换,这其实非常棘手。据计算,3×3经典魔方旋转状态总共有4.33 × 10¹⁹种不同状态。如果考虑一些魔方拼接出错的情况,即模仿无法通过旋转复原,只有拆解重新进行合理的拼接,那么总状态增加约12倍(≈5.19×10²⁰)。

为了不让汉语水平退步,他还用自己的方式巩固汉语。“我教13岁的表妹学习汉语,她很感兴趣。”范文强说,表妹也希望像他一样,能有机会到中国学习。

谈及开学,金旼奎满怀期待。他有一个简单而美好的心愿,那就是——“回到学校和老师同学吃一顿火锅”。

预计12日8时~15日8时各地过程累积雨量:文昌、琼海、屯昌、万宁、陵水、保亭、五指山、琼中、白沙、三亚和乐东等市县150~200毫米、局地300毫米;海口、临高、定安、澄迈、儋州、昌江和东方等市县100~150毫米。

由于上述原因,会给人一种错觉,即“ RL是用来玩游戏的”,事实显然不是这样。在我2018年6月出版的书中,我不仅介绍了RL在Atari游戏的应用,也介绍了其他领域的不同示例,包括股票交易(第8章),聊天机器人和NLP(第12章),自动驾驶(第13章),持续控制(第14-16章) )和棋盘游戏(第18章)。

状态是指三阶魔方当前的排列组合方式,正如前文介绍的,该状态空间极其庞大(4.33×10¹⁹个不同状态)。但除了要面对海量的状态,我们在选择特定的状态表示形式时,还要考虑到以下这些要求:

具体过程见下图。生成序列为x₀,x₁…,以魔方xᵢ为例进行详细说明,对状态xᵢ,通过上述公式确定策略和值目标。

考虑到冗余情况,这种表示方式非常接近总状态空间,其可能的组合数量为24²⁰≈4.02×10²⁷。虽然它仍远大于魔方的状态空间,但是这种方式要比比对每个贴面的所有颜色进行编码要好得多。冗余得原因是魔方旋转自身得属性,如不可能只旋转一个角块或是一个侧边块,每次旋转总是会转一个面。

13日~14日,海南岛四周海面和北部湾海面,风力加大到8~9级、阵风10级;西沙群岛附近海面,风力7~8级、阵风9级,14日起减弱到6~7级、阵风8级;中沙和南沙群岛附近海面,风力6~7级、阵风8级。

使用群论方法,显着减小要搜索的状态空间。这种方法种最典型的包括Kociemba算法; 使用蛮力搜索以及人工定义的启发式搜索,使搜索指向最有可能的方向。典型的如Korth算法,该算法使用A *搜索和大型模式数据库避免选择错误的方向。

今年1月初,与其他留学生一样,范文强选择在寒假期间回到自己国家过年。令他没想到的是,“这一待,半年多过去了”。

在我的代码中,动作空间是通过python枚举实现的,其中每个动作映射为唯一的整数。

白色在顶部,绿色在左面,红色在前面; 绿色在顶部,红色在左面,白色在前面; 红色在顶部,白色在左面,绿色在前面;

Rubik魔方和组合优化问题

因此,为精确表示角块的位置和方向,我们得到8×3=24种不同的组合。

根据上述说明,动作名称可以根部不同侧面的首字母做出以下定义。如右侧的顺时针旋转命名为R;至于逆时针的动作,可能会使用不同的符号,包括R’/r/r̃。第一种和最后一种表示法对于计算机代码而言不太友好,因此我使用了小写字母来表示动作的逆时针旋转。这样,右侧面的两个动作是R和r,左侧面的两个动作为L和l,依此类推。

通过该过程,我们可以生成任意数量的训练数据。

此处的动作是指魔方在任何状态下可能的旋转,前文已经说过,我们总共只有12个动作。对于3阶魔方,共有左,右,上,下,前和后六个侧面可以旋转。而对每一面,有两种不同的操作,即该侧的顺时针和逆时针旋转(90°或–90°)。一个很小但非常重要的细节是,当需要旋转的面朝向你时,你能方便的进行操作。例如,你可以哦容易的旋转正面,但对于背面而言,总是有些不太习惯。

论文提出的训练方法是“ Auto-Didactic Iterations”(简称“ ADI”),该方法也简洁明了。从目标状态(复原的魔方)开始,执行一些预定义的长度为N的随机变换序列(文中给出了N个状态的序列)。对序列中的每个状态,一次执行以下过程:

总而言之,对于非叶节点状态,通过以下公式选择要执行的动作:

将魔方中需要关注的面标为白色

同时,他坚持通过观看中国电视剧或电影的方式提高自己的汉语水平,有时还与其在首尔的中国朋友互相交流、练习口语。在他看来,学习外语投入很多时间和精力是必要的。

在本文中,我将详细介绍将RL应用于组合优化领域的最新研究工作。本文对UCI(加利福尼亚大学欧文分校)的研究人员发表的论文“Solving the Rubik’s Cube Without Human Knowledge”进行解读。除了论文解读之外,我还使用PyTorch复现了论文,通过训练模型和流程解读实验,并对论文方法进行改进。

本文介绍了第三种方法:通过在海量不同状态的魔方数据集上训练神经网络,获得求解状态方向的策略。该训练不需要提供任何先验知识,仅需要魔方数据集(不是物理魔方,而是计算机模型)。这是其与上述两种方法的最大不同:前两种方法需要大量的领域知识,并以计算机编码进行定义。

“在家里,每天都关注中国的疫情情况,知道中国疫情控制得很成功。我很开心,因为我知道,离回归校园的那一天不远了。”范文强说,开学后第一件事,就是去探望自己的老师,因为从小父母就教育他说“一日为师终身为父”。

为解决这个问题,对于每个状态,我们为每个可能的动作(共12个)设置计数器,每次在搜索过程中选择某一动作,相应计数器就会增加。在决定采取特定动作时,可以通过计数器进行判定,即某一动作的执行次数越多,将来选择的可能性就越小。

那么,张量维度中的“ 24”是从哪里来的?我们总共要跟踪20种不同的贴面,但是由于魔方旋转,它们可能出现在不同的位置,至于具体位置,这取决于要跟踪的立体块的类型。以角块开始说明,我们总共有8个角块,旋转魔方可以按任何顺序对它们进行重新排列。因此,任何一个角块都可能出现在8个角中的任何一个位置。此外,每个角块也可以旋转,例如,这会使“绿色、白色、红色”对应的角块有以下三种可能的方向:

但是魔方不只是简单的状态和变换,它还是不确定的,其主要目标是找到一个可以复原魔方的旋转序列。这样的问题可以通过组合优化进行研究,组合优化也是应用数学和理论计算机科学的一个典型子领域。该领域包含许多有价值的典型问题,例如:

独热编码是指当前对象的位置为1且其他位置为0,该编码可以输入神经网络进行处理。因此,本文中状态的最终表示形式为20×24的张量。

下文我将结合代码对论文的方法进行介绍,以加深对相关概念的理解。如果你只对理论方法感兴趣,可以跳过代码部分。

在输入和输出之间,神经网络由若干ELU激活函数的全连接层。在我的代码实现中,网络结构与此处并无差异,详见此处。

本科毕业于韩国国民大学的他,因大学期间到中国沈阳体育学院做过一年交换生,让他对中国文化产生浓厚兴趣。经一名中国朋友推荐,金旼奎决定到山西太原理工大学读研。

重复此过程,直到找到解决方案或时间耗尽。为加快此过程,MCTS通常以并行方式进行,利用多个线程同时执行多个搜索。在这种情况下,可以从A(t)中减去一些额外损失,以防止多个线程探索相同路径。

但是,上述研究仅证明了最少平均移动量,却没有找到实际的解决方案。如何找到任何给定状态的最优解仍然是一个悬而未决的问题。

海南省气象部门提醒,未来一周将先后有二个台风影响海南省,各海域风力较大,请海上作业和过往船只注意避开大风影响区域,并做好回港避风的工作。海南岛将出现持续性降水过程,降水时间长,过程雨量大,可能引起部分市县的城乡积涝、山洪地质灾害以及中小河流洪水等次生灾害,相关部门需注意防范;相关部门需加强水库安全巡查;需加强对滨海和山区旅游项目安全管理工作。(完)

有一种非常适用的方法,即“蒙特卡洛树搜索”,简称MCTS。该方法有很多变体,但总体思路很简单,可以与众所周知的蛮力搜索方法(如“广度优先搜索BFS”或“深度优先搜索DFS”)对比来进行说明。在BFS和DFS中,我们尝试所有可能的动作,并探索通过这些动作获得的所有状态对状态空间进行详尽搜索。可以发现,这种方式是上述过程的另一个极端。

使组合优化问题变得棘手的原因是,尽管我们非常清楚该怎样达到问题的目标状态,但实际上我们并没有很好的解决方案。魔方问题尤其如此:在发明魔方之后,就确定了通过12种旋转可以达到目标状态,但Ernő Rubik花了大约一个月的时间才找到一种复原方法。如今,有了许多不同的魔方复原方法,包括入门方法、Jessica Fridrich方法和许多其他方法。

陆地方面,12日,海南岛东半部地区有中到大雨、局地暴雨,西半部地区有小阵雨。13日,海南岛东部、中部和南部地区有暴雨到大暴雨、局地特大暴雨,北部和西部地区有大到暴雨、局地大暴雨。14日,海南岛大部分地区有大到暴雨、局地大暴雨。

将所有可能的变换(总共12个)应用于状态s; 将这12个状态传递给当前的神经网络,以输出值。这样就得到s的12个子状态的值; 根据vᵢ = maxₐ(v(sᵢ,a)+R(A(sᵢ,a)))计算状态的目标值,其中A(s, a)是对s执行动作a之后的新状态;如果s是目标状态,则R(s)为1,否则为0; 状态s的目标策略使用相同的公式进行计算,不同的是我们选择最大值,即pᵢ = argmaxₐ (v(sᵢ,a)+R(A(sᵢ,a)))。这仅意味着目标策略只有在最大值的子状态时取值为1,否则为0。

事实证明,Atari系列套件与RL的结合简直是天作之合,即使是现在,许多研究论文仍使用该套件来验证自己的方法。随着RL的发展,经典的53种Atari游戏的挑战性越来越小(在撰写本文时,RL在一半以上的游戏表现超过人类),所以,现在的一些研究转向更复杂的游戏,例如StarCraft和Dota2。

看上去这样是可以奏效的,但是在实践中,这样的方法却行不通。主要原因是模型质量不过关。由于状态空间巨大,加上神经网络特性,对于所有输入状态,不可能经过训练使得NN返回准确的最佳动作。也就是说,模型并没有告诉我们明确的求解思路,只是向我们提出值得探索的方向,但这些方向可能使我们更接近解决方案,也有可能会引起误导。因为在训练过程中,不可能处理所有可能状态。要知道,即使使用GPU以每秒处理数十万状态的速度进行训练,对于4.33×10¹⁹的状态空间,也需要经过一个月的训练时间。因此,在训练中我们只取状态空间的一小部分,大约为0.0000005%,这就要求我们使用更复杂的方法。

海洋方面,12日,南海中部、北部海面和中沙群岛附近海面,风力8~9级、阵风10~11级;西沙群岛附近海面,风力6~7级、阵风8级,12日夜间起增大到7~8级、阵风9级;海南岛四周海面、北部湾海面和南沙群岛附近海面,风力6~7级、阵风8级。

与他同样盼望返校的还有来自韩国的金旼奎,目前是太原理工大学体育教育专业研二的学生。

据了解,目前该校有512名外国留学生,截至8月31日,中国境内有273人,境外239人。(完)

MCTS在这两种极端之间进行折衷:我们想要执行搜索,并且存在一些值得关注的信息,但是,某些情况下信息可能是不可靠的噪声或错误,有时信息也可能提供正确的方向,从而加快搜索过程。