科学的方法
科学的方法とは
情報科学は科学である。科学とは科学的方法に基づく学問である。科学は自然科学で発 達したため、実験が重要である。科学的方法とは、
1.
対象を観察し、2.
そこに法則性を見出し(帰納的推論)、3.
現象を包括的に説明可能な仮説を立て、4.
仮説に基づき実験結果を予測し(演繹的推論)、5.
実験によって予測を検証する、ことである。さらに、実験結果を論文として公表し、第三者よって再検証されなければ ならない。
この演習では、科学的方法に則って情報科学の方法を体験する。
ここで、科学的方法が万能ではないことを覚えておこう。演繹的推論とは命題から命題 を推論することであり、帰納的推論とはデータから命題を推論することである。推論過 程に誤りがなければ演繹は常に正しいが、帰納は必要以上に一般化される可能性がある。
また、上記過程
4
では、実験と仮説が同値(「仮説が成立する」ならば、かつそのときに 限って「実験で予測どおりの結果が出る」である)となる必要がある。このような実験 を考案することも容易ではない。実験レポート
一般に、実験レポートは科学の過程で対応して節を分ける。代表的な区分は理論、測定 、 考察である。理論の節では、上記の
1
から4
まで述べる。測定の節では、上記の5
につ いて述べる。考察では、実験を通して得られた知見をまとめる。情報科学的方法
自然科学の対象が自然であるように情報科学の対象は情報である。情報とは単なるデー タではない。データの意味を解釈して始めて情報といえる。つまり、情報=データ+解 釈である。情報を解釈するのが人間ならば、情報科学は人間をも対象としなければなら ない。これが、情報科学が自然科学と人文科学の複合領域といわれる所以である。
しかし、人間を対象とする場合、人文科学同様、実験による検証が困難なため、厳密さ に欠ける。この演習では、解釈者に依存しない情報を対象とする。
ここで、情報システムを考える。情報システムとは、情報を入力し、それを加工し、
情報として出力するシステムである。コンピュータは情報システムである。情報システ ムを観測する簡単な方法は、入力と出力を観察することである。入力と出力の関係から法 則性を見出し、システムの一般的な動作を推論することができる。例えば、入力
x=1,2,
…
に対して出力としてそれぞれy=1,4,…
が得られたなら、y=3x-2
と推論できる。この 仮説に基づき、x=3
のときy=7
を予測する。この予測は十分ではないが必要である。実 験としてx=3
を入力すると、9
が得られたとする。この場合、仮説は否定される。新た な仮説としてy=x
2を立てる。次に、x=4
のときy=16
を予測し、実験する。その結果、y=16
であれば仮説は検証される。ただし、情報システムy=f(x)
が3次以上である場合、検証は不十分である。
入力と出力を観察する方法には限界がある。さらに厳密に検証するには情報システム の内部を解析する必要がある。その結果、
y=x
2であることがわかれば、いかなる入力に 対しても出力を正しく予想することができる。我々がコンピュータの内部を知る必要が あるのはそのためである。入出力の関係だけからシステムの動作を推測する方法をブラックボックス法といい、
システム内部を理解した上でシステムの動作を推測する方法をホワイトボックス法とい う。ブラックボックス法には限界がある。近年、オープンソースソフトウェアのように ソースコードを公開するソフトウェアが増えてきた理由のひとつは複雑な情報システム の動作を理解するためにプログラムのソースコードが必要とされるためである。
模擬実験1 情報システムの推定(1)
資料のページで示される情報システムについて、その入出力を観測し、内部構造(仮 説)を推定せよ。さらに、実験を行い、仮説を検証せよ。
なお、ページ自身のソースを解析することで検証してはいけない。あくまで、入出力 から推定すること。その際、推定の根拠を示すこと。
また、レポートの節は理論、測定、考察と分けること。
(この章は前週の演習で既に完成している)
内部状態
システムが内部状態を持つ場合、出力は入力の順序に依存する。これは論理回路の順序 回路に相当する。内部状態を
Q
、入力をX
、出力をY
とすると関数f
によりシステムはY=f(X, Q)
と表すことができる。システムが内部状態を持つということは、
(1)
出力が入力だけでは決まらない、(2)
規則 性があるということである。内部状態が異なると同じ入力に対して出力が異なる。同じ 入力に対して出力が異なると何らかの内部状態があると考えてよいが、それが乱数では あまり意味がない。そこで、規則性の有無を調べる。内部状態が同じであれば同じ入力 に対して同じ出力が得られることを示す。ここで、内部状態を等しくする方法が問題と なる。一般的にシステムの初期状態は等しいと考えられるため、システムを再起動させ 、 初期状態に戻す。状態の変化が入力だけに依存するならば、同じ入力の系列を与えれば同 じ状態を再現できる。このように内部状態を持つシステムには、同じ値を何度も入力して試す必要がある。
実験2 情報システムの推定(2)
資料のページで示される情報システムについて、その入出力を観測し、内部構造(仮 説)を推定せよ。さらに、実験を行い、仮説を検証せよ。
なお、ページ自身のソースを解析することで検証してはいけない。あくまで、入出力 から推定すること。その際、推定の根拠を示すこと。
また、レポートの節は理論、測定、考察と分けること。
誤差
測定データに誤差が含まれる場合、複数回計測し、平均を求める。また、誤差の範囲を示 すことも有益である。データの傾向は近似曲線を当てはめて推測する。
実験3 情報システムの推定(3)
資料のページで示される情報システムについて、その入出力を観測し、内部構造(仮説)
を推定せよ。さらに、実験を行い、仮説を検証せよ。
なお、ページ自身のソースを解析することで検証してはいけない。あくまで、入出力か ら推定すること。その際、推定の根拠を示すこと。
また、レポートの節は理論、測定、考察と分けること。
課題
科学的方法について調査せよ。
ここで、調査とは、文献を用いて調べることをいう。調査に用いた文献は文中で参照す ること。
今回のレポートは問題コード
R1
としてレポート提出システムで提出すること。なお、別 紙として見本レポートを用意した。見本レポートの体裁を可能な限り忠実に再現しなさ い。ただし、忠実に模倣するのは体裁だけで、文面は自分のオリジナルでなければなら ない。付録 レポート執筆上の注意
ここでは、レポート執筆上の注意をいくつか述べる。
まず、レポートでは、複数の実験を前後にはさむように序論と結論があることに注意 する。これらの章では、複数の実験の関係を述べる。序論では詳しく述べ、結論では簡単 に述べる。つまり、結論は序論の(簡単な)繰り返しになる。ただし、結論には未解決の 問題や新たな疑問が追加されることもある。今回のレポートを例に詳しく解説しよう。
実験1~3には、それぞれ目的がある。しかし、なぜこれらの実験が企画されたのか、
その意図を汲み取ることが重要である。その意図を序論で明らかにする必要がある。例 えば、序論は以下のように書かれる。
今回の実験の趣旨は科学的方法を理解することである。(科学的方法については既 に説明しているので、ここでは繰り返さないが、報告者は科学的方法について説明 する必要がある。)科学的方法を理解するために、情報システムを入出力で推定する。
入出力でシステム内部を推定することは帰納的推論に他ならない。実際に帰納的推論 を体験することで、その有用性と限界を同時に理解する。実験1では、入出力に比較 的単純な関係がある。このシステムでは、出力は入力によって決定される。ただし、
値の範囲に注意する必要がある。実験2のシステムでは、出力は入力だけでは決ま らない。このシステムは内部状態を持つ。回路で言えば順序回路である。実験者は内 部状態を推測する必要がある。実験3のシステムは、自然界に見られる実際のシステ ムに近い。このシステムは近似値を出力する。すなわち、出力に一定の誤差が含ま れる。このように各実験のシステムは種類が異なり、同じ方法で内部を推測するこ とは難しい。これらの実験を通して様々なシステムのしくみを理解する方法を考察 する。
ちなみに、これは短い例である。
ここで、序論の文章に、実験を終えなければわからない知識が含まれることに注意す る。レポートを書くのは、実験を終えてからでなければならない。さもなければ、この 例のように、それぞれの実験の関係を俯瞰することは出来ない。それこそ序論の意義で ある。
実験の章は、理論、実験(測定)、考察の節に分かれる。これらは科学的方法の手順に対 応することを理解しなければならない。それを理解していなければ各節で何を書けばよ いかわからないだろう。本文では、理論が観測、仮説のプロセスであること、実験が実 験の方法とその結果のプロセスであること、考察が検証のプロセスであることを示した。
ここで、実験1を例として、それぞれの節の目的を詳しく解説する。
理論の節では、対象を観察し(観察では当然測定も行う)、仮説を立てる。以下に例を 示す。
実験1では、教材(実験1)のシステムを入出力から推定する。(最初に、実験の 目的を述べる。)このシステムでは、
input
欄に数値を入力し、「送信」ボタンを押 すと、出力が得られる。(実験方法を述べる。)このようにして得られた入力x
と出 力y
の関係を表1に示す。(表1
は自分で作成する。)この関係からシステムはy=x
2であると仮説を立てた。この例では、理論の節でも測定を行っていることに注意する。仮説を立てるために測 定が必要ならば、その測定はこの節で述べる。
実験(測定)の節では、実験の方法と結果について延べる。
仮説を検証するため、表
2
の入力に対する出力を測定した(表2
参照)。表2
の入力を
input
欄に入力し、「送信」ボタンを押すと出力が得られる。(実験方法を述べる。)実験結果は表
2
に示す。考察の節では、仮説を検証する。もし誤りであれば新たな仮説を立てて実験を繰り返 す。
実験結果(表
2
)によると、ある範囲では仮説が成立するが、その範囲を超えると 仮説が成り立たなくなることがわかる。よって、仮説は棄却される。そこで、表2
のデータに基づいて新たな仮説「(省略。実験者に課題として残す)」を立てて同様 の実験を行った。結果を表3
に示す。これにより、予想したすべての範囲で仮説が 成り立つことが証明された。帰納的推論では常にデータの範囲が問題となることに注意する。
以上の注意を参考にレポートを書こう。