忘れてください
RECENTLY UPDATED

最近更新

137 则笔记,按最近编辑时间排列。

SAT 的应用和变形

许多现实生活中的问题都能通过一系列的编码转化成 SAT 问题。这里我们简单举几个例子来说明

🔗 友链

🔗 友链

最近更新

并行 SAT 的简单综述

现有的 SAT 并行求解策略主要分为两类:分治法以及基于组合策略的并行。二者通常都会进一步与子句共享(Clause Sharing)结合。

从 Quartz 到 Astro

一次博客搬家:为什么放下 Quartz、换成 Astro,以及搬完之后又陆续补回来的地图、引用、友链和全文预览

搭建自己的 Obsidian

Obsidian (下面简称 Ob) 通过 Vault (仓库)来管理笔记,所有的笔记都存储在一个大仓库下,你可以类比为一个 .git 仓库

PicList 上传前如何压缩图像

首先,我们切换截图工具,不再使用传统的 alt + ctrl + a 与 win + shift + s

再见!NENU

今天算是第二次从 NENU 毕业,但确确实实算是第一次离开 NENU。

大阪 (Osaka)-Day1-出境

大阪 (Osaka)-Day1-梅田

大阪 (Osaka)-Day1-梅田

开会的事情就略过了吧,反正是请完假了,等旅行完再开始忙碌。

大阪 (Osaka)-Day1-天王寺

大阪 (Osaka)-Day1-梅田|大阪 (Osaka)-Day1-心斋桥

大阪 (Osaka)-Day1-心斋桥

大阪 (Osaka)-Day1-天王寺 | 大阪 (Osaka)-Day2-环球影城

docker compose 部署 web 项目

在以往的做法中,我们部署项目都遵循以下几步:

春泥棒(NENU版)

今天中午下楼拿外卖时,透过楼道的窗户看见外面盛开的杏花(应该?),想着今天没风,阳光也好,吃完饭就出去逛一逛吧。

Boosting MCSes Enumeration

文章链接 本文提出了一种基于**转移子句(Transition Clause)与递归模型旋转(Recursive Model Rotation, rmr)**的 MCS 枚举加速技术。

Improving Bit-Blasting for Nonlinear Integer Constraints

介绍文章前,首先需要说明对于经典的 SMT(QF_NIA),基于 bit-blasting 做法,简而言之主要是以下三步:

Model Counting in the Wild

Propositional Model Counting (MC) 即命题模型计数(\sharpSAT)是计算一个 CNF 公式 \mathcal{F} 中有多少个解(即 model)

HCP 2025 混吃记录

-文再文 介绍的两份 LLM + OR 工作:

2025 年度总结

2025 这年的经历算是大学+研究生六年来最丰富的一年了,想来在未来的很多年都会记得这一年的经历。

📖 故事小记

这里记录一些随笔

最近更新

Obsidian 配置 Copilot 插件

浏览了很多排行,调研了很多框架,但是都没找到很满意的 RAG 框架用来结合 Obsidian 做个人知识库:

Obsidian 多设备同步

我们可以参考 Obsidian 官方的文章 来查看一些同步方法,例如:

通过 submodule 发布博客

由于在 Obsidian 中,虽然我有不被 git 追踪的文件夹(私有文件夹),但是这也限制了我多设备同步 的需求(因为 Windows 上的 iCloud 十分难用)

间接解决 Docker 中发送邮件后无法收到

起因是我通过 Docker 部署后端服务后,测试发现邮件其实完全没发出去,然而返回结果却是发送正常(这里容器的日志都是正常的)

使用 Quartz 搭建博客

关于官方的构建教程,可以参考:quartz 官方文档,如果看不习惯英文,也可以参考 quartz 文档中文版,但需要注意的是中文文档有些过时了,有很多新的 Features 都没有翻译

科研绘图工具

可以在平时阅读时保存一些好看图像的配色/架构,例如

最近更新

