トップページへ

理解度のバリエーションの発生原因

Access Count : 365

Copyright © 2021 TAKEHANA TADASHI
著作日時:2021.05.23.日. 14:16:00 著作者:竹花 忠
更新版著作日時:2021.05.28.金. 12:00:00 著作者、竹花 忠
理解度のバリエーションの発生原因:
 文章の中には、説明なしで使用される大量のことばが、通常、存在する。
 それらのことばの定義が既知であれば、定義の知識に不足はない。未知のものが使用されていれば、そのことばの理解に支障が出る。
 また、構文の知識、構文中の各語を、どういう対応づけで・どういう位置づけで、結び合わせて理解を進めてゆけばいいかの知識、に不足があれば、その構文での文意の理解に支障が出る。
 充足していれば、構文の知識に不足はない。
 定義の知識と構文の知識に不足がなかった時の文章は、その文意が理解できる。
 あとは、対象の理解にとって不足なく文章が記述されていあるなら、その文章から、対象についての理解を果たすことができる。
 文章に・情報に、不足があっても、不足している情報が特定できて、その情報が既知であって、その情報の適用が適正に遂行できる時には、文章・。情報、に不足があっても理解が果たせて行ける場合もある。
 たとえば、ピタゴラスの定理について述べられていなくて、ただ単に、斜辺が3でもう辺が1の図が描かれている。この時、面積が2πの円があった。この円は、先の三角形の長さが不明の1辺の長さを直径にしていると言える。
 そのような情報不足の文章であっても、ピタゴラスの定理と円の面積の公式を知っていれば、そしてそれが正しく適用できれば、この情報不足の文章が正しいことを述べていることが理解できる。
 この文章もまた、情報不足である。
 しかし、ピタゴラスの定理と円の面積の公式が既知で、それらを適正に適用できれば、正否を正しく理解できる。
 ピタゴラスの定理は、直角三角形の斜辺の長さの2乗は、他の2辺のそれぞれの長さの2乗の和に等しい、というものである。
 であるから、この定理を適用することで、3^2 = 1^2 + x^2が得られる。つまり、9 = 1 + x^2、すなわち、x^2 = 9 - 1。なので、x = √8であるから、x = 2√2。
 つまり、先の直角三角形の長さ不明の1辺の長さは、2√2である。
 円の面積の公式は、円の面積 = 半径*半径*π、である。
 判明した三角形の1辺の長さを半径だとして円の面積の計算をすると、2√2 * 2√2 * π = 8π、となる。
 判明した三角形の1辺の長さを直径だとして円の面積の計算をすると、(2√2 / 2) * (2√2 / 2) * π = √2 * √2 * π = 2πとなる。
 円の面積は、2πであった、ということなので、この円は、判明した三角形の1辺の長さを直径とした円であることが理解される。
 したがって、そのことを述べている上記の文章は確かに正しいことを述べていることが理解される。
 つまり、説明が省かれて、文章が不足して述べられていることもある。
 その場合、何が省かれているか、ここに適用されるべき知識は何か、が、確定できるだけの知識の持ち合わせがないと、そしてその知識を適正に適用した推論が完遂できないと、理解に支障を生じる。
 説明の省略は行われるべきではない。
 また、定義の説明の省略も、一般用語以外については、行われるべきではない。
 しかし、入門書ではないなら、もっと上級の読者を対象にした文章なら、一定の範囲の専門用語については、定義の説明の省略は仕方ないことである。
 構文の知識については、説明がなされることは、普通、期待できない。なんとか学習を果たしておくこと、果たしてゆくこと、が必要である。
 文章から理解を果たすためには、定義の知識、構文の知識、説明の省略、といった関門がある。
 それらの関門で躓くと、理解が滞ることになる。理解が果たせないで終わってしまうことにもなる。
 つまり、説明の省略がなくても、当該文章について辞無碍でないと、当該文章について義無碍に至れない。
 当該文章について辞無碍であっても、説明の省略がある文章でったなら、持ちあわている知識が充足していなければ、義無碍に至れない。
 なので、同じ文章を学習しても、持ち合わせていた知識次第で、理解に差が出ることが起こりえる。
 ちなみに、辞無碍、義無碍、は、四無碍智(=しむげち)、の定義を断章取義して使用している。つまり、宗教色を排して、ことばに精通していること、文章の意味内容に精通していること、という意味で使用している。

 評価・処理・使用、を予定している情報を積上げてゆく。
 ある種の記述から導かれる、その記述の理解のために、その記述の遂行のために、必要十分なだけ、情報を積上げてゆく。
 その際、積上げている情報の内容がすべて意識され続けながら。
 その上で、積上げきった情報を、最後に積上げ終えた側から、ひとまとまりずつ、評価・処理・使用、してゆく。
 そうすることで、評価・処理・使用、の実行を予定して積上げた情報のすべてについて、連鎖的に・次々に、評価・処理・使用、が済んで、それによって積み上げた情報が消費され尽くして、1組の・1セットの、値に転換されて、評価・処理・使用、が終結する。
 そういう、問題・取り組み対象・表現物、もある。
 再帰呼び出し関数(の、トレース・理解・シミュレーション・読解)がその例である。
 この場合、呈示されている再帰呼び出し関数の記述を格納するのに要する記憶容量の数倍以上の記憶容量が、評価・処理・使用、を予定している情報の積上げて保持するために必要となる。
 呈示されている分量の数倍以上の分量を積上げて保持したその内容が、意識し続けられて使用してゆけることが必要である。
 それに支障が生じると、その情報を使用した、評価・処理、が阻まれて、理解・トレース・シミュレーション・読解、が途絶してしまう。
 であるから、内容が意識し続けられて使用してゆける記憶容量が、取り組み対象が要求する情報の分量を格納するのに十分か不足しているかで、理解・トレース・シミュレーション・読解、ができたりできなかったりする。
 あるいは、理解・トレース・シミュレーション・読解、するのに要する手間がちがってきたりする。
 つまり、持ち合わせている知識の差だけでなく、どれだけの分量の情報が意識し続けられて使用してゆける記憶容量が確保できたかの差によっても、理解の成否が分かれる。

 ちなみに、再帰呼び出し関数の、理解・トレース・シミュレーション・読解、の1例を下記に挙げておく。
 min_max関数は、引数のリストの各要素のうちの最小値と最大値からなるタプルを返り値とする関数、である。
 このとき、min_maxの定義は、下記の通りである。
