too late amatuar programmer

読み/書き/そろばん/Computatinal thinkig

2010-11-14 by ebon | Lavel:

どういう経路で知ったか何故か思い出せないのだが、computatinal thinkig
というコンセプトに少し前から注目している.

経路について思い出す限り、
コンピュータ画家:アーロンや、アルゴリズミック・トレーディング、アルゴリズミック・アーキテクチャ等に関連し、
algorithumic thinking とかで検索した結果引っ掛かったのかも知れない。
それとも問題解決に対するcomputational aproachなどで漁っていて掛かったのだろうか.

そんなcomputational Thinkingとはそもそも何なのか. いかにも曖昧なひびきだ.
これらから嗅ぎ分けてたどりついたように、computaional thinkingとは、問題に対する考え方のことのようだ.

つい最近、Googleブログでも紹介されている.
Exploring Computational Thinking
(紹介日本語)

ここでもcomputational Thinkingとは一体何なのか? → それは解釈者の参照資料や思想に依っているよ
ということで独自の "computational thinking" に対する解釈を与えている.

それに触発されてか、自分でも資料を漁ってみたのでまとめておきたい.

computatinal thinkigとは?

特徴

まず、その特徴、誕生背景、Computational Thinkingとは何か といったことは、
日本語記事だと以下がとても簡潔で分かりやすい.
computational Thinking

この記事の元資料は、原本と言える、カーネギーメロン大学教授による提言資料だ.
aa

computatinal thinkingとは何ではないか

Computatinal thinkigとは何ではないかということも強調されている.
それによりイメージがしやすくなる. ここではそれを紹介しておく.

  • アイデアやコンセプトであって、ソフトやハードの話ではない
  • 先端IT・機器に精通・使いこなすことではない
  • ”コンピューターサイエンス”とイコールではない

最後については、SICPの著者、ジェラルドサスマンの言葉がシンプルに分かりやすい.
"Computatinal thinkigはコンピューターサイエンスそのものではないが、
その一部分であることは間違いない.
数学者が数学的思考を語るように、統計学者が統計的思考を語るように、
コンピューターサイエンティストはComputatinal thinkigを語ることを試みるべきである."

computatinal thinkigの活用

次に活用例を見てみる.
定義がよくわからないという点はあるが、活用例にあたるものはいくつも上げられており、
確かにこれら例 を通してcomutational thinkinライクなアプローチのイメージができる.

一般的な例

大規模データ解析、アルゴリズムを用いたシュミレーションなどは、
coumputaionla thinkinという言葉を持ち出すまでもなく、既に世の中に深く浸透している.

前者は、ゲノムショットガン法などで世間でも騒がれており、
後者は、遺伝的アルゴリズムを用いた最適な航空機の形状算出 などだ.

推進者達からは、computer により科学の手法を大きく変えてしまったことが強調されている.
統計生物学は生物学者の研究のあり方を根底から変えてしまっている.
同じように、計算ゲーム理論は、経済学者の考え方を、
ナノコンピューティングは、化学者の考え方を、
量子コンピューティングは、物理学者の考え方を、
さらには4色問題の証明に代表されるように数学者の問題に対するアプローチにも大きな変革をもたらしている.

コンピューターを用いないcoputational thinking

コンピューターを用いないcoputational thinkingの例もいくつか挙げられていた.
こちらの方が、研究でのcomputationalなアプローチといったことよりも、
coputational thinkingが万人のためのものであることが強調される、良い例になると思う.

推進者である、Joan Peckmanのインタビューを引用する.

coputational thinkingのワークショップで、インディアナ大学の誰かが彼が科学を教えているビデオを見せてくれた.
私たちはみんなそれを見て思ったんだ、”わお、これはcomputational thinkingじゃないか!”って.

それは、小学校でのミツバチの生態観察に関する授業だった、
教師の彼は児童を広場に集めて、ミツバチがどのように巣から離れ、餌を発見し、他のミツバチに方向を教えるかを尋ねた.

それから、教師の彼は教室に戻り、ホワイトボードで観察したミツバチの動きを検証を始めた.
それは、我々がモデリング、デバッギング、有限状態のダイアグラムを描く事と定義している方法だった.
彼がそれをcomputatinal thinkingと呼んでいた訳ではないが、我々がそう呼んでいるものだ.

そう、彼は科学を教えていた、ただしその分析と検証の方法は、明確にcomputationalな構成を含むものだった.

レポートでは、他にもジャーナリズムの授業や、単語を一字づつ変更して違う単語に変換するゲームの例が、
コンピューターを使わないcomutational thinkingの例として取り上げられている.

社会科学などでの例

他にも、社会科学や芸術においてもこういった考え方は既に活用されている と言えるだろう.

ドナーマッチング
膨大な数の提供者と受容者との項目に応じたマッチングを大規模高速計算
考古学
各所で大量に集めた個々の発掘データをデータベース化し、共通する事項を解析・抽出
渋滞のモデリング
渋滞が起こるメカニズムをシュミレーションにより理論化
音楽創作
作曲をするプログラムにより、様々な音楽を合成したりして新たな音楽を作る.
法学
法学における日常の業務がそれにあたる  - 論理のチェック、テスト、モデリング、情報の解析 - など

他にも、建築、デザイン、言語学、ファイナンスなど、computainallと名がつく分野がどんどん出てきている.
computainal thikingの浸透・普及によりこれらの傾向が加速していくとしている.

今後の課題・方向性

未だ曖昧なコンセプトであること


ワークショップの参加者の間でも、computationall thinkingは何なのか何を前提にするのか
といった定義が、まだまだ議論されている段階のようだ.

思考スタイルという曖昧極まりないものを定義しようとする試みであるから、
この辺りで難航するのは当然と言えば当然なのだが...

そのため、コンピュータサイエンス界の有力者を集めて、ワークショップを開催するなどの取組みが続けられる予定らしい.
そこで、より良い定義、事例研究、今後の教育・産業界への組み込みのあり方などを議論を通じて目指していく.

教育に関する視点が中心に


最初のワークショップで見えた方向性として、次のワークショップでは教育に関する視点が
議論の中心になるという.また、1回目の参加者はワークショップを続けることは有意義であると考えている.それは次の3つの理由からだ.

  • より多様な視点からの議論により、comutational thinkingの共通の直観像を強化できる
  • comutational thinkingに関する議論を通して、教育そのものの議論も活性かされる
  • k-12の生徒のように、先進的な教育を通して爆発的なテクノロジーの進化にnativeに対応している若い人材の例を通じて、エッセンスや違った視点が得られる

終わりに

見て行く中で分かるように、ある程度で、昨今の科学者は日常的に行っている思考であるとも言える.

○○思考というと、一見曖昧ではあるが、印象づけのため名前を付けて、
これら科学の変革を一般にも広めていくという点に意義があるということだろう。
やはり取り分け児童への教育に早い段階から組み込むことの重要性は言うまでもなさそうだ.

教育は勿論のこと、一般層にとってもこの変革の意義が本格化する日は近そうだ.
アルゴリズミックな意思決定、大規模データ解析などが一般化されるにつれ、
例えば、エンジニアは勿論のこと、ビジネスマネジメント層に対しても、
データマイニング・関連する統計学はExcelレベルのスキルとして求められるような時代がまもなくなのかもしれない.

参考link


The Carnegie Mellon University Center for Computational Thinking site has materials and resources
発信元カーネギーメロン大学の本家サイト

What is computational thinking?
computational thinkingに関連するプロジェクトがよくまとまっている.

CS Unplugged
Unplugged というだけあり、コンピューターを使わないコンピューターサイエンス"というコンセプトを掲げ、コンピューターサイエンスを教えるフリーの教育団体. 対象は小学生からシニアまで問わず教えている.
基本的なCSのコンセプトを、パズルや時には自己がメモリセル等の役割を演じるなど、
コンピュータを使わず実世界を通して理解しようとする方法を取っている点がとてもユニークだ.

Computational thinking
BCS(British Computer Society)の紹介記事

0 comment:

Post a Comment