代数系の基礎
何に使えるのか?
• ブール代数
– デジタル計算機、論理回路設計
• プログラムの意味論
– 型のチェック、型の整合性
• 分子や社会ネットワークの構造解析
• 暗号理論
• 「線形代数」も代数
今日の目標
代数系が集合と演算とから定義される離散構造であることを理解する
– 例:プログラムの動作をモデル化している
代数系に関する基本的な概念(性質)について理解する
– 可換性、結合性、etc
単位元、逆元について理解する
閉じた演算
関数 f: AnBを、集合Aで定義されたn項演
算と呼ぶ(以下では、二項演算に注目)
B⊆Aのとき、その演算を閉じた演算と呼ぶ
例:整数集合は、加算と減算と乗算については閉じているが、除算については閉じていない(なぜか?)
代数系
集合AとAで定義された演算f1, f2, …, fkとの組を代数系と呼び〈A, f1, f2, …, fk 〉などと記す
例1:Aが整数集合でf1が加算、 f2が乗算
例2:Σが文字の集合で、 f1が文字の連接(concatenation)
二項演算の性質(1)
閉包性: ∀a,b∈A, (a*b∈A) のとき、二項演算*はA上で閉じているという
可換性: ∀a,b∈A, a*b = b*aのとき可換でない例としては、正方行列の積など
結合性: ∀a,b,c∈A, (a*b)*c = a*(b*c)のとき結合性をもたない二項演算の例としては、除算な
どがある((6/3)/2 ≠ 6/(3/2))
二項演算の性質(2)
*と★を集合A上の二項演算とする
∀a,b,c∈A, a*(b ★c)= (a*b)★(a*c)かつ(b★c)*a=(b*a)★(c*a)のとき、*は★に関して分配的であるという– 分配的でない例:*が加算で★が乗算のとき
∀a,b∈A, A上の可換な二項演算*と★がa*(a★b)=aかつa★(a*b)=aを満たすとき、*と★は吸収律を満たすという
べき等律
∀a∈A, a*a=aを満たすとき、二項演算*はべき等律を満たすという
– べき等律を満たす例としては、集合和や集合積など
演算表
* a b c
a a b a
b b c a
c c a b
a*c = a c*a = c
↓
この代数系は可換ではない
単位元(identity)
任意のx∈Aに対してe*x=xとなるようなAの要素を、左単位元と呼ぶ
任意のx∈Aに対してx*e=xとなるようなAの要素を、右単位元と呼ぶ
• 左単位元でありかつ右単位元であるような要素を、単位元と呼ぶ
例
* a b c
a a b c
b b c a
c c a b
• この代数系は可換である(a*b=b*a)
• 左単位元はa(a*a=a, a*b=b, a*c=c)
• 右単位元もa(a*a=a, b*a=b, c*a=c)
注意
* a b c
a a b c
b b c a
c a a b
この代数系には、左単位元しか存在しない!
零元
任意のx∈Aに対してp*x=pとなるようなAの要素を、左零元と呼ぶ
任意のx∈Aに対してx*p=pとなるようなAの要素を、右零元と呼ぶ
• 左単位元でありかつ右単位元であるような要素を、零元と呼ぶ
逆元
〈A,*〉を単位元eをもつ代数系とする
x∈Aに対してy*x=eとなるようなAの要素を、aの左逆元と呼ぶ
x∈Aに対してx*y=eとなるようなAの要素を、 aの右逆元と呼ぶ
• 左逆元でありかつ右逆元であるような要素を、逆元と呼ぶ
例
Aが整数集合、*が加算のとき、単位元は0であり、xの逆元は-xである
Aが0を含まない実数集合、*が乗算のとき、単位元は1であり、xの逆元は1/xである
– なぜ0を含んではいけないのか
性質
• 〈A,*〉を単位元eをもつ代数系とする
• Aの任意の要素aに対して、aの左逆元bが存在し、かつ演算*が結合的であるとき、
1)aの右逆元もbである
2)aの逆元はひとつだけである
略証
• b*a = e 仮定(bがaの左逆元)から
• a*(b*a) = a
• (a*b)*a = a 結合律
• a*b = e x*a = a となるxは(左)単位元
• 逆元が唯一であることは、背理法によって証明できる
単位元や逆元の意味
• 代数系において、演算をすることは、状況を変化させることに対応している
• 「閉じている」ことは、状況をどのように変化させてもあらかじめ決めた範囲から逸脱しないことを意味している
• 単位元は、「足踏み」に対応する
• 逆元は、「巻き戻し」に対応する(単位元に関して定義されていることに注意)
半群、モノイド、群
今日の目標
閉じた代数系
– 結合律が満足されていれば「半群」という
半群+単位元=モノイド
モノイド+逆元=群
群はある意味で「完全体」
半群
• 代数系〈S,*〉を考える
– Sは空でなく、*はS上の二項演算とする
• 以下の2つの条件を満たすとき、 〈S,*〉を半群(semi-group)と呼ぶ:
1)*が閉じた演算であること
2)*が結合的な演算であること
可換性を要請していないことに注意!
例
正整数の集合は、加法に関して半群である
唯一の元xからなる集合 {x} は、x*x = x と置けば半群になる(自明な半群あるいは一元半群という)
集合 S から一つの元 0 を選び、S の演算を任意の元 x, y に対して x*y = 0 と定めると、S は半群である(零半群という)
例(つづき)
文字集合 Σ に含まれる文字から生成される有限な文字列全体の集合は、列の連接を演算とすることで半群になる(Σ から生成される自由半群という)
a * b = ab
ab * bc = abbc
abbc * bcbc = abbcbcbc
部分半群
• 〈S,*〉が半群であり、*がB⊆Sで閉じているならば〈B,*〉もまた半群である
• そのような〈B,*〉を〈S,*〉の部分半群と呼ぶ
• 例:Sが正整数の集合で*が加算のとき、偶数の正整数の集合は、加算に関して、部分半群を構成している– 奇数集合についてはそうではない。なぜか
モノイド
単位元が存在する半群をモノイドと呼ぶ
– モノイドは単系と訳されることもある
例:0 を含む自然数全体の集合Nは、加算について0を単位元とするモノイドであり、乗算に対しても1を単位元とするモノイドである
– 演算ごとに単位元が異なっていることに注意
その他の例
正の自然数全体の集合N+は、乗算に対して1を単位元とするモノイドである
– 0×1=0であることに注意!
集合SからS自身への写像全体の集合は、写像の合成を演算と考えることで、恒等写像を単位元とするモノイドとなる
自然数係数のn次正方行列全体の集合 Mn(N) は、加算に関しても(単位元は零行列)乗算に関しても(単位元は単位行列)モノイドである
モノイドの性質
• 〈S,*〉がモノイドのとき、その演算表の中に、値の同じ2つの行または2つの列は存在しない
– 単位元eに対して、e*c = e*bとなってしまうから(どこに矛盾があるのでしょうか)
例(2.7)
• A= { 0,1,2,3,4 }とする
• A上の演算*、★を以下のように定義する
a*b = a+b (mod 5)
a★b= a×b (mod 5)
• このとき、〈A,*〉, 〈A,★〉はいずれもモノイドである
定義に立ち返って証明してみること!
群
• 〈G,*〉を代数系とする
• 以下の4つの条件を満たすとき〈G,*〉を群(group)と呼ぶ:
1)*は閉じた演算であること
2)*は結合的な演算であること
3)単位元が存在すること
4)Gの各要素が逆元をもつこと
ここまでで半群
ここまででモノイド
例
整数, 有理数, 実数, 複素数は加法に関して群を成す
– 単位元と逆元はそれぞれ何か?
有理数, 実数, 複素数から0を除いたものは乗法に関して群を成す
– 単位元と逆元は?なぜ0を除くのか?
(実数係数の)n次正則行列全体の集合は、どの行列も逆行列を持つから群になる
– 「正則」ということばの意味は?
有限群
• 群〈G,*〉はGが有限集合のとき有限群と呼ばれ、|G|をその有限群の位数とよぶ
• Gが有限集合ではない群を無限群と呼ぶ
– 前述の例はすべて無限群
例
• A= { 0,1,2,3,4 }とし、A上の演算*を以下のように定義したとき、〈A,*〉は位数5の有限群である
a*b = a+b (mod 5)
可換群と巡回群
今日の目標
• 群の性質について理解する
– 「逆元がある」ことから何が導かれるのか
• 部分群について理解する
• さまざまな特殊な群について理解する
– 置換(対称群)、可換群、巡回群
群の性質
• 群には零元がない
– なぜか?
• 〈G,*〉が群のとき、∀a,b∈G, (a*x=b)を満たすxはG上に唯一つ存在する
– なぜか?
• ∀a,b,c ∈G, (a*b=a*cまたはb*a=c*a)であるとき、b=cである
– そのような性質を消去律と呼ぶ
べき等元
• 群〈G,*〉の唯一のべき等元は、単位元eである
– べき等元とは、代数系〈A,*〉において、a*a=aであるようなAの要素のこと
部分群
• 〈G,*〉を群とし、SをGの部分集合とする。〈S,*〉は、それ自身が群であるとき、〈G,*〉の部分群と呼ばれる
• 〈S,*〉が〈G,*〉の部分群であるとき、〈G,*〉の単位元は〈S,*〉の単位元でもある
例
• Gが整数集合、*が加算のとき、〈G,*〉は群である(単位元は0)
• Sを偶数の集合とすると、〈S,*〉は〈G,*〉の部分群である
– 〈S,*〉の単位元も0であることに注意しよう
– 3の倍数の集合、4の倍数の集合、…という風に部分群の「階層」を考えることができる
置換
• 集合Sから自分自身への全単射はSの置換と呼ばれる
• 記法:
= (4 3 2 5 6 1)
1
6
6
5
5
4
2
3
3
2
4
1
123456
123456
S S
対称群(symmetric group)
• 置換を要素とする群
• 置換群(permutation group)とも呼ばれる
• 置換の合成を(積)演算とする
• A = { 123, 132, 213, 231, 312, 321 }とすると、たとえば132*213は、「2と3を交換したあとで1と2を交換する置換を表しており、312と一致する
例(つづき)
* 123 132 213 231 312 321
123 123 132 213 231 312 321
132 132 123
213 213 123
231 231 123
312 312 123
321 321 123
• 312*231 = 123
• 231*312 = 123
可換群
• 群〈G,*〉の演算*が可換ならば、 〈G,*〉は可換群もしくはアーベル群と呼ばれる
• ニールス・ヘンリック・アーベル(Niels Henrik Abel, 1802年8月5日 - 1829年4月6日)はノルウェーの数学者
• 5 次以上の代数方程式には、べき根n√ と四則演算だけで書けるような解の公式が存在しないことに初めて正確な証明を与えた
• ガロア(フランスの数学者)とほぼ同年代
可換群の性質
• 群〈G,*〉が可換群であるための必要十分条件は、
∀a,b∈G, (a*b)*(a*b)=(a*a)*(b*b)
が成り立つことである
可換群はなぜ重要か
• 可換性を満足することで、いろいろな性質がすっきりと成立する
• 典型的には、代数方程式の可解性に関する議論とかかわっている
– 可換群の任意の部分群が正規部分群であること
– 任意の可換群が可解であること
可換でない群の例
• Aを正則行列の集合とし、*を行列積としたとき
• 単位元は単位行列
• 正則なので逆元は存在する(→群)
1320
58
12
34
43
21
85
2013
43
21
12
34
巡回群
• 〈G,*〉を群とする。
• 任意の要素b∈Gに対してb=aiとなるa∈Gが存在するならば、 〈G,*〉を巡回群と呼び、aをその生成元と呼ぶ
例
• A= { 0,1,2,3,4 }とし、A上の演算*を以下のように定義したとき、 〈A,*〉は巡回群である
a*b = a+b (mod 5)
• 2 = 1*1
• 1 = 3*3 (= 3+3 (mod 5))
• 0 = 1*1*1*1*1
巡回群の性質
• 任意の巡回群は可換である
• 〈G,*〉を生成元aをもつ有限巡回群とする。Gの要素数がnであるとき、単位元e=anかつ、G = { a, a2, …, an = e }である。
ブール代数の基礎
環(ring)
• 代数系〈A,★,*〉は、以下の条件を満たすとき環(ring)と呼ばれる
1) 〈A,★〉が可換群であること
2) 〈A,*〉が半群であること
3)演算*が演算★に関して分配的であること
通常、★を加法、*を乗法と呼ぶ
例
• 整数集合Zと通常の加法+、乗法×について、代数系〈Z,+,×〉は環である
– 加法に関しては可換
– 乗法に関しては半群(単位元がない)
• 同様のことは、有理数集合、偶数集合、複素数集合などについても言える
体(field)
• 代数系〈A,★,*〉は、以下の条件を満たすとき体(field)と呼ばれる
1) 〈A,★〉が可換群であること
2) 〈A-{θ},*〉が可換群であること。ここでθは、加法★の単位元である
3)演算*が演算★に関して分配的であること
例
• 有理数集合Qと通常の加法+、乗法×について、代数系〈Z,+,×〉は体である– 加法に関しては可換
– 乗法に関しても、0を除外すればOK
• 同様のことは、実数集合、複素数集合などについても言える
• 整数集合については、乗法に関する逆元が存在しないので、体ではない