2006-08-09

近況

ソーシャルな気分が去ってしまったので, ソーシャルな気分だった時に思いついたことを忘れないうちにメモしておく.

グラフの密度

はい.

グラフの密度という概念がある. あるグラフの辺の数を, そのグラフの可能な辺の数 (頂点数 n のグラフなら n(n-1)/2) で割ったものをいう. (Wikipedia 参照.) mixi でいうなら, マイミクの合計を全会員同士の組合せで割ったものといことになる. 頂点の平均次数が同じなら, グラフが大きくなるほどグラフの密度は小さくなる. (mixi: 一人あたりのマイミクの人数が同じなら, 会員が増えるほどグラフの密度は小さくなる.) この密度(=濃さ)の定義が social network で有効なら, たまに見かける最近の mixi が "濃くなくなった" との主張は定義そのままだ. なにしろ会員数と比例してマイミクを増やさないと "濃さ" は保てない. mixi の会員数は 一年半前http://japan.cnet.com/news/media/story/0,2000056023,20080207,00.htm から 半年前 の 一年で 6 倍以上増えているから, マイミクが 5 人だった人は 30 人まで増やさないと ネットワークの密度を維持できない. なかなか難儀だ.

ただしこの "密度" の定義が social netowrk の文脈で relevant である根拠はない. グラフのサイズに強く影響する指標を評価に使うのが妥当なのか議論の余地がある. 実際, 他の指標 (centrality とか) のなかにはサイズに類する指標で正規化をするものもある. 一方でグラフのサイズが大きくなると密度が下がりがちなのは 本質的な性質なようでもある. よくわからない. それに "密度" はグラフ全体の性質をあらわす指標で, 割とおおざっぱだ. だから密度を気にかけるより centrality のように個々のノードに関する性質や balance のような 部分グラフに関する性質の方が調べ甲斐はありそう.

というようなことを, 件の挫けた 赤い本 を読んでいた時に思った.

幾何級数と指数

そういえば, "人員を増やすとプロジェクトの進みは遅くなる; なぜならコミュニケーションの複雑さが指数的に増加するから" などということがある. でも n(n-1)/2 って指数じゃないよな. ハイパーグラフなら指数になるのだけど, いずれにせよ実際のコミュニケーションパスはそんなに増えない. (密度を保つのは難しい.) 適当にぐぐってみると, 指数と言っている人は実際にぼちぼちいる. (ex. "コードデザイン最前線", "自己組織化プロジェクトの育て方")

この言い回しはどこから始まったのかと記憶をたどる, 例の完全グラフの図で煽られた記憶... まず思いつくのは 人月の神話. 読み直してみる.

2 章より:

相互コミュニケーションとなるとさらにひどい. 仕事の各部分がそれ以外の部分と 個別に調整されなければいけないから, そのための労力は, 人が n 人いれば, n(n-1)/2 に比例する.

おお. あった.

7 章より:

プロジェトに n 人の要因がいる場合, 各二人のコミュニケーションについては, (n^2-n)/2 通りのインターフェースがあり, 潜在的には, 調整を必要とするグループの総数は約 n^2 通りとなる.

こっちはハイパーグラフなのか.

件の主張はブルックスの法則というんだね. 2 章:

遅れているソフトウェアプロジェクトへの要因追加はさらに遅らせるだけだ

ちなみにコミュニケーションのオーバーヘッドはこの法則を支持する根拠の一部でしかない. 他にもトレーニングのコストやタスクの原子性などの要因があげられている. またブルークスは, この法則をあくまで "ゼロ次近似として" 有効だと主張している. (19章) それにコミュニケーションの複雑さの爆発は無秩序な場合に起こるのだから, 複雑さを克服するべく組織の構成をよく考えようという話につながる. 人を増やしてはダメという話ではない.

