摘要:
贝叶斯统计与贝叶斯优化:严谨而直观的公式导读 摘要 Typora 公式说明: 本文行内公式统一使用 $...$,独立公式统一使用 $$...$$。若行内公式未渲染,请在 Typora 的“偏好设置 → Markdown → Markdown 扩展语法”中启用“内联公式”。 贝叶斯统计是一套利用概率分
阅读全文
posted @ 2026-08-03 22:00
aixueforever
阅读(20)
推荐(0)
摘要:
马尔科夫相关概念、公式与用法 从马尔科夫性质、马尔科夫链和连续时间过程,到 HMM、MDP、POMDP、MCMC、马尔科夫随机场与排队模型 公式采用 Typora 兼容的 Markdown + LaTeX 写法,可直接渲染。 1. 一条主线:什么叫“马尔科夫” “马尔科夫”不是某一个单独模型的名称,
阅读全文
posted @ 2026-08-03 21:58
aixueforever
阅读(13)
推荐(0)
摘要:
与蒙特卡洛直接相关的算法和数据结构详解 1. 蒙特卡洛方法到底在做什么 1.1 一句话定义 蒙特卡洛方法是一类以随机采样为核心的计算方法:当一个量难以直接求出时,生成许多样本,用样本的统计结果近似真实答案。 它不是某一个固定算法,而是一套共同思想。它可以用来: 估计积分、概率和期望; 从复杂概率分布
阅读全文
posted @ 2026-08-03 21:05
aixueforever
阅读(18)
推荐(0)
摘要:
一、启发式算法到底解决什么问题 优化问题的基本形式通常可以写成: \[\min_{x\in\Omega} f(x) \]或者: \[\max_{x\in\Omega} f(x) \]其中,\(x\) 是一个候选方案,\(\Omega\) 是所有可行方案组成的搜索空间,\(f(x)\) 是衡量方案质量
阅读全文
posted @ 2026-08-03 20:45
aixueforever
阅读(94)
推荐(0)
摘要:
PostgreSQL 18.3 查询优化器流程:standard_planner() 源码导读 1. 文档目标 本文按照 PostgreSQL 18.3 中 standard_planner() 的执行顺序,讲解默认查询优化器从 Query 到 PlannedStmt 的完整流程: 版本说明: 本文
阅读全文
posted @ 2026-07-28 16:05
aixueforever
阅读(113)
推荐(1)
摘要:
本文以 DuckDB 的向量化执行模型为背景,详细解释三个问题: 存储层中的 ColumnSegment 如何被扫描为执行层的 DataChunk; DataChunk 经过 Filter 时,是复制数据还是使用选择向量; 两个表各自的 morsel/DataChunk 如何先 Filter,再分
阅读全文
posted @ 2026-07-25 12:45
aixueforever
阅读(97)
推荐(0)
摘要:
DuckDB 存储结构:从逻辑表到磁盘 Block 1. 核心结论 DuckDB 原生表的主线只有一条: Table → Row Group → ColumnData → Column Segment → DuckDB Block → Buffer Manager → Vector / DataCh
阅读全文
posted @ 2026-07-19 14:52
aixueforever
阅读(203)
推荐(0)
摘要:
统计信息维护 数据库为了让优化器做基数估计和代价估计,通常会维护一批统计信息。它们描述的是: 表有多大、列值怎么分布、索引是否有用、数据是否倾斜、不同列之间是否相关。 这些统计信息不一定每次查询都实时计算,而是由数据库周期性或按需收集。 一、数据库通常维护哪些统计信息 1. 表级统计信息 表级统计信
阅读全文
posted @ 2026-06-06 22:04
aixueforever
阅读(46)
推荐(2)
摘要:
前置知识 语法树 AST 是 Abstract Syntax Tree,中文通常叫 抽象语法树。 在数据库里,用户写的 SQL 文本会先经过词法分析和语法分析,被转换成一种树形结构,这棵树就是 AST。它描述的是 SQL 的语法结构,而不是最终怎么执行。 例如 SQL: SELECT name, a
阅读全文
posted @ 2026-06-06 14:09
aixueforever
阅读(199)
推荐(1)
摘要:
JIT 是 Just-In-Time Compilation,即“即时编译”。意思是:程序运行到某段代码时,才把原本解释执行的逻辑编译成 CPU 可以直接执行的本机机器码。PostgreSQL 文档给的典型例子是:不用一个通用表达式解释器去判断 WHERE a.col = 3,而是为这个具体条件生成
阅读全文
posted @ 2026-06-04 19:51
aixueforever
阅读(293)
推荐(2)
摘要:
ARM 和 x86 的关系 ARM 和 x86 的关系,简单来说:它们是当今世界上最主流的两大 CPU 指令集架构(ISA)阵营。 如果把 CPU 处理任务比作“看图纸盖房子”,ARM 和 x86 就是两种完全不同的工程语言和设计哲学。它们原本各自称霸一方(移动端 vs 电脑端),但现在正处于互相融
阅读全文
posted @ 2026-05-09 11:25
aixueforever
阅读(111)
推荐(1)
摘要:
CRDT(Conflict-free Replicated Data Types,无冲突复制数据类型) CRDT是分布式系统中的一种数据结构设计方法,用来解决多副本数据在并发修改时如何自动合并且不产生冲突的问题。 CRDT 的核心目标是:在没有中心协调的情况下,让多个节点各自修改数据,最终自动收敛到
阅读全文
posted @ 2026-04-11 21:42
aixueforever
阅读(119)
推荐(1)
摘要:
草图算法 草图算法 = 用极小空间 + 可控误差,快速近似处理超大规模数据 “草图算法(Sketching Algorithms)”是一类在大数据和流式数据处理中非常重要的技术,核心思想是:用一个非常小的“摘要数据结构(sketch)”来近似表示一个巨大的数据集,从而实现高效的计算。 草图算法(Sk
阅读全文
posted @ 2026-04-11 21:32
aixueforever
阅读(182)
推荐(1)
摘要:
C++ 任务窃取(Work Stealing) 任务窃取(Work Stealing)*是 C++ 并发编程(以及一般多线程编程)中一种非常高效的任务调度算法,主要用于解决多线程环境下的*负载均衡问题。 当你有很多小任务需要分配给多个线程执行时,传统的全局任务队列会导致严重的锁竞争。任务窃取算法通过
阅读全文
posted @ 2026-03-30 16:12
aixueforever
阅读(102)
推荐(1)
摘要:
Hash Join(哈希连接) 是关系型数据库(如 MySQL、PostgreSQL、Oracle 等)在处理表连接操作时非常经典且高效的一种算法。它特别适用于大表之间的等值连接(Equi-join),尤其是在参与连接的列上没有合适的索引时。 简单来说,Hash Join 的核心思想是:利用较小的那
阅读全文
posted @ 2026-03-14 22:07
aixueforever
阅读(119)
推荐(4)
摘要:
最大理论带宽 最大理论带宽(Theoretical Maximum Memory Bandwidth),不需要运行复杂的测试,只需要知道两个核心参数:内存频率和内存通道数。 1. 核心计算公式 内存带宽的计算公式如下: \[\text{Max Bandwidth (GB/s)} = \frac{\t
阅读全文
posted @ 2026-03-10 11:31
aixueforever
阅读(399)
推荐(1)
摘要:
这是一个非常经典的“软件并发 (Concurrency) 与硬件并行 (Parallelism) 碰撞”的系统级问题! 简单来说:DuckDB 的 PRAGMA threads 决定了任务被切分成几份(软件上的工人数量),而 taskset 决定了这些工人被允许进入哪个车间干活(物理硬件资源)。 针
阅读全文
posted @ 2026-03-07 14:41
aixueforever
阅读(52)
推荐(1)
摘要:
什么是NUMA架构 简单来说,NUMA(Non-Uniform Memory Access,非统一内存访问架构) 是一种为了提高多处理器系统(多核 CPU)处理效率的内存设计方案。 在传统的架构中,所有处理器访问内存的速度是一样的;而在 NUMA 架构下,处理器访问“离自己近”的内存比访问“远程”内
阅读全文
posted @ 2026-03-02 13:37
aixueforever
阅读(284)
推荐(1)
摘要:
在 Ubuntu Linux 上,要把 Intel Core i5(14 代,P/E 核混合架构) 的频率尽量固定在 Base~Max Turbo 区间内,可以按下面思路操作。 英特尔CPU信息查看网站:https://www.intel.com/content/www/us/en/products
阅读全文
posted @ 2026-02-26 16:57
aixueforever
阅读(285)
推荐(0)
摘要:
LSM-Tree 日志结构合并树 LSM-Tree(Log-Structured Merge-Tree,日志结构合并树)是一种分层、有序、面向磁盘的数据结构,其核心思想是充分利用磁盘的顺序写性能远高于随机写性能的特性,通过将随机写转换为批量顺序写来优化写入效率。这种结构最初源于Google的BigT
阅读全文
posted @ 2026-02-23 14:06
aixueforever
阅读(118)
推荐(0)
摘要:
数据库列存储和行存储的区别 什么是列存储(Column-oriented Storage)? 在传统的数据库中,数据是一行一行写入和读取的。而列存储(Columnar Storage)顾名思义,是将数据表中的每一列数据单独集中存储在物理磁盘上。 这意味着,表中同一列的所有数值会被连续地存放在一起。比
阅读全文
posted @ 2026-02-23 13:38
aixueforever
阅读(424)
推荐(3)
摘要:
数据库中的“哈希函数与布隆过滤器” 布隆过滤器的本质,就是一个有限长度的位数组(Bit Array)加上 \(k\) 个独立的哈希函数。 哈希函数决定了数据如何在这个位数组中留下“指纹”。 1. 核心映射关系:数据到比特位的“寻址器” 布隆过滤器本身不存储实际的数据库记录(如 user_id = '
阅读全文
posted @ 2026-02-22 22:17
aixueforever
阅读(225)
推荐(0)
摘要:
数据库三范式 数据库三范式 (Database Normalization) 就是一套“防坑指南”。 如果不遵守范式,你的数据库就会变成一个巨大的垃圾场,充满冗余数据(浪费空间)和异常(想改一个数据要改 100 个地方,改漏了就出 Bug)。 第 0 阶段:混乱的原始表 (Unnormalized
阅读全文
posted @ 2026-02-12 22:07
aixueforever
阅读(51)
推荐(1)
摘要:
回表 1. 为什么会发生回表? 想象你在图书馆查书: 索引(Index):就像图书馆的索引卡片。卡片上写着:书名《数据库原理》,存放位置:3排-B架-12号。 表(Table/Heap):就像书架上的实物书。书里才有具体的内容(作者、出版社、正文)。 如果你只想知道书名,看卡片(索引)就够了。但如果
阅读全文
posted @ 2026-02-12 15:18
aixueforever
阅读(381)
推荐(2)
摘要:
你在 D:\WSL2Ubuntu 里导入了 WSL2 Ubuntu,为什么 wsl -d Ubuntu 启动后目录不是 D:\WSL2Ubuntu? 这是因为: 📌 1. WSL 的根文件系统挂载方式 D:\WSL2Ubuntu 是 WSL 的存储位置(也就是你导入的发行版的 rootfs 存放目
阅读全文
posted @ 2025-09-03 22:44
aixueforever
阅读(210)
推荐(0)
摘要:
N5语法 简体中不出现です ます 形容词名词句用です表示敬体,动词句用ます表示敬体 先否定再过去 名词句 形容词句 在日语中,形容词分为两大类:一类形容词(い形容词) 和 二类形容词(な形容动词)。 二类形容词(形容动词) 和名词句的变化一致 一类形容词 总结:敬体和简体的区别就是敬体后面有です;
阅读全文
posted @ 2025-07-11 17:40
aixueforever
阅读(242)
推荐(0)
摘要:
副助词 日语中的副助词(副詞的助詞),副助词可以用在任意词后面。 以下是常见的副助词及其用法举例: 1. は(wa) 强调对比或者否定,表示主题。 例:私は学生です。 → 至少“我”是学生(也许别人不是)。 2. も(mo) 表示“也、都”,用于并列、追加信息,两个も翻译成都。 例:彼も学生です。
阅读全文
posted @ 2025-07-10 16:48
aixueforever
阅读(292)
推荐(0)
摘要:
常见格助词对照表 格助词只能接在名词后边 が表示主语,强调前面,是小主语; を表示宾语,但是表示能力、情感、愿望的对象使用が; を表示动作的起点或经过地点,へ表示动作的朝向,に表示具体的目的地; へ 朝向; と和,共同; から 从,まで 到(时间空间); より 比,从; の 的,同位语; で:在
阅读全文
posted @ 2025-07-10 15:49
aixueforever
阅读(188)
推荐(0)
摘要:
C++ Lambda 表达式 C++ 的 Lambda 表达式 是一种轻量级的 匿名函数,用于临时定义函数对象,常用于算法、回调、并发、事件响应等场景。 Lambda 表达式是定义内联函数的简洁方式,允许捕获外部变量,并在需要函数对象的地方直接使用。 一、基本语法 [capture](paramet
阅读全文
posted @ 2025-07-02 17:47
aixueforever
阅读(63)
推荐(0)
摘要:
在 C++ 标准库中,stream(流)是处理输入输出(I/O)的核心抽象,分为输入流(istream)、输出流(ostream)、输入输出流(iostream)等多种类型,且支持面向不同设备(文件、字符串、控制台等)的具体流类型。 Stream 类型 类别 主要类型及说明 头文件 输入流 std:
阅读全文
posted @ 2025-07-01 17:07
aixueforever
阅读(332)
推荐(1)