秩序密码-用群论分析魔方的阶

三阶魔方的物理基础是由一个三维十字轴连接的 6 个中心块,这 6 个中心块决定了魔方的 6 种颜色朝向,构成不动的坐标系统,此外还有两类活动块,分别是8个角块,12个棱块。

魔方的每一层转动(如 R: 右层顺时针转 90°)本质是一个三维旋转操作,受以下物理规则约束:

  1. 轴固定原理:无论怎么转动,6 个中心块的相对位置永远不变,这为复原提供了基准;
  2. 块守恒定律:转动不会改变角块与棱块的数量,只是改变它们的空间排列;
  3. 方向约束:角块有 3 种朝向状态,棱块有 2 种,这种方向性构成后续算法的基础。

        凝视着掌中这个被彻底打乱的魔方。 鲜艳的色块仿佛经历了一场宇宙大爆炸,从原本规整的秩序中喷薄而出,散落在立方体的六个面上。每一次随意的转动,都像投入混沌池塘的石子,激起更复杂的涟漪。红与蓝毗邻,黄与白交错,绿与橙纠缠,一个标准的、被充分随机化后的魔方,呈现出令人眼花缭乱、近乎绝望的混乱, 其中埋藏的可能性似乎要把宇宙吞噬。

        当用指尖划过魔方表面,能感受到其下蕴藏的惊人可能性 六个面,二十六个小立方体(更准确地说,三阶魔方是八个角块和十二个棱块,54个小面),在每一次90度或180度的旋转中,角块在位置与朝向上翻飞,棱块在归属与方向间游移。每一个微小的“咔哒”声,都像是打开了一扇通往新排列组合的大门。粗略一想,似乎有无穷无尽的方式可以让这些色块错位:角块有8!种位置排列,每个又有3种朝向;棱块有12!种位置排列,每个又有2种朝向… 将这些数字粗暴地相乘,得到的将是一个远超人类日常经验的天文数字——519,024,039,293,878,272,000(约519千万亿亿,该数量级的计量单位是垓,也就是10^20)。这仿佛是一片由旋转构成的、深不见底的海洋,一个拥有519千万亿亿个岛屿的、浩瀚无垠的“魔方宇宙”。

      然而,这片看似无序的混沌之海,真的允许所有想象的可能状态存在吗? 答案是否定的。物理的约束如同无形的法则,编织着一张精密的网:角块的朝向并非完全独立,它们的总和必须遵循某种守恒;棱块的翻转亦然;更微妙的是,三阶魔方角块位置排列的奇偶性(是偶置换还是奇置换)必须与棱块位置排列的奇偶性严格同步。这些隐藏在混乱表象下的铁律,如同宇宙的基本守恒定律,无声地宣判着:并非所有数学上的排列都是物理上可达的合法状态。那519千万亿亿组合,仅仅是数学的幻影,有大量状态是魔方物理结构所禁止的“幽灵状态”,那里是魔方宇宙的禁区,是任何人都不可能触及到的状态。

      于是,核心问题如同迷雾中的灯塔般浮现:这个由旋转定义的、看似拥有“无穷”可能的魔方宇宙,其真正可达的、合法的“星球”——即有效的魔方状态——其总数,也就是数学家称之为魔方群的“阶”(Order),究竟是多少? 如何穿透这令人窒息的复杂性,拨开混乱的迷雾,精确地计算出这个数字?直觉和蛮力在此完全失效,我们需要一把钥匙,一把能够解读旋转背后的深层秩序、洞悉约束本质的钥匙。

        这把钥匙,早已在近两个世纪前,由一位生命短暂如流星却思想璀璨如恒星的天才锻造而成。 他为我们揭示了理解“对称性”本身的革命性语言--群论,正是他那超越时代的洞见,将为这混乱魔方宇宙的精确丈量,提供最强大的理论工具。让我们跟随这位早逝天才的思想之光,用群论的透镜,去破解魔方宇宙的秩序密码,计算出它那令人敬畏的总阶数。

少年鼻祖,群论之父,开宗立派,万神之神

      这位改变数学和人类文明进程的人就是法国伟大数学家埃瓦里斯特-伽罗瓦,他一生的经历是数学史上最具传奇和悲情色彩的故事之一,他在极短时间内迸发出的思想烈度、方法的革命性和对数学发展的前瞻性思考达到了一个令人窒息的高峰,在那几年、甚至那几晚的爆发性思考中,伽罗瓦展现出的洞见力是同时代其他数学家所未能企及的。他看穿了问题的本质,并找到了描述这种本质的完美语言-群论,但由于个人的悲剧,他那辉煌无比的发现竟差点儿全部遗失!

        伽罗瓦的生命仅有20年,他在十几岁才开始深入接触数学,却在短短几年内完成了革命性的工作,他的主要思想(群论、一元五次方程的可解条件,伽罗瓦对应)传说中是在决斗前夜匆忙写下的手稿中系统阐述的。这种在巨大压力下迸发的创造力,如同超新星爆发般令人震撼。伽罗瓦是极致的“浓缩”天才,他的早逝本身就是一个巨大的悲剧,是人类科学史上最大遗憾。群论的思想是如此抽象和超前,以至于同时代最顶尖的数学家(如柯西、傅里叶、泊松)都无法完全理解或欣赏。伽罗瓦的手稿曾被遗失、拒绝或误解。他的工作价值直到他去世十多年后才逐渐被认识,并在此后几十年里深刻重塑了代数学乃至整个数学的面貌。

       群论彻底解决了困扰数学家几个世纪的多项式方程根式可解问题,他不仅给出了判断准则,更揭示了其深层原因——方程的对称性(伽罗瓦群)的结构,伽罗瓦是看穿方程结构的第一人,也是整个数学历史上“真正会解方程”的第一人,在他之前的包括高斯在内的所有的伟大数学家,在解方程上运用的各类技巧(灵光一闪和代数上的小花招,例如凑项,移项,消元)都变成了满足伽罗瓦对应而不得不作的步骤,是群论框架内的自然推论。伽罗瓦是最伟大的数学家之一,不是19世纪,而是有史以来,如果不是因为早逝,他可能是最伟大的那个,没有之一。

       抽象的力量是强大的,越抽象,越本质. 群论不仅仅是解决了几个具体问题(除了五次方程可解性的充要条件,古希腊三大几何作图难题三等分角,化圆为方和倍立方也成了群伦的推论,结论自然到无需特别证明),而是开创了一个全新的数学领域——抽象代数。他将关注点从具体的计算技巧转向了方程背后隐藏的、深刻的对称结构。

理查德-费曼数学能力极强的理论物理学家,他曾说过”我依然不明白他是如何想出它(群论)的", 啥也别说了,膜拜吧!

今天,我们用伽罗瓦的遗产-群论去解锁二阶,三阶和四阶魔方的阶,得到群论视角下的魔方状态总数,再与排列组合数学得到的魔方状态数做比较,体验群论的魅力!

魔方群的定义

魔方不仅仅是玩具,它是群论(抽象代数)的一个绝佳的、具体的物理模型。魔方的转动操作及其组合规则完美地展示了群的定义和核心性质(封闭性、结合律、单位元、逆元),特别是非交换性(操作顺序的重要性)在魔方上体现得淋漓尽致, 魔方的所有合法状态构成了魔方群,因为这些状态和操作满足群论的四大群公理,分别是:

  1. 封闭性: 任意两个合法转动操作(例如顺时针旋转右面90度,然后逆时针旋转上面90度)组合起来,其结果等价于魔方的另一个合法转动操作。你不可能通过合法转动让魔方“散架”或变成不可能的状态。

  2. 结合律: 转动操作的组合满足结合律。即 (A * B) * C = A * (B * C)。无论你先组合前两个操作还是后两个操作,最终的整体效果是一样的。例如,先做A(转右面),再做BC的组合(B*C)(先转上面再转前面),效果等同于先做AB的组合(A*B)(先转右面再转上面),然后再做C(转前面)。

  3. 单位元: 存在一个“什么都不做”的操作(恒等操作)。执行这个操作后,魔方的状态保持不变。任何操作与这个恒等操作组合,结果还是该操作本身。

  4. 逆元: 对于每一个合法的转动操作(例如顺时针旋转上面90度),都存在一个相反的转动操作(逆时针旋转上面90度)。执行一个操作后再执行其逆操作(或者先执行逆操作再执行原操作),其结果等同于恒等操作(魔方回到执行这两个操作之前的状态).

魔方群不是阿贝尔群,也就是不满足交换律,魔方状态的非交换性很好说明,比如交换两个相邻面的操作(以顺时针90度为例)顺序,对比得到的是不一样的状态,说明交换法则对魔方操作不成立。魔方群是有限群,其阶数是有限的,本文的目的就是用群论分析软件GAP计算它的阶数。

魔方群的生成元

        在群论中生成元是指那些可以生成整个群的元素集合,魔方群的生成元是那些基本的转动操作,通过这些操作的组合可以生成魔方所有可能的状态。生成元通常定义为每个单层的90度顺时针转动,因为90度转动可以生成180度转动和逆时针转动。

群论数学工具gap

数学工具 GAP (Groups, Algorithms, Programming) 是一个专门为计算离散代数,特别是群论而设计和优化的强大数学软件,相当于算法领域的另一款著名数学工具matlab.

gap是一套开元工具,任意平台上都可以安装,在ubuntu上的安装命令是:

sudo apt install gap-core

为了测试gap,首先可以让GAP帮忙生成对称群S4,对称群和正方体的旋转对称同构,阶为24,选择(1,2),(2,3,4)两个操作作为群的生成元,经过GAP计算得到阶数24,和立方体的对称性个数完美吻合。

二阶魔方的阶

2阶魔方有六个生成元,这六个生成元分别对应六个面的顺时针90度旋转,用数字对二阶魔方的24个子面进行标记,得到其六个生成元,使用群论数学工具GAP生成群,便可得到二阶魔方群的阶:

经过对标记块的六个面进行90度旋转,得到二阶魔方的生成元如下:

用GAP语法表示就是:

cube2order:=Group((1, 2, 3, 4)(5, 17, 13, 9)(6, 18, 14, 10),(5, 6, 7, 8)(18, 4, 12, 24)(19, 1, 9, 21),(9, 10, 11, 12)(6, 3, 16, 21)(7, 4, 13, 22),(13, 14, 15, 16)(10, 2, 20, 22)(11, 3, 17, 23),(17, 18, 19, 20)(14, 1, 8, 23)(15, 2, 5, 24),(21, 22, 23, 24)(7, 11, 15, 19)(8, 12, 16, 20));

经过计算,得到这六个生成元生成的群的阶为88179840.

这个就是最终答案了吗?显然不是,生成元虽然生成了这么多的二阶魔方的状态,但是这里面每个合法状态实际上会对应24个群元素,所以群阶数需要再除以24,得到二阶魔方的所有合法状态总数为3674160种。

88179840/24 = 3674160

除以24是因为2阶魔方没有固定参考框架(如3x3的中心块), 所以整体旋转被视为对称性,立方体有24种旋转对称性,也就是立方体旋转对称群的阶是24,所以需除以24,目的是把把空间对称的状态看成一种状态(说白了,魔方内部坐标系下,每个子块的相对位置是一样的状态群一共生成了24个,但是它们本质上对魔方来说是一个状态),所以24个对称状态中只保留一个,就是除以24.

三阶魔方的阶

和2阶不同的是,三阶魔方存在不动点,就是每个面的中心块,不过由于中心快在整个魔方复原的过程中是保持不动的,所以不参与生成元形成,此外每个面多出来4个棱面,这四个棱面参与到了生成元形成,所以每组生成元要多出来2个四轮换。用同样的方式对三阶魔方进行标记,并计算其所有面的顺时针旋转90度得到的生成元:

得到的生成元如下,gap计算三阶魔方群的阶数为43252003274489856000,由于三阶魔方有固定不变的中心块,相当于由内在不固定的坐标系,不需要除以24,其合法状态总数就是魔方群的阶数43252003274489856000,大约432万亿种状态,这是一个天文数字。

cube:=Group( 
(1,3,9,7)(10,37,28,19)(39,30,21,12)(4,2,6,8)(11,38,29,20), 
(46,48,54,52)(18,27,36,45)(25,34,43,16)(47,51,53,49)(26,35,44,17), 
(30,36,34,28)(3,43,48,21)(37,54,27,9)(33,35,31,29)(40,51,24,6), 
(16,10,12,18)(52,39,7,25)(45,1,19,46)(13,11,15,17)(42,4,22,49), 
(19,21,27,25)(12,9,34,46)(7,28,48,18)(20,24,26,22)(8,31,47,15),
(45,43,37,39)(16,54,30,1)(52,36,3,10)(44,40,38,42)(53,33,2,13)
);

四阶魔方的阶

四阶魔方是最麻烦的,其生成元不止6个,需要明确定义 12 个生成元,对应 3 个轴上各 4 个独立层的 90° 顺时针转动。每个生成元表示为魔方 96 个外部小面上的一个置换。理由如下:

  • 在四阶魔方中,外层转动(如U、D、F、B、L、R)只能影响外层块(如角块和外层边块),但无法影响内层块。

  • 内层转动是必要的,因为它们专门移动内层块。如果没有这些内层转动,无法生成所有可能的魔方状态。

  • 这12个生成元是独立的,且足以生成整个四阶魔方群(即所有可达状态)。尽管存在一些群论约束(如奇偶性约束),但这些生成元通过组合可以覆盖所有有效状态。

  • 三阶魔方(3x3x3)只有6个生成元(每个面一个90度转动),因为它的中心块相对固定,且内层转动可以通过外层转动组合生成。

  • 四阶魔方是偶阶魔方,中心块不固定,因此需要额外的内层转动生成元。最小生成元集就是这12个单层90度转动,无法进一步减少,因为每个层对应独立的块移动。

四阶魔方有3个空间轴(x轴:左右方向,y轴:上下方向,z轴:前后方向),每个轴上有4个独立的层,可以分别转动,例如,在上下轴(U-D轴)上:

  • 层4:底层(对应D面转动)
  • 层3:下数第二层(内层)
  • 层2:上数第二层(内层)
  • 层1:顶层(对应U面转动)
  • 类似地,前后轴(F-B轴)和左右轴(L-R轴)也各有4个层。

因此,四阶魔方总生成元数量为:3轴 × 4层/轴 = 12个,下图展示了其6个外立面的90度顺时针旋转,另外中间层(两层)在三个方向上的四轮换也可以从下图中观察出来。

得到的12个生成元如下:

cube:=Group((1, 4, 16, 13)(17,65, 49, 33)(68, 52, 36, 20)(5, 3, 12, 14)(18,66, 50, 34)(9, 2, 8, 15)(19, 67, 51, 35)(6,7, 11, 10), (81,84, 96, 93)(32, 48, 64, 80)(45, 61, 77, 29)(85, 83, 92, 94)(31, 47, 63, 79)(89,82, 88,95)(30, 46, 62, 78)(86,87,91,90), (52, 64, 61, 49)(4, 77, 84, 36)(65, 96, 48, 16)(51, 60,62,53)(8,73,88, 40)(50, 56, 63, 57)(12, 69, 92, 44)(55, 59, 58, 54), (29,17, 20, 32)(93, 68, 13, 45)(80, 1, 33, 81)(30, 21, 19, 28)(89,72, 9, 41)(31, 25, 18, 24)(85, 76, 5, 37)(26, 22, 23, 27), (80, 77, 65, 68)(29, 96, 52, 1)(93, 64, 4, 17)(76, 78, 69, 67)(25, 95, 56, 2)(72, 79, 73, 66)(21, 94, 60, 3)(75, 74, 70,71), (33, 36, 48, 45)(20, 16, 61, 81)(13, 49, 84, 32)(37, 35, 44, 46)(24, 15, 57,82)(41, 34, 40, 47)(28, 14, 53, 83)(38,39,43, 42),(82, 34, 2, 79)(86, 38, 6, 75)(90, 42, 10, 71)(94, 46, 14,67),(83, 35, 3, 78)(87,39,7,74)(91,43,11, 70)(95,47,15,66),(24,40,56,72)(23, 39,55,71)(22,38,54,70)(21,37,53,69),(28,44,60,76)(27,43,59,75)(26,42,58,74)(25,41,57,73),(18,8,63,89)(22,7,59,90)(26,6,55,91)(30,5,51,92),(19,12,62,85)(23,11,58,86)(27,10,54,87)(31,9,50,88));

得到其阶数16972688908618238933770849245964147960401887232000000000

因为同是偶数阶魔方,需要和二阶魔方一样,需要处以24排除掉空间对称性,此外,中心块被分成了六组,每组四个中心块是组内不可区分的(可以看成是嵌入了一个小的二阶魔方),每个面一共有4!=24种,一共6个面,所以是 4!^6种,另外,从网上得到的信息,四阶魔方的转动(面转动/层转动)只能实现中心块的偶置换这意味着一半的排列在物理上无法实现因此,我们需要将上一步的结果再除以2。所以需要在16972688908618238933770849245964147960401887232000000000基础上,除以:

所以得到四阶魔方的合法状态数为:7401196841564901869874093974498574336000000000

四阶魔方有效状态完整的计算公式为:

总结

        当我们转动魔方时,指尖下演绎的不仅是颜色的变换,更是一部浓缩的科学史诗 —— 从机械咬合到群论结构,从算法优化到拓扑变换,这个六面方块以玩具的形态,承载着人类对秩序与混沌、有限与无限的永恒探索。正如数学家戴森所言:"魔方是物理世界的数学隐喻,每一次复原都是对宇宙规律的一次致敬".

        人类对代数方程和三大古典几何作图难题的研究最终绽放出了群论之花,伽罗瓦的开创性工作被公认为超越了他的那个时代,群论也被数学专业的同学一致认为是数学中最美丽,最深奥的领域。群论完成了对数学的进一步抽象,将看上去毫不相关的问题统一到了一起,展现了它们的内在联系,得出了让人无比惊讶的结论,解魔方和解方程,从抽象结构上看它竟然是一回事!魔方的合法状态对应一个有限群,也一定存在和这个有限群对应的一系列方程。事实上,数学家已经给出了以魔方群做为伽罗瓦群的次数大概在24和48次之间。因为显式构造魔方群的伽罗瓦扩张极度复杂,目前仅仅得到了一个大概范围。

       群论和微积分是现代数学的基础,前者描述结构和对称,后者描述动态和变化,它们一起解释了宇宙的规律,构成人类当代科技文明的基础。如果你想在数学智慧和美学层面获得满足感,不妨买一个魔方,带着好奇心,利用碎片时间摆动学习,探寻群论中隐藏的无穷数学智慧。


参考资料

Cube Lovers: |4^3| = 1.7*10^55

对称、群论与魔术(三)——常见的几何对称性简介

五次方程:群与域——数学精灵阿贝尔与伽罗瓦


结束

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/86652.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/86652.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python驱动自动驾驶的“多眼”——打造高效传感器融合框架的实战思考

Python驱动自动驾驶的“多眼”——打造高效传感器融合框架的实战思考 最近,自动驾驶行业火得不行,背后支撑它的技术,远不止车载摄像头那么简单。真正让车“看懂”世界的,是多种传感器数据的“融合”,包括雷达、激光雷达(LiDAR)、摄像头、惯性测量单元(IMU)等等。 而如…

机器学习-- 聚类

什么是聚类? Clustering 可以简单地说,对有标注的数据分类,就是逻辑回归(属于有监督分类),对无标注的数据分类,就是聚类(属于无监督分类) 聚类是一种无监督学习技术&am…

【Yonghong 企业日常问题08 】永洪BI的Apache Tomcat版本升级指南

文章目录 前言操作步骤登录验证 前言 某公司业务永洪BI系统使用tomcat 9.0.97版本,接到总公司漏洞扫描整改要求需要将tomcat版本升级到9.0.97以上。 目标:tomcat 9.0.97》 9.0.98 1、下载tomcat所需要的版本 地址:https://tomcat.apache.org/download-…

BigFoot RaidSlackCheck11.109.zip lua

BigFoot RaidSlackCheck11.109.zip lua 合剂buff检查插件 把lua脚本拷贝到游戏插件目录下: D:\Battle.net\World of Warcraft\_classic_\Interface\AddOns 命令 /rsc 下载地址: https://download.csdn.net/download/spencer_tseng/91181827

深入解析前端 Meta 标签:HTML 的隐形守护者与功能大师

在构建现代网页时&#xff0c;我们常常关注炫目的视觉效果、复杂的交互逻辑或强大的框架&#xff0c;却容易忽略那些深藏于 <head> 之中、看似不起眼的 <meta> 标签。这些标签如同网页的隐形守护者&#xff0c;无声地承担着定义文档元数据、指导浏览器行为、优化搜…

青少年编程与数学 01-012 通用应用软件简介 11 应用商店

青少年编程与数学 01-012 通用应用软件简介 11 应用商店 一、什么是应用商店&#xff08;一&#xff09;应用商店的基本定义&#xff08;二&#xff09;应用商店的工作原理&#xff08;三&#xff09;应用商店的类型 二、应用商店的重要意义&#xff08;一&#xff09;为用户提…

《红黑树实现》

引言&#xff1a; 上次我们学习了比二叉搜索树更高效的平衡二叉搜索树&#xff08;AVL树&#xff09;&#xff0c;这次我们要学习的是另外一种对二叉搜索树的优化后的红黑树。 一&#xff1a;红黑树概念&#xff1a; 红黑树是一棵二叉搜索树&#xff0c;他的每个结点增加一个…

领域驱动设计(DDD)【23】之泛化:从概念到实践

文章目录 一 泛化基础&#xff1a;理解DDD中的核心抽象机制1.1 什么是泛化&#xff1f;1.2 为什么泛化在DDD中重要&#xff1f;1.3 泛化与特化的双向关系 二 DDD中泛化的实现形式2.0 实现形式概览2.1 类继承&#xff1a;最直接的泛化实现2.2 接口实现&#xff1a;更灵活的泛化方…

机箱流动空气热学仿真方案

机箱流动空气热学仿真方案(二维平面与三维) 一、物理模型与数学模型 1. 控制方程 流动与传热基本方程: 连续性方程:∇(ρu) = 0动量方程(Navier-Stokes):ρ(u∇)u = -∇p + μ∇u + F能量方程:ρcₚ(u∇)T = k∇T + Φ边界条件: 入口:速度入口(u=u₀, T=T₀)出口:压…

electron 如何配置 打开控制台

在 Electron 应用中&#xff0c;打开开发者工具&#xff08;即控制台&#xff09;通常有两种方式&#xff1a; 程序运行时手动打开 在 Electron 应用中&#xff0c;你可以通过编程方式打开开发者工具。这通常在你需要调试时非常有用。你可以在你的主进程&#xff08;通常是 ma…

MR7350用TTL刷机救砖过程

很久之前就买了一台Linksys的MR7350路由器&#xff0c;准备有OpenWRT的官方固件之后再拿它当轻NAS用&#xff0c;最近看到出了Snapshot版&#xff0c;于是就拿来刷机试试。经过我坚持不懈的折腾&#xff0c;终于把我的MR7350路由器刷成了砖&#xff0c;即便是通过开机过程中断电…

在NPU单算子(torch_npu )执行时如何进行性能优化?以MinerU为例

1 MinerU介绍 在AI技术快速发展的今天&#xff0c;大量非结构化数据的处理成为亟待解决的问题。尤其是PDF文档&#xff0c;作为最常见的文件格式之一&#xff0c;如何高效准确地提取其中的信息&#xff0c;成为了许多企业和研究机构的痛点。上海人工智能实验室&#xff08;上海…

鸿蒙OS开发IoT控制应用:从入门到实践

引言&#xff1a;万物互联时代的应用开发新范式 在物联网(IoT)技术迅猛发展的今天&#xff0c;智能设备数量呈指数级增长。据IDC预测&#xff0c;到2025年全球IoT连接设备数将达到416亿台。面对碎片化的IoT设备和多样化的控制需求&#xff0c;华为鸿蒙OS(HarmonyOS)应运而生&a…

五层网络模型:网络通信的核心框架

在网络通信的世界里&#xff0c;五层网络模型是一个基础而关键的概念。它帮助我们理解数据是如何在网络上从一个设备传输到另一个设备的。本文将详细介绍五层网络模型的每一层&#xff0c;以及它们在数据传输过程中的作用。 一、五层网络模型概述 五层网络模型是一种分层的网…

常见的强化学习算法分类及其特点

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是一种机器学习方法&#xff0c;通过智能体&#xff08;Agent&#xff09;与环境&#xff08;Environment&#xff09;的交互来学习如何采取行动以最大化累积奖励。以下是一些常见的强化学习算法分类及其特点&#…

【LeetCode 热题 100】438. 找到字符串中所有字母异位词——(解法三)不定长滑动窗口+数组

Problem: 438. 找到字符串中所有字母异位词 题目&#xff1a;给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 【LeetCode 热题 100】438. 找到字符串中所有字母异位词——&#xff08;解法一&…

求区间最大值

题目描述 给定一个长度为 N 的数列&#xff0c;和 M 次询问&#xff0c;求出每一次询问的区间内数字的最大值。 输入描述 第一行包含两个整数 N,M&#xff0c;分别表示数列的长度和询问的个数。 第二行包含 N 个整数&#xff08;记为&#x1d44e;&#x1d456;&#xff09;&am…

调试HDMI音频能8通道播放声音

一、使用场景 我们是通过rk主控的hdmi接口播放音视频给到ite68051芯片解析出8声道数据,分别通过4路i2s的数据脚给给到fpga去解析 调试步骤: 1.根据相关手册配置hdmi输出,hdmi声卡注册,如下: hdmi0_sound: hdmi0-sound {status = "disabled";compatible = &qu…

PowerBI 柱状图显示MoM销量环比示例,以及解决相同列值时设置柱子颜色的问题

先看效果: 假设有Sales表: 1. 我们先给它新增一个计算列&#xff0c;显示销售日期的年月 销售日期YYYYMM YEAR(Sales[销售日期])*100 MONTH(Sales[销售日期]) 2. 然后新增一个计算表&#xff0c;用于保存当前最大的销售日期&#xff0c;和上一个月的日期 DateComparisonT…

【docker】构建时使用宿主机的代理

docker构建过程中报错: pip 下载失败 解决办法:传递宿主机的代理 把宿主机的 HTTP_PROXY/HTTPS_PROXY 传进去,导致容器内的 pip 依然连不上代理,下载 build-dependencies(比如 setuptools)就会失败。 下面两步即可解决: Docker 构建阶段,127.0.0.1:7890 指向的是 容…