知識の仕組み

  • "Listは再帰性を特徴とするデータ構造"という話からの「脱線」話題
  • 知識を考える。こちらのように
  • 切り口がいろいろあるのだが、この記事ではこんな風に考えてみることにする
    • 知識はこれ以上小さくできないという「要素」がn_0個あるものとする
    • n_0個の要素の亜集合を取って、それを組み合わせて(ただの集まりとしてもよいし、グラフを作ってもよいし、記号論理とか一階述語論理とかk階述語論理とかにしてもよい(そんな論理も「要素」から作っておかないといけないのだけれど))たものを、やはり「知識」とすることとする
    • 要素のいくつかを使ってできた「知識」もあらたに、「要素」に加えることとする
      • たとえば、何かしらを学んだ末に、ある「定理」が理解できたとする。その「定理」はより小さな要素から構成されているが、次に何かを理解して新知識を定着するときには、その「定理」を要素として使うこととして、「定理」の中身の詳細については「わかったもの」として詮索しないで知識を積み上げることができる、そんな状況を想定している
    • このようにすると、n_0個の要素を組み合わせて新たに生じせしめる知識が\delta_{1}個あるとすると、この時点でn_1 = n_0+\delta_1個の知識があることになる
      • ちなにみ、n_0個の要素を集合として、そのべき集合の要素数2^{n_0}個あって、ここで空集合は知識ではないので排除することにすると、n_0 \le n_1 \le 2^{n_0}-1なる関係があるだろう
    • このステップを何度も繰り返していくものとする
      • n_i \le n_{i+1} \le 2^{n_i}である
  • ここで、新たにできる知識について、要素の組(亜集合)についてのみ考慮して、その内部の構造については、無視することにする
  • そのような単純化をしても、このステップにより、最大で、n_0,2^{(n_0)}-1,2^{(2^{(n_0)}-1)}-1,2^{(2^{(2^{(n_0)}-1)}-1)}-1...なる勢いで知識が増えて行く
    • n_0=3の場合で、3、7、127、1.701412 \times 10^{38}...、とこのようにあっという間。
  • もちろん、こんな「あっという間」の増大ではなく、n_i-n_{i-1}がわずかずつになっているのが実状だろう
  • では、n_0,n_1,n_2,n_3,...と増えて行くときに、この(n_i)のベクトルが同じであれば、それは知識体系として同じなのか、そうでないなら、どこが知識体系として違いとして大きいのか、ということを考えてみる
    • n_0=4として
      • \{\1=\{1\},2=\{2\},3=\{3\},4=\{4\}\}とする
    • n_1 = n_0+2=6として
      • \{5=\{\{1\},\{2\}\},6=\{\{3\},\{4\}\},\1=\{1\},2=\{2\},3=\{3\},4=\{4\}\}とする
    • n_2 = n_1 +1=7として
      • \{7=\{\{5\},\{3\},\{4\}\},5=\{\{1\},\{2\}\},6=\{\{3\},\{4\}\},\1=\{1\},2=\{2\},3=\{3\},4=\{4\}\}]と
      • \{7=\{\{5\},\{1\},\{3\}\},5=\{\{1\},\{2\}\},6=\{\{3\},\{4\}\},\1=\{1\},2=\{2\},3=\{3\},4=\{4\}\}との
      • 2種類を考える
      • 上の例では\{7\}は表面的には3つの要素で構成され、そのうちの一つ\{5\}がさらに2つの要素で構成されているので、実質的には、4つの要素で構成されている
      • 下の例では\{7\}同様に表面的には、3つの要素で構成され、そのうちの一つ\{5\}がさらに2つの要素で構成されているところまでは、上の例と同じだが、\{5\}の構成要素のうちの一つは\{7\}の表面的構成要素の1つである\{1\}であって、実質的には3つの要素で構成されている
      • 下の方が複雑な感じがするが、その真偽のほどは「複雑とは何か」を決めないとはっきり言えない
  • 何が違うかと言えば、基本要素の数n_0が少ないままに、構成的なn_iの値を大きくしているか、n_0を多くして、同等のn_iを達成しているか、という違いに、ひとつ眼が行く
  • また、n_0の値とn_iの値が等しい場合に、あっちでも使い・こっちでも使いとなっていたり(分岐木のようになっているか、サイクルのあるグラフになっているか)
  • 幾重にも入れ子になっていたり
  • 入れ子の具合が「ロシア人形マトリョーシカ」のように「玉ねぎの皮むき」のように、包含関係だけでできているか、包含関係に順序が入れられないような構造になっているか
  • なども問題になりそうである
  • さて、こんな具合の「知識体系」を納めるデータ構造には入れ子(recursive)が不可欠っぽいけれど、どんな風にすればよいだろうか?
  • さらに、それが(神経の)回路でできているとしたら、どんな仕組みで可能だろうか?