2008年10月26日日曜日

コンピュータと人間知性の共進化について

■はじめに

ここでは、「コンピュータは単なる清書機や計算機ではない」、「コンピュータは社会的に協調して合理的に仕事を進めるためのメディアである」という主張に基づき、私たちが現代社会で習熟しておくべき思考法・行動法について学びます。

コンピュータを単なる清書機や計算機としてしか使わないということは、コンピュータという知を扱うメディアによって人間は全く変化をせずに、ただ従来、鉛筆と紙で行なっていたことを、それよりも速く行なうだけだいった考えに基づいています。

しかしメディア、もう少しわかりやすい言い方をしますと道具は人間を変えます。早い話、車という道具を移動のために使い始めたら、あなたの認識も発想も行動も変わると思います。同じように、コンピュータという道具は、人間の知性のあり方を大きく変えます。その知性の変化に伴い、新たなコンピュータハードウェア・ソフトウェアも開発されます。こうしてコンピュータと人間は、いわば共進化しているのです。

ここではそういった共進化という観点から、コンピュータによって、私たちは社会的に協調して合理的に仕事を進めることができるようになったし、逆に言うと私たちの知性もそのような仕事の進め方に慣れた発想をしてゆかなければならないことを述べます。もちろん、そういった知性だけが人間の知性のあり方だけではありません。人間は完全にコンピュータと融合しろなどといった極端なことを私は言っているわけではありません(むしろ、これからの私たちにとって大切なことは、コンピュータではできないことに集中することです。そのために人間の可能性をもっと探究することです)。以下、いくつかの点に分けて、コンピュータと共存する私たちの知性について述べます。


■以前からの合理的な仕事のやり方

コンピュータが普及する前から、もちろん私たちは科学革命・産業革命・工業化時代を経ていたわけですから、合理的な仕事のやり方について考えをまとめてきました。古典的なのは、フレデリック・テイラーの「科学的管理法」(scientific management)です。

この科学的管理法の単純で無批判的な適用には問題が多いのですし、そのことはルーマンのシステム理論の観点からも語ることができますが、話は長くなるので本日はこの批判は省略します。ここでは、そういった本質的な批判にもかかわらず、こういった合理的発想法にはそれなりの有用性があるということだけを述べておきます。


現在、よく口にされているのは、Plan, Do, SeeあるいはPlan, Do, Check, Actionです。私は以前、このことについて「知的仕事のABC」という小文を書きましたので、後で読んでおいてください。

ただ、やはり批判というか留保を述べておかなければならないのは、人生は仕事ばかりではないということです。-URGENT, +IMPORTANTだけでなく、 -URGENT, -IMPORTANTの時間も重要だという、「『生きる』ためのタイムマネジメント」という小文も後で読んでおいてください。



■最近の仕事本による合理的な仕事のやり方

最近出版された仕事のやり方に関する本には、以前よりもはるかにコンピュータ的な発想が強く出ています。

芦屋広太さんの書かれた『ITエンジニアのための仕事を速くする9の基礎力と7のエクササイズ』という本は、別にITエンジニアに限らずとも、仕事一般について非常に有益なことが書かれています。



芦屋さんがまとめられている「仕事が速い人の9の特徴」を私なりに言い換えてみますと次のようになります。


(1)論理的思考力がある:常に他人の考え、自分の考えを第三者的に多面的にチェックすることができる。

(2)深い理解力がある:物事に通じているので、遺漏や勘違いが少ない。

(3)構造化できる力がある:物事の本質を理解し、物事を要素に分解し、関係を明らかにして、さらに要素を再編成することができる。

(4)目標達成型の行動力がある:Backward designで考えることができる(参考記事:Backward designはなぜ失敗しうるのか )。

(5)分かりやすく説明する力がある:誤解や感情のもつれを最小に抑えることができる。

(6)他人を説得できる力がある:合理的な計画で、他人の協力を得られるので、自分の何倍もの能力が出せる。

