モノイド
モノイド(monoid)
何かの集合と演算があったときに、以下を満たすものがモノイド
集合の中に単位元がある
定義
集合$ S と二項演算$ \circ の組み$ (S,\ \circ) があったとき、(M1)〜(M2)の条件を満たすときときモノイドとなる。 (M1)結合律(associativity)
3つの任意の元$ a,b,c (\in S) に対して、結合律
$ (a \circ b) \circ c = a \circ (b \circ c)
が成り立つ。
(M2)単位律(unit law)
$ S には単位元$ e が含まれていて、任意の元$ a \in Sに対して
$ e \circ a = a \circ e = a
が成り立つ。
例: モノイドの例
$ (\mathbb{\Z},+, 0)
$ (\mathbb{\Z},\times, 1)
$ (\mathbb{N},\times, 1)
自然数$ \mathbb{N} 、掛け算$ \times 、単位元1
この自然数は0を含まない自然数
$ (\Z_{\gt0},\times, 1)
0を含まない整数$ \Z_{\gt 0} 、掛け算$ \times 、単位元1
$ (\mathbb{Z}_{\geq 0},+, 0)
0以上の整数$ \mathbb{Z}_{\geq 0} 、足し算$ + 、単位元0
モノイドであるデータ構造
文字列
確認用
Q. モノイド
[]法則
[]元
Q. モノイドを緩めると
Q. モノイドをもっと制限したものは
参考
https://gyazo.com/57725b2d4385b1913c769ece522b33bb
文字列はモノイド
関連