日常でも色々な判断が必要になりますが、その時に条件を菜が得て対処する事になります。判断をする場合には、色々な判定が存在しますが、単体の判定と範囲の理解をしないと物の理解に至らない事があります。基本的に一つの事象であっても一致と不一致の反転は必要ですから、この条件を満たすためには、最低限判定の材料である項目と対象物の一致と言う条件を理解できる必要があります。これを体系化した物が 【 等式 】 になります。
その為、判定の基本は 【 一致 】 になりますが、この条件は単一の事象の実を抽出するような極端に狭い変域の指定なので、論理否定をするだけでそれ以外の膨大なデータを探す事もできます。つまり、一致の条件は 【 厳密な条件抽出 】 ですから、
のようなバンドパスフィルターの範囲を歔欷たんに狭くして他の条件を除外した時の中SY通結果になります。その為、
のような範囲Sていをした時の上限と下限が一致するような単体の条件に至るのが 【 等式 】 での判定になります。
有無の判定については、単一の物体の状態変化と同じなので、この条件では、 【 複数 】 に対応できません。つまり、複数を表現しようと思った場合、1bitの処理では、桁数を持たせる必要が出てくるので、パラレル化させる必要が出てきます。
その為、1BITの処理で判定をしようと覆うと個別のデータの有無の判断をする必要があるので、複数の場合にはそれぞれにインデックスを付けて判断をする必要が出てきますから、全数調査と言う統計調査のような状態になってしまいます。
判定を行う場合、事象に置いて使用する道具が違ってくるので、一致と不一致と言う二値の場合、どう言った事象へ対処するのかで用意する物も変わってきます。
基本的に二値は【 確定した結果の有無の判定 】しか出来ないので、この状態だけだと複数に対応できない為、それに対処する方法として、 【 集合演算 】 が存在する訳ですが、この時のデータの状態を示そうと思うと二値では対応できないので、物体と言う1つの状態が存在した時に大小と言う状態の差異をっ判断できる物を用意する必要が出てきます。この場合、視覚情報などの 【 感覚器官からのデータ 】 でも対処できるので、等号と言う一致以外の判定として 【 不等号 】 と言う状態の差異を指定する判定をする為の道具が存在します。
小学校では、最初に等式を学びますが、この等式は確定しか法則性を示す式と答えが一致するという形で登場するので、数学や物理を学習していると常に等式は出てくるわけですが、大小のような 【 規準を元に差異を判定する方法 】 は等式では作れません。その為、一致、不一致と言う判定ではなく、状態の差異を判断する道具として不等号が存在しています。
では、この感覚器官で大小を判断し、それを示す剛具があったとしても対処できない元もあります。それは、複数と言う状態です。現実世界には複数の種類の物が複数並んでいますが、樹木の構造を見ても、
■ 花
■ 葉
■ 枝
のように異なる物が複数密集している状態になっています。
この時にその集合をカウントするとしても感覚器官だけでは対応できないので、そうした状況に対応する為に 【 数字 】 が存在しています。数値を使う事で、1と言う単体が複数になっても十進数で対応できるので、数量のカウントをする事で個数を判断する事が出来ます。つまり、 【 集合の素巣数 】 を数値化できるので、異なる固体の同じ樹木に割いている花の数をカウントしても正確な差を理解する事が出来ます。
多い、少ないという判断は比較演算子レベルの状態でしかないので、前腕の長さや人差し指と親指の間の長さのように対角が違うだけで違う値になったり、成長するだけで同じ単位として証できなくなるような物を使った場合に発生する、自分を基準とした相対的な物と同じ状態になりますから、対比として考える場合、状態を正確に示す術が必要になります。この時に使用するのが数値になりますが、しっかりとした単位を用意し、それを元に適正な判断をする為の物として数値を使う事で、数値同士の比較をする事で、正確な差異を判断できるようになっています。
つまり、
■ 等号 : 一致(反対が不一致)
■ 不等号 : 大小
を用いる場合、正確な状態を示す必世があるので、数字で状態を示す事で正確な状況変化を理解する事が出来るようになります。
この時の基本は 【 一致・不一致 】 ですから条件を用意した時に一致する物を判断できるという基本的な能力を得る為に最初に等式が登場しますが、その判断の基準として必要となる基準となる物を使う為に小学校1年生や幼少教育で数字を学習する事になります。
小学校1年生の算数では、加減算を学びますが、これが、日常での推移で必要になる基本的な変化になりますから、増減と言う状態変化を数値によって示すための方法になります。
例えば、 【 人数 】 と言う物を考えた場合、状況によって図弦が発生しますが、増減と言う現象は、現状から考えた時の変化を示した物になりますから、元の状態が必要になります。この判断をする場合、
【 現状 】+【 状態変化 】=【 結果 】
が成り立つので、
【 元の状態 】+【 人が集まる 】=【 増加 】
【 元の状態 】+【 人が減る 】=【 減少 】
なので、状態の変化には、常に元の状態が存在し、それに対して何かしらの変化が加わった時にその結果が発生する事になります。その為、元の状態を現状とした場合、状態変化で未来の結果も解る訳ですが、計算式に利点は現状の判断だけでなく、予測もできる点にあります。と言っても、小学校ではこの法則や仕組みをしっかり理解する為に定数項を使うので、低巣項の値が決まっている場合にどう言った変化になるのだろうか?と言うのを考える事はできますが、常に定数項を意識してその値で考える事になります。これをもう少し融通が利くようにしたのが方程式になりますが、この練習として算数でも穴埋め問題が登場しますが、この時の□や()で式内の文字が空いている部分をアルファベットに置き換えた構造が一次方程式になります。これを連立方程式にすると、 【 2つの式で成立する条件から式内に存在する変数項の値を出す事が出来る 】 ようになりますが、こうした式の構造になって要るのが、 【 つる亀算 】 になります。
計算をする上では効率的な方法で簡素な式にして簡単期溶けるようにしていく方法が模索されているので、紀元前の発明品でも無駄な物を排除した方法が存在しています。ちなみに、小学校の数学のカリキュラムでもユークリッド原論でまとめられた内容が出てきますが、これも紀元前の数学的な発明品をまとめた物なので、幾何学と代数学における利便性のある物が登場します。
その為、紀元前に改名された法則性などもその時代の文明の中の建築や風土の中に溶け込んでいるので、古代建築が正確な形で生成されているのもその時代の知識レベルの高さによるものだと考える事が出来ます。
基礎学力を身に着ける場合、基本となる法則性は物事の根幹なので変わる事はありませんから、それを規準に物事が成立しているので、知識の拡張のための幹の部分を基礎学習で身に着ける事になります。義務教育の中で登場する効率化だと、
【 加算 】 ➡ 【 乗算 】 ➡ 【 累乗 】
がありますが、初期の基本の 【 状態変化 】 を示す式を用いた時、それを0に対して特定の回数繰り返して実行するという条件の場合、加算を個数分だけ用意するのは無理があるので、これを簡素な記述にする為の乗算を用います。これと並行して九九を覚える事になりますが、九九の表の場合、
■ 基本的に長方形の面積の公式
■ 同じ数値だと正方形の面積の公式
■ 同じ数値だと二乗の値
■ 9x1~9x9までの数値の10の桁と1の桁を足すと
9になる
のように違う物も同時に学習できてしまう訳ですが、九九を見ると、同じものを9回足すような式を9倍する事で対処できるような記述になって要る事が確認できます。累乗は桁を扱う時に使用しますが、この累乗の指数部分を変数として使用してその変化を扱う関数として 【 指数関数 】 が存在します。これは、高校の数学で登場しますが、この指数の変化をするような記述についても 【 乗算を個数分だけ行う処理を簡素にした物 】 なので、加算で書いた場合にはかなり絶望的な記述になる物を簡素な式で書くための物になります。
累乗もパターンなので、指数と値の組み合わせである程度数値が出てくるようにしておいた方が良さそうな気がしますが、コンピューターを使っていると、二進数の桁数の増加で発生する値は自然と出てくるので、見慣れた数値が多いと思いますが、十進数のように10の状態で左シフトと右シフトが発生し、小数点数を跨いだ後もその状態が維持されるような構造だと、指数の考え方もイメージしやすいと思います。
算数や数学で十進数を規準に行うのは、二進数の表記と十進数の表記が似通った状態になる事がある為ですが、通常の計算自体が日常で使用する十進数なので、十進数を基準としたカリキュラムで学習が進んでいきます。つまり、十進数を基準として別の法則性を使用する際にn進数を使う事になりますから、その返還方法を覚える事で単位のように相互変換が出来るようになります。
小学校では、1つの固体を示す時の尺度である1よりも小さなものを示す際にそれ以下の状態を示す階調を示す方法として小数点数を学習しますが、これも10の累乗を用いた場合、符号の付いた指数で示す事が出来ます。その為、指数の状態変化だけで整数と小数点数を使用できるのですが、累乗根も指定できるので、かなり万能な仕様になっています。この累乗の仕組みについては、高校になると中学校で学ぶよりも多くの使途がある事が確認できると思いますが、情報iもスタートしているので、現在だと、二進数と十進数の変換で使う異なると思います。
この時に素因数分解を使うので中学校3年生の数学の知識が必要になります。
浮動小数点数も桁数の多い概数と累乗の組み合わせのような物になりますが、桁の変化を与える作業だと単位変換で行う事になります。小学校のカリキュラムだと、等号と不等号を学ぶので、範囲の基礎を学ぶことができますが、図形との関連付けはしないはずなので、範囲の上限と下限にそれを用いて形を作るようなカリキュラムは存在しません、その輝度分野は中学校で始まりますが、これが連立不等式になります。
これは、【 美術や製作の分野で数学を使う 】 という基本的な考え方の基礎部分になりますが、中学校の数学では、関数で範囲指定をして図形の面積を出しますが、これが行えると、
【 形だけで判断しにくい形状の対比が出来る 】
ようになります。と言うのも、形が違ってもデータの総数である面積(数直線尾データを二次元化した物)や体積(面積のデータの次元を増やし三次元化した物)を出してしまえば、数値の対比で状態を判断できるようになります。中学校の理科では、比重も登場するので、物質の違いによって質量がどう変化するのかの判断する事が可能になり、数値の要素に付加情報を加えるKとでその数値を別のデータとして扱う事もできるようになります。これが、【 多次元化したデータの活用 】 になります。その為、中学校の数学では 【 グラフと図形の親和性 】 のような感じでカリキュラムが組まれていますが、高校だと連立不等式による範囲指定や使用している関数がそのまま物理の法則に出て来るような状態なので、中学校では仕組みがよく解らなかった物の仕組みを深掘りして、その法則性が数学で制御できることを学ぶことになります。
現在は、情報Iもスタートしているのでプログラミングを行うのが必須になってきますが、プログラミングをして動かす部分は判定部分なのでコントローラーに相当する場所になります。この場所に対して、論理ゲートを用いた回路を用意したり、マイクコンピューターを用意してコードを実行するような使い方になりますが、プログラミング言語をコンピューター上で動かして処理を確認する作業の場合、ハードウェア上の挙動をデバイスの表示をしながら確認している状態になります。数値の処理やアルゴリズムについてはバックエンドなので、ゲームなどのソフトウェアの場合、オフラインの単体動作の物だと、こうした数的な処理やデータ管理の上にウィジェットによる制御や座標制御用の法則性を考えて実装するような作業が発生します。
その為、ゲーム制作がそのまま行えるとかアプリケーション開発に直結しているとはいいがたいのですが、その中で使用するバックエンド部分の知識の基本は踏襲できるような気がします。
コンピューターを使う場合、プログラミングを行いますが、この作業は 【 処理を実装 】 ですから、状態に対して変化を与えてその結果を得るような仕組みを作る事になります。
その為、人が動く場合には、人が考え、判断しているような内容を何もない状態から実装する必要があります。流石に汎用型の物は膨大なコードになるのとリソースも相当な物になるので、特化型で考える事になりますが、学習段階だと、行う作業の内容を先に解析しておいて、工程表を作った際にどうすれば最適にその処理が行えるのか?を考える事になります。この時に数学的な判断をする事になりますが、コンピューターが登場するまでの成り立ちを考えると、その判断の方法がなぜ実装されているのかもイメージしやすくなります。
機 械と処理
機械での処理をする場合、パターン制御をする事で処理方法が同じで状態だけが変わる物に対応できるようになっていますが、こうした処理は歯車しか存在しなかった時代でも歯車の歯の数を定数として使用し、算術的な処理によって動くようになっていました。物体が動くためにはアクチュエーターが必要ですから、シーケンサーだけでは何もできないので、力学や材料学などの知識も必要になりますが、伝達手段として使用されている歯車にも面白い物が多く存在しています。例えば、万年時計の中の雲形歯車のように特殊な物も存在しますし、オートマタやカラクリやオルゴールが全盛の時代には歯車とバネの力で動く自動処理を行う機材が存在していました。オートマタやカラクリは動きが決まっているのでシーケンス制御ですが、オルゴールの場合、このシーケンス部分を外部デバイスで入れ替えて処理が出来るようになっていました。これが後にデータ制御のハードウェアとして産業用に転用されていく事になりますが、自動処理を考える場合には何かしらのギミックを考える必要がありますが、歯車の時代ですらデータ入力によって処理をすると言う概念が存在していました。
現在のハードウェアは、
■ シーケンス : 電気
■ 動的な処理 : 歯車
になっていますが、運動エネルギーの伝達は、便宜上、歯車を使いますが、計算などは電気で行っています。この理由は物理的な挙動だと速度が出ない為です。歯車の時代が終焉を迎えた時、電磁石で動作するリレー方式の計算機が登城しますが、これも物体お移動で動作するので、速い処理には対応できません。真空管など色々な物が登場しますが、結果的に現在の半導体に行きついています。
電磁石はリレータイマーとして現在も電気工作のパーツで存在していますが、これは 【 遅延回路 】 として使用できますから現在も販売されていますが、演算用で使用するとかなり遅くなります。現在は、普通科の高校の物理でも半導体を学習するので、 【 電子パーツの基礎知識 】 も身に付くようになっていますが、部品の基本構造だけを知る事になるので、実際に何に使われているのかは少しイメージがしにくいと思います。ただし、シリコンウェハ―を使って生成される修正の基礎的な部分については学習できるようになっています。
■ 半導体
半導体は胴体の状態を不安定にして、電子が安定して存在できないようにした構造の物で、シリコンと隣接する元素記号のものを合わせる事で
■ 電子の欠損
■ 電子の過剰
のような状態を作る事で、電気の流れが制御しやすいようにした物がこの構造物になります。半導体は2つ合わせるとダイオードになるので、極性を制御できる物になりますが、過電流が流れるとパーツが破損するので、抵抗で電流を調整して使用する事になります。これに発行する機能が付いた物がLEDで、スタジアムなどで使用されいるオーロラビジョンもLEDが使用されています。現在の製品だと、ミニLEDやマイクロLEDなどの技術もありますが、これもLEDを使った物になります。
マインクラフトだとレッドストーン反復装置(レッドストーンリピーター)が極性を持つパーツなのでダイオードに似た特性を持っていますが、
のように信号を送る事が出来るこのブロックにも極性のように送信する方向が決まっており、横からの信号を受け付けない仕様になっています。(例外としてレッドストーン反復装置で信号を送ると信号が伝わりロックがかかる仕様なのでそれを使ってラッチのような物を作る事もできます。)
半導体にはトランジスタがありますが、これには、
■ n型半導体
■ p型半導体
がありますが、これは一つの半導体を異なる半導体で挟んだ状態になっています。N型半導体を使う場合、ベースに電流が流れるとエミッタ、コレクタ間に電流が流れます。その為、ここに電流を流さない場合コレクタ、エミッタ間の電流で動作する回路を止める事が出来ます。その為、ベースの電源のスイッチを遠くに話して遠隔操作をしたり、センサーで動作するような条件を作ツ事も合できます。
n型とp型では電流の流れが上下反転しているのですが、n型のmosfetに抵抗を付けて運用すると抵抗が熱を持ち常に電流が流れるので電力効率が悪くMOSFETと一緒に抵抗まで熱を持つという灼熱な機材が出来上がります。これを解消する方法として、n型とp型の両方を使って動作するような仕組みにする方法があります。この構造で動作する半導体の構造がCMOSになります。
mosfetの場合電流の流れる向きは同じですが、ドメインとソースの向きが逆になっています。この辺りは使用するトランジスタのデータシートを参照してどう言った構造なのかを理解して結線する必要があります。
ちなみに、Pch MOSFET➡Nch MOSFETの順に繋いで接続すると、NOT回路(論理否定) ができるので、信号を反転させることができます。つまり、この構造にすると常に信号が流れ続ける状態ではない回路なので、省電力になロータリーオシレーターを作る事もできます。ロータリーオシレーターは、
のように動作する物になりますが、マイクラだと
のような構造になります。こうした物をトランジスタで作る事もできます。
コンピューター関連だと、NANDフラッシュメモリーが使用されている物もありますが、NANDゲートもCMOSの構成で作る事が出来ます。この場合、
■ Pch MOSFET : 並列
■ Nch MOSFET : 直列
に繋がった構造になりますが、この構造で配列をするとトランジスタだけでNANDゲートを作る事が出来ます。CMOS構造の利点は、 【 トランジスタだけで構成できる 】 ので、電力を使う場所を指定してパターンや配線で電流を取得すると必要な回路を動かす事が出来ます。
NANDにNOTを組み合わせると、ANDが出来るのですが、NORゲートは、NANDとは逆に、
■ Pch MOSFET : 直列
■ Nch MOSFET : 並列
になっています。これを反転させると、OR回路を作る事が出来ます。CMOSの構造にすると、N型とP型を組み合わせるだけでNOTゲートが作成でき、4つ使うとNANDやNORが出来るので、実質的に
■ AND
■ OR
■ NOT
の三つの論理ゲートを作る事が出来ます。ド・モルガンの法則から、この3つがあれば全ての論理ゲートが作れるので、様々な判定に対応できるようになります。この時の判定方法は論理演算ですから、高校の数学Aで登場する 【 集合と論理 】 のカリキュラムの内容を物理モデルを使って実際に動く物に転用した物になりますが、NANDゲートの場合、先程の三つのゲートを作る事はできますから、NANDを4つ用意するだけで作れるXORゲート(排他的論理積)を用意すると、ANDと組み合わせる事で半加算器(HA)を作る事が出来るので、二進数の最末尾の桁の計算が出来るようになります。この時に二つの値の加算をするのですが、これを末尾の桁にして、繰り上がりの入力に対応した加算器を追加する事で一つ上の桁の計算をする事が出来るようになります。これが全加算器(FA)になります。加算器で桁を増やす場合、
■ 半加算器(HA) : 1の桁
■ 全加算器(FA) : 2桁目以上
を繋いでいく事になりますが、利便性のある構造だと、全加算器だけで構築する加減算対応の二進数計算機もあるので、構造を考えるとそうした物を作る方が扱いやすくなります。トランジスタがN型とP型の二種類ある理由としては、トランジスタを4つ使った構成にするだけでなんにでも出来るNANDゲートが作れるので、それを複数用意して回路を組むことで加算器として使用する事もできるので省電力な状態で計算ができます。
■ 回路と計算
コンピューターは電気信号なので、減算と言う概念はありません。その為、加算とそのループ処理の乗算はできますが、減算の概念はありません。その為、1-1をそのまま電気信号で行う事は無理なので、別の方法を用いる事になります。計算機もそうですが、電気で計算をする場合、
【 減算処理も加算器で行っている 】
ので処理の内容としては 【 加算 】 になります。この辺りが、人の計算方法と機材の計算方法の違いになりますが、二値論理で減算処理をする場合には、 【 補数 】 を算出して加算する事で解を導き出します。こうした処理は日常生活だとイメージしにくい物だと思いますが、アナログ回路で計算をする場合もそう言った処理を実装して差を得る事になります。
計算としては元の数値と補数の和を算出しているのですが、出力結果は元の数と引く数の差になります。