(7)うまく断る力がある:物事を合理的に理解できているので、無理な要求をスムーズに断ることができる。

(8)意見を通す力がある:論理性の高いプランをもっているので、他人の感情にも十分配慮する余裕があり、合意を得やすい。

(9)論理的で分かりやすい文章を書く:いちいち口頭で説明しなくても文書だけで安心して他人に仕事を任せられる。


また、最近マスコミで引っ張りだこの勝間和代さんは、『効率が10倍アップする新・知的生産術―自分をグーグル化する方法』で、本質的なものに集中するためには、(1)簡略化、(2)階層化、(3)フレームワーク化が重要だと述べています。



(1)の簡略化とは、人間の情報処理能力の限界、特に聞き手・読み手の能力の限界を考えて、情報の本質以外を思い切って捨てることです。(2)の階層化とは、情報の重要性のレベルを階層化しておき、相手の興味次第で、簡略化されていた情報をどんどん展開してゆくことができるようにしておくことです。(3)のフレーム化とは、情報の一つ一つに様々な「タグ」(後述)をつけて、情報を再現性のある形で分解し、再構築ができるようにしておくことです。

ここではこの芦屋さんや勝間さんが重要だとしている能力は、コンピュータという情報処理機械の特性をよく理解して、その良さを最大限に活かすような発想に私たちが慣れることによって開発できるという仮説の基に、いくつかのコンピュータの概念を紹介してゆきます。


■仕事とは他人のために行なうこと

コンピュータとは、情報をデジタル化することによって、その伝達やコピーを従来とは比べものにできないぐらいに容易にした機械です(参考記事:「デジタル時代の英語教師」(1997年の古い書き物です) )。これによって、あなたの情報を他人が見て使用する機会が飛躍的に増えました。そうしますとあなたの情報は、他人が見やすく、他人が使用しやすい形になっていることがますます重要になってきます。

この点、「デザイン」について考え直すことは非常に面白い思考を私たちにもたらしてくれるかと思います。どうぞこれからのあなたのキーワードに「デザイン」という言葉も加えて下さい(参考記事:「研究論文とデザイン」 「金沢21世紀美術館+深澤直人『デザインの輪郭』TOTO出版」 )


■情報の組織化・構造化

さらにコンピュータは、情報の量も莫大なものにしてしまいました。そうしますと情報をまとめる際には、情報の全体構造をきちんと設計しておくことがとても重要になります。つまり情報の組織化(情報の収集・理解・整理・分類)と情報の構造化(分類・設計・再整理・構築)をきちんと行なう必要があります。(『ウェブの仕事力が上がる標準ガイドブック2 Webデザイン』)


ここでは情報の組織化と構造化にかかわる、ツリー、マトリックス、リゾーム、タグ、マインド・マップについて簡単にまとめましょう。

(1)ツリー:ツリー(tree)とは木(というよりも根)のように、高次のものが低次に行くにつれ、だんだんと分岐してゆく構造です。これはデカルトの明証・分析・総合・枚挙といった還元主義的な発想と親和性が高いものです。明証、分析、枚挙が確実ならば、単純化された要素から総合も問題なくできるはずです(ただ現実はそれほど単純なものではないのですが・・・)。コンピュータでいえば、ウィンドウズのフォルダの構造はこの階層構造になっています。ただフォルダ構造ではファイルをどこに分類したかわからなくなってしまうことがよくあります。そんなファイルを探すには、GoogleデスクトップかWindowsデスクトップで検索を使いますが、このような相補的処置は、ツリー構造には必要だといえるかもしれません。


(2)マトリックス:マトリックス(matrix)は多義的な言葉ですが、ここでは要素を縦横に配置した表を考えて下さい。早い話がエクセルの表です。縦と横に重要な要因を並べ、かつそれぞれの要因の要素をすべて縦と横に並べることができれば、その表が問題にとって重要な論理空間をすべて表しているはずです。そのセルを一つ一つしらみつぶしにチェックしてゆけば私たちは漏れのない思考ができるはずです(ただ現実は・・・以下省略)


