構造とアルゴリズムと関数

機械学習技術 人工知能技術 プログラミング技術 デジタルトランスフォーメーション 深層学習 自然言語処理 ITシステム 機械学習における数学 本ブログのナビ
構造とアルゴリズムと関数

今回は遠山啓の「代数的構造」より、構造とアルゴリズムと関数について。

構造とはwikiによると「ひとつのものを作りあげている部分部分の組み合わせかた[1]。ひとつの全体を構成する諸要素同士の、対立・矛盾・依存などの関係総称[2]。複雑なものごとの 部分部分や要素要素の 配置や関係」とある。数学の世界では、この「一つのものを作り上げている部分部分」をなるべく抽象化してそれらの関係を求めるということが基本のアプローチとなる。

数学とは数の学と書くが、古代からそれがすべてかというとそうではなく、例えば幾何学の世界は空間や図形の学問であって必ずしも数の学ではない。遠山はこれらを受けて、数学の起源として人類のもののパターンを認織する能力をあげている。本書によると、このパターンを認織する能力により複雑なこの世界を理解可能な形に切り出して、学問として昇華し数学として成り立たせていると述べられている。これは例えると、1,2,3,…というシンプルな数の概念も、単純に数だけではなく2個のりんご、2個のみかん、2人の人間、2匹の犬等の異なるものの間にある共通の形態、もしくはパターンの抽象化により導き出されたものが2という抽象的な概念であるとしている。

ここで構造(パターン)を考える上で重要なのは、対象を構成要素にまで分解し、それらの相互の繋がりを考えた上で全体を精査する作業と述べられている。前述の例だと2個のりんごは2つという属性の他にりんごそのものが持っている赤いや丸いや果物等の属性(の集合)を持つ、同様に2個のみかんや2人の人間も異なる様々な属性(の集合)を持ち、それらの重なっている部分(積集合)が共通の形態に(すなわち2という構造)になっているものと解釈できる。

この構造は時間軸というものがない静的なものである。この静的なものに対して時間軸を加えたものがアルゴリズムとか関数と呼ばれるものとなる。アルゴリズムとは一定の順序に連結された操作の連鎖である。例えばあるけ計算を行う場合は、離散的な操作の連続となる。これをさらに連続的な連鎖としたものが微分方程式となる。この操作の集まりを群という。操作と関数、y=f(x)と定義した時、x,yはそれぞれ働きを受けるモノと、f()は働きもしくは操作そのものとなる。つまり、x,yは名詞的な’モノ’であるのに対して、f()は動詞的な’はたらき’となる。

この動詞という観点で数学を見ると、たとえば以下のような操作(動詞)を考えた時

a:”シャツを着る”

b:”上着を着る”

c:”オーバーを着る”

abは”シャツを着て、上着を着る”、bcは”上着を着てオーバーを着る事を表す。通常の数学的世界ではab=baとなるが、この世界では”シャツを着て上着を着る”という操作と”上着を来てシャツを着る”という操作では結果が異なるため、ab≠baとなる。また(ab)cは”シャツを着て上着を着てオーバーを着る”となりa(bc)は””シャツを着てその上で上着を着てオーバーを着る”となり最終的な結果は同じとなり(ab)c=a(bc)という数学の世界での結合則が成り立つ。

このように普通に使っていた数学のシンボルの世界も、前提となる公理や定理が異なる世界では異なるが生じることとなる。”形式言語と数理論理学“で述べた形式論理学や数理論理学は、この抽象化されたシンボルの世界をどう扱うかの学問となり、ものの持つ意味へのアプローチとなる。さらに”集合論の概要と参考図書“で述べていた集合論、あるいは”論理学をつくる 第1部論理学をはじめる 読書メモ“等で述べている論理学もこれらを考える上での基礎となる。

 

コメント

  1. […] これらは単純にベクトルの近さだけではなく、何らかの軸(ラベル等)で繋げていかなければ意味的な類似を判定できないことをしめしている。このような関係性の構造を用いたアプローチでは単純な機械学習だけではなく「数理論理学」等を用いた論理学を組み合わせる必要がなる。 […]

  2. […] 構造とアルゴリズムと関数 言語の構造への数学的アプローチ […]

  3. […] 構造とアルゴリズムと関数 数学から見た要素間の関係 […]

  4. […] 構造とアルゴリズムと関数 言語の構造への数学的アプローチ […]

  5. […] の集合」ができる。このように作った2の異なる同値類の集合の間には全く共通の要素がない。2項関係は”構造とアルゴリズムと関数“で述べている代数学でも現れる概念となる。 […]

タイトルとURLをコピーしました