Skip to content

定义Definition

半群

施工中 · 内容逐步修订

Semigroup

带有结合二元运算的集合。

形式陈述 ​

半群是二元组 (S,∗),其中 S 是非空集合,∗:S×S→S 是满足结合律的二元运算:

(a∗b)∗c=a∗(b∗c)(a,b,c∈S).

运算的值仍在 S 中,这一封闭性已包含在箭头的陪域里。半群不要求单位元、逆元或交换律;此处采用底集非空的约定。

结合律使任意有限非空序列的乘积不依赖括号。例如四项时,可以逐步改写

((a∗b)∗c)∗d=(a∗b)∗(c∗d)=a∗(b∗(c∗d)).

每一步都把三个已经合法的半群元素代入结合律,因子次序始终是 a,b,c,d。对任意项数,证明思路是归纳处理最后一次运算两边的子表达式,再用结合律移动分界;这说明所有括号形式都能化为同一种形式。

对于单个元素,定义 a1=a、an+1=an∗a,便有 am+n=am∗an,其中 m,n≥1。这些幂表示重复使用当前运算;在加法半群里,a3 因而对应 a+a+a。若未指定单位元,尚不能统一定义零次幂或空乘积。

直觉

半群保留连续组合所需的最低结构。先把一串操作分成若干连续片段,各片段算出一个结果,再按原顺序组合,结果应与一次处理整串相同。字符串连接、矩阵乘法和状态转换都遵循这个规则。

“括号不重要”与“顺序不重要”是两回事。例如先写入状态再读取,与先读取再写入通常不同,但把三步过程的前两步或后两步封装为一个过程,不应改变整体含义。空过程需要额外指定单位元,撤销过程则需要更强的可逆性。

例子与边界

正整数在加法下构成半群,所需单位元 0 不在集合中。正偶数在乘法下也构成半群:两个正偶数相乘仍是正偶数,结合律来自整数乘法。若它有单位元 e,由 2e=2 必得 e=1,与 e 为正偶数矛盾。

非空字符串在连接下构成半群。把三个片段 ab、c、de 送入不同计算树:左边先拼成 abc 再接 de,右边先拼成 cde 再接 ab 的后面,最终都得到 abcde。但交换前两个片段会得到 cabde,已经改变了输入顺序。这里连接后的字符串依然非空,所以每个中间结果都留在同一底集中。

结合性不能由交换性推出。在实数上定义 a∗b=(a+b)/2,运算封闭且交换,但

(0∗0)∗2=1,0∗(0∗2)=12.

通常减法也失败:(5−3)−1=1,而 5−(3−1)=3。

另一种极端是非空集合 X 上的左零运算 x∗y=x。两种括号都给出 x,所以它结合;当 X 至少有两个元素时,它不交换,也没有双侧单位元。它还说明半群一般不能消去因子:任选不同的 y,z,都有 x∗y=x=x∗z。左因子 x 会抹掉第二个输入,等式因而不能反推出 y=z;结合性本身没有承诺保存信息。

推论与应用

给半群加入双侧单位元就得到幺半群。若原来没有单位元,可添一个新元素 e 并规定 e∗a=a∗e=a;这样空序列也有了乘积。再要求所有元素可逆,便进入群的范畴。

自动机读入一个词所产生的状态变换,可以按词的连接组合。有限状态集只产生有限多个这样的变换,因而半群和幺半群能把正则语言的识别转化为有限代数问题。区间聚合与并行前缀扫描同样依赖结合性:可改变计算树的形状,但对非交换运算必须保持叶子的原次序。动态规划中的摘要合并只有在确实满足这一接口时才能如此重排;一般状态转移并不自动构成半群。

参考资料
  • Alan Doerr and Kenneth Levasseur, Applied Discrete Structures,开放教材,§14.1 “Monoids”(在线版,访问于 2026-10-03)。
  • J. S. Milne, Group Theory,第 4 版课程讲义,2021,§1 “Definitions and examples” 中结合律、半群与空乘积的讨论。
关系图谱26 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置

上位 / 更一般

暂未标注直接上位概念。

下位 / 直接特例