惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

SecWiki News
SecWiki News
I
InfoQ
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
博客园 - Franky
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
博客园_首页
罗磊的独立博客
V
V2EX
李成银的技术随笔
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
True Tiger Recordings
Vercel News
Vercel News
Cyberwarzone
Cyberwarzone
Cisco Talos Blog
Cisco Talos Blog
F
Fox-IT International blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
M
Microsoft Research Blog - Microsoft Research
Know Your Adversary
Know Your Adversary
爱范儿
爱范儿
The Register - Security
The Register - Security
G
Google Developers Blog
The Hacker News
The Hacker News
Malwarebytes
Malwarebytes
S
Securelist
博客园 - 三生石上(FineUI控件)
Jina AI
Jina AI
T
Threat Research - Cisco Blogs
T
The Exploit Database - CXSecurity.com
S
SegmentFault 最新的问题
博客园 - 叶小钗
F
Fortinet All Blogs
Apple Machine Learning Research
Apple Machine Learning Research
宝玉的分享
宝玉的分享
博客园 - 聂微东
T
Threatpost
博客园 - 【当耐特】
D
Docker
P
Privacy & Cybersecurity Law Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
G
GRAHAM CLULEY
V
Visual Studio Blog
C
Cisco Blogs
IT之家
IT之家
S
Security Archives - TechRepublic
Latest news
Latest news
阮一峰的网络日志
阮一峰的网络日志

hsfzxjy 的博客

解决 VSCode + CMake + MSVC 编译器信息乱码的问题 使用 3090 部署 1.58bit 动态量化版 DeepSeek R1 671b 如何在 VS Code DevContainer 中配置 HTTP 代理 如何在跳板机背后的服务器上使用 VS Code Remote - Containers Cohesive Digests for Ints and Floats Rust 中的隐匿概念 —— Place(位置) 美术馆 一尺之槌,日取其半,1075日而竭 老生常谈:使用 Cloudflare 自选 IP 加速站点访问 辩义 State、Nation 与 Country 将 Base64 编码的数据快速转换为 Uint8Array 折腾 NPU·第1章 —— 搭建 Level Zero 开发环境 折腾 NPU·第0章 —— Intel NPU 概述与 Level-Zero 新增域名 monad.run CSS 中为特定字符设置不同字体 Arbitary Lifetime Transmutation via Rust Unsoundness Dijkstra 算法的延伸 Manacher 回文计数算法 硬卧 Go Fact: Zero-sized Field at the Rear of a Struct Has Non-zero Size Display *big.Rat Losslessly and Smartly in Golang 代码的仪式 Building Electron From Scratch Some Notes on Kotlin Coroutines Git sparse-checkout and partial clones for Mega-Repos 辩义“封建” Diving from the CUDA Error 804 into a bug of libnvidia-container Modern Cryptography, GPG and Integration with Git(hub) Move the Root Partition of Ubuntu A New Programmer Kicks a Roadblock Git-based Dependencies in Dart and Go Reversy Naming 人类一败涂地 Invalid Golang Pointers Can Bite You Even If You Don't Dereference Side Project(副业) A Flaw of Promoting Complex Trait Bounds in Rust Initialize Process Pool Worker with Individual Value Rust - Python FFI From Scratch [Extending Hexo For My Site] Part 1 - Better Mathjax Rendering [Extending Hexo For My Site] Part 0 - Preface Debug a 'torch.tensor(1).cuda()' hanging 不自由的互联网 Retrieve Contents over HTTP without curl or wget [Unravelling mocona] Part 1 - Verbosity or Anti-Pattern [Unravelling mocona] Part 0 - Preface Understanding pickle in Python Rough Notes on Deploying Vaultwarden & NextCloud Bookmarks 语言狂热者与实用主义者 Demystify the randomness in CUDA kernels Performant Bulk Mutations in IndexedDB Auto Rebuild .pyx Files with pyximport Cython and Threads Obtain a Random Available TCP Port with Bash Information Theory: KL Divergence Information Theory: Entropy and Mutual Information 铁板烧 西郊线 Proof of the Gumbel Max Trick Option::as_ref Rc, RefCell and Interior Mutability Visualizing Correlation 三月十日杂感 三月一日杂感 二月十一日杂感 一月二十六日杂感 SS Configuration 一月七日杂感 四月·病 Haskell 笔记:State Monad Haskell 笔记:Monad 引论 Haskell 笔记:Applicative Haskell 笔记:Category Theory and Functor Haskell 笔记:data, type, newtype Haskell 笔记:folds 使用 Aria2 在 Ubuntu 中下载百度云资源 从伪并行的 Python 多线程说起 一个 Reentrant Error 引发的对 Python 信号机制的探索和思考 Linux 文件权限 HSFZMUN 4.0 部署小记 午后雨·科大 最后的雨夜·广州 揭秘·变态的平方根倒数算法 神坑·Python 装饰类无限递归 Python“黑魔法”之 Encoding & Decoding Ubuntu 重新映射键盘布局 为什么我要翻墙 Python“黑魔法”之 Generator Coroutines 数学美 之 判断线段相交的最简方法 除夕杂感 17 行代码实现的简易 Javascript 字符串模板 Python“黑魔法”之 Meta Classes 诗集 生活,需要被“发现” 家书·十八岁成人礼 炫技?还是需求? 【译】响应式图片的现状 【译】“为什么有这么多的编程语言?” Wisecity 商赛总结——也谈前端自动化测试 记一次 DoS 诈骗网站的经历 不能说的秘密
中式亲属称谓研究之一:构建半群
2023-06-15 · via hsfzxjy 的博客