(3)リゾーム:リゾーム(rhizome)とは、地下茎のことで、哲学者のドゥルーズおよびガタリが比喩的な用語として使い始めました。伝統的な形而上学では、ある絶対的な一つのものから展開してゆくツリーのモデルを前提としてきたが、物事の関係には、中心も始まりも終わりもなく、多方面に錯綜する地下茎のようなものもあるではないかというのが彼らのポイントです。早い話をしますと、各種リンクで、様々に結ぶつけられた世界中のウェブ・サイトを想像して下さい。Googleはこのリゾームのつながり(リンク)をもとに検索技術を開発しました。Googleによって私たちは、リゾーム的な秩序も扱うことができるようになったと言えるかもしれません。またこのリゾーム的な関係は、ツリー構造では抑圧されがちな連想(association)もそれなりに扱うことができます。

(4)タグ:コンピュータではファイルなどにタグ(tag)という目印を付けて、情報を整理することを行ないます(tagging)。ファイルの情報すべてを検索していては非常に手間がかかりますから、タグというファイル内の情報に関するいわばメタデータだけを使って高速の情報検索を可能にすることができます。タグが利用者によって自由に(というより勝手に)付けられた結果の分類をフォークソノミー(folksonomy)と呼ぶことがあります。検索技術においても、検索エンジンを強力にする方向ではなく、このようにメタデータを付けることにより検索をより高速かつ合理的に行なおうという方向の発想を「セマンティック・ウェブ」(semantic web)と呼びます。エクセルでしたら、例えば縦の列の要素のうち、横の行のある特性だけをもったもの(セルには例えば1と入力)だけを集め、その特性を持っていないもの(セルには0と入力)を排除して並べ替えることが、このタグ利用のイメージとなるかと思います(エクセルファイルでの例はここからダウンロードできます。ただしこのファイルはかなり原始的です)。タグは、ツリー分類に比べはるかに柔軟で、リゾームよりも効率的な分類であると言えるかと思います。またウィトゲンシュタインの用語で言うなら「家族的類似性」、あるいは他の用語でしたら「プロトタイプ理論」などで理解される柔軟なカテゴリー概念を表現するのにも適している方法かと思います。


(5)マインド・マップ:マインド・マップ(mind map)あるいはKJ法という方法は、コンピュータの普及以前からあったブレインストーミングの方法ですが、最近はこれらも容易にパソコンでできるようになりました(私は個人的にはMicrosoft OneNoteをよく使っています)。しかしこれをやるためには、別にパソコンは必要なく、適当なカードや付箋紙にアイデアを書き付けて、それらを並び替えて発想を展開してゆけばいいだけです(一枚の紙に様々なアイデアを書き付けてもいいですが、アイデアの「位置」を自由に動かしにくいので、やはりカードか付箋紙を使った方がいいかと思います)。


以上のような方法で、情報を収集・理解・整理・分類・設計・再整理・構築して、組織化と構造化を図ることが、莫大な情報を的確に相手に伝えるというデジタル時代に重要な知的習慣になるかと思います。


■時間という要素が入ると・・・

以上の情報の組織化と構造化には、実は時間という要素がほとんど入っていませんでした。ですが情報を、実際の行動のために組織化・構造化するとなると、時間という要素を入れる必要があります。

時間的な要因が入れられた情報の組織化・構造化の一例はフローチャートです。


フローチャートはまさにコンピュータ・プログラミングで使われます。仕事をフローチャート化してプログラムを組み、コンピュータにも実行できるようにしたならば、現実世界でも誰にでも実現できる仕事のマニュアル化に成功する可能性が高くなるかと思います(私はマニュアル的思考にはかなり批判的ですが、しかし一方で基本的な作業にはマニュアルは非常に重要だと思っています)。

