强化学习的笔记、理解、感悟及代码实现,仅按个人思维进行精华总结和记录,使用的教程:动手学强化学习
.indent {
text-indent: 2em;
/* 设置首行缩进为2个字符宽度 */
}
.image {
display: block;
margin-left: auto;
margin-right: auto;
margin-top: auto;
margin-bottom: auto;
width: 90%;
height: auto;
}
马尔可夫奖励过程(Markov Reward Process, MRP)
不考虑动作策略,一个马尔可夫奖励过程由一个状态空间S、一个转移概率矩阵P、一个奖励函数R、一个折扣因子γ和一个初始状态s0组成。
状态空间S表示马尔可夫过程的状态集合。
转移概率矩阵P是一个S*S的矩阵,其中P(s,s’)表示在状态s下执行动作a后转移到状态s’的概率。
奖励函数R(s)表示转移到状态s可以获得的奖励
折扣因子γ取值在0~1之间,用于衡量短期奖励与长期奖励的折扣系数
...
强化学习的笔记、理解、感悟及代码实现,仅按个人思维进行精华总结和记录,使用的教程:动手学强化学习
.indent {
text-indent: 2em;
/* 设置首行缩进为2个字符宽度 */
}
.image {
display: block;
margin-left: auto;
margin-right: auto;
margin-top: auto;
margin-bottom: auto;
width: 90%;
height: auto;
}
动态规划依赖于子问题分解和递归方程,基于动态规划的强化学习算法主要有策略迭代和价值迭代两种,分别使用贝尔曼期望方程和贝尔曼最优方程,需要事先知道环境的状态转移和奖励函数,适用于有限的状态和动作空间。
策略迭代
策略迭代分策略评估和策略提升两部分,策略评估计算出每个状态的价值函数,策略提升根据价值函数改进策略,不断迭代直到收敛。
策略评估
贝尔曼期望方程为状态价值函数提供了一个递归关系。假设在某个状态s下,策略π(a|s)的价值函数为v(s,π),则贝尔曼期望方 ...
强化学习的笔记、理解、感悟及代码实现,仅按个人思维进行精华总结和记录,使用的教程:动手学强化学习
.indent {
text-indent: 2em;
/* 设置首行缩进为2个字符宽度 */
}
.image {
display: block;
margin-left: auto;
margin-right: auto;
margin-top: auto;
margin-bottom: auto;
width: 90%;
height: auto;
}
动态规划里的策略迭代和价值迭代都是需要事先知道环境的奖励函数和状态转移函数,可以直接递归迭代出最优价值或策略。但在大部分场景,无法写出状态转移概率和进行动态规划。在这种情况下,智能体只能和环境进行交互,通过采样到的数据来学习,这类学习方法统称为无模型的强化学习。
时序差分
单步时序差分
时序差分是一种估计策略价值函数的方法,结合了蒙特卡洛(从样本数据中学习,不需要事先知道环境)和动态规划(根据贝尔曼方程利用后续状态的价值估计来更新当前状态的价值估计)的思想。
...
强化学习的笔记、理解、感悟及代码实现,仅按个人思维进行精华总结和记录,使用的教程:动手学强化学习
.indent {
text-indent: 2em;
/* 设置首行缩进为2个字符宽度 */
}
.image {
display: block;
margin-left: auto;
margin-right: auto;
margin-top: auto;
margin-bottom: auto;
width: 90%;
height: auto;
}
相比Q-learning,Dyna-Q算法引入了一个环境模型,与环境进行交互时不仅更新Q值,也会记录交互数据到环境模型中,然后与环境模型进行n次的模拟交互更新Q值(这个步骤称为Q-planning),使用真实数据和和模拟数据一起改进策略。
Dyna-Q算法的主要步骤如下:
随着 Q-planning 步数的增多,Dyna-Q 算法的收敛速度也随之变快,但也受限于环境是否是确定的和环境模型的准确性。
实验
class CliffWalkingEnv:
...
强化学习的笔记、理解、感悟及代码实现,仅按个人思维进行精华总结和记录,使用的教程:动手学强化学习
.indent {
text-indent: 2em;
/* 设置首行缩进为2个字符宽度 */
}
.image {
display: block;
margin-left: auto;
margin-right: auto;
margin-top: auto;
margin-bottom: auto;
width: 90%;
height: auto;
}
环境准备:
12345678import randomimport gymimport numpy as npimport collectionsfrom tqdm import tqdmimport torchimport torch.nn.functional as Fimport imageio
深度 Q 网络(deep Q network,DQN)算法是从Q-learning 扩展而来。在之前的Q-learning算法中,动作价值函数q是使用数组表格 ...
做2024华为软件精英挑战赛智慧港口的经历,用时一周,时间用来钻牛角尖了,同时捡起c++又练习了一下,最高分40万,很遗憾最终没有获奖,仅记录别参考!
背景概述
智慧港口是港口建设趋势和发展的方向。 以信息物理系统为框架,通过高新技术的创新应用,使物流供给方和需求方沟通融入集疏运一体化系统;极大提升港口及其相关物流园区对信息的综合处理能力和对相关资源的优化配置能力;智能监管、智能服务、自动装卸成为其主要呈现形式,并能为现代物流业提供高安全、高效率和高品质服务的一类新型港口。在智慧港口领域,如何规划多机器人的任务执行,以实现最优调度;如何控制泊位和机器人的配合,达到最高价值等都是非常有价值的算法难题。
题目简介
目标
赚取更多的资金
任务描述
选手作为运输公司来运输货物赚取资金,每个选手有 5 艘轮船、10 个机器人。选手需要使用机器人来执行移动、搬运等动作来完成货物递送任务,同时赚取利
润。在运行结束时,选手拥有的资金数即为最终分数,所获得的资金越高越好。任务终点如下:
进行多机器人取货、送货、卸货、移动的路径规划,不仅需要防止机器人在狭窄路段碰撞,也需要考虑货物的分配问题。
制定轮 ...
Shell脚本概念理解
什么是Shell脚本
示例
看个例子吧:
#!/bin/sh
cd ~
mkdir shell_tut
cd shell_tut
for ((i=0; i<10; i++)); do
touch test_$i.txt
done
示例解释
第1行:指定脚本解释器,这里是用/bin/sh做解释器的
第2行:切换到当前用户的home目录
第3行:创建一个目录shell_tut
第4行:切换到shell_tut目录
第5行:循环条件,一共循环10次
第6行:创建一个test_0…9.txt文件
第7行:循环体结束
mkdir, touch都是系统自带的程序,一般在/bin或者/usr/bin目录下。for, do, done是sh脚本语言的关键字。
shell和shell脚本的概念
shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell。
shell脚本(shell script),是一种为 ...
用户和组管理
用户管理
1.useradd:添加用户
1useradd [-u 用户ID] [-g 用户组] [-G 用户组,用户组] [-m] 用户名
-c:指定用户注释信息
-d:指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录,默认在/home目录下
-u:指定用户ID
-g:指定用户组
-G:指定附加用户组
-m:创建用户主目录
-s:指定用户登录shell,默认/bin/bash
2.userdel:删除用户
1userdel [-r] 用户名
-r:递归删除用户,即删除用户及其主目录
3.usermod:修改用户
1usermod [-u 用户ID] [-g 用户组] [-G 用户组,用户组] [-s 用户登录shell] 用户名
4.passwd:用户口令的管理
用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令
1passwd 选项 用户名
-l:锁定用户口令
-u:解锁用户口令
-d:删除用户口令
-f:强制修改用户口令, ...
1.安装软件
ubuntu服务器
1apt-get install openssh-client openssh-server xauth
windows客户端
安装Xming
2.配置
ubuntu服务器
修改 /etc/ssh/sshd_config 文件
12345# 允许root用户登录PermitRootLogin yes# 允许X11转发X11Forwarding yes
重启ssh服务
1service ssh restart
windows客户端
修改.ssh/config 文件
12345678Host ubuntu HostName localhost Port 813 User root IdentityFile C:/Users/xxx/.ssh/id_rsa ForwardX11 yes ForwardX11Trusted yes ForwardAgent yes
运行Xming
3.测试
1.ssh连接
2.apt install x11-apps
3.输入 xeyes
4.本地显示结果
课程基于B站UP主Expert电子实验室的教学视频,记录笔记用于扫盲,方便理解PCB的版图和进行后续的自动布线算法研究.
[零基础入门PCB设计保姆级教学](https://www.bilibili.com/video/BV1At421h7Ui/?spm_id_from=333.1007. top_right_bar_window_default_collection.content.click&vd_source=c33a47a3f08b3b6b6c1614d37f34903f)
同时十分感谢评论区大佬Regenm的相关笔记,自己的这个笔记就可以随便记录一下了!
.indent {
text-indent: 2em;
/* 设置首行缩进为2个字符宽度 */
}
.pdf {
display: block;
margin-left: auto;
margin-right: auto;
width: 100%;
/* 将宽度设置为100%,以适应父元素的宽度 */
height: 800px;
/* ...