このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

グラフ理論の基本概念とその誤用例 -- mixiがどうしたってぇ?

僕にしては反応早いぞ(「僕にしては」だけどね(苦笑))。

どこが数学構造なんだぁ? それに、こんなんが「批判に対して何故強靭なのか」の説明になっているとはとうてい思えんがね -- とまぁ、僕のVOODOOセンサーに引っかかったので論評しておきます。

批判めいた事ばかり書いても建設的じゃないので、グラフ理論の基本概念/基本用語の解説を織り交ぜます(目的を二つにするのがロクな結果を生まないことは僕も知っているのだけどさ)。僕もさほど詳しいわけではないので、次の二冊(同じ題名)を適宜参照します。

  1. グラフ理論 (シリーズ 情報科学の数学)』 恵羅博<えら・ひろし>/土屋守正<つちや・もりまさ>(産業図書) -- 読みやすい。話題も豊富。以下、文献[1]として参照。

最初に言っておきますが、僕はmixiとは相性が悪くて、アカウントはあるけど完全放置状態。「2007年、mixiはどうなるか?」に興味もなく、分析も予測もできません。よって、この記事の結論である「一挙に崩れるリスクは無い」に対してどうこう言うつもりはありません。が、命題「一挙に崩れるリスクは無い」を導き出した根拠や過程(推論方法)には興味があるので、そこをネタにします。

内容:
グラフ理論に興味がない方は、※のセクションだけ読んでください。

用語法と定義をめぐって

手始めに重箱の隅っぽい指摘から:

インターネットの持つネットワーク構造は通常、グラフの理論と呼ばれる離散系の数学で分析されます。[…省略…] MixiのようなSNSはこの点、線、面の広がりから社会構造をネットワークとして捉えることができます。(ちょっと面は横において置きます。)

「面は横において」って、最初から面は入らないでしょうよ。グラフ理論は、点(頂点)と線(辺)からなる図形(あるいはそれと同等の抽象的構造*1)を対象とします。点は0次元の要素、線は1次元の要素と捉え、2次元あるいはもっと高次元の要素(セルと呼びます)の組み合わせを考え、これを複体*2と呼ぶことはあります。幾何学的グラフは複体の一種なのは確かです。が、複体は組み合わせトポロジー複体の幾何)という分野で扱います。通常、グラフ理論と言えば、点と線までがその取り扱い範囲です。

筆者は参加者が形成する群れ(クリーク)を点、群れの間の関係を線として考えてみます。

クリーク(clique)は、グラフ理論の文脈では通常、完全部分グラフを意味します([1]P.142)。つまり、グラフGのクリークとは、G内の“互いに線(辺)で結べる頂点の集まり”だと解釈してかまいません*3。極大な(もうそれ以上は大きく出来ない)完全部分グラフをクリークと呼ぶこともあるようです。

ちなみに、「与えられたグラフGが、頂点数がk(あるいはk以上)のクリークを含むかどうか?」はクリーク問題と呼ばれ、NP完全問題のひとつであることが知られています。

点 ・・・・・・ 群れ(クリーク、ノード) 
           知り合いの輪、コミュニティを群れと定義します。

単にmixiコミュニティの意味で「クリーク」を使っているようです。グラフ理論を多少知っている人にはかえって混乱しがちで迷惑。あえて「クリーク」なんて言葉使う必要性はコレッポッチもないと思いますが。

線 ・・・・・・・群れと群れの繋がり

これ何でしょう? 群れ(mixiコミュニティ)を点、繋がりを線としてグラフを作るのはいいのですが、その線(辺)のmixiにおける現実的な意味が書いてありません。勝手に想像してみると、コミュニティAとコミュニティBに同時に所属する人がいると「AとBに繋がりがある」とでもするのでしょうか?

  中心性・・・・・・他の群れと圧倒的多数の線分で繋がっている群れ(ノード、クリーク)が複数あり、目立つ構造を中心性が高い構造と考えます。

うーん … なんとなく言いたいことはわかるのですが… 「圧倒的多数の線分」って? 線分(辺)はやっぱり人なのかな? 「圧倒的多数」、「目立つ」てのも、日常的会話なら雰囲気で通じるでしょうが、「数学上の構造」というからには定義が欲しいところです。

 密度 ・・・・・・・mixi全体の構造の中で個々の群れが他の殆どの群れと多数の線で繋がっている構造を密度が高い構造と考えます。

「他の殆どの群れ」、「多数の線」… これも曖昧過ぎ

グラフ理論には、頂点の次数(degree)って概念があります([1]P.18)。次数は、その頂点に接続している辺の本数です。辺に向き(direction)があるときは、入る辺/出る辺の本数が入次数(in-degree)/出次数(out-degree)となります。密度って次数と関係ある? まー、mixiにおける辺の意味付けがないと、次数を云々してもはじまりませんけどね。

