船乗りの航跡

地球の姿と思い出
ことばとコンピュータ
もの造りの歴史と生産管理
日本の将来

グローバル化への準備---コンピューターの知識(3):ソフトウェアの理論

2012-08-10 | ことばとコンピューター
「コンピューターの知識(2)」から続く。

(3)コンピューターの論理
ここでは、コンピューターの考え方と基本的な論理(ロジック:logic)を紹介する。

1)数式の意味
まず、数学の“=”とコンピューターの“=”の違いを説明する。図10の左側のC=A+Bは数学の数式であると同時に、FORTRANやBASICなど、コンピュータープログラムに出てくる数式でもある。

数学のC=A+Bは、左から右に読み、Cの内訳はA+Bと解釈する。しかし、コンピューターでは、AとBの値を加えた結果をCに記録するという意味になる。言い換えれば、C←A+Bの意味である。

             図10 代入式
           
             出典:E.I.Organick著「A FORTRAN IV Primer」1967 (フォートランIV入門)

次に、前回の磁気コアで説明したが、データの「読み込み(Read-in)」は「上書き」、「読み取り(Read-out)」には「読み取られても、もとのデータは変化しない」という特性がある。

この特性を、図11では“Destructive Read-in(破壊的な読み込み)”と“Nondestructive Read-out(非破壊的な読み出し)”という言葉で説明している。

      図11 データの読み込み(Read-in)と読み出し(Read-out)
     
      出典:E.I.Organick著「A FORTRAN IV Primer」1967 (フォートランIV入門)

図11の左側は、AとBのデータを入れ替える方法を示している。また、図の右側は、入れ替えがうまくいかない方法である。ここで、AとBのデータは数値や文字データなど何でもよい。

左の図では、Step1でAのデータをT(任意の仮置き場所)に退避させる。次のStep2でBのデータをAに書き込む。最後のStep3でTに退避していたデータをBに書き込む。これでAとBのデータを正しく入れ替えることができる。

他方、右の図のStep1は、BのデータをAに書き込む。この時点でAのデータは、Bのデータで上書きされる。次に、AのデータをBに書き込む。しかし、AのデータはすでにBのデータに置き換えられているので、AとB共にBのデータとなり、データの入れ替えはうまくいかない。

コンピューターのデータ更新は、「追加」「変更」「削除」のいずれかである。このうち「変更」の処理では、変更する前にそのデータを仮置き場に退避させ、不用意にデータを消去しないように配慮する。

2)論理回路
コンピューターの基本的な論理は、ANDとORという回路で成り立っている。AND回路は電気部品の直列接続、OR回路は並列接続であり、これらは懐中電灯の電池の接続に見られる。他にNOT、NAND(Not And)、NOR(Not Or)回路などがあるがANDとOR回路から派生した回路である。

図12は、S1とS2というスイッチで作ったAND回路とOR回路である。もちろん、S1とS2はBistate Element、スイッチの代わりに磁気コアやトランジスターなどでもよい。言うまでもないが、今日ではこれらの回路はLSIになっており、コンピューター言語や情報の条件検索に使われている。

   図12 AND回路とOR回路の真偽表(Truth Table for AND & OR)
   

図12には、AND回路とOR回路のTruth Table for .AND.(アンド真偽表)とTruth Table for .OR.(オア真偽表)を示している。それぞれの真偽表は、T=True(真=オン)、F=False(偽=オフ)の組み合わせである。
【注:Truth Tableの和訳は真偽表、真理表、真理値表など、ここでは真偽表とする】

AND回路では、S1とS2ともにT(オン)のときだけ回路の豆球が点灯する。豆球が点灯すればAND回路の条件が満たされたことを意味する。もし、S1またはS2または両方がF(オフ)の場合は、豆球は点灯しない。このようなS1とS2の状態(T=オンかF=オフ)と豆球の状態(T=点灯かF=点灯せず)との関係をアンド真偽表という。

また、OR回路では、S1とS2が共にTまたはどちらかがTの場合はOR回路がT、S1とS2ともにFの場合はOR回路がFになる。

参考だが、19世紀の英国の数学者 G. Boole(1815-1864)が提唱したブール代数にちなみ、ANDやORの論理をブール論理(Boolean Logic)ともいう。

(4)コンピューターと情報処理(Information Processing)
1940~50年代のコンピューターは、主に弾道計算や自動制御などに使われる計算機だった。

その後、記憶容量が増大するにつれて、コンピューターは会計や給与計算に利用され、いわゆる汎用コンピューターに発展した。この頃、コンピューターは単なる高速計算機から情報処理の領域に踏み出した。

80年代から盛んになったデータベースやオンラインシステムの構築は、情報処理の典型的な例である。この頃から、コンピューターは社会のあらゆる分野に浸透し、グローバルな情報化社会の形成に大きく貢献した。

ここで、データと情報の違い、情報には2つの意味があること、さらに情報処理の本質を一般論として説明する。

1)データ(Data)
ある会社の社員の基本給を考える。Aさんは29万円、Bさんは23万円など、個々の金額を基本給データという。この段階では、Aさんの29万円は他の社員に比べて高い、あるは安いとは言えない。この29万円という数字は、一つの客観的な数値、つまり単なるデータにすぎないからである。

2)情報(Information:インフォメーション)
すべての社員の基本給を把握し、整理したとき基本給の平均、最高、最低、最も社員数が多い金額など、基本給の情報が明らかになる。ここではじめて、Aさんの29万円が他の社員に比べて安いとか高いとかを判断できる。

社員の基本給から得た情報をその会社の内部情報(Internal Information)という。この内部情報に対して、同業他社や他業界、国内や海外の基本給データや情報を外部情報(External Information)という。この外部情報を得る手段は様々である。業界団体や公的なデータとして入手する方法、情報収集の専門会社から有料で入手する方法などがある。

3)インテリジェンス(Intelligence:インテリジェンス)
内部情報と外部情報を合わせて分析し、自社の給与水準は他社より高いなどと新しい情報を得る。もしデータや情報に疑問があれば、再調査や追加情報を収集する。ときには、うわさ(Rumor)も分析の対象になる。この段階では、データや情報収集力と分析能力がキーポイントになる。

ここから得られる情報をインテリジェンスという。ここでの情報という言葉は、情報将校(Intelligence Officer)の情報、アメリカ中央情報局(CIA:Central Intelligence Agency)の情報である。企業の場合は、この情報(インテリジェンス)にもとづいて戦術や戦略を検討する。
【注:インテリジェンスの和訳は、知能、知性、聡明、機密情報、諜報など】

ここまで3回にわたって、コンピューターの基礎知識を紹介した。それは、すべてのデータは“0”と“1”の組み合わせ、また基本的な論理はAND回路とOR回路だった。

最後に、情報処理のもうひとつの常識「garbage in, garbage out:ガービッジイン、ガービッジアウト(コンピューターが高性能でも、ゴミを入力すればゴミしか出てこない)」を挙げるが、これがコンピューターと情報処理の本質かも知れない。

次回の「英語と他の言語(1)」に続く。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする