hexo-blog-encrypt 3.1.9是一个用于给博客文章加密的插件,它可以让你在发布文章之前对文章内容进行加密,只有加密后的文章才可以被阅读。但官方的有部分问题,这里提供一些解决方法,希望能帮助到大家。
1. 移动端输入法无法输入enter
由于输入法无法输入enter,导致在手机端无法输入密码解锁博客:
这里增加一个confirm按钮,用户点击确认按钮后,和enter一样也能触发解锁逻辑,分别修改三个文件:
node_modules/hexo-blog-encrypt/lib/hbe.blink.html
12345678910111213<div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="{{hbeWrongPassMessage}}" data-whm="{{hbeWrongHashMessage}}"> <sc ...
强化学习的笔记、理解、感悟及代码实现,仅按个人思维进行精华总结和记录,使用的教程:动手学强化学习
.indent {
text-indent: 2em;
/* 设置首行缩进为2个字符宽度 */
}
.image {
display: block;
margin-left: auto;
margin-right: auto;
margin-top: auto;
margin-bottom: auto;
width: 90%;
height: auto;
}
12import numpy as npimport matplotlib.pyplot as plt
问题描述
在多臂老虎机(multi-armed bandit,MAB)问题中,K根拉杆均对应一个奖励概率**R**,从而获得对应的奖励r.目标是在在各根拉杆的奖励概率分布未知的情况下,操作T次拉杆后获得尽可能高的累积奖励。
这是一种无状态的强化学习,只存在动作和奖励。
1234567891011121314class BernoulliBandit: ...
强化学习的笔记、理解、感悟及代码实现,仅按个人思维进行精华总结和记录,使用的教程:动手学强化学习
.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脚本
示例
看个例子吧:
#!/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),是一种为shell编写的脚本程序 ...
用户和组管理
用户管理
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:强制修改用户口令, ...