ついでに紹介しておくと、グラフの頂点がルート(根)であるとは、その頂点からは、どの頂点にも辺をたどって行けることです。ルートがないときもあるし、あっても1つとは限りません。ルートが1つだけ指定されたサイクル無しグラフが(ツリー、正確には根付き木)ですね。ルートを中心と呼ぶ用語法はあったような気がします。([追記]文献[1], [2]を見ると、「ルート(根)」は木にしか使ってないようです。「どの頂点にも行ける」性質を持つ頂点は「ハブ」とか呼ぶのが適切かも知れません。[/追記]

結局、FPN山崎記事は何を言いたいのか? ※

これ以上引用して吟味しても時間の無駄なので止めます。この後も「中心になるもの」「知り合いの輪」「濃度」とかの用語が曖昧なままに使われ、「グラフ理論で見た場合」とか「グラフ理論で考えれば」とか言ってる割には、さっぱりグラフ理論を使った議論になっていません。

それどころか、グラフ理論云々を抜きにしても、要領を得ない

例えば仮定の話ですが、mixiの中に百万人が参加する中心的なコミュニティが幾つかあり、そこで書籍執筆に関する著作権問題や画像流出事件が起こったら、下手をすれば一挙に百万人の参加者がmixiから離脱する、退会処置を講ぜられ、その結果全体が雪雪崩的に崩壊するリスクがあります。これがネットワークの持っている脆弱性の議論です。

これは、「mixiは頑健である」という主張の根拠(らしきもの)なのですが、百万人コミュニティが存在すれば「一挙に百万人の退会処置」の可能性があるからリスクが高い、つうことですよね。十万人コミュニティなら「一挙に十万人の退会処置」で中くらいのリスク? 一万人コミュニティなら「一挙に一万人の退会処置」だから、たいしたリスクではない、と。これが、2007年のmixiを占う主たる論拠ですかぁ?

誤解されないように言っておきますが、僕は「定量的な議論をしろ」とは言ってません。グラフ理論には、連結性([1]第7章、[2]第3章)とか、ある性質を持つ部分グラフの存在とか、定性的な議論もよくあります。定性的でもいいのですが、なんかmixiの構造がよりよくわかるとか、現象に対して予測ができるとか、実のあること(あるいは、実が無くても面白いこと)を言って欲しいわけです。

2007年のmixi

FPN山崎記事の「一挙に崩れるリスクは無い」は、“現象に対する予測”のようにも取れます。が、こんなことは何も考えずにも言えるし、たぶん当たるでしょう。その根拠にグラフ理論だとか言わなくても、「人は変化を嫌う(惰性的である)から、そうそうmixiをやめない」が根拠でもいいわけです。

それと、この記事では、mixiのリスクを退会によるユーザー数減少だけしか考えてないようです。「収益構造は安泰なの?」、「広告主が離れることは?」、「ライバルが出現しないの?」とかは触れられてもいません。なんだか意味不明の「中心的なコミュニティが存在しないから安全/頑健」だけで、2007年のmixiを“予測”しちゃっているのです。

“予測”に使った推論の筋道をまとめてみると:

  1. mixiには“グラフ理論”(それなんてグラフ理論?)で言うところの「中心的なノード」が存在しない。
  2. よって、同時大量退会者が出ない。
  3. よって、ユーザー数は安定している。
  4. よって、2007年に一挙に崩れるリスクは無い。

こういうの、分析とか予測と呼びますか。僕は呼ばない*4

邪推するに、山崎さんは前の晩にグラフ理論の解説を読んで、どうしても使ってみたくなり、思い付きの無難な結論に対してコジツケで当てはめてみた、ってあたりでしょうか。

グラフの定義もイロイロ

おっと、グラフ理論の基本概念の解説がおろそかになりました。そもそもグラフの定義(というか用語法)がめんどくさいので、その事情を説明しましょう。

まず、グラフは、辺に向きが付いているかどうかで、無向グラフ(undirected/non-directed graph)と有向グラフ(directed graph)の別があります*5。単に「グラフ」と言ったとき、どちらを意味するかに注意。有向グラフをダイグラフ(digraph)と呼ぶときもあります。

頂点間に複数の辺(多重辺;multiple edges)があっていいかどうかも分類基準になります。多重辺を認めるときにマルチグラフ(multigraph)と呼ぶこともあるし、逆に多重辺を認めないほうを単純グラフ(simple graph)と呼ぶ人もいます。

その他に、ループ自己ループ辺、同じ頂点に戻る辺)、孤立点(辺と接続してない頂点)、サークル(頂点と接続してない輪のような辺)を許すかどうか、頂点集合と辺集合に有限性の仮定をおくかどうか、なども確認してください。

そうそう、なんらかの構造や現象をグラフで定式化(モデル化)するときは、その構造/現象と、グラフの頂点、辺の対応関係を明確にしましょうね。そうでないと、わけわかんないから。その悪例は既に挙げましたね。

*1:抽象的構造としてグラフが与えられても、その幾何学的実現を作れます。

*2:[追記 date="2020-01-31"]複体、複体、複体 … なんとかしてくれ!」参照。[/追記]

*3:多重辺を持つグラフでは、頂点の集合から一意的に(誘導部分グラフとして)完全部分グラフが決まらない場合もあることに注意。

*4:山崎さんも、分析/予測だと明白に主張しているわけではありませんけどね。雑感エッセイですか、これ。

*5:希に、無向辺と有向辺の両方を持った混合グラフ(mixed graph)を考えることがあります。