avatar
Articles
94
Tags
53
Categories
34

Home
Archives
Tags
Categories
Link
About
Blogs
Home
Archives
Tags
Categories
Link
About

Blogs

ecole环境安装指南
Created2025-10-27|NCO
前言ecole 是用于生成milp合成数据集的一个库,亦有其他功能。官方的安装提示是:[ecole install](Installation — Ecole 0.8.1 documentation) 但是事实上你如果真的直接按照它的命令 1conda install -c conda-forge ecole pyscipopt 安装 ecole 那么你会发现再import的时候报错找不到 scip.8.so 这种错误,这是由于时代变迁,这里依赖的库不能直接通过pyscipopt正确安装了 正确方法下面首先提供一个可以一键安装并且能够正确处理依赖的 conda-env.yaml 1234567891011name: ecole-envchannels: - conda-forge - defaultsdependencies: - numpy=1.24.3 - scip=8.0.0 - python=3.10 - pyscipopt - ecole 直接使用命令 1conda env create -f xxx.yaml 即可 如果你想要再现有环境中安装,记得先安装1. ...
No title
Created2025-10-26
This is your new vault. Make a note of something, [[create a link]], or try the Importer! When you’re ready, delete this note and make the vault your own.
Python Package Managers
Created2025-10-26|Python
UV工具简介uv 是一款基于项目的包管理器,本人非常推荐使用,因为它默认的配置是基于 pyproject.toml 进行的,这是Python官方推荐的新一代依赖管理方式,并且可以非常简单地进行打包和自安装,可以直接使用 src layout 使用项目名称作为顶级包名进行导入,避免手动添加 sys.path 更加优雅不会出错 什么是 src layout简单来说,项目的结构是 1234project_xxx|-src| |--project_xxx|-pyproject.toml 在这种layout下面,可以定义打包 src/ 目录下面的东西,然后使用命令 1pip install -e . 以可编辑的方式安装自己,即可自动安装所有依赖,并且使用 project_xxx.xxx 这种方式来导入项目中的包 uv 的安装和基本命令TBD
Hydra | python参数配置包
Created2025-06-05|Python
简介这个包看起来是一个非常好用的参数和配置文件管理的包,采用yaml保存相关的配置,相关的参考可以看官方网站hydra 网站 Takeaway notes简单的用法如下 123456789import hydrafrom omegaconf import DictConfig, OmegaConf@hydra.main(version_base=None, config_path="conf", config_name="config")def my_app(cfg : DictConfig) -> None: print(OmegaConf.to_yaml(cfg))if __name__ == "__main__": my_app() 然后所有的配置都会以类似namespace的形式保存在cfg这个变量里面 可以通过类似 1python my_app.py db.user=root db.pass=1234 的方式来覆盖某些配置
arXiv:1704.01665v4 | Learning Combinatorial Optimization Algorithms over Graphs | NCO论文阅读
Created2025-05-23|NCO
简介本文解决的问题是,给定一个图优化问题 和问题的分布 的实例,我们能从 中学习到更好的启发式推广到看不见的实例吗? 算法的大体结构是一个贪心算法,即我们在选择点的时候,每次都贪心地选择当前状态下最优的一个点,加入到选择集合中。与之前传统算法相比,本文本质上是使用强化学习去训练了一个policy, 根据当前的选择以及图的状态,来选择下一个点 本文的强化学习部分采用的是传统的 Q-Learining,说是因为policy gradient 方法在采样方面比较困难,而且本文推导出来 Q 函数有数学上的意义,因此采样了Q learning。 本文解决的图论问题本文主要尝试了以下三个问题: 本文的基本假设 一个问题的实例 是从一个分布中采样出来的,这个分布可以是一个模型,也可以是来自于现实世界的例子 本文采样特征向量来作为当前局部最优解的表征,即一个位上是1表示选择该点,是0表示不选择该点 某些问题上可能需要一个helper function来合法化上面演化算法出来的解 对于一个局部的解 通过一个函数 来衡量其优越性,其中的 算子表示组合结构 贪心策略会选择能够最大化一个评估函数 ...
GAE | 广义优势估计
Created2025-03-24|RL
本文主要介绍常用的几种优势函数的估计方式,首先定义一下本文讨论的优势函数,即:可以理解为,在状态 的情况下,采用动作 比平均动作能获得多少优势。 蒙特卡洛方法(MC方法)蒙特卡洛方法非常朴素,但是并不实用。即,在一个回合结束之后,再根据公式算出 ,然后再用公式直接用 来表示 ,从而估计出最终的优势函数 这种方法的好处是,这是无偏估计,但是方差比较大,并且在online的时候无法做 TD方法这个方法只需要一个值函数,使用如下方法来做估计:这相当于是使用 来估计 ,当然这就是有偏的了,不过这个方法的方差比上面的小。 A2C方法(这个方法是不是A2C笔者没有Check过)这个方法比TD的改进是,使用两个
PPO
Created2025-03-07|RL
前言PPO是目前最好用的on-policy的算法,之前想学TRPO发现太复杂了,这里开个新坑 替代优势首先,考虑一个问题,对于策略参数 更新为参数 的时候,到底带来了多少优势 定义优势函数为:而替代优势可以写为:如果引入无限长度的折扣分布,那么上面的式子可以把期望展开成:由于我们希望这里面两个策略离得非常近,所以使用 来代替 上面的式子变成 重新把这个式子写成期望的形式:后面那一项被称为替代优势,即: PPO Penalty这里面的想法很简单,使用下面这个式子来控制梯度的调整:这里面的 通过检查目标散度与实际的KL散度的大小来更新,如果更新的KL大于设定值的1.5倍则倍增 来惩罚,如果小于一半则 减半来扩大信赖域
FLA Lab Report | 自动机大作业实验报告
Created2025-01-17|fla
设计思路整体上我的程序分为如下几个步骤: 读取命令行参数 如果有 -h 就输出帮助信息并退出 如果带有 -v 或者 --verbose 参数就把fla结构体中对应的值设为true 根据命令行输入的文件后缀,判定运行的模拟类型,并记录到fla结构体中 读取文件的内容,加载到对应的结构体中 根据上一步判定的模拟器类型,把fla结构体传给对应的模拟器 PDA模拟器对于pda模拟器,我的设计如下: 我用的面向对象的方法,每一个状态都被封装成了一个类,模拟器保存了一个迭代器指向当前的状态。每个状态提供一个 pair<bool,pair<int,string>>get_transition(char input, char stack_top) 方法,传入当前的字符、栈顶符号,返回 (是否成功,下一个状态的编号,栈顶压入符号) 具体的运行方式如下: 使用 compile() 函数可以编译一个pda模拟器,经历如下步骤: 传给Lexer,按照行给整个传入的文件进行划分,并丢弃所有分号后面的内容。 Lexer将每一行传给 get_statement() 函数,该函数 ...
Database Review | 数据库期末复习笔记
Created2025-01-07|DB
概述信息与数据 信息:用于反映现实世界中事物的物理状态,向人们提供一些已知的、客观存在的事实和知识 数据:是指具有一定的语义含义,并且可以被记录下来的已知事实(在计算机世界中是具有一定结构的格式串)数据是信息的载体,信息是数据的内涵 数据库系统的基本特点 数据的集成性 数据的高共享性与低冗余性 数据独立性 数据的统一管理与控制 三种语言 DDL:数据定义语言 DML:数据操作语言 DCL:数据控制语言 数据库的三级模式 概念模式(简称模式)(是关于整个数据库中数据的全局逻辑结构的描述,是面向数据库系统的,它一般以某种数据模型为基础,利用具体的DBMS所提供的数据定义语言(DDL)来描述) 外模式(也称子模式、用户模式)(是关于某个用户所需数据的逻辑结构的描述) 内模式(也称物理模式)(是关于数据库中数据的物理存储结构和物理存取方法的描述) 在这三种数据库中,只有物理数据库是真实存在于计算机的外存中的,其他两种数据库并不真正存在于计算机中,而是由物理数据库通过数据库管理系统构造而成的 三级模式的两级映射 从概念模式到内模式的映射由DBMS完成,实现了物理独立性 外模式到概念模式 ...
Artificial Intelligence Review Note | 人工智能复习笔记
Created2025-01-04|AI
启发式搜索——算法在启发式搜索里面,会考虑两个集合,一个叫 Open set 一个叫 Closed set Open:表示当前需要考虑的,还未完成搜索的节点 Closed:表示已经处理完毕,不会再考虑的节点 启发式搜索的大概步骤是: 把初始的节点加入到Open集合中 将Open set中的节点按照评估函数 的大小从小到大排序,选出最小的那个,设置成当前的节点(CS),如果已经没有可以选的了,结束,表示未搜索到 如果CS是终点,结束操作 将CS的所有可达节点进行以下操作: 如果节点在Closed list中,继续下一个 否则加入到 Open list中 将CS加入Closed list中,回到第2步 算法的评估函数为: 其中的 表示从开始移动到节点 的实际代价,而 是定义的启发式评估函数,用于评估当前节点 到目标节点的代价 由于上面的定义,不难发现, ,如果满足 那么这个启发式算法是可采纳的,一定会找到最优解的。 这里的 应当理解为从点n到终点的真实代价 推理谓词推理推理规则一共有如下几条: 取式假言推理:已知 和 为真,那么 为真 拒式假言推 ...
12…10
avatar
Eric Li
Articles
94
Tags
53
Categories
34
Follow Me
Announcement
The blog is now under construction
Recent Post
ecole环境安装指南2025-10-27
No title2025-10-26
Python Package Managers2025-10-26
Hydra | python参数配置包2025-06-05
arXiv:1704.01665v4 | Learning Combinatorial Optimization Algorithms over Graphs | NCO论文阅读2025-05-23
Categories
  • AI1
  • Algorithm2
  • Article_Reading1
    • reinforcement_learning1
  • CV1
  • Cryptology5
  • DB3
  • Diffusion1
Tags
InformationTheory notes gitlab-ci server RBT B树 cmake RegularExpression Probability_Theory tools Hydra config DB termux ssl RL Math frp Diffusion git Others co Article OS UV VSCode Cryptology IRL Optimization Network Transformer m路搜索树 Algorithm MySQL CV cpp SQL fla certbot latex
Archives
  • October 20253
  • June 20251
  • May 20251
  • March 20252
  • January 20253
  • December 20245
  • November 20249
  • October 20248
Info
Article :
94
UV :
PV :
Last Push :
©2023 - 2025 By Eric Li
Framework Hexo|Theme Butterfly
蜀ICP备2023025661号-1