“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。
md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。
要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。
在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。
要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。
工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。
写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。
适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。
你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。
全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
应用范畴论课程笔记:从偏序集到协作设计的七篇速写
本文系统梳理了John Baez基于Fong & Spivak《组合性的七篇速写》开设的应用范畴论课程,展示范畴论如何作为统一语言建模偏序、资源理论、数据库与协作设计。
课程概览
这门课程由John Baez(加州大学河滨分校数学物理教授)主讲,Simon Burton将课程内容整理为精美的网页。课程完全基于Brendan Fong与David Spivak的教材《Seven Sketches in Compositionality: An Invitation to Applied Category Theory》(《组合性的七篇速写:应用范畴论邀请》)。教材标题中的“七篇速写”对应课程七个章节,每章通过具体应用场景引出范畴论的核心概念,而非从抽象定义出发。
课程的核心主张:范畴论不是纯数学的象牙塔,而是描述系统组合性的通用语言。无论是偏序关系、化学反应网络、数据库模式还是协同设计中的可行性反馈,其底层结构都可以用范畴论的构造(函子、自然变换、伴随、Kan扩张、富范畴)来统一刻画。
第一章:有序集(Ordered Sets)
1.1 从序关系开始
课程从预序(preorder)起步。预序是一个集合X上满足自反性和传递性的二元关系≤。如果进一步要求反对称性(a≤b且b≤a ⇒ a=b),就得到偏序集(poset)。
为什么从预序开始?因为预序是范畴的简化版:每个预序对应一个小范畴,其中对象是集合元素,从a到b的态射存在当且仅当a≤b。自反性保证每个对象有恒等态射,传递性保证态射可复合。
1.2 Galois连接
Galois连接是两个预序之间的伴随对。设(P,≤)和(Q,≤)为预序,一对单调函数f: P→Q和g: Q→P构成Galois连接(f是左伴随,g是右伴随)当且仅当:
f(p) ≤ q ⇔ p ≤ g(q)
这是范畴论中伴随函子的特例。课程用大量实例说明:
- 逻辑中的存在量词和全称量词是Galois连接
- 子集与划分之间的映射构成Galois连接
- 代数闭包算子源于Galois连接
1.3 逻辑与划分
课程深入探讨了子集的逻辑和划分的逻辑。子集的逻辑对应布尔代数:交(∧)和并(∨)分别对应逻辑与和逻辑或。划分的逻辑则不同:划分的“交”(两个划分的公共加细)和“并”(两个划分的最小共同加粗)不满足分配律——这被称为生成效应(generative effects)。
生成效应是范畴论视角的一个关键洞察:某些系统的整体行为(两个划分的并)不能简单地由各部分行为(单个划分)组合预测。这在复杂系统建模中至关重要。
1.4 伴随与完备格
课程证明了偏序集版本的伴随函子定理:如果P是完备格(任意子集有上确界和下确界),那么一个保所有并的单调函数一定有右伴随。这为计算伴随提供了系统方法。
第二章:资源理论(Resource Theories)
2.1 资源与组合性
第二章将视角从“比较大小”转向“组合资源”。核心结构是幺半预序(monoidal preorder):在预序基础上增加一个二元运算⊗(称为“张量积”),满足单调性(a≤b且c≤d ⇒ a⊗c≤b⊗d)和单位元(存在e使得e⊗a≈a)。
2.2 例子:化学反应与调度
- 化学反应:反应物和产物构成预序(通过反应可达性),张量积表示同时拥有两类物质。
- 任务调度:任务之间的“先于”关系是预序,张量积表示并行执行。
- 制造业:原材料清单作为资源,生产流程作为态射。
2.3 对称幺半预序与交换幺半偏序集
当张量积具有对称性(a⊗b ≅ b⊗a)时,称为对称幺半预序。如果进一步要求交换性(a⊗b = b⊗a),得到交换幺半偏序集。这个区分很重要:在化学反应中,2H₂ + O₂ → 2H₂O 涉及交换性(顺序无关),但某些制造流程中顺序可能重要。
2.4 定价与单调映射
**幺半单调(monoidal monotone)**是保持张量积结构的单调函数。例如,给资源定价:价格函数p: R→[0,∞)满足p(a⊗b)=p(a)+p(b),且资源转换a≤b意味着p(a)≥p(b)(因为产物不应比原料更贵)。
2.5 外部性与富范畴
课程讨论了外部性(externalities):某些资源消耗会产生未定价的副作用(如污染)。这引向更一般的结构——富范畴(enriched categories)。预序是Hom集取值于布尔代数{0,1}的富范畴;如果Hom集取值于[0,∞](Lawvere度量空间),就可以量化资源转换的“成本”。
2.6 Lawvere度量空间
Lawvere度量空间是富范畴的一个关键例子:对象是点,Hom(x,y)给出从x到y的距离。三角不等式d(x,z) ≤ d(x,y)+d(y,z)恰好对应范畴的复合公理。这揭示了“度量”与“范畴”之间的深层联系。
第三章:数据库(Databases)
3.1 范畴作为模式
第三章将数据库模式建模为范畴:
- 对象:表的类型(如“雇员”、“部门”)
- 态射:外键约束(如“雇员”到“部门”的“工作部门”函数)
- 等式约束:路径等价(如“雇员的经理的部门”等于“雇员的工作部门”)
3.2 函子作为实例
一个数据库实例是函子F: C→Set,其中C是模式范畴,Set是集合范畴。每个对象c映射到一个集合F(c)(表内容),每个态射f: c→d映射到一个函数F(f): F(c)→F(d)(外键关系)。
3.3 自然变换作为数据迁移
数据库之间的迁移由自然变换建模。给定两个模式C和D,以及它们之间的函子I: C→D,那么从D-实例到C-实例的“拉回”操作对应预复合:F ↦ F∘I。更一般的迁移(如数据仓库中的ETL)需要Kan扩张。
3.4 左Kan与右Kan扩张
Kan扩张是范畴论中“最佳逼近”的概念。给定函子F: C→E和I: C→D,
- 左Kan扩张 Lan_I F: D→E 是“最自由”的逼近
- 右Kan扩张 Ran_I F: D→E 是“最保守”的逼近
在数据库语境中,左Kan扩张对应“根据已知数据填充新表”,右Kan扩张对应“根据约束条件推断缺失值”。
3.5 自由与遗忘函子
课程介绍了自由-遗忘伴随对:遗忘函子U: Cat→Graph(忘记复合规则,只保留有向图结构)和自由函子F: Graph→Cat(根据图生成自由范畴)。这为理解“范畴的表示”提供了代数视角。
第四章:协作设计(Collaborative Design)
4.1 富预层与可行性关系
第四章将视角转向系统间的交互。核心结构是富预层(enriched profunctor):给定两个富范畴X和Y,一个富预层Φ: X → Y是一个富函子Φ: X^op ⊗ Y → V(其中V是基富范畴)。
在协作设计中,X表示“需求空间”,Y表示“能力空间”,Φ(x,y)表示“在需求x下,能力y是否可行”的可行性程度(取值于某个成本度量)。
4.2 闭幺半预序
为了实现富预层的复合,需要闭幺半预序(closed monoidal preorder):存在内部Hom对象,使得Hom(a⊗b, c) ≅ Hom(a, [b,c])。这对应数学中的“指数”或逻辑中的“蕴含”。
4.3 弦图与紧闭范畴
课程引入了弦图(string diagrams)作为可视化工具,并讨论了紧闭范畴(compact closed categories):每个对象都有对偶,允许“弯曲”的弦图。这为描述反馈回路(如控制理论中的环路)提供了代数基础。
4.4 反馈与组合设计
协作设计中的反馈通过“cap”和“cup”操作实现:
- cap: I → X ⊗ X^*(创建资源对)
- cup: X^* ⊗ X → I(消耗资源对)
这些操作允许将系统的输出反馈到输入,形成闭环。课程用多个讲座逐步构建了完整的协作设计框架,最终在“大综合(Grand Synthesis)”中统一了前四章的概念。
课程特色与价值
- 应用驱动:每个概念都从实际问题引出,避免纯抽象。
- 渐进式难度:从预序→幺半范畴→富范畴→Kan扩张,螺旋上升。
- 组合性哲学:强调系统由组件组合而成,范畴论提供组合的代数规则。
- 跨学科案例:涉及化学、经济学、计算机科学、控制理论。
Baez在最后一讲中说:“这不是结束,甚至不是结束的开始,而是开始的结束。”课程为读者打开了应用范畴论的大门,后续可以深入Fong & Spivak的教材、阅读Baez的物理应用论文,或探索范畴论在机器学习(如Optics、梯度计算)中的新应用。
延伸阅读
- Fong, B., & Spivak, D. I. (2019). Seven Sketches in Compositionality: An Invitation to Applied Category Theory. Cambridge University Press.
- Baez, J. (2006). Quantum Quandaries: A Category-Theoretic Perspective. In Structural Foundations of Quantum Gravity.
- Spivak, D. I. (2014). Category Theory for the Sciences. MIT Press.