このように一定の手続きに従えば、必ず仕事が完成する手続きをアルゴリズムと言います。

アルゴリズムの発想の基本は次のようなものです。
アルゴリズム - 直線型・分岐型
アルゴリズム - 繰返し型


このように仕事の過程を分析した後で、スケジュールの情報だけを単純化した工程表を作ろうとすれば、ウォーターフォールモデルが便利かもしれません。


私の教える留学生は、このようなスケジュール分析をしました。


ちなみに毎日、毎週、毎月のタスクを管理するためには、「エクセル(Excel)で行なうタスク管理」を読んで下さい(エクセルファイルがダウンロードできます)



■他人に加えて同僚という要素が入ると

これまではある特定の相手のために、自分がどのように仕事を分析するかという観点で語ってきましたが、現代の仕事はどんどん複合的になっているので、同じ組織の同僚や、他の組織の人間とも協働的に作業する機会がどんどん増えてきています。そういった場合、メンバー全員が一同に会して、仕事の隅から隅まで口頭で確認し合うことは非現実的ですから、文書によって明確に協働的な作業を定義し、かつその定義が現実世界に対応しているかをチェックする必要があります。現代社会で要求されている能力の一つは、このような文書を通じての高度なコミュニケーション能力です。

ずっと受けたかったソフトウェアエンジニアリングの授業(1)』はそのようなコミュニケーションを、(1)システム提案書、(2)開発計画書、(3)外部設計書で行なうことを提言しています。


(1)システム提案書:カスタマーのニーズを分析・把握し、システムをカスタマーに文書で提案する。[基本的には、開発責任者→カスタマーへの文書]

(2)開発計画書:提案し受け入れられたシステムを構築するための5W2H(When, What, Who, Why, Where, How, How much)を分析し文書化する。システム提案書と開発計画書をつきあわせてvalidation(妥当性検証)を行なう。[基本的には、開発責任者→開発チームへの文書]

(3)外部設計書:開発計画書が作ろうとするシステムが、実際にカスタマーのニーズを満たしているかというverification(正当性検証)を行なう。[基本的には、開発チーム→カスタマーへの文書]

こういった三種類の書類作成は、いかにも大げさにも思えるかもしれませんが、複雑な協働作業にはこういった文書は不可欠です。単に作業効率の面だけでなく、このような明確な文書によるコミュニケーションと合意がなければ、的外れなプロダクトが惰性的に作られてしまうだけです。また文書を作らないですむ単純な仕事にせよ、カスタマーの要求とこちらのできることが合致しているかをきちんとチェックする習慣はつけておくべきでしょう。慣例と惰性で仕事をするのでなく、目的合理性を高めて仕事をする習慣を私たちはつけておくべきです。

ちなみにこの『ずっと受けたかったソフトウェアエンジニアリングの授業(1)』の巻末付録の各種書類のサンプルは素晴らしいです。感動するぐらいわかりやすい文書となっています。エンジニアのリテラシー能力の高さに感服します。


以上、コンピュータ的な発想で思考し行動を計画することを簡単に学んできました。コンピュータ的思考と行動は、多くの人との合理的な作業を可能にします。こういった思考と行動のパターンも、人間の可能性の一つとして、私たちは身につけておくべきかと思います。上の思考法のうち、一つでも二つでも、あなたの実際の仕事の分析と実行に適用して、こういった発想法に習熟しておいてください。そういった根本的な学びは、表面的なコマンドの習得以上にはるかに重要なことです。

コンピュータに関する基本的な事柄は
http://ha2.seikyou.ne.jp/home/yanase/computer.html
にまとめていますのでご参照下さい。








Google




Search in WWW
Search in Yanase's current Japanese blog

(注:エンコードはUTF-8を使っています)


0 件のコメント: