Day 40

好的

基于径向基函数神经网络RBFNN的自适应滑模控制学习(Matlab代码实现)内容概要:本文介绍了基于径向基函数神经网络(RBFNN)的自适应滑模控制方法,并提供了相应的Matlab代码实现。该方法结合了RBF神经网络的非线性逼近能力和滑模控制的强鲁棒性,用于解决复杂系统的控制问题,尤其适用于存在不确定性和外部干扰的动态系统。文中详细阐述了控制算法的设计思路、RBFNN的结构与权重更新机制、滑模面的构建以及自适应律的推导过程,并通过Matlab仿真验证了所提方法的有效性和稳定性。此外,文档还列举了大量相关的科研方向和技术应用,涵盖智能优化算法、机器学习、电力系统、路径规划等多个领域,展示了该技术的广泛应用前景。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的研究生、科研人员及工程技术人员,特别是从事智能控制、非线性系统控制及相关领域的研究人员; 使用场景及目标:①学习和掌握RBF神经网络与滑模控制相结合的自适应控制策略设计方法;②应用于电机控制、机器人轨迹跟踪、电力电子系统等存在模型不确定性或外界扰动的实际控制系统中,提升控制精度与鲁棒性; 阅读建议:建议读者结合提供的Matlab代码进行仿真实践,深入理解算法实现细节,同时可参考文中提及的相关技术方向拓展研究思路,注重理论分析与仿真验证相结合。
L3-034 超能力者大赛 分数 30 作者 陈越 单位 浙江大学 ef.jpg 知乎上有这样一个话题:“全世界范围内突然出现 666 个超能力者,击败对手就能获得对手的超能力,最终获胜者将如何自处?” 现在让我们来将这个超能力者大赛的规则具体化:给定 N 位超能力者(超能力者从 0 到 N−1 编号,你的编号为 0),分布在全世界 M 座城市中(城市从 0 到 M−1 编号),比赛从第 1 天开始,到第 D 天结束。每位超能力者有一个能力值 E i ​ (i=0,⋯,N−1)。 如果你的能力值大于等于对手的能力值,就可以将其击败,并且对方的能力值立刻直接累加到你的能力值上。但是,当你每次到达一座城市,击败一位对手后,就会惊动这座城市中所有剩下的超能力者(包括联盟)。这座城市中剩下的所有个体能力值小于等于你的超能力者就会立刻团结起来形成联盟,联盟的能力值等于所有联盟成员能力值的总和。联盟将从此作为一个整体进攻或防御你,你可将联盟等价地理解为一个超能力者,它还可能在后续的战斗中继续与其它弱小的同城选手或联盟合并。第二天,这个城市中任何能力值大于你的对手就会找上门来,而你为了自保,就只能赶紧离开这个城市…… 此外,还有如下补充规定: 你每天只能进行 1 场战斗,击败一个超能力者(包括联盟),或者被一个能力值大于你的超能力者(包括联盟)击败。 比赛中间没有一天可以休息,你或者在战斗,或者在去往另一个城市的路上。 当你到达一个城市时,会在到达的第二天进行战斗。 当你结束战斗要离开这个城市时,是第二天开始出发。 下面我们为你设计一套贪心算法,就请你验证一下,这个算法能否让你得到这个大赛的冠军。算法步骤很简单: 第 1 步:从所有超能力者(包括联盟)中找出一个与自己能力值最接近、同时自己能够击败的对手,用最短时间去到对方的城市,在到达后第二天击败之; 第 2 步:如果该城市中没有能力值大于你的超能力者(包括联盟),按照规则逐一击败之;如果该城市中已经没有超能力者、或你第二天没有必胜把握,则回到第 1 步。 重复上述步骤,直到你: 击败了所有超能力者;或 你已经无路可逃(即剩下的所有超能力者的能力值都大于你);或 比赛终止时间到。 第 1 步中有可能遇到多个符合条件的对手,并列情况下优先选最近的;距离也并列的情况下选途径城市最少的;再有并列就选城市编号最小的。 输入格式: 输入在第一行中给出 4 个正整数:N(≤10 5 ),为参加比赛的超能力者人数;M(≤200),为比赛涉及的城市数量;M e ​ 为城市间直达通路的数量;D(≤1000)为比赛时长(以“天”为单位)。 随后 N 行,第 i 行(i=0,⋯,N−1)给出第 i 位参赛者的信息,格式为: 所在城市编号 能力值 其中能力值是不超过 1000 的正整数。 接下来是城市通路信息,分 M e ​ 行,每行给出一对城市间的双向直接通路信息,格式为: 城市1 城市2 通行时间 其中通行时间为不超过 D/2 的正整数,以“天”为单位。题目保证每条道路的信息只出现一次,没有重复。 输出格式: 顺次输出你每一步的活动,每个活动占一行,格式为: Get e at city on day d. 表示第 d 天在编号为 city 的城市击败了一个能力值为 e 的对手。 Move from city1 to city2. 表示从编号为 city1 的城市到达了编号为 city2 的城市。 WIN on day d with e! 表示在第 d 天成为唯一的赢家,此时你的能力值是 e。 Lose on day d with e. 表示在第 d 天走投无路成为输家,此时你的能力值是 e。 Game over with e. 表示比赛结束你没能成为唯一赢家,此时你的能力值是 e。注意:比赛最后一天是先判断输赢,才判断结束的。即:如果最后一天剩下所有人都比你厉害,是判你输,而不是 Game over。 输入样例 1: 17 8 14 40 1 10 2 22 0 3 5 18 6 10 1 5 3 106 7 18 5 10 0 27 4 18 7 10 4 10 0 5 3 85 4 8 3 9 5 6 1 5 2 1 5 0 5 5 3 6 6 2 8 6 3 3 6 0 2 2 0 2 2 3 1 0 3 4 1 0 1 1 3 1 1 4 3 1 7 3 输出样例 1: Move from 1 to 4. Get 10 at 4 on day 4. Move from 4 to 7. Get 18 at 7 on day 11. Get 10 at 7 on day 12. Move from 7 to 0. Get 27 at 0 on day 17. Get 8 at 0 on day 18. Move from 0 to 4. Get 26 at 4 on day 23. Move from 4 to 3. Get 106 at 3 on day 28. Get 94 at 3 on day 29. Move from 3 to 2. Get 22 at 2 on day 31. Move from 2 to 5. Get 18 at 5 on day 33. Get 10 at 5 on day 34. Move from 5 to 6. Get 10 at 6 on day 36. Move from 6 to 1. Get 5 at 1 on day 40. WIN on day 40 with 374! 样例 1 说明: 样例 1 描述了这样的战斗场景: fig.jpg 你作为 0 号选手,初始能力值为 10,位于 1 号城市。 与你能力值最接近的有 4 位选手,能力值都是 10,分别位于 4、5、6、7 号城市。他们距离你都是 3 天,其中途径城市最少的是 4、7 号城市,并列时选城市编号小的,所以选 4 号城市。于是你的第一个动作是 Move from 1 to 4.,在第 3 天到达了 4 号城市。 第 4 天你击败了 12 号选手,于是 Get 10 at 4 on day 4.,能力值增长为 20。此时 4 号城市中剩下的两人都打不过你,但他们组成能力值为 26 的联盟后,你就不行了,所以从第 5 天开始你要逃走。 下一个目标是与你最接近的能力值为 18 的两个选手,分别在 5、7 号城市。距离相等时选择中途只经过一个城市的 7 号城市,于是 Move from 4 to 7.,在第 10 天到达 7 号城市。 第 11 天你击败了 7 号选手,于是 Get 18 at 7 on day 11.,能力值增长为 38。此时该城市中剩下的 11 号选手打不过你,所以你在第 12 天击败这个人,Get 10 at 7 on day 12. 后能力值增长为 48。这时 7 号城市已经被你清空。 下一个目标是 0 号城市能力值为 27 的 9 号选手。你在第 16 天到达,然后 Get 27 at 0 on day 17.,同时该城市中剩下的两人组成联盟,但能力值一共只有 8,于是在第二天的战斗中被你消灭,Get 8 at 0 on day 18.。至此 0 号城市也被你清空,你的能力值达到了 83。 这时 4 号城市那个能力值为 26 的联盟成为你的下一个目标,你花了 4 天时间回到 4 号城市,Get 26 at 4 on day 23.,能力值涨到了 109。 以此类推,可得到剩余的结果。最终在比赛的最后一天 —— 第 40 天将 1 号城市清空,赢得了比赛。 输入样例 2: 7 4 5 30 2 10 2 10 1 9 1 25 1 25 0 40 3 30 0 1 1 1 2 2 2 3 3 3 0 2 1 3 3 输出样例 2: Get 10 at 2 on day 1. Move from 2 to 1. Get 9 at 1 on day 4. Lose on day 5 with 29. 输入样例 3: 7 4 5 7 2 20 2 9 1 9 1 25 1 25 0 40 3 30 0 1 1 1 2 2 2 3 3 3 0 2 1 3 3 输出样例 3: Get 9 at 2 on day 1. Move from 2 to 1. Get 25 at 1 on day 4. Get 34 at 1 on day 5. Move from 1 to 0. Get 40 at 0 on day 7. Game over with 128. 我需要c++的代码且是总的可以直接运行的
12-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值