Save 37% off PRO during our Black Friday Sale! »

人間とコンピュータに架ける橋/the bridge between human and computer

人間とコンピュータに架ける橋/the bridge between human and computer

World IA Day Tokyo 2019( https://www.worldiaday.org/events/tokyo/2019 )での登壇資料です。

ある対象に対する人間の理解の仕方とコンピュータの理解の仕方には相違があります。この理解の仕方の相違をセマンティックギャップと呼びます。1979年にTrygve Reenskaug博士が提唱したModel-View-Controllerは、人間とコンピュータとの間にあるセマンティックギャップを埋めるためのものでした。

この資料では、Model-View-Controllerにおけるモデルの定義「モデルは知識の表象です(Models represent knowledge)」という言葉をキーにして、人間とコンピュータはどのような理解の仕方の相違(セマンティックギャップ)があり、モデルの存在がそのギャップをどのように隠蔽しているかについて説明します。

Abaa70cc6ac599bb503184eb2ae03ab4?s=128

Seiji Amashige

February 23, 2019
Tweet

Transcript

  1. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 1/40 人間とコンピュータに架ける橋 人間とコンピュータに架ける橋 天重 誠二

    弁護士ドットコム株式会社
  2. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 2/40 ABOUT ME ABOUT ME

    天重 誠二( あましげせいじ) 弁護士ドットコムという会社でプログラマーやって ます( だいたいPHP 書いてます) 美術大学の油絵科卒業しました
  3. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 3/40

  4. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 4/40

  5. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 5/40 名前ってなんでしょう?

  6. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 6/40 識別子(Identi er)

  7. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 7/40 ところで 「これは◦◦さんのツイート」と どこを見て判断しますか?

  8. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 8/40

  9. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 9/40 コンピュータの特徴 デジタルデータしか扱わない 曖昧な命令を理解できない

  10. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 10/40

  11. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 11/40 セマンティックギャップ セマンティックギャップ

  12. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 12/40 Model-View-Controller Model-View-Controller

  13. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 13/40 MVC の目的 MVC の目的

    ユーザーのメンタルモデルとコンピュータのデジタル なモデルの間にあるギャップに橋を架ける
  14. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 14/40 ビュー : システムモデルをユーザーのメンタルモデ ルに変換する

    コントローラー : ユーザーのメンタルモデルをシス テムモデルに変換する
  15. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 15/40 モデルは?

  16. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 16/40 「モデルは知識の表象です」 「モデルは知識の表象です」

  17. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 17/40 「知識」の「表象」 「知識」の「表象」

  18. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 18/40

  19. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 19/40 デカルト『省察』池田光穂訳 それでもなお同じ蜜蝋は存続してい るのか。存続していると告白しなけ ればならぬ。

  20. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 20/40 知覚上の変化や客体物の状態変化にかかわらず 同一性が維持されている

  21. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 21/40 オブジェクトは オブジェクトは 人間の頭の中にある 人間の頭の中にある

  22. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 22/40 コンピュータのなかの コンピュータのなかの オブジェクト オブジェクト

  23. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 23/40 例: 銀行口座の口座番号 引き出しを行っても口座の同一性は維持される $account

    = new Account("1234-5678"); $account->deposit(new Yen(10000)); $account->save();
  24. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 24/40 同じオブジェクトだが違うものと認識する // こんなコードは書かないと思いますが $account

    = new Account("1234-5678"); $account->setAccountId("7890-1234");
  25. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 25/40 識別子 = 人間の頭にあるオブジェクトの同一性の代理物

  26. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 26/40 人間の要求 「同じアカウントの別なツイートをみたい」

  27. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 27/40 コンピュータの理解 「アカウントID: 10342 のツイート一覧を表示する」

  28. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 28/40 「知識」を「表象」する 「知識」を「表象」する => 人間の脳内にある「オブジェクト」を

    コンピュータのメモリ上に読み出す
  29. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 29/40 これがモデルです

  30. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 30/40

  31. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 31/40 「My Folder 1 」が識別子

    見えないところに( あるいは見えているところに) モ デルがある
  32. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 32/40 人間とコンピュータの間の溝に 人間とコンピュータの間の溝に 橋を架ける 橋を架ける

  33. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 33/40 MVC の目標はエンドユーザの脳とコ ンピュータの「脳」(つまりメモリ とプロセッサ)が直接結ばれている

    という幻想を提供することだった。
  34. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 34/40 それから30 年後... それから30 年後...

  35. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 35/40 GUI に取り組むとき、ユーザは2つの ことを行っている。すなわち、考え ることと実行することである。

  36. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 36/40 モデル- ビュー- コントローラ- ユーザ

    を要約すれば、コンピュータと人間 のインタラクションにおける思考 ("thinking" )の部分を支えるには優 れているのだ。
  37. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 37/40 残念ながら、オブジェクト指向では われわれが行動する("doing" )こと についてどう論理的に考えているか

    については、うまくとらえることが できてこなかった。インタラクショ ンが見いだされるべき明確な「場 所」はGUI 上にもコード内にも存在し ない。
  38. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 38/40 DCI アーキテクチャ DCI アーキテクチャ

  39. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 39/40 続きはウェブで DCI アーキテクチャ -

    Trygve Reenskaug and James O. Coplien
  40. 3/3/2019 人間とコンピュータに架ける橋 - tenjuu.net https://tenjuu.net/slide/wiad?print-pdf#/ 40/40 ご清聴ありがとうござい ご清聴ありがとうござい ました。 ました。