前段时间在 V2EX 的一个帖子 /t/943948 中看到了一个有趣的问题:

在中文的亲属称谓体系中,我们会有“爸爸的爷爷”与“爷爷的爸爸”是同一个人,即“爸爸”和“爷爷”这两个称谓是可交换的。那么是否可以找到一个准则,以归纳所有这样的可交换称谓对?

欲解决这个问题,我们可以先使用群论对亲属关系进行建模,在此基础上分析其代数结构,进而得出亲属关系可交换的条件。本系列期用两篇博文阐述这一理论。此为其第一篇,将介绍亲属半群的建立以及该代数结构的相关性质。

同/长辈亲属集合 $\mathcal{Z}$

在开始研究亲属关系之前,我们需要明确“亲属关系”一词所指代的范围。

不同于英文语境,中文对家族中的亲属关系有着非常细致的划分。在学术上这套亲属术语被称为苏丹型系统,需要考虑更多的可能性。本系列只关注中文语境下同辈以及长辈的亲属关系,同时采用较为宽松的等价关系,将某些差别不大的亲属关系视为同一种,以降低讨论的复杂度。

具体而言,我们定义同/长辈亲属集合 $\mathcal{Z}$。$\mathcal{Z}$ 中将包含大部分的同辈称呼,如配偶、兄弟姐妹,以及更远的姐夫、弟妹等;$\mathcal{Z}$ 中也将包含所有的长辈称呼,包括父母、爷爷奶奶,以及叔嫂婶丈等。为此,我们对 $\mathcal{Z}$ 作出如下的生成式定义:

  1. $自身 \in \mathcal{Z}$;
  2. $n \in \mathbb{Z}^+$,$z_1, z_2, \ldots, z_n \in \{父亲,配偶,兄弟,姐妹\}$,则 $z_1 的 z_2 的\ldots 的 z_n \in \mathcal{Z}$。

其次,本文在考究两个称谓的等价性时,仅关注其在家族树上的位置,而忽略年龄的因素。这意味着:

  • $\mathcal{Z}$ 中的元素虽然形如“什么的什么”,但如果某个日常生活中的称呼与其中一者等价,则该称呼也被视为 $\mathcal{Z}$ 中的一员。如“爷爷”也是“爸爸的爸爸”,故有 $爷爷 \in \mathcal{Z}$。
  • 如果两个称谓的在家族树上的位置相同,仅凭年龄对立,本文将其视为集合 $\mathcal{Z}$ 中的同一个元素。例如,兄和弟、姐和妹、叔和伯在 $\mathcal{Z}$ 中皆为一个元素。
  • 本文不着眼于某个具体的家族,而是讨论普遍意义下的亲属关系。也许在你的家族中,你的父亲没有兄弟,但在本文中,叔伯总是 $\mathcal{Z}$ 里一个合法的元素。
  • 本文将忽略一些合乎道德的巧合。比如你的姐姐的配偶可能是你的哥哥的配偶的哥哥——这合乎道德,但是本文不认为这两个称谓是等价的。