min_max [x] = (x, x)
min_max (x:xs) = (if x <= xsika then x else xsika
          ,if x >= xsijou then x else xsijou)
  where (xsika, xsijou) = min_max xs
 以上の定義のもと、min_max [1,2,3,4]が意味することは、min_max [1,2,3,4]はmin_max (1:[2,3,4])なので、まずは、
min_max (1:[2,3,4]) = (if 1 <= xsika then 1 else xsika
            , if 1 >= xsijou then 1 else xsijou)
  where (xsika, xsijou) = min_max [2,3,4]である。そして、その右辺については、
min_max (2:[3,4]) = (if 2 <= xsika then 2 else xsika
           , if 2 >= xsijou then 2 else xsijou)
  where (xsika, xsijou) = min_max [3,4]である。そして、その右辺については、
min_max (3:[4]) = (if 3 <= xsika then 3 else xsika
          , if 3 >= xsijou then 3 else xsijou)
  where (xsika, xsijou) = min_max [4]である。そして、その右辺については、
min_max [4] = (4, 4)である。この右辺には、関数が含まれていないので、定義の呼び出しの連鎖がここで終了する。
 なので、評価の実行を、予約・予定、しての、情報の積上げは、
min_max (1:[2,3,4]) = (if 1 <= xsika then 1 else xsika
            , if 1 >= xsijou then 1 else xsijou)
  where (xsika, xsijou) = min_max [2,3,4]
から始まって、呼び出しの連鎖が終了した
min_max [4] = (4, 4)
までで、積上げ終了である。
 つまり、
min_max (1:[2,3,4]) = (if 1 <= xsika then 1 else xsika
            , if 1 >= xsijou then 1 else xsijou)
  where (xsika, xsijou) = min_max [2,3,4]
min_max (2:[3,4]) = (if 2 <= xsika then 2 else xsika
           , if 2 >= xsijou then 2 else xsijou)
  where (xsika, xsijou) = min_max [3,4]
min_max (3:[4]) = (if 3 <= xsika then 3 else xsika
          , if 3 >= xsijou then 3 else xsijou)
  where (xsika, xsijou) = min_max [4]
min_max [4] = (4, 4)
が、記憶領域に、積上げられる必要がある。
 関数の定義として呈示されている記述、
min_max [x] = (x, x)
min_max (x:xs) = (if x <= xsika then x else xsika
          ,if x >= xsijou then x else xsijou)
  where (xsika, xsijou) = min_max xs
の2倍以上の記述が、理解を果たすためには、記憶領域に積上げられて意識し続けていられる必要がある。
 ところで、積上げが終了して、最後に積上げられたmin_max [4] = (4, 4)が評価されて、その1行手前のmin_max [4]が(4, 4)に置き換わり、したがって、xsikaが4、xsijouも4になる。
 そこで、その手前の、
min_max (3:[4]) = (if 3 <= xsika then 3 else xsika
          , if 3 >= xsijou then 3 else xsijou)
が、
min_max (3:[4]) = (if 3 <= 4 then 3 else 4
          , if 3 >= 4 then 3 else 4)
となって、
min_max (3:[4]) = (3, 4)
となる。
 なのでさらにその手前の、
  where (xsika, xsijou) = min_max [3,4]
のmin_max [3,4]が(3, 4)に置き換わる。であるので、(xsika, xsijou) = (3, 4)である。
 したがって、その手前の
min_max (2:[3,4]) = (if 2 <= xsika then 2 else xsika
           , if 2 >= xsijou then 2 else xsijou)
のxsikaが3に、xsijouが4に確定した。
 であるからさらに評価が進められて、
min_max (2:[3,4]) = (if 2 <= 3 then 2 else 3
           , if 2 >= 4 then 2 else 4)
 なので、
min_max (2:[3,4]) = (2, 4)である。
 したがって、その手前の
  where (xsika, xsijou) = min_max [2,3,4]

(xsika, xsijou) = (2, 4)に、評価される・確定する。
 したがって、その手前の
min_max (1:[2,3,4]) = (if 1 <= xsika then 1 else xsika
            , if 1 >= xsijou then 1 else xsijou)
が、
min_max (1:[2,3,4]) = (if 1 <= 2 then 1 else 2
            , if 1 >= 4 then 1 else 4)
となり、従って、
min_max (1:[2,3,4]) = (1, 4)
と確定した。
 min_max (1:[2,3,4])は、min_max [1,2,3,4]であるから、これで、min_max [1,2,3,4]が(1, 4)であることが得られた。
 つまり、ここまでで、積上げられてあった、評価が実行されることが予約されてあった情報の評価がすっかり済んで、(1, 4)というデーターセットが返り値として得られた。
 min_max [1,2,3,4]の意味することは、(1, 4)であった。引数のリストの最小値は1で、最大値は4、ということを表す、(1, 4)を、min_max [1,2,3,4]は、意味していた。