だからブルークスの法則を引用する時にコミュニケーションの複雑さだけを 強調するのはいまいちフェアでない気がする. 何か生産的な議論をしたい時はもう少し近似の精度を上げた方がいい. 同様にコミニュケーションコストの爆発は人を増やすのに抗する口実ではなく, 組織化を改善する動機として挙げる方が前向きだと思う. 人を増やすべきでない理由は他にも色々あることだし. 金かかるとか.

それにしても, 読み直してみた "人月の神話" はまったく大した本だった. 計算機は進歩するけど人類はなかなか進歩しないなあと我が身を恥じる. (そのほかの進歩しない人類の例: "Engineering Management Hacks: The BigBook Technique")

なお完全グラフを書いて煽っているのは CODE COMPLETE だった. (27章.) ここでは "乗数的" と言っている.

Rank と Page Rank

赤い本つながり.

この本の 5 章は centrality と prestige に関する話題を扱っている. で, 最後の方に "rank prestige (status)" という指標がでてくる. これがとても PageRank に似ていて驚いた. 違いがよくわからず, 私が記憶していたものは PageRank ではなくて Rank だったの? などと混乱した.

仕方なく Page の原典(PDF) を眺めてみた. related works を見ると色々載っている. eigenvector を使う方法もあるというから, そのへんの reference を辿っていくと普通の rank に辿りつくのかもしれない.

実際赤い本に載っている Rank とこの PageRank はけっこう違う. まず Rank は普通のグラフを扱うけれど, PageRank は有向グラフを扱う. また次数による重みづけ(Nv) や 謎のパラメタ E がある. なにより Rank の考え方を web の順位づけに使うというアプリケーションと 実装の存在が大きい.

というあたりで納得. Page エライ.

"A social network caught in the Web"

つぎいこう.

"Club Nexus" という Stanford 学内 SNS のデータを分析した話. Club Nexus は Stanford の学生が勝手に始めた SNS で, 2001 年ごろにあったらしい. (もうない.) そんなものがあった Stanford はすごいね.

会員登録の時に記入するアンケートとネットワーク構造からある種の相関を観察する. SNS の分析というと 赤い本みたいなことをするのが定番だと思っていたが, これはその手前, 普通の統計な話もある.

Association by similarity

まずネットワーク分析の話.

相関している(マイミクみたいなもんですね)人間同士は 趣味など属性の相関が強いという. まあそりゃそうだろな. また, ネットワーク上での距離と相関の強さの関係を見ると, 距離の近い人ほど相関が強い.

ただそれも属性によって傾向がある. たとえば自分を "sexy" だという人間は友達も "sexy" だし, 自分を "intelligent" だという人間も同じ傾向をもつ. 一方で "内向的" みたいな属性は相関が強くない. 要するに内向的な人同士は友達になってない, らしい. せつない...

趣味については, マイナーな趣味ほど相関が強いらしい. 例えばスポーツだと "スカイダイビング" は "ジョギング" などより強い相関がある. 本のジャンルも "小説" などより "技術書" の方が, 更には "同性愛" の方が相関が強い. マイノリチーはネットワークを活用するということかも.

Properties of individual profiles

あとは各属性の間の相関をみる話. 野次馬的に面白いのはこっち.

まずステレオタイプを確認する. 自分のことを "weird" だと思っている人の友達は "weird" な傾向があり, また空き時間を家で過ごす人が多い. 趣味も SF やゲームだったりする. 一方で自分を "successful" だと追おている人は恋愛や友情を重視し, 空き時間はスポーツを好む. ついでにビジネス書が好き. らしい. うへ...

大学での専攻と personality の関係も載っている. 政治学専攻の学生は自分を "attractive" だったり "lovable" だと思っている. わからなくもない. 英文学専攻は本を読むのが好きで自分を "creative" だと思っている. また自分を "sexy" だとする人も 19%. 比較して電子工学専攻で自分を sexy だと思っている人は 3/136 しかいない. ついでに自分を "weird" だと思っている学生が多いのは 物理, 数学, 電子工学. 理科系は辛い目にあっているんですかね.... 自分を "successful" だと思っている人は計算機科学に多いというあたりはさすが Stanford.