MacOS 软件推荐

这里可能需要绕一下,如果你使用 brew 安装了 fish,首先打开终端,输入 fish 后启动 然后,输入 which fish 拿到路径,例如 /opt/homebrew/bin/fish 将这个…

NAE-SAT 的一份简单调研

首先,我们重申 SAT 的定义:

为什么 gprof 测不准

由于函数调用会有上下文切换的额外开销,在如此之大的函数调用数下,是否大多数的时间都在运行调用栈的开辟与恢复?

服务器中的容器无法 ssh 连接

服务器是 VMware vSphere 的一个虚拟机,开始本质上是一个 bare metal,我们需要通过 VMware 提供的工具(需要注册才能够下载)Remote Console 的文档进行下载(…

使用实验配置文件来生成脚本

假设现在我在 benchmark 中有多组例子,benchmark/B1,benchmark/B2,benchmark/B3

日常开发与实验

由于我在两台设备上进行开发,虽然都是 wsl 环境(写 C/C++ 的暂时不考虑 Windows),所以多端的同步比较重要。

🚬 归档文章

这里记录了本科时期(以及后来)写的一些学习博客,由于可能很久都不会再回顾了所以放在这里

最近更新

📑 公开课实验

这里收录了我在 csdiy 上学习的一系列公开实验(当然,也有一部分不在这个网站上收录),每门课也对应一个 #研究 标签,方便按主题归档

最近更新

📚 研究笔记

研究论文阅读与笔记整理

最近更新

🧰 文具袋

这里记录了我的文具袋系列,会写一些遇到的各种环境问题,推荐一些工具,以及分享我使用的开发工具与工作流等

最近更新

保研苦旅

想到要写这篇文章的时候,正坐在前往北京的高铁上,急着去参加一场可能并不存在的面试。在高铁上看着窗外的风景,我写下了一些粗糙拙劣的文字。

实验结束自动发送邮件

在跑实验的时候经常会遇到以下情况

记录一次 Ubuntu 扩盘

由于组内服务器先前 CPU 坏了(难以见到的事情但是被我们遇上了),导致重装了两次系统:

NuPBO 阅读笔记

文章链接 在本工作中,我们重点关注提高 SLS 求解 PBO 的性能。

IPASIR-UP: User Propagators for CDCL

文章链接 这篇文章的前置版本可以查看 IPASIR 介绍,本文拓展了 IPASIR,加入了外部传播或者用户传播(UP)的拓展

冲突分析与子句学习

当 BCP 完成后,如果在这个过程中发现了冲突(有一个子句的文字全部为假),那么我们认为发生了冲突,需要撤销赋值并回溯。

SAT 问题简介

我们首先引入一个记号 \mathbb{B} = \{0, 1\},这是一元逻辑中所有变量的定义域

SMT 基本定义

在 SAT 中,我们引入了命题逻辑(Propositional Logic)来编码与表达现实问题,但我们知道,Propositional Logic 的表达能力本质上并不是很强,对于一些复杂的问题,我…

MacOS 配置 RIME + 雾凇

首先我们通过 brew 来安装鼠须管:

相位,如何选择相位

值得注意的是,相位的选择本质上就是二叉树先搜索哪一边,因此在理论上相位的选择对求解速度应该没有那么大的影响,赋真/假都是只有 50% 的概率猜对。

VSIDS 启发式

每个变量的 score 为其在所有子句中的文字出现次数。

Quartz 使用 Bun 替换 Nodejs

首先需要安装一下 bun ,我使用的是 MacOS (根据官网给出的命令安装即可)

MCP 协议简介

MCP(Model Context Protocol) 是 Anthropic 在 2024 年 11 月推出的开源协议,用于将 AI 连接到外部的应用程序上,本质上是一个标准,规定了应用程序应该如何…

C++ 项目初始化指北

在 Linux 下通过 cmake 与 Conan 进行 C++ 项目初始化与开发的一份简单指北

学术 Slides 的制作

关于 Slides 的制作,有三种方式:

最近更新

VSCode 的赛博暖暖

这里主要是一些赛博暖暖的内容,不涉及任何功能上的配置

PicList 上传前如何压缩图像(旧版)

首先,我们切换截图工具,不再使用传统的 alt + ctrl + a 与 win + shift + s

Manjaro 的安装与配置

由于在 Windows 下开WSL和IDE导致电脑内存已经吃不消了,所以我直接把电脑系统刷成了 Linux (彻底疯狂了),这里记录一下我的配置过程

IPASIR 介绍

文章链接 主要也只需要阅读 IPASIR 接口,一个 User-Friendly 的接口,通过重写这些接口来更好的调用 CaDiCaL 这个求解器

基数约束编码中文字顺序的重要性

文章链接

观察字

从布尔约束传播出发,介绍观察字和双观察字的维护与传播流程。

2023 NENU夏令营机试题解

2023 NENU夏令营机试 Tutorial

量子算法的预备知识

量子本质上可以通过量子化进行得到,当我们对一个宏观物体进行无限细分后,直到不得不靠“几个原子”这种单位去描述物体的长度时,量子效应就出场了。

Conflict Directed Lazy Decomposition

文章链接 在 SAT 问题的全局约束中,如果将约束编码为 SAT,会导致变量与子句的急速膨胀,造成求解困难。但有时候,编码的辅助变量又属于 nogood 类型的变量,能够指导搜索的过程。

Lab1 Utils

Lab1 的内容是简单的熟悉 xv6 操作系统和怎么做实验,官网上对实验难度的描述是easy , easy, moderate/hard, moderate, moderate。

Lab2 System Call

Lab2 熟悉一些系统调用,这个实验有一些小坑 😤

Lab3 Page Tables

你说的 easy 不是 easy,我说的 hard 是什么 hard😭,实验难度 easy, easy, hard,结果第一题差点把我送走了……MIT,你坏事做尽 😭

Lab4 Trap

2020 年的课和这个不太兼容(需要看完中断之后才能做这个实验),实验难度为 easy, moderate, hard。

Lab5 CoW Fork

实验早就做好了但是…… 思路借鉴了课程中 Prof. Robert Morris 的思路,实验只有一题但是是 hard

ParLS-PBO 阅读笔记

文章链接 串行的算法中,引入了动态评分策略后,在并行的策略结合了种群的概念,引入了解池,通过共享高质量解与变量的极性密度(更倾向是 0/1)提高了跳出局部最优的能力

RoundingSAT 阅读笔记其一

文章链接 RoundingSAT 的工作可以看作者自己的网站:RoundingSAT,实验室名字也很有意思:MIAOresearch

QAOA 算法

文章链接 对于一个哈密顿量,我们总可以把它拆成若干部分之和: 又根据含时哈密顿量在薛定谔方程中的解,我们可以得出 U(H, t) = \exp{(\frac{-iHt}{\hbar})} 根据 Tro…

DeciLS-PBO 阅读笔记

文章链接 与 代码链接 本文和 NuPBO CP'23 是同年的文章,因此没有对比,这篇文章的 实验效果 看了一下是不如 NuPBO 的效果 的,尤其是 300s 中 MWCB 和 SAP,NuPBO…

LS-PBO 阅读笔记

文章链接 提出了一种局部搜索求解 PBO 的框架,主要的思路就是把优化转为判定,由此可以使用 SAT 局部搜索求解器的思路,通过对约束加权(惩罚值),并由此进行打分函数的设计,从而指导启发式算法工作…

LS-ECNF 阅读笔记

文章链接 本文提出了一种针对 局部 基数约束的局部搜索算法 LS-ECNF ,通过 ECNF 的形式,可以避免将基数约束编码为 SAT,从而获取更好的求解性能 本文的后续改进为 LS-PBO SAT'…

阿里云新建用户无法 SSH

购买了一个阿里云的服务器,选择的是通过 Ubuntu-24.04 镜像生成的

文献搜索阅读

Your personal research assistant Zotero is a free, easy-to-use tool to help you collect, organize, a…

Linux-0.11 RTFSC 环境配置

建议在 docker 环境下搭建,构建的 Dockerfile 如下,如果对这部分有疑问,可以参考 Docker 搭建实验环境

我的科研&开发工具箱

科研&学习工具分享

最近更新

在 VSCode 中使用 AI

在这里推荐一些 AI 插件,用于增强 VSCode 的代码体验

2023 吉林省赛环境配置

省赛配置流程,当做遗产留下来

线性回归第一讲

一个传统的线性回归讲义

内存管理

内存管理,伙伴系统(Buddy System)与页表配置(Page Table) 重回中文写作

Project#0

熟悉现代 C++17 的一个小型实验,由于条约限制,所以在这里不会把代码放出来Primer

bomb-lab

很有意思的实验,至少在我做过的里面这个带来的正反馈是最多的

data-lab

一个做了很久,做完之后其实还挺有收获的实验(我愿称之为最难🥺)

shell-lab

不如我自己写的 `shell` 难度大(不过关于信号处理的部分还是很有意思的)

2020 OS_HW2 chrt

实现 chrt 系统调用(简易版)

2020 OS_HW3 RAM与Disk读写速度对比

为什么MINIX你是微内核!我不理解!

2020 OS_HW1 shell

实现一个简易版的Shell,可以识别一些简单到不能再简单的命令(bushi

Lab6 Multithreading

一个模拟多线程的实验,应该算是比较简单的实验,可以仿照原有的实现来做。

Lab7 Networking

使用 E1000 网卡写一个驱动程序

Lab1 MapReduce

实现 MapReduce 框架,虽然都说很简单,但是比较菜的我还是写了好几天,因为一开始不会Go,所以不知道从何下手

M1 打印进程树 (pstree) 实验指北

实现一个 pstree 的 shell 小工具(实际是 pstree 的一个阉割版本)

SparseTIR 解读

SparseTIR 解读(论文、源码 )

PBO 的局部搜索求解器系列

梳理 PBO 局部搜索求解器的打分函数、约束加权策略及算法之间的继承关系。

docker 配置各类实验环境

使用 docker 的好处有很多,最大的特点就是你可以拿到一个速度并不算很慢,而且能够随便乱玩的 Linux 系统,而不是在自己的生产环境上乱玩。

二分答案

二分答案(不是二分搜索)(蓝旭算法课)

基础加密算法

加密算法 (MD5, AES, RSA)(蓝旭算法课)

线性回归第二讲

这部分是一个拓展,文中的图片来源于李宏毅老师的ppt

感知机与神经网络

感知机(perceptron) 是一种二分类的线性分类模型,也就是说,输入数据通过模型运算后可以输出分类的类别,由于是二分类,所以类别只有 +1, -1

SparTA 解读

明确论文发表的时间为 2022 年,在这个时间段,算力的提升使得 DNN 的层数能够越来越深,模型越来越复杂。此时,为了提高 DNN 效率而必须进行稀疏化,也就是尽可能地减少不必要的数据冗余。

Dynamo & Triton 解析

关于 PyTorch2.0 中对 Dynamo 的解析

基础计算几何

基础计算几何与碰撞检测算法(蓝旭算法课)

并查集

不相交集合数据结构(disjoint-set data structure),简称并查集(ACM培训)

匈牙利算法

用以解决二分图的最大匹配(蓝旭算法课)

基础网络流

介绍一些基础的网络流算法(蓝旭算法课)

素数相关

这里介绍一些关于找素数的方法,可能是素数筛,也可能是快速判断一个数是不是素数

尾递归

尾递归(还是递归)(蓝旭算法课)

笔记
↑ ↓ 选择↵ 打开Esc 关闭