人間MapReduce

MapReduceという技術というか概念というかプログラミングのモデル?アーキテクチャスタイル?について、昨日やっと内容を把握した(わかりやすいMapReduceの解説)。

Googleのみならず、情報をユーザーから集めて凝集する形のWeb Serviceを提供している事業者(はてなもそうだね)から見た場合、

  • Web Serviceの内容が『Mapのルール』
  • ユーザーがWebにUploadする作業が『Map』
  • サーバが行う処理が『Reduce』

だよなーと思ったりした。

人間の脳も並列多段MapReduce

  • 神経細胞は特定の情報の入力があると発火する『Map』
  • 複数の神経細胞は、ひとつの神経細胞に繋がっている『Map&Reduce』
  • Mapで集まった発火の閾値を判定する『Reduce』
  • 閾値を超えていれば次の神経細胞に発火を伝える『Map』

で、この一連の処理が並列に、かつ何段階も続くMapReduceの処理が脳の活動なのでは?

実際は神経細胞の発火のパターンもいろいろあるらしく、そのパターンが後の処理に影響を与えているようなので、ON/OFFだけのシンプルなMap処理では、脳の活動を模倣することはできないのかも。

でもReduceの閾値判定に自分の脳と似た処理を適用できれば、意外と面白いことができそうなんだがなー。たとえば、WWWをcrawlingして自分が「おっ!」と思うエントリだけを勝手にブクマするロボットとか。

…全然いりませんか。そうですか。