COBOLにしろ、Javaにしろ、Perlなどにしろ、コンピューター言語の多くは、
手続き型である。
入力があり、その入力をどう処理するかの手続きが明確に書かれた上で、
出力を得る。
この方法では、手続きが明確になっていないと、プログラミングできない。
プログラムはプログラマの意図したとおりにしか、動かない。
こういう、手続きが明確になっているプログラミングは、形式知をプログラミング
しているといえよう。
しかし、世の中には、形式知だけではない。暗黙知というものもある。
暗黙知は、コンピューターで扱えないか?
というと、必ずしもそんなことはなくて、
入力と出力が明確になっているのなら、コンピューターに判断させるという手がある。
ニューロとか、ベイジアンフィルターとか。これらは、学習させて、データをいれて
答えは出てくるけど、手続きは、最後まで分からない。
前者のほうは、モデルを元に作っている(UMLからJavaとか)。
後者のほうは、データを元に作っている(回帰みたいなもん)
・・・実は、人間のやっている処理は、後者で、基本は暗黙知で、
それを無理やり?形式知にして、プログラミングしているってことはなくて?
手続き型である。
入力があり、その入力をどう処理するかの手続きが明確に書かれた上で、
出力を得る。
この方法では、手続きが明確になっていないと、プログラミングできない。
プログラムはプログラマの意図したとおりにしか、動かない。
こういう、手続きが明確になっているプログラミングは、形式知をプログラミング
しているといえよう。
しかし、世の中には、形式知だけではない。暗黙知というものもある。
暗黙知は、コンピューターで扱えないか?
というと、必ずしもそんなことはなくて、
入力と出力が明確になっているのなら、コンピューターに判断させるという手がある。
ニューロとか、ベイジアンフィルターとか。これらは、学習させて、データをいれて
答えは出てくるけど、手続きは、最後まで分からない。
前者のほうは、モデルを元に作っている(UMLからJavaとか)。
後者のほうは、データを元に作っている(回帰みたいなもん)
・・・実は、人間のやっている処理は、後者で、基本は暗黙知で、
それを無理やり?形式知にして、プログラミングしているってことはなくて?