というような内容だった. ネットワーク分析以外にも調べると面白いことは色々ありそう. ただ現実をあらわにする作業がほんとうに楽しいのかはわからない...

なお, 著者のひとりは Google の Orkut Buyukkokten. orkut を作る前から SNS が好きだったようす. そもそも Google に来る前は SNS アプリケーションを売っている Affinity Engines という会社にいたという. (前職のコードをぱくった疑惑 で訴えられたという記事もあった.)

会社で Socialware

上の記事の内容はさておき, 学内 SNS は楽しそうだ. 社内 SNS でもいいけれど, 学校や会社といった実際の social network や community に対応した形で Web の SNS サービスを展開するのは public な SNS で競合しあうより実りあるような気がする. 私には public な Web の SNS を複数使いわける動機がいまいちわからない. それと比べて学校 SNS, 会社 SNS は使ってもいいと思う. OpenPNE もそういうのを狙っているのだろう.

ただ実際に導入するのは難しいかもしれない. 天下りで SNS が導入され, ただいきなり使え! と言っても使わないそう. Web 技術に関心の薄い人達は何が有り難いのがピンとこないだろうし, そういう人の方が多数派だろう. (上司の悪口が書けない SNS なんて!) なかなか使ってもらえないのは SNS に限った話ではなく情報システム全般に言える話ではある. けれど SNS のような socialware は皆で使わないと有難味が弱い. 加えて業務のワークフローと無関係なので利用を促しにくい.

たとえば同じ socialware である Wiki は既に企業内でも広く導入されているけれど, 賑っているもの, 情報が集約されているものは少い. 多くは放置されている. 社内 Wiki については以前 ちょっと書いた ことがある. よりまともな案内として "An Adoption Strategy for Social Software in the Enterprise" という記事をみつけた. この記事では以下のようなベストプラクティスを挙げている.

だいたい納得. ただこの記事は企業の意思として(トップダウンに)導入する場合の話なので, 草の根でゲリラ的に導入したい末端従業員とは少し立場が違う. 記事を書いているのは Social Text という 企業向け Wiki の会社の人だから, 経営者を説得して売り込んだあとのフェーズが興味の中心なんだろうね.

草の根 Wiki を緩く繋ぐ

私がいる職場は "会社で Enterprise Wiki を導入したから皆使うように..." なんて状況が想像しにくいところなので, どちらかというともともと草の根で導入した Wiki などを どうやって広めていくかに興味がある.

最初のステップとして, 自分がたてた Wiki を保持してくことはできた. ただ他人に記事を書いてもらい, より広い範囲の情報を集めるのは難しい. そういう情熱のある人は既に自分で Wiki をセットアップして使っているかもしれない. また, 既存の Wiki があっても色々な事情から自分用を欲しがる人は多い. そういう情報の囲い込みに対して オライリー精神が足りないと批判することもできるが, 他人から見ればこちらだって自分のところに情報を囲いこんでいる. だから情報を公開しようとするだけ立派なもので、 バラバラなのは草の根に情報を公開するコストだと割り切ってみる. その上で散乱した情報を上手くまとめるよう工夫が現実的だ. 最近はそう思うようになった.

ただあまり良い方法はみつかっていない. Planet PlanetPlagger のような 公開 rss aggregation の仕組みを使うのが良いように見えるのだけれど, Wiki の出力する RSS はぱっとしないものが多い. レガシー Wiki をうまくまとめるのが目的だから高機能な Wiki Engine を 使えといっても仕方ない. アンテナのようなレガシー支援の仕組みを頑張る必要があるのかもしれない. あと planet 類やアンテナはちょっと構造が弱い. 個人からなる Web のコミュニティとは違い, 組織にはもともとの構造がある. それを反映した方がわかりやすい気がする.

RSS aggregator 以外に欲しいと思うのは検索. これは Hyper Estraier なり nutch なりを頑張って運用すればよさそう. (ただ社内検索を試した友達は認証が面倒だと言っていた. たしかにね...)

下手にトップダウンな企業向けポータルを導入して草の根を踏み潰すより こういうのを組合せて草の根企業内ポータルを作る方が楽しそうだ. 逆に企業向けポータルをつくるなら草の根レガシーとうまく共存できるようなものが欲しい.

ただ実際のところ, 社内草の根情報というのはどのくらいあるものなんだろう. 前の会社は草の根 Wiki (プロジェクト Wiki 含む) がやたら大量にあり, 逆にトップダウンな情報共有グループウェアみたいのはなかった. (今は知らない.) だから上のようなことを考えた. 今いる会社は逆に草の根 Wiki で生きているのは数えるほどしかない. プロジェクトで Wiki を作る習慣もない. かわりにグループウェアはそれなりに活用されている. だからグループウェアをモダンなものにしてレガシーから根性で移行する方が割にあうかもしれない.

また Wiki がどうこうは自分のいる開発の部署の話. 会社の他の部署を見ると情報共有のやり方はもっと素朴だ. Windows の共有フォルダ, メールへの添付. 手作りの静的 HTML (file:// のリンクつき.) これは前職も今も大差ない. 売り物の企業向けポータルをつくるなら, より手強いこれらレガシーからの移行にとりくむ必要があるのだろう. 難儀だ...

こうした門外のレガシー相手の場合, 私は agent based な仕組みを採用している. 詳しい人に聞くのがいちばん. めちゃめちゃ局所最適だけど...

ネットでくだを巻く子供たち

つぎ.

"Identity Production in a Networked Culture: Why Youth Heart MySpace" という記事を読んだ. MySapces の話.

MySpaces は mixi みたいなものだと思っていたのだけれど, 色々読んでいると 10 代の子供が多いらしい. この記事ではやつらが何でそんなにハマっているのかについて概説している.

面白かったのは, 子供たちが何をしているかというというくだり. 結局 "Hanging Out" しているだけなんだと. hang out は ブラブラする, くだを巻く, たむろする, というかんじかな. アメリカの街からは大人に邪魔されずくだを巻ける場所がなくなってしまった. だからオンラインでくだを巻くのだと著者は主張している.

この記事ではまず生活空間を三つに分類する: 自分や知り合いだけでくつろげる private な空間, 知らない人間にあふれた public な空間, 職場のように誰かに 監視/管理 されている controlled な空間. 大人はそれぞれの空間を持っているが, 10 代の子供にとっては生活空間の大半が controlled だ. 家では親が, 外では大人が, 学校では教師が自分達を管理している.

子供も子供社会での public, private な空間を必要としている. 黄金の 50 年代はスケート場やハンバーガー屋がその役割を果たしていた. 都市開発, ショッピングモールやコンビニの普及によってそうした場所が失われた. だから子供達はオンラインに来たのだというわけ.

で, そういうもんだからわかってやってくれよという話をする. たしかにオンラインには固有の危険がある. でもそうした危険はオンオフを限らず子供/若者が成熟するのに必要なものなのだと.

このへんの議論は日本の郊外論と通じるものがある. ただオンラインにその代替を求めるところが新鮮. Web にはまったく新しい世界が開けているという mochio-ish な主張も好きだけれど, 社会と地つづきな部分についてよく考えてみるのも社会学的には面白そう. 既存の素材が色々あるからね.

日本をかえりみると mixi は割と大人が多く, MySapces とは事情が違う. 小中学生は別のコミュニティ, たとえば ぱどタウン などに生息しているのだろう. (詳しい人によると今は小学生だけでなく主婦なんかも多いらしい.) 読冊日記 の ぱどタウン潜入記 を思い出した. いまぐぐったら こうしたウォッチ活動に対する批判 もあることを知った. この記事はいくらか情緒的で意図を汲みにくいけれど, 要は子供はくだ巻いてるだけなんだから見守ってやれという話に読める. そういうものなんだろな.

...

というところでブックマークの あとで書く をだいたい消化しおえた. 満足.