随想:如果用强化学习的方法来求解方程,肯定也是可行的。毕竟强化学习归根结底是一个最优化问题,虽然不能用显示的方程来描述,但强化学习的求解过程与文中提到的迭代方法无异。以目前的算法及机器性能来看,强化可以求解复杂度很高的方程。如果以此来吸引数学家关注这一领域,那么强化将会得到长足发展。

打破线性方程求解速度极限,华人学者新算法获顶会最佳论文奖https://www.163.com/dy/article/G4LC98FF0511DSSR.html。以下为问题简单描述。

求解方程的全新的思路,靠“猜”,这种方法就是:猜测每个未知数的值,把它们代入方程后,查看结果与实际值相差有多大。然后,修正未知数的值,再猜一次。这种方法,在计算机方向上被称为迭代法。彭泱的这种迭代算法,在方程的数量变得极多、且每个方程涉及的未知数较少时,显示出了巨大的优势。也就是说,如果在一个系数矩阵属于“稀疏矩阵”——矩阵本身特别大,但相对地,系数为0的数量又非常多的时候,迭代法就会出现神奇的结果。

此前,没有人能够证明,“迭代法”对于稀疏矩阵而言,是否会比“矩阵乘法”更快。当然,这种算法并不只靠“猜”。彭泱设计的算法中,他们还会在给出多组随机数的同时,将这些随机数组并行计算。这就像是数百个人同时在山林中搜索宝藏,肯定比一个人反复搜索要更快。但这种算法的设计,还面临两个难点:

  如何保证设计出来的数,足够随机、不偏向问题的任何一部分?

  如何保证设计出来的这些随机数组,全面覆盖每一种可能性?

他们发现,正因为由随机数构造出的矩阵中,项数是随机的、且彼此之间有着某种关联,因此,这一矩阵本身就具有某种对称性。这就意味着,如果知道矩阵中某些具体的数值,就能推断出一整个矩阵的形状。这一发现,使得他们设计的算法,比未考虑矩阵对称性的那些算法,找到解的速度更快。事实证明,这种算法确实能够保证在O(n2.3316)复杂度以内,完成任何计算。这比之前的O(n2.37286),复杂度降低了不少,可以说是一个巨大的进步。

  这一新发现,让彭泱和他的合作者获得了ACM-SIAM离散算法研讨会SODA 2021的最佳论文奖。

  为什么要降低计算复杂度?

  解一个二元一次方程,也就是2×2的矩阵,靠中学知识就能轻松搞定。然而当n变得越来越大,求解方程的计算量就会以3次方的速度迅速增加。这是什么概念?意味着如果线性问题中,要求解的未知数达到100甚至10000,那么计算量复杂度就会增加1000000、甚至1012倍。目前,机器学习、动力学模拟等问题,都会遇到超大规模线性方程组,如何降低计算复杂度,一直是学者们致力于解决的问题。要是计算复杂度居高不下,对于计算机而言,将会是一个巨大而沉重的负担。因此,数学家们一直在想方设法将线性问题的复杂度弄得更小一点,也就是让O(nω)中的ω变小。哪怕ω减小的量只有0.00001,对于上百万未知数的方程组来说也是一个巨大的进步。通过不断改善矩阵乘法,ω先是从3降低到2.81,历经多次研究后,被MIT和哈佛的数学家们降低到2.37286。然而,到这个阶段,数学家们倾尽全力所设计的新算法,也只是将ω降低了0.00001而已。有数学家进行过预测,ω可以无限接近于2,也就意味着这种线性问题的计算复杂度还能尽力向O(n²)靠拢。因此,彭泱他们的新算法,可以说是将这一研究向前推动了一大步

强化学习 解方程 鸡兔同笼相关推荐

  1. 11210怎么等于24_【Python】鸡兔同笼怎么“妙解”?

    上一节: <<[python] 学了编程.我写的第二个游戏...>> 鸡兔同笼,是中国古代著名典型趣题之一,记载于<孙子算经>之中.鸡兔同笼问题,是小学奥数的常见题 ...

  2. 每日作业20200429 - 二元一次方程 解鸡兔同笼

    题目 鸡兔同笼, 共有35头, 94脚. 求有几只鸡几只兔 分析 1.列方程组x + y = 352x + 4y = 94 2.求解x = 23y = 12**拓展** 二元一次方程表达式ax + b ...

  3. c++解鸡兔同笼(3)

    大家好,今天小编继续带大家用c++解鸡兔同笼. 第一期我们知道: 解鸡兔同笼的方法有三种: 1.一个一个的试: 2.假设法:假设全是兔,--: 3.方程法: 今天小编就带大家用第三种方法解鸡兔同笼. ...

  4. php设计鸡兔同笼问题解法,数量关系解题技巧:三种方法巧解鸡兔同笼问题

    [导读] 中公事业单位为帮助各位考生顺利通过事业单位招聘考试!今天为大家带来数量关系解题技巧:三种方法巧解鸡兔同笼问题. 鸡兔同笼问题是事业单位考试中比较常见的一种题型,题干特征非常明显,解题方法多样 ...

  5. 鸡兔同笼问题的一些巧解

    问题 鸡兔同笼,鸡兔共有45只,兔的腿数比鸡的腿数多60条,问鸡和兔各有几只,不能用方程. 解法1 兔的腿数比鸡的腿数多 60 条,这 60 条多出来的腿是通过笼子里的 60 ÷4 = 15 只兔子贡 ...

  6. java马克思手稿_java 循环嵌套解决一元,二元,三元方程(增长率,鸡兔同笼,马克思手稿)...

    一元方程: 2006年培养学员8万人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人? int a=8; int year=2006; while (a<=20) { a= ...

  7. Python疫起学习·万丈高楼平地起Day07(精简版|浓缩就是精华)集合、程序控制结构知识点附上鸡兔同笼问题以及时间库终结

    二十一.集合 集合set属于Python无序可变序列.集合是使用大括号括起来的各种数据,可以看作没有Value的字典.集合里面的元素不能重复.集合中只能包含数字.字符串.元组等不可变类型(或者说是可哈 ...

  8. 【小学数学】假设法解鸡兔同笼

    假设法解鸡兔同笼 这是一个假设法解鸡兔同笼的程序. (注意:课本的标准解法是列表法!) 假设法解鸡兔同笼是4.5.6年级小学数学的经典附加题. 拿去给小学生学格式.学步骤完全没问题. 你永远可以相信薛 ...

  9. c++解鸡兔同笼(2)

    大家好,今天小编继续带大家用c++解鸡兔同笼. 上期,我们知道: 解鸡兔同笼的方法有三种: 1.一个一个的试: 2.假设法:假设全是兔,--: 3.方程法: 今天小编就带大家用第二种方法解鸡兔同笼. ...

最新文章

  1. Ubuntu系统---安NVIDIA 驱动后 CUDA+cuDNN 安装
  2. 团队-象棋游戏-模块开发过程
  3. python封装类在当前文件中使用_name_下调用不了_学python中对于类怎么也不明白,对了是看到简明教程11章,类与变量的对象....想要通俗易懂的答案....
  4. python raw_input为什么不能用_热门问题 | 为什么发票不能用订书器只能用胶水?...
  5. PHP判断变量内容是什么编码(gbk?utf-8) mb_detect_encoding
  6. usb接口驱动_乾坤合一~Linux设备驱动之USB主机和设备驱动
  7. mysql [ERR] 1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘
  8. [洛谷P4819][中山市选]杀人游戏
  9. (八)Hibernate的一对多关联关系
  10. Ubuntu中软件安装与卸载
  11. 细说在兄弟连搞上PHP的那些事儿
  12. 金税盘专、普红字发票开具步骤及(税盘注销方法)
  13. mac svn 可视化界面_SmartSVN for mac 14.0.1
  14. archlinux解决fcitx5光标不跟随
  15. 计算机网络之广域网基础以及华为eNSP实验配置
  16. Jetpack Compose 从入门到入门(七)
  17. JAVA医院预约挂号系统毕业设计 开题报告
  18. css 从右到左的方向调整
  19. mysql数据库安装最详解
  20. 深度学习目标检测方法综述

热门文章

  1. java手机小游戏源码_Java手机版数独小游戏(J2me)JAVA游戏源码下载
  2. 如何在3Dmax中渲染VR草图?
  3. python爬虫淘宝图片+GUI+打包成exe
  4. 微型计算机的组成与分类,微型计算机系统组成.doc
  5. java 布林线_交易信号---MACD、RSI、Boll、分型等技术信号
  6. 进程和线程以及线程池(一)
  7. a股交易数据接口-API-说明
  8. 高德地图(包含实时定位,线路导航,区域标记等)
  9. 什么是开源期刊(OA)
  10. nginx - ip 限制规则、黑名单、白名单