此外,我们将如下集合 $\mathcal{Z}_*$ 称为 $\mathcal{Z}$ 的基本元集

$$\mathcal{Z}_*=\{自身,父亲,兄弟,姐妹,配偶\}$$

同时为了方便起见,我们简记 $E=自身$,$F=父亲$,$B=兄弟$,$S=姐妹$ 以及 $W=配偶$。

称谓结合运算 $\odot$

为了让集合 $\mathcal{Z}$ 呈现某种代数结构,我们还需引入其上的运算。一个很自然的想法便是把“的”抽象为运算,为此我们有

定义 1 (称谓结合运算)  设 $z_1,z_2,z_3 \in \mathcal{Z}$ 为三个亲属称谓,如果“$z_1$ 的 $z_2$”在前述的等价关系下与 $z_3$ 等价,则记 $z_3=z_1\odot z_2$。$\odot$ 被称为“称谓结合运算”。$\blacksquare$

为确保 $\odot$ 是定义良好的,我们必须消除某些情形下的多义性,从而 $z_1\odot z_2$ 只有至多一个结果。在现实中,如果 $z$ 为男性,则“$z$ 的兄弟的兄弟”可能是“$z$ 的兄弟”或是 $z$ 自身。本文则规定“$z$ 的兄弟的兄弟”仍是“$z$ 的兄弟”,而忽略另一义项。这种规定会影响如“亲属称谓简化”等其他问题,但不会影响这个系列所探讨的可交换性问题。相似地,我们对“姐妹”也作同样处理。

有了良定的映射 $\odot$,我们可以进一步结合 $\mathcal{Z}$ 的定义知 $\odot$ 在其上是封闭的,进而 $\odot$ 是 $\mathcal{Z}$ 上合法的二元运算。事实上,我们还有

定理 1  集合 $\mathcal{Z}$ 是 $\mathcal{Z}_*$ 的有限生成。$\blacksquare$

这也是“基本元集”起名的由来。接下来,我们可以讨论运算 $\odot$ 的一些性质。

$\odot$ 的结合性与 $\mathcal{Z}$ 半群

若期望在 $\mathcal{Z}$ 上进行代数演算,$\odot$ 的性质不能太差,比如至少要有结合性 $(z_1 \odot z_2) \odot z_3 = z_1 \odot (z_2 \odot z_3)$。

那么,$\odot$ 是否有符合结合律呢?由于 $\mathcal{Z}$ 是 $\mathcal{Z}_*$ 的有限生成,我们只需验证 $\odot$ 在 $\mathcal{Z}_*$ 上的结合性即可。为此,我们可以先列出五个基本元两两间的乘法表

$\odot$EFWBS
EEFWBS
FFFFFWFBFS
WWWFEWBWS
BBFBWBS
SSFSWBS

借助这张乘法表,读者容易验证任意三个基本元之间 $\odot$ 运算的结合性,此处不展开阐述。于此,我们知道 $\odot$ 是 $\mathcal{Z}$ 上的一个结合性运算,从而 $\mathcal{Z}$ 在运算 $\odot$ 下构成一个半群。

除此之外,从表中我们还能发现 $E$ 是一个特殊的元。任何元素 $z \in \mathcal{Z}$ 与 $E$ (左或右)运算的结果皆为 $z$ 自身。于是,$\mathcal{Z}$ 还是一个含幺半群,其幺元为 $E$。在含幺半群中,我们可以良好地定义元素的方幂

定义 2 (方幂)  若 $n \in \mathbb{Z}^+, z \in \mathcal{Z}$,则定义

$$z^n=z \odot z \odot \ldots \odot z\quad (n 个)$$

特别地,我们定义 $z^0=E$。$\blacksquare$

为了方便起见,下文会将 $z_1 \odot z_2$ 简记为 $z_1z_2$,就像我们熟悉的乘法一样。

$\mathcal{Z}$ 半群的经验性质

在这一节中,我将介绍 $\mathcal{Z}$ 半群的一些经验性质。这些性质派生自人们普遍认同的对亲属关系的理解,是 $\mathcal{Z}$ 的内在结构。后续定理的证明会用到这些性质。

首先,亲属关系的讨论应该是与起点无关的。如果一条关于亲属关系的断言成立,并且这条断言的起点是“自身”,那么将“自身”换成其他 $z \in \mathcal{Z}$ 也应该同样成立。这对我们后续的讨论很重要。现在让我们来考虑一条平凡的断言——“假设 $z_1$ 和 $z_2$ 是两个亲属关系,如果‘自身的 $z_1$’与‘自身的 $z_2$’等价,则 $z_1$ 与 $z_2$ 等价”。使用上述替换,我们将得到 $\mathcal{Z}$ 中一个重要的准则

性质 1 (左消去律)  $\forall z,z_1,z_2\in\mathcal{Z}$,$zz_1=zz_2 \Longrightarrow z_1=z_2$。$\blacksquare$

这有点像数域中的“在等式两边同除某个数,等式依然不变”,但在 $\mathcal{Z}$ 中,只有两项左边部分相同时才能这么做。

其次,我们可以将亲属关系中“辈分”这一概念抽象化。由于基本元集 $\mathcal{Z}_*$ 中只有 $F$ 父亲一项对辈分有贡献,一个亲属关系的辈分很自然地被定义为其中 $F$ 的数目

定义 3 (辈分数)  设 $z \in \mathcal{Z}$,若存在 $a_1,a_2,\ldots,a_n \in \mathcal{Z}_*$,使得 $z=a_1 a_2 \ldots a_n$,则定义以下 $G(z)$ 为 $z$ 的辈分数: $G(z) = | \{ i : a_i = F \} |$。$\blacksquare$

注意到 $G(z)$ 的定义与 $a_1,a_2,\ldots,a_n$ 的具体选取无关——换言之,一个亲属关系的不同分解中 $F$ 的个数都是相同的。于是我们有

性质 2 (辈分定理)  $a_1,\ldots,a_n,b_1,\ldots,b_m\in\mathcal{Z}_*$,若有

$$a_1a_2\ldots a_n=b_1b_2\ldots b_m$$

则有 $G(a_1a_2\ldots a_n)=G(b_1b_2\ldots b_m)$。$\blacksquare$

除此之外,我们还可以将伦理关系纳入讨论。考虑一个同辈的基本元 $a \in \{B,S,E\}$,其配偶 $aW$ 的家族通常而言不会与我们父系的家族有关联 1,故我们有

性质 3  若 $a \in \{B,S,E\}, b \neq W$,则关于 $x,y$ 的方程 $aWbx=Fy$ 无解。$\blacksquare$

进一步地,考虑两个同辈的基本元 $a,b \in \{B,S,E\}$,如果 $a \neq b$,则他们的配偶的家族也不会有交集。故有

性质 4  若 $a,b \in \{B,S,E\}, c,d \neq W$,则关于 $x,y$ 的方程 $aWcx=bWdy$ 有解当且仅当 $a=b$。$\blacksquare$

有了以上的铺垫,我们可以进入本文最重要的主题了。

$\mathcal{Z}$ 半群的标准分解

想要探究一个代数结构更深层次的结构,我们需要有一种形式标准地表示出其中所有的元素。读者可以类比整数环上的质因子分解——借助质因子分解我们可以研究更多的数论性质。类似地,$\mathcal{Z}$ 中也有这样一种分解形式。不过在那之前,我们需要了解配偶分解的概念。

定义 4 (配偶分解)  对于 $z\in\mathcal{Z}$,若序列 $\pi=(\pi_1,\pi_2,...,\pi_n)\in\mathcal{Z}$ 满足

$$z=\pi_1W\pi_2W\ldots W\pi_n$$

,则称 $\pi$ 为 $z$ 的一个配偶分解。$n$ 被称为配偶分解 $\pi$ 的长度,记为 $|\pi|$。$x$ 所有配偶分解的集合记为 $\Pi(x)$。$\blacksquare$

配偶分解即是将一个元表示为若干以“配偶”为分隔的项。一个元可能会有许多个配偶分解,考虑到 $W$ 有特殊性质 $W^2=E$,我们可以消去其中的平凡项,仅保留长度最小的形式。为此我们定义

定义 5 (最小配偶分解长度)  $\Pi(z)$ 中长度最小者,其长度被称为 $z$ 的最小配偶分解长度,记为 $L(z)$

$$L(z)=\min_{\pi \in \Pi(z)} |\pi|$$

。由于诸 $|\pi|$ 取值为正整数,他们的下确界 $L(z)$ 必存在,且也为正整数,因此这个定义是良好的。 $\blacksquare$

如果某个 $z$ 满足 $L(z)=1$,我们称其为一个标准因子。标准因子有着唯一的形式

定理 2 (标准因子的形式)  $z \in \mathcal{Z}$,若 $L(z)=1$,则 $z$ 可以唯一地写成 $z=F^my$,其中 $n\geq 0$, $y \in \{B,S,E\}$。

证明 (存在性)  由 $L(z)=1$ 知 $\exists (a_1,\ldots,a_n)\in \{F,E,B,S\}$,使得 $z=a_1\ldots a_n$。结合 $EF=BF=SF=F$ 的特性,我们可以不断将序列中的 $F$ 元与其左边的项合并,直至其左边为 $F$ 或其成为最左边的项为止。因此,我们可以不失一般性地假设存在 $1 \leq k \leq n$,使得

$$\begin{aligned} a_i&=F, &1\leq i \leq k; \\ a_j &\in \{B,S,E\}, &k < j \leq n. \end{aligned}$$

其次,利用 $BB=SB=B,BS=SS=S$,可将 $a_{k+1}a_{k+2}\ldots a_{n}$ 进一步化简为单一元 $y \in \{S,B,E\}$。如此一来我们便构造出 $z$ 的一个符合条件的分解。

(唯一性)   假设存在 $m,n\geq 0$, $b,c\in\{B,S,E\}$ 使得 $z = F^mb = F^nc$。由辈分定理我们有 $m=n$,结合左消去律可得 $y=z$。故这样的分解是唯一的。$\blacksquare$

最后,我们有 $\mathcal{Z}$ 上的标准分解定理

定理 3 (标准分解)  对任意 $z \in \mathcal{Z}$,存在唯一的 $\pi_z \in \Pi(z)$,使得 $|\pi_z|=L(z)=n$,并且 $\pi_z$ 的第 $k$ 项为 $\pi_k=F^{p_k}a_k$,其中 $p_k \geq 0, a_k \in \{B,S,E\}$。换言之,$z$ 有如下唯一的标准分解

$$z=F^{p_1}a_1WF^{p_2}a_2W\ldots W F^{p_n}a_n。$$

证明 (存在性)  由于 $\pi_z$ 已是 $z$ 长度最小的配偶分解,我们有

$$L(\pi_1)=L(\pi_2)=\ldots=L(\pi_n)=1$$

,由定理 2 可知诸 $\pi_k$ 有着唯一的形式 $F^{p_k}a_k$,进而我们总能构造一个符合条件的标准分解。

证明 (唯一性)  若同时存在 $x$ 的两种不同分解

$$\begin{align} x &= F^{p_1}a_1WF^{p_2}a_2W\ldots W F^{p_n}a_n \\ &= F^{q_1}b_1WF^{q_2}b_2W\ldots W F^{q_n}b_n \end{align}$$

利用左消去律我们可以消去两个序列开头的相同项,因此可以不失一般性地假设它们在开头便产生分歧。这会导致几种可能

  1. 若 $p_1 = 0, q_1 > 0$,由第一个序列,$x$ 形如 $a_1Wcx$,其中 $c \neq W, x \in W$;另一方面,由第二个序列,$z$ 形如 $Fy$,其中 $y \in W$。然而由性质 3 可知,这样的 $x, y$ 不存在。
  2. $p_1 = p_2 = 0$,且 $a_1 \neq a_2$。则 $z$ 可以同时写为 $a_1Wcx$ 与 $b_1Wdy$,其中 $c \neq W,$ $d\neq W,$ $x,y \in \mathcal{Z}$。然而由性质 4 知,这样的 $x, y$ 不存在。

两种情况皆会导致矛盾。因此,我们有 $z$ 的分解是唯一的。 $\blacksquare$

总结

本文使用群论的手段为中文语境下的亲属称谓建立了模型,提出了其若干性质,并最终证明了 $\mathcal{Z}$ 半群中元素的标准分解定理——这将成为我们拆解亲属称谓的有利工具。在下一篇博文中,我们将借此讨论两个亲属称谓可交换的充分必要条件。

  1. 前面说过,仅考虑家族树上的位置,不考虑可能的偶然。

作者:hsfzxjy
链接:
许可:CC BY-NC-ND 4.0.
著作权归作者所有。本文不允许被用作商业用途,非商业转载请注明出处。