实验目的 (1)掌握Cohen-Sutherland直线段裁剪算法的直线段端点编码原理。 (2)掌握“简取”、“简弃”和“求交”的判断方法。 (3)掌握直线段与窗口边界交点的计算公式。 实验结果 (1)在屏幕中心建立二维坐标系Oxy,x轴水平向右为正,y轴垂直向上为正。 (2)以屏幕客户区中心为中心绘制矩形线框图,以此代替裁剪窗口,线条颜色自定义。 (3)工具栏上的“绘图”按钮有效,拖动鼠标绘制直线。 (4)使用“裁剪”按钮对窗口内的直线段进行裁剪并在窗口内输出裁剪后的直线段。
2024-08-19 14:55:18 48.11MB
1
离线强化学习(Offline Reinforcement Learning, ORL)是一种机器学习方法,它允许算法通过观察预先收集的数据集来学习策略,而无需与环境实时交互。PyTorch 是一个流行的深度学习框架,它提供了灵活的计算图和易于使用的API,使得实现复杂的深度强化学习算法变得相对简单。本资源集中了七种基于PyTorch实现的离线强化学习算法,分别是:行为克隆(Behavior Cloning, BC)、BCQ、BEAR、TD3-BC、保守Q学习(Conservative Q-Learning, CQL)、独立Q学习(Independent Q-Learning, IQL)以及优势加权Actor-Critic(Advantage Weighted Actor-Critic, AWAC)。 1. **行为克隆(Behavior Cloning, BC)**:这是一种监督学习方法,通过模仿专家示例的动作来学习策略。BC的目标是最大化动作概率的似然性,即让模型预测的数据尽可能接近于专家数据。 2. **BCQ(Bootstrapped DQN with Behavior Cloning)**:该算法结合了行为克隆和Bootstrapped DQN,旨在处理离线数据的分布偏移问题。它使用多个Q函数的集合,并结合行为克隆来提高稳定性。 3. **BEAR(Bootstrapped Environments with Adversarial Reconstructions)**:BEAR是一种确保策略接近原始数据分布的方法,通过最小化策略动作与离线数据中的动作之间的距离,避免了样本分布不匹配导致的问题。 4. **TD3-BC(Twin Delayed Deep Deterministic Policy Gradient with Behavior Cloning)**:TD3是DDPG(Deep Deterministic Policy Gradient)的一个改进版本,而TD3-BC在TD3的基础上加入了行为克隆,进一步提高了离线学习的稳定性。 5. **保守Q学习(Conservative Q-Learning, CQL)**:CQL引入了一个额外的损失项,以防止Q值过高估计,从而保持对离线数据分布的保守估计,避免选择超出数据范围的行动。 6. **独立Q学习(Independent Q-Learning, IQL)**:IQL是针对多智能体强化学习的一种方法,但在离线设置下也可以应用。每个智能体独立地学习Q值函数,以最大化其自己的长期奖励。 7. **优势加权Actor-Critic(Advantage Weighted Actor-Critic, AWAC)**:AWAC结合了Actor-Critic架构和优势函数,通过在目标策略更新中考虑优势函数,使得策略更倾向于选择在离线数据中表现良好的动作。 这些算法在不同的强化学习环境中进行测试,如MuJoCo模拟器中的连续控制任务,通过比较它们的性能,可以深入理解各种离线强化学习方法的优缺点。对于研究者和开发者来说,这个资源包提供了一个宝贵的平台,用于探索和比较不同的离线学习策略,有助于推动强化学习领域的发展。在实际应用中,可以根据特定任务的特性选择合适的算法,或者将这些方法作为基础进行进一步的研究和改进。
2024-07-09 17:15:53 26.45MB pytorch pytorch 强化学习
1
Informed RRT* 是一种基于 RRT* (Rapidly-exploring Random Tree Star) 算法的优化路径规划算法。它通过引入启发式信息来提高搜索效率和最终路径的优化程度。以下是 Informed RRT* 算法的详细介绍: ### 1. 算法背景 在路径规划领域,尤其是针对机器人导航和无人驾驶等应用,算法需要快速且准确地生成安全有效的路径。RRT* 算法因其在处理复杂动态环境和实时性方面的优势而被广泛使用。然而,RRT* 算法在搜索过程中可能会生成大量冗余的分支,导致效率不高。 ### 2. Informed RRT* 算法原理 Informed RRT* 算法的核心在于使用一个可接受的椭圆启发式(admissible ellipsoidal heuristic)来指导搜索过程,从而提高算法的效率和解的质量。 #### a. 椭圆启发式 椭圆启发式定义了一个状态空间的子集,这个子集包含了所有可能改进当前解的状态。椭圆的形状取决于起始状态、目标状态以及当前最佳解的成本。 #### b. 直接采样 Informed RRT* 通过直接从这个椭圆启发
2024-05-22 18:51:53 12KB matlab
1
车辆调度问题_遗传算法+遗传退火算法代码.zip
2024-03-16 20:46:37 1.67MB
1
这个资源是一个包含了使用 PyTorch 实现的11种常见在线强化学习算法的代码集合。每个算法都有独立的文件夹,可以单独运行并测试相应算法在不同环境中的性能。以下是资源中包含的算法: 1、Q-learning 2、SARSA 3、DQN (Deep Q-Network) 4、Double-DQN 5、Dueling-DQN 6、PG (Policy Gradient) 7、AC (Actor-Critic) 8、PPO (Proximal Policy Optimization) 9、DDPG (Deep Deterministic Policy Gradient) 10、TD3 (Twin Delayed DDPG) 11、SAC (Soft Actor-Critic)
2024-03-05 21:19:26 6.68MB pytorch 强化学习 python
1
基于遗传算法的Bp神经网络优化算法代码matlab代码 基于遗传算法的Bp神经网络优化算法代码matlab代码 基于遗传算法的Bp神经网络优化算法代码matlab代码
2024-01-16 20:50:27 1.24MB 神经网络 matlab
1
用Paython语言写的PageRank算法。垂直搜索引擎经典算法
2024-01-16 16:02:35 1KB PageRank算法
1
MATLAB优化与控制模型代码 基于遗传算法的Bp神经网络优化算法代码.zip
2024-01-08 19:06:02 424KB 神经网络 matlab
1
eSTREAM上公布的Grain算法的源代码,已经使用并成功运行。如果windows环境下不会调试,在linux中编译运行即可。
2024-01-05 10:45:19 9KB Grain算法 代码
1