0

一般の結合則、交換則

73
0

はじめに

結合則と交換則が成り立つ → 任意の並べ替えが可能

これが昔からイマイチ分からなかったので考えてみました。
厳密な論理展開ができているかは不明ですが、そこそこ納得できる感じになった気がします。

結合則

結合則

(ab)c=a(bc)
のとき、結合則が成り立つという。

この記事では
abcのような「カッコなしの表記」は、前から順に計算すると約束しておく。

一般の結合則

n3以上の自然数とする。
n個の積に対して、どのようにカッコをつけても演算結果は変わらない。

数学的帰納法をつかって
「どのようにカッコを含んでいても、すべてのカッコを外せる」ことを示す。

n=3のとき、結合則の定義より成立する。

仮定

n1個までの積について命題が成立すると仮定する。
つまり、n1個以下の積に対して、自由にカッコを付け外しできる。

数がn個の場合の検討

n個の数a1,a2,a3,,anの積があり、適当なカッコを含んでいるとする。
anを含むカッコのうち一番外側にあるものに注目し、その開始位置をkとする。
該当するカッコがない場合は、k=nとする。
a1(a2a3)a4ak1(akan)
積を、k個目より前とk個目以降に分けて考える。
前者はk1個の積なので、仮定よりカッコはすべて外せる。
同様に
後者のカッコ内で入れ子になっているカッコはすべて外せる。
a1a2a3ak1(akan)
よってk=nのとき、すべてのカッコを外すことができる。
k<nのとき、カッコを追加して以下の形にする。
a1a2a3ak1((akan1)an)
積の結果は数なので
s1=a1a2a3ak1
s2=akan1
とおくと、積は
s1(s2an)
と書ける。結合則より
s1(s2an)=s1s2an
s1,s2を戻すと
s1s2an=a1a2a3ak1(akan1)an
仮定より
a1a2a3ak1(akan1)
の部分はカッコを外せるので、積は
a1a2a3an1an
となる。よって、この場合にもすべてのカッコを外せる。
したがって、3以上のすべての自然数nについて命題が成立する。

交換則

交換則

ab=ba
のとき、交換則が成り立つという。

一般の交換則

n2以上の自然数とする。
積について結合則と交換則が成り立つとき、
n個の数の積に対して、積の順序をどのように変えても演算結果は変わらない。

交換則、結合則を用いて隣接互換を実現できることを示す。

次の積を考える。
a1a2a3akak+1an
一般の結合則より
a1a2a3(akak+1)an
カッコ内に交換則を適用して
a1a2a3(ak+1ak)an
カッコを外して
a1a2a3ak+1akan
以上の変形から
「結合則と交換則の組み合わせにより任意の隣接互換を実現できる」と言える。
また一般に
有限回の隣接互換を用いて列を自由に並び替えることができる
したがって、命題が成り立つ。

隣接互換

隣接互換

列に対して「隣同士の要素を入れ替える操作」を隣接互換という

有限回の隣接互換を用いて任意の並びをつくることができる

隣接互換によって列A0を並び替えて、任意の列Bをつくれることを示す。

一般に、列において「直前の要素と入れ替える隣接互換」を繰り返すことで
特定の要素を先頭に移動させることができる。

A0=(a1,a2,a3,,an), B=(b1,b2,b3,,bn)とする。
A0,Bの初めのm項が一致するとき、
両者の部分列(am+1,,an), (bm+1,,bn)を考える。
ai=bm+1なるaiについて、aiを部分列の先頭に移動する。
得られた列をA1とすると
A1Bは、少なくとも初めのm+1項が一致する。
同様の操作を繰り返すと、有限回(t回とする)の操作の後、AtBが完全に一致する。
よって、A0に有限回の隣接互換を行ってBに一致させることができる。

投稿日:202452
更新日:202454
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

tanu
29
19044

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 結合則
  3. 交換則
  4. 隣接互換