Pages

Attractions of Councils: WEF GAC interlink survey



This flash was created for the 2010 World Economic Forum GAC Interlinkage Survey Data Visualization Contest. Due to the limit of this blog template, this is 60% the original size. please push a tiny right-bottom button to see in the fullscreen mode.


On 25 Nov, this production was selected among one of 5 works with "Honorable Mention".

WEF:Winners of the Global Agenda Visualisation Challenge
GE: Making Sense of the World Economic Forum Via Data Visualization

Here is my afterthought about this challenge.


In the space of World Economic Forum, each of 72 councils attracts each other to cope with global agenda.

According to the 2010 interlinkage survey, Council of China gained the most ranking score, followed by Council of Banking & Capital Markets and Council of North America.
Renewable Energy and Climate Change remained as hot spot in the forum while interests in Terrorism shrinked dramatically.
The size of circles in this chart shows how much score councils get (statistically adjusted). Each circle moves toward others by the same law of gravitation as the planets.

Double-click the circle for detailed comments from/to the other councils.

Afterthought:WEF visualization challenge

Be blind to my poor English please.

Last month, World Economic Forum, Geneva-based non-profit foundation well known for its annual meeting in Davos, and visualizing.org, website special for data visualization, asked ‬interactive designers to make cutting-edge visualized presentation of a relatively complex data obtained by a survey on the relationship between WEF's 72 councils.
The target data was given (downloadable) from WEF Global Agenda Councils and visualizing.org offered weighed matrix data, "normalized order" of Councils' responses.
I had decided to participate in this unique contest. But it was not easy as it looked.

What to visualize:
WEF's Global Agenda Councils conducted this year "the interlinkage survey" to explore how its Councils interact. It asked individual members of Councils as follows (a little omitted to simplify):

"Please select a maximum of 5 Councils that your Council would benefit from interacting with by order of priority and describe how it interlinks with your Council."
For designers who are not familiar with statistics, the bureau of visualizing.org made public a matrix of weighed linkage between Councils as follows:

Collected comments about "how it interlinks with your Council" amount to 1900+.

Objective:
  • elucidate the interconnectedness among issues
  • highlight the emerging clusters
  • catalyse dialogue at the Summit between the Councils.

Weighed directed graph:
At first, I thought this is a problem about graph layout. In retrospect, it is obvious that most participants thought that way.

In mathematics, Graph theory is not about Charts but about sets of "vertices(nodes)" connected by "edges(links)." This data structure is not so strange as it seems. We know relationships between family or friends, network of railway or sewage pipes.

Relation is "undirected" when it is mutual like friendship or railway. On the other hand, it is called "directed" if it is one-way like sewage pipe or economic dependency. If relationship is quantitative, it is called "weighed" graph.

After a few days of instant search. I was at a loss what to do because there seemed to be no universal algorithm to lay out graph data.
I learned that some companies offered libraries for automatic graph layout engine: ATT offers wide variety of applications using its "Graphviz". Microsoft sells "Microsoft Automatic Graph Layout" and yWorks sells flash version of layout engine "yFile."

To see the whole picture of given data, I picked up JUNG(Java Universal Network/Graph Framework developed by University of California, Irvine) and made an instant application of undirected weighed graph (not directed but undirected because it is easy).

If all edges are shown, We can not distinguish each line. So I set a threshold weight to be 0.4 to limit numbers of edges.
JUNG(ver 1.74) has 5 options of layout algorithm. Here are screenshots.



Click to extend slides
  • SpringLayout
  • ISOMLayout
  • KKLayout
  • FRLayout
  • CircleLayout

Spring Layout

ISOM Layout

KK Layout(Kamada Kawai):dynamic spring system and minimizing the energy within that system

FR Layout(Fruchterman-Reingold):Attractive forces occur between adjacent vertices only, whereas repulsive forces occur between every pair of vertices

Circle Layout


Having found this data is "too large to show", I felt hopeless at this point.

Physics simulator engine:

With such many edges, these ordinary graph presentations are not appropriate to "highlight the emerging clusters". I gave up showing edges and searched for another way.

Box2D is a famous physics engine that can simulate a physical world such as gravity, inertia and collision. I thought that if weighed edges act like attraction(universal gravity), all complicated edges will be composed and shown as a direction of move of the object. Its resulting layout might be stable or unstable, that I thought is symbolic of this leaders' brainstorm organization.
Once I decided to use this analogy, it is obvious that object size must be proportional to attraction.

My work is here.

How other participants dealt with complexity:


CATALYZING THE GLOBAL DIALOGUE(winner):

Initial state is CircleLayout with all edges. On MouseOver only a specific node-edge is shown. On Click inward and outward edge and comment icon are shown.

WORLD ECONOMIC FORUM GLOBAL AGENDA COUNCIL INTERLINKAGE:

Initial state is CircleLayout with all edges. On MouseOver only a specific node-edge is shown. Selector not for weighed links but for original ranks.

GLOBAL AGENDA COUNCILS WHO SHOULD WORK TOGETHER:

Not graph layout. On Click linked nodes are highlighted. Message is clear: Selector for councils that he thinks have possibility of cooperation.

GLOBAL AGENDA COUNCILS CONSTELLATION:

KK layout? quasi-3d layout has beautiful effect of focusing on a clicked node.

Further:

Q1: select a maximum of 5 boys/girls you like most by order of priority.
Q2: select a maximum of 5 boys/girls you dislike most by order of priority.

These questions have same data structure as this challenge. But what is the best visualization for each ?

JUNG code:

This is an instant application for JUNG 1.7. Note that the current JUNG2.0 is quite different.
Weight matrix file prepared here is csv-formatted with its first row node name like this:


import java.awt.*;
import java.io.*;
import javax.swing.JFrame;
import edu.uci.ics.jung.graph.*;
import edu.uci.ics.jung.graph.decorators.*;
import edu.uci.ics.jung.graph.decorators.StringLabeller.*;
import edu.uci.ics.jung.graph.impl.*;
import edu.uci.ics.jung.visualization.*;
import edu.uci.ics.jung.visualization.contrib.*;
import edu.uci.ics.jung.visualization.control.*;

public class RelationGraph {
    public static void main(String[] args) throws NumberFormatException, IOException {
        JFrame window = new JFrame("RelationGraph");
        final Graph graph = new UndirectedSparseGraph();
        double threshold = 0.6;
        // 表頭変数の配列
        String[] names = null;
        double[][] correlation = null;
        LineNumberReader in = new LineNumberReader( new InputStreamReader(new FileInputStream("/path/to /matrix.csv"), "MS932")  );
        String line;
        while((line = in.readLine()) != null) {
            // 1行目は表頭変数。ついでに列の数も数えて配列を作成する。
            if(in.getLineNumber() == 1) {
                names = line.split(",");
                correlation = new double[names.length][names.length];
            }
            // 2行目以降はn行目のデータを配列の[n-2]番目に入れる
            else {
                String[] t = line.split(",");
                double[] d = new double[names.length];
                for(int i = in.getLineNumber() - 1; i < t.length; i++) {
                    d[i] = Double.parseDouble(t[i]);
                }
                correlation[in.getLineNumber() - 2] = d;
            }
        }
        // Vertexの配列を作ってそれぞれに参照を代入
        Vertex[] vertices = new Vertex[names.length];
        final StringLabeller stringLabeller = StringLabeller.getLabeller(graph);
        final EdgeWeightLabeller weightLabeller = EdgeWeightLabeller.getLabeller(graph);
        
        for(int i = 0; i < names.length; i++) {
            vertices[i] = graph.addVertex(new UndirectedSparseVertex());
            try {
                stringLabeller.setLabel(vertices[i], names[i]);
            } catch (UniqueLabelException e1) {
                e1.printStackTrace();
            }
        }
        // 閾値以上の相関係数を持っているVertex同士にEdgeを結ぶ
        for(int i = 0; i < correlation.length - 1; i++) {
            for(int j = i + 1; j < correlation[i].length; j++) {
                double current = correlation[i][j];
                if(current >= threshold || current <= -threshold) {
                    Edge e = graph.addEdge(new UndirectedSparseEdge(vertices[i], vertices[j]));
                    weightLabeller.setNumber(e, current);
                }
            }
        }
        
        Layout layout = new SpringLayout(graph);
        // change algorithm : KKlayout SpringLayout ISOMLayout Circlelayout TreeLayout
        final PluggableRenderer renderer = new PluggableRenderer();
        
        renderer.setVertexStringer(new VertexStringer() {
                       public String getLabel(ArchetypeVertex v) {
                           return stringLabeller.getLabel(v);
                       }});
        
        renderer.setVertexPaintFunction(new VertexPaintFunction() {
                       public Paint getDrawPaint(Vertex v) {
                           return Color.DARK_GRAY;
                       }
                       public Paint getFillPaint(Vertex v) {
                           if(((PickedInfo)renderer).isPicked(v)) return Color.ORANGE;
                           for(Object n : v.getNeighbors()) {
                               if(((PickedInfo)renderer).isPicked((Vertex)n))
                                   return weightLabeller.getNumber(v.findEdge((Vertex)n)).floatValue() < 0
                                        ? Color.BLUE : Color.RED;
                               }
                               return Color.LIGHT_GRAY;
                           }
                      });
        renderer.setEdgePaintFunction(new EdgePaintFunction() {
                      public Paint getDrawPaint(Edge e) {
                          for(Object v : e.getIncidentVertices()) {
                             if(((PickedInfo)renderer).isPicked((Vertex)v)) { return weightLabeller.getNumber(e).floatValue() < 0 ? Color.BLUE : Color.RED;
                             }
                          }
                          return weightLabeller.getNumber(e).doubleValue() > 0 ? Color.PINK : Color.CYAN;
                      }
                      public Paint getFillPaint(Edge e) {
                                      return null;
                      }
                  });
        renderer.setEdgeStrokeFunction(new EdgeStrokeFunction() {
                      public Stroke getStroke(Edge e) {
                          for(Object v : e.getIncidentVertices()) {
                              if(((PickedInfo)renderer).isPicked((Vertex)v)) {
                                  return Math.abs(weightLabeller.getNumber(e).floatValue()) < 0.4
                                       ? new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 1.0f, new float[]{1.0f, 5.0f}, 0f) : new BasicStroke(2);
                                  }
                          }
                              return Math.abs(weightLabeller.getNumber(e).floatValue()) < 0.4 ? PluggableRenderer.DOTTED : new BasicStroke(2);
                       }
                   });
        
        PluggableGraphMouse gm = new PluggableGraphMouse();
        gm.add(new PickingGraphMousePlugin());
        gm.add(new RotatingGraphMousePlugin());
        gm.add(new TranslatingGraphMousePlugin());
        gm.add(new ScalingGraphMousePlugin(new LayoutScalingControl(), 0));
        
        VisualizationViewer viewer = new VisualizationViewer(layout, renderer);
        viewer.setGraphMouse(gm);
        viewer.setPickSupport(new ShapePickSupport(viewer, viewer, renderer, 2));
        
        window.add(viewer);
        window.setSize(1000, 800);
        window.setLocationRelativeTo(null);
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.add(new GraphZoomScrollPane(viewer));
        window.setVisible(true);
        System.out.println(vertices[1]);
    }
}

ドイツのデータジャーナリズム

ドイツでもデータ・ジャーナリズムに興味を持つ人は増えてきた(例:Datenjournalismus Berlin)。問題は英米のようにデータが公開されていないことだ。EUでもOpen Governmentが進めようという動きもある(例:opengovernmentdata.org)。

Ulrike Langer:Open Data im Lokaljournalismus – Folien vom Scoopcamp 2010
Guardian : Open government in the EU

以下はハンブルグで行われた講演「Open Data im Lokaljournalismus」のスライド。リークされたデータ(wikileaksなど)、政府計画、政府の回答、EU統計局、世論調査、アンケートを利用することを提唱している。





ドイツのデザイナーらは、データさえあればこんなものも作れると準備万端だ。(ドイツの政党支出に関するリンクグラフ)


ドイツ関係のデータジャーナリズム関係サイト
Karte Opfer rechter GewaltRobotorjournalismusDATEN ZU HAMBURGTOOLS

アウトフォックス マードックの正体

MXの「未公開映画祭」で、米Foxニュースを扱った2004年映画「Outfoxed」(劇場公開はアメリカでもされていない)が公開されている。右翼思想と商業主義が鉄の組織統制と結びついたFoxNews(当時視聴率トップ)の内実が描かれていて、腰を抜かすほど驚いた。(これを見ると、桜チャンネルは良心的右翼だと思う)

これを見て一番驚くのは、恐らくメディア内の人間で、このような統制がある新聞は日本にはほとんどないと思う。(読売でもこれほどではあるまい)。メディア陰謀論を内部の人間があまり信じないのは、統制について実経験としてはほとんど見当がつかないからだ。もちろん、取材姿勢が客観報道という名目の下で無難な内容に逃げていたり、and/or、ハードな取材力がないからでもある。

個人的に印象に残ったのは、イラク戦争の米兵死者のニュースで、キャスターのビル・オライリーBill O'Reillyが「イラクで死亡した兵士は、統計的には、人口的に調整したカリフォルニアで殺人に遭う人よりも少ない」という評論を述べたシーンだ。統計学の用語はどのようにでも利用でき、それなりにもっともらしい印象を与えることができる。

以下はFoxニュースの特徴
  • 移民、地球温暖化など共和党政権、キリスト教福音派の主張を一方的に伝える
  • 経営陣がニュースを選別し、何をどのように取り上げるか、記者に直接支持する。嘘をつくことも強要
  • オライリーなど右翼キャスターばかり
  • 反ブッシュの著名人、一般人をゲストに呼んでおいて攻撃する
  • 主張が弱く、妥協的なリベラルを叩かれ役に採用
  • にもかかわらず、公正中立Fair and Balancedを強調する
  • 中絶や同性婚を民主党を分裂させるWedge Issueとして多用する
  • 過剰なグラフィックスと字幕で過剰に演出する
  • ブッシュ再選のため、経済はいいニュースしか報道しない
  • フォックスのホワイトハウス担当記者の妻はブッシュの選挙スタッフ(同様の問題があったCNNは、該当記者を選挙報道から外した)
  • ブッシュの従兄弟ジョン・エリスがFOXの出口調査担当。最初にブッシュ当選をうち、三大ネットが追随した
  • これらの方向性を理解できない記者を切り捨てる
  • Outfox Fox = Fox風の愛国主義が視聴率を稼ぐことに気づき、fox以上にfoxらしくしてしまうこと

「黙れと放送中に言ったことは一度しかない」というビル・オライリーの証言に続いて、これでもかというほど、「黙れ」とゲストに怒鳴りつけるシーンを見せる編集は、フェアユース規定がないとできないかもしれない。(Fox側は著作権違反だと訴えている)

ブラジル大統領選挙のグラフィックス

Inspired Magazineに、10月31日のブラジル大統領選挙で新聞雑誌が採用したグラフィックスが紹介されている。

Inspired Mag : 40 Ways of Visualizing Brazil’s Historical Election

紹介されているのはブラジル人デザイナー、Alberto Cairo氏がGerson MoraRodrigo Cunhaなどとチームを組んで制作したものや、他の全国紙のグラフィックチームの作品。

アルベルト・カイロ氏は、スペインのエル・ムンド紙のオンライングラフィックスを担当した後、北カロライナ大でインフォメーション・グラフィックスを教えた経歴をもつ。マドリッド駅鉄道爆破テロのグラフィックスでMalofiej賞などを総なめにした。Estado de São Paulo紙のEduardo Malpeli氏とともに、visualpolisを運営し、Infografia 2.0という著書もある。

ブラジル・アルゼンチンは政治経済の混乱がしばらく続いたせいで第三世界的イメージが強いが、戦前のヨーロッパでは「裕福なブラジル人、アルゼンチン人」というイメージだった。(だから日本人も移民したのだ)
グラフィックスも、アメリカの技術的な面とスペインのアート的な面が導入されていて素晴らしい水準になっている。
Click to extend slides
  • コロプレス1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • リンク図
  • カルトグラム1
  • 2
  • 連続3
  • レーダー図
  • サークル図
  • フロー
  • サークル系
  • バー系
  • レーダー図
  • イラスト1
  • 2
  • 3

Estado de São Paulo紙のコロプレス図1

Estado de São Paulo紙のコロプレス図2

Alberto Cairoチーム

Alberto Cairoチーム

Folha de São Paulo紙


Estado de São Paulo紙

Estado de São Paulo紙

A Notica紙のコロプレスによる結果推移図

Alberto Cairoチーム

Alberto Cairoチームのリンク図

Alberto Cairoチームのよるカルトグラム

Alberto Cairoチームによるカルトグラム

Estado de São Paulo紙の連続カルトグラム

Alberto Cairoチーム

Folha de São Paulo紙

Folha de São Paulo紙のフロー図

Folha de São Paulo紙

Alberto Cairoチーム


Alberto Cairoチーム


Alberto Cairoチームによる開票手順説明

A Tarade紙のDanilo Bandeira
チームによる「数字で見るブラジル」

A Notica紙による選挙制度解説

ビジュアル化の最先端

データビジュアル化の専門家が集結するIEEE VisWeek 2010で、ロンドン市立大による、地球規模の台風データ可視化が一位に選ばれた。
Information Aesthetics:Research: Tracking and Visualizing Global Hurricane Activity

線の太さは風速を表し、白い色が時間経過によって消えていくことで移動速度を表している。実際のアプリケーションでは、地域を拡大したり、時間軸を制限したりすることで、詳細な画像を見ることができる。つまり、シンプルな画像とは裏腹に、背後に膨大な気象データが隠れている。
このIEEEの専門家が扱うデータは、正味数十MBレベルの巨大テータで、javascriptやflashで扱えるレベルではない。

最近見つけた脅威のグラフィックのもう一つは、20年間の難民の出入りをインタラクティブ地図に表現したもの。ポツダム応用科学大学が制作し、Flashに移し替えた。データはUNHCR年次報告。
少なくとも160カ国×160カ国×20年間のデータを抱えている必要がある。ただし、最近のグラフィックス多用に対して言われる批判と同様、文脈と意味が伝わってこない。


Flight & Expulsion on niceone.org

イギリスのデータジャーナリズム元年

バーミンガム市立大学のPaul Bradshawが、データジャーナリズムについて書いている。

Bradshaw: Data and Journalism Form a Powerful Combination

情報という通貨が変わりつつある。最初は目撃談とインタビューという粗金属だった。それに公的報告、調査結果、財務諸表という合金が加わった。最近はプレスリリースが交じり込んだ。最新の素材は(統計結果ではない)データそのものだ。
データのタイプは、ライブデータ、大量テキスト、行動パターン、ネットワーク状データで、コンピュータがなければ処理できない。

この動きの嚆矢は1960年代にデータベースが開発されたことに始まる。90年代にインターネットが普及すると、OpenData運動(政府データや科学情報の公開を求める動き)やLinkedData運動(ウェブ上で情報を共有する動き。wwwが典型)が起こった。これによって、政府の政策コンサルタントの名前が関係契約の当事者としても見つかったなどということが起きた。
英米でData.govとData.co.ukとして発足したほか、イギリスの税金がどの分野に幾ら払っていることになるかを追跡するサイトWheredoesmumoneygoや、英電子民主主義プロジェクトmySocietyによる市内最適地案内サイト「Mapumental」が公開された。これらの大規模データ(Big Data)を伝統的メディアは使いこなせていない。

イギリスでData Journalismが決定的に注目されたのは、2009年、ガーディアンの国会議員不正請求書類点検サイト(「CrowdSourcingの教訓」)が6週間にわたってフリート街(英メディア業界)の目を釘付けにしたことだ。これまでに23000人が22万ページを分類することに協力した。アメリカでは、Adrian HolovatyによるChicagoCrime.org(その派生としてのEveryBlock.com)が最も有名。NYTimesでは、Aron Pilhoferがインタラクティブ部門を創始した。

Guardian DATABLOG:MPs' expenses: how we visualised the data


大量データを華々しいグラフィックスで提示する動きは、データ乱造主義(Data churnalism)になる恐れがある。文脈や洞察に欠けるためだ。編集者には統計学のリテラシーが必須になるだろう。広告部門も同様の改革が必要になるだろう。「広告は半分しか効果がないということは分かっているが、どの半分かが分からない」というではないか。
NYTimesやGuardianはデータAPIも公開している。一見なんの収入にも繋がらないように見えるが、少なくともガーディアンは使用者データと広告を結びつけている。

伝統的な記者の役割が縮小することは避けられない。統計、CAR、プログラム、デザインの技術を併せ持った人材が必要になる。

Attributorがニュース記事盗用探索

AP通信などのニュース記事を無断使用しているサイトを発見し、ライセンス契約を結ぶよう求めたり、デジタル著作権法に基づいて強制削除手続きを行うベンチャーサービス企業Attributorが、3月から試行していた「著作権協調取り締まり」の結果を発表した。

Graduated Response Trial Unmasks a Cooperative Internet
Attributor Study Shows Solution to Online News Piracy

同社は3-7月に主要ニュース機関と協調して、記事70101本が44906サイトと40万本以上のコピー記事になっていることを確認した。
無作為に選んだ107サイトに対して、無許可コピーの指摘、検索エンジンと広告配信会社にサイト情報削除の依頼を行った。当初の狙いは、これに続いてホスティングしている会社に強制削除を求めることだが、これは試行ということもあり、実施されなかった。
指摘されたサイトの75%は、記事の削除かライセンス交渉に応じたという。また、検索エンジンと広告配信会社で削除協力に応じなかった例は皆無だった。

同社では、各サイトの広告収入をシェアする契約を結ぶことを通じて、収入の道を開くことができることが分かったと豪語している。
果たして、そんな簡単な話だろうか。オンライン広告の全収入がニュース機関に入っても現在の取材活動を支えられないのだから、News社は有料化に踏み切った。
ましてや日本では、アメリカに比べて半分から10分の1の広告単価なので、広告ベースのニュース機関は存在しえない。(日本にプロブロガーがいない最大の理由)

グーグルニュースが著作者タグを試行

GoogleNewsが、コピーだらけのニュース記事の本来の著作者を確認するため、という2つのタグを記事に埋め込むテストを開始した。これによって、どの記事が真正記事としてリンクされるべきか決定するらしい。

Nieman Lab:Google News experiments with metatags for publishers to give “credit where credit is due”

syndication-sourceは配信記事のリンクを、original-sourceは「すっぱ抜いた記事」のリンクを埋め込むよう、サイト管理者に期待している。もっとも、「どこまで有効かははっきり分からない」とgoogle自身が述べている。

米中間選挙の舞台裏

政治サイトTalking Points Memoで米中間選挙のバックオフィスを担当したAl Shaw氏がニーマン研のインタビューに答えている。

NiemanLab:Talking Points Memo’s first developer talks startup life, jumping to ProPublica and data journalism

TPMの筆頭技術者で同僚と2人で選挙データサイトを担当した。関連技術はブログでも公開している。選挙が終わるとProPublicaに移籍し、データジャーナリズムを追求するそうだ。
Shaw氏は2年前にインターンとしてTPMに参加、昨年大幅なRedisignとメタCMSという仕組みを構築し、12区画のグリッドレイアウトでデザインできるようにした。SinatraとRuby on Railsを使い、AmazonEC2にサーバーを移した。

自信作は世論調査追跡のPollTrackerで、14000の調査データを集積した、全米最大のデータベース。DailyKosやAndrewSullivanなどのサイトでも利用されている。

RubyとDjango、クラウドの普及によって、データジャーナリズムはますます普及していると見ていて、Hacks/Hackersという、記者とプログラマーの集まりもできている。TPMはスタートアップの雰囲気を保っていて、技術者が記事や広告について絶えず関わっているという。

NPR:GoogleDocsで同時編集

一方、MediaShiftでは公共放送NPRの舞台裏を紹介している。

MediaShift:Inside the NewsHour's Multi-Platform Election Night Bedlam

newshour at desk.jpg
PBSは、今回の選挙からウェブ部門と放送部門が一体運用された。ハイチ大地震とメキシコ湾原油漏れ事故で、記者にメディア中立な運用意識が広まったそうだ。
今回はiPhoneやネット放送向けに1時間余計に収録した(時差があるアメリカでは番組は録音される)。
音声データと開票地図はPBS加盟局のサイトのほかに、HuffingtonPostなどにもホストされた。

編集ではGoogleDocsを使い、複数の記者が一つの文書を同時に編集した(ニュース原稿や他のメディアによる当確情報)。選挙事務所にいる記者がGoogleDocsで原稿を書いているのを覗きながら、編集者が見出しを準備した

AP通信の選挙データを使い、動的にグラフィックスを生成するシステムを構築した。Googleの無料OS、google chromeを使用したらしい。UStreamとも提携し、音声生放送だけで25万ビューを集めた。

Huluと土豆網が株式公開

米動画サイトHulu(日本からは見れない)の2010年の売り上げが、一年で倍増し、2億4000万ドル(200億円)になる見通しらしい。2四半期連続で黒字化した。

paidContent.org:Hulu’s Revenue More Than Doubled Over The Last Year
Hulu:2010年は売り上げ2.5億ドル


Huluは年内にも株式公開する公算で、企業価値は20億ドル(1600億円)と見積もられている。有料会員Hulu Plusは、オンラインでABC、NBC、Foxのドラマがフルシーズンで見ることができる。この独占性が、ネットワーク局がGoogleTVを拒絶している理由の一つのようだ。

また、中国の動画サイト「土豆網」もナスダック市場に株式公開を申請、100億円を調達する見込み。ジャフコが5.3%株主。土豆網はYouTubeの中国版で、コンテンツはユーザー任せだが、サイトが制作したドラマ「欢迎爱光临」も配信している。
土豆網は売り上げ3360万ドル(9ヶ月)にすぎず、1250万ドルの赤字を計上しているが、一年間で230%増と成長著しい。再生前にキャノンなどの大手企業の広告が出る。
競争相手の优酷网酷6网はすでにハリウッドからコンテンツを買い取っている。

Data Journalismの唱導者たち

イギリスのProgramming JournalistであるDavid McCandlessが7月、アイデア発表会TED (Technology Entertainment and Design)で、Data Journalismの必要性を訴えた。日本語の字幕(subtitles)もある。



Data Journalismの長所の一つは、グラフィックスによって、数字比較を明瞭にすること。例えば、アメリカの金融業界支援をアフリカ支援と比較したりする場合だ。
もう一つは、データを「文学」にとどめないで、客観的に分析する場合。例えば、アメリカと中国の軍事費を総額だけでなく、一人当たり、あるいはGDP比でも表現すること。
出色なのは、だれも分析しないデータを発掘する場合。1万件に及ぶFacebookのステータス更新を分析し、バレンタインから春休み前にかけて「別れ」が急増することを提示して、聴衆の笑いを誘っている。

彼のサイト「Information is Beautiful」は必見。世界の優れたインフォメーショングラフィックスを紹介している。

同じ頃、アメリカのマルチメディア記者、Geoff McGheeがスタンフォード大でナイト財団フェローを終え、データジャーナリズムに関するドキュメンタリーを制作した。
映画のようなクオリティーで、最前線を開拓する人々を紹介している。主要なinfographicsへのリンクが満載。

http://datajournalism.stanford.edu/

今井むつみ「ことばと思考」





鈴木孝夫教授が「日本語と外国語」で紹介しているorange cat(オレンジ色の猫)、envelop joune(黄色い封筒)が茶色の猫と茶封筒だった話をあっさり1ページで終え、認知心理学が言語をどう捉えているかを解説している。
驚いたのは、前後左右の概念がなく、位置関係を東西南北で表す言語を話す人にはDead reckoning(推測航法)能力が備わっているという話だ。

バイリンガルが2つの言語回路を持つということはないという話は、脳トレの川島隆太教授とは違う結論のような気がする。

話がハーバードのスティーブン・ピンカーに似ていると思って読んでいたら、最後で「あいつは乱暴な議論だ」とばっさり切り捨てている。とはいえ、外国語が難しいのは、脳が母語に最適化された結果だという結論は同じ。

耳折り箇所
  • 基礎色:ダニ族は2色、日本語や英語は11で例外的に多い。緑と青を区別する言語は3割弱。韓国語は黄緑と緑を区別する
  • 容器の名前:jar,bottle,jug,can,boxと瓶、桶、缶、盒、管では一致しない
  • 走るの名前:jog,sprint,dash,ramble,amble,stagger,swaggerは別の概念。日本語の「渡る」「抜ける」に対応するカテゴリーがない
  • 持つの名前:抱,夹,顶,托,背,扛,提,端,拿は別の概念。日本人学生は使い分けられず、3歳レベルに留まる
  • 名詞の分類:可算不可算か性か助数詞
  • アボリジニのグーグ・イミディル語:前後左右の概念がなく、東西南北で表す。左右の概念がないテネパパ語話者は鏡像関係が認識できない。
  • サピア=ウォーフ仮説:言語は世界を分割する
  • カテゴリー知覚:走るか歩くかさえ截然と知覚される

米中間選挙のトラフィック

マスコミにとって選挙は、選挙公報という臨時収入によって普段なら不可能な企画が許されるため、昔から技術博覧会だった。とはいえ、視聴率や販売部数がそれによって増えるわけではない。衆院選で圧勝した政権が4年間選挙をしないことが連続している日本のような現象がアメリカで起きたら、マスコミは干上がってしまうだろう。

オンラインサイトは、まさに当日のトラフィックを増やすために、目新しい手法や技術を導入する。ニーマン研究所が聞き取り調査をしたデータによると、中間選挙の投開票日のトラフィックは少なくとも2割程度増加しているようだ。

NJL:Election week wrap-up: Tuesday night traffic trends from some prominent politics websites

NPR普段の火曜日に比べて23%増。iPhoneアプリの使用が11%増え、トラフィック(生中継音声)が83%増。
NYTimes政治セクションのトラフィックは21%増加。
WSJ50%増。ビデオ記事は30万回再生された。
ChicagoTribune政治欄は当日だけで100万PVを超えた。全体でも普段より40%増。
LATimes普段の3倍。当然だが、地元州の選挙に関するページが人気。
Talking Points Memo普段の火曜日の220%。政治専門サイトのトラフィックはムラの大きいため、サーバーの一部をクラウドに移行しつつある。
RealClearPoliticsユニークユーザは500%増加。この日に備えてサーバーを追加した。

イタリアの電子新聞

他国で起きていることを日本に当てはめるメディア産業論はかなりピンぼけだ。
テレビは国情、政策、経済規模で成り立ちが大きく異なる。テレビが発明された地であるからこそ、アメリカには国営放送局がない。歴史が古い新聞は、階級意識が残るヨーロッパでは高級紙とタブロイドという分化や、そこに山脈があるという理由だけで市場が分断されるような地域性をいまなお引きずっている。世界で最も上品な新聞を作るドイツでは、飛び切り下品なタブロイドが最大部数を誇っている。

イタリアは、戦中のファッショ運動があったにも関わらず、戦後の長い教会−共産党対立、マフィアと汚職、地域主義(いわゆるカンパニリズモ)によってG7で最も新聞購読率が低いままだ。左の国営放送とベルルスコーニの民間放送しかないテレビの視聴時間も低い。(イタリア人にはもっと楽しいことがある!)

強い党派色と汚職塗れのメディア


ミラノの実業家だったベルルスコーニは1988年、ミラノの出版社モンダドリの株を創業者の姪から買い取った。主要株主でイタリアのユダヤ人大富豪カルロ・デ・ベネデッティは、週刊誌『エスプレッソ』新聞『レプブリッカ』を経営していたスカルファリからグループの株を買い取り、モンダドリと合併させる構想で、オーナー家フォルメントン家と1991年に株式を買い取る約束をした。しかし、翌1989年、その合意は反古にされ、フォルメントン家はベルルスコーニの社長就任を支持した。
当然裁判沙汰になり、1990年の判決では合意が有効とされ、株が移転されてベネデッティが社長になった。しかし、91年のローマ地裁控訴審では覆され、当時のアンドレッティ首相の介入で、モンダドリは再び『エスプレッソ』『レプブリッカ』などの新聞部門と雑誌ラジオ部門に分割され、それぞれのオーナーの下に戻った。
話はここで終わらない。95年、ローマ地裁のVittorio Metta判事がベルルスコーニに買収されていたことが判明(有罪確定は2007年)、控訴審判決の見直しや損害賠償請求訴訟が行われ、2009年にベルルスコーニがベネデッティに7億5000万ユーロを賠償するよう命じる判決が出た。
この間、判事買収やベルルスコーニが所有するテレビ局による判事個人攻撃などは日本でも報じられている。

経営者がこんな状態であることに加えて、イタリアでは伝統的に主観的な記事スタイルが採用され、事実と意見がミックスされた、読みにくい文章が幅を利かせていた。
(にも関わらず、記者に国家認定資格制度があったのだが)
他の国の大手商業新聞が、できるだけ多くの読者を獲得するために採用した客観報道スタイル(それがスタイルにすぎないにせよ)を、イタリアの新聞はかなり遅れて導入したことも低購読率の原因だと思う。(日本風に言えば、大新聞から小新聞に変われなかった)

イタリアの新聞の電子版対応


銘柄電子版の状況
la Repubblica
週刊誌『エスプレッソ』で成功したEugenio Scalfariが1976年にイタリア初のタブロイド版としてローマで創刊。中道左派でベルルスコーニと教会に敵対的。2004年にフルカラー化。1996年にEzio Mauroが編集長になり、オンラインサイトを開設。
SMS携帯サービスは30セント。iPhone版は無料。
556,325部
Corriere della sera
1876年にミラノで創刊されたイタリアで最も代表的な新聞。最大の興業投資銀行Mediobanca所有。英語版だけでなく中国版がある。
iPad版は月19.99ユーロ。Android版も準備。携帯サービスもある。
619,890部
la Stampa
1867年創刊のトリノの新聞。オーナーはフィアット。経営難で買収の噂が絶えない。
iPhone版は1部0.79ユーロ、1か月11.99ユーロ。
いまとなっては古臭いeRexの電子ペーパー版も続いている。
309,253部
Il Messaggero
「ローマの休日」にも登場したローマの新聞。1878年創刊。
iPad版のほか、フラッシュを使ったPDFによる紙面版もある。
230,697部
Il Sole 24 Ore
イタリア最大の総合経済紙。イタリアの経団連である産業総同盟がオーナー。iPad/iPhone版は今のところ無料。
334.076部
Il Gazzettino
ベネチアの地方紙
130,030部
la Gazzetta dello Sport
最強のスポーツ新聞
385,064部
位置付けは八十田博人・共立女子大学国際学部専任講師のサイトを参照。

US News & World Reportがプリント版廃止

大学ランキングで有名な時事雑誌「USニュース&ワールドレポート」が5日、12月号で印刷版(購読契約限定)を終了すると発表。スタンドで一般販売する特集版を除いて、オンライン専業(無料)に移行する。

元々タイム、ニューズウイークに続く全米3位のニュース週刊誌だったが、販売不振で隔週版、月刊版に変わっていた。ついに事切れた感じだ。いまや、稼ぎ頭は大学や病院のランキング特集で、時事ニュースはおまけみたいなものだ。

US News:U.S. News Completes Transition to Digital Publishing Model

ウェブサイトのユニークユーザ数は月間900万人。政治、お金、健康、教育、自動車、旅行というテーマ別サイトを統合するという教科書のような事業展開をしている。

Programming Journalist worth to follow

フォローすべきJournalist Programmerたち(随時追加)
Aron PilhoferSiteTwitter
Newyork Timesのマルチメディアチームに所属
Derek WillisSiteTwitter
データベースを使った記事(CAR stories)のデータベースThe Scoopを運営している。PalmBeachPostからThe Center for Public Integrity、Washington Postを経て、現在はNewyork Times
Chase DavisSiteTwitter
National Institute for Computer-Assisted Reporting(NICAR)で2年間データアナリストをした後、Houston Chronicleを経てDesMoines Registerに在籍。
Matt WaiteSiteTwitter
St.Petersburg紙のPolitifact、TampaBay.comのNeighbourhoodWatchの開発者。
Charles Brian QuinnSite、Twitter
RubyOnRailsの開発会社Highgrooveに所属。NewYorkTimesのシステムなどを請け負っている
Jacob HarrisSiteTwitter
Newyork Timesの上級ソフトウエアアーキテクト。
Lee ByronSite、Twitter
カーネギーメロン大卒のデザイナー。インターンとして働いたNewYorkTimesで、オリンピック獲得メダル数のDorling Cartogramを作った俊英。ShapeTweenというライブラリを公開している。
Mark S. LuckieSite、Twitter
ブログ「10000 Words」でマルチメディアコンテンツを紹介。写真やイラスト、プログラミングを偏りなく紹介している。こんなサイトを作りたいものだ。
Jay RosenSiteTwitter
NewYork大でジャーナリズムを教えている。PressThinkは必読。
Nathan YauSiteTwitter
Data visualisationを研究している大学院生。FlowingDataでアメリカのvisualizationを追っている。
Robert QuigleySiteTwitter
ブログ「Old Media, New Tricks」
Greg LinchSiteTwitter
マルチメディア取材から開発までなんでもやる脅威の大学院生。ジャーナリズム志望の学生にあてた10カ条は必読
Justin EllisSiteTwitter
Portland Press Heraldなどでマルチメディア取材を展開した記者(現在は失業中?)
Paul BalcerakSite、Twitter
New Media社でマルチメディア取材教育などを受け持つ編集者
Tyler DukesSite、Twitter
ハイパーローカルやマルチメディアを追っているPR会社社員
David CohnSite、Twitter
Spot.Us設立者。コロンビア大ジャーナリズム学科大学院卒
Mindy McAdamsSite、Twitter
フロリダ大でメルチメディア取材を教えている。ブログ「Teaching Online Journalism」は技術情報満載
Adam WestbrookSiteTwitter
イギリスのフリージャーナリスト。フリーランスの生き残りノウハウがテーマ。有料のアドバイス集「nextgenerationjournalist」を出している。
Colin MulvanSite、Twitter
スチルカメラマンからマルチメディア記者に移行したアメリカ人
Mindy McAdamsSite、Twitter
Teaching Online Journalismを主宰。とても充実している。
Site、Twitter
Site、Twitter

参考

著作権違反警告の乱発問題

ユニバーサルミュージックが2007年、プリンスのLet's go crazyに合わせて踊る赤ん坊のビデオをYouTubeに投稿した母親に、著作権違反としてビデオを削除するように求めた。夫婦はデジタル消費者団体(Electronic Frontier Foundation)に相談し、提訴した。双方の弁護士は先週、略式判決(summary judgement)を求める申し立てをし、数ヶ月以内に判決が下りる。

問われていることは、
  1. 子供の踊りのBGMはフェアユースの対象になるのか
  2. デジタルミレニアム著作権法で、著作権者に「警告してから削除」する権利を認める一方、故意に間違った警告を送った場合の賠償責任を課して、著作権利者の警告乱発を抑制している(512(f))。これはそれにあたるか
夫婦側は、非営利かつ形状を変えている(transformative)使用で、たった30秒しか使っておらず、音楽の市場価値を毀損していないと主張、「明らかなフェアユース」にあたり、ユニバーサルは警告権を乱用したと訴えている。
一方、ユニバーサル側は、「明らかなフェアユース」などは存在しないし、「そもそも原告夫婦と弁護士は最初に『これはフェアユースを主張できるか』を相談しているじゃないか」と主張している。

ユニバーサルはYouTubeに毎週数百の削除要請を送っていて、2007年7,8月にプリンス関連だけで、1000本以上のビデオを削除したらしい。

賠償請求額は夫婦が62.5ドル、弁護士費用が1275ドル。弁護士が絡んで世の中は確実に悪くなっている。

参照:http://paidcontent.org/article/419-the-dancing-baby-lawsuit-will-shape-future-of-fair-use/

英Timesの有料購読者は10万5000人(公式)

The Times website
7月から完全有料化した英タイムズが、初めて購読者数を公表した。
ウェブとiPad、Kindleを含めた有料読者は10万5000人で、半数が「月間契約」だという。残りは一日(24時間)契約。
無料でアクセスできる印刷版購読者のアクセスは10万人。
編集長は「200年を超えるタイムズの歴史で紙以外のものを売ったのだから、評価は早計」と話している。

paidContent.orgは、ウェブで4週間(8.67ポンド)、iPadで9.99ポンド、Kindleで22.99ドルと幅があり、数字は(直近)1か月の数字ならいいが、4か月の数字なら貧弱だと指摘。少なく見積もった場合、月間40万ポンドの売り上げがあると推定している。
また、もし4か月累計で10万人なら、有料化に応じた読者は0.5%だと書いている。(詳細が開示されなかったから、悪い方に推測して挑発しているのだと思う)

paidContent.org:Times’Audience Numbers Struggle, Subscriptions Offer Hope

商売敵のガーディアンも、「この発表は明らかにするものよりも隠すものが多い」とし、契約コースの比率(お試しコースも継続している)や国内外比が分からないことを指摘している。彼らこそ一番知りたがっているはずだ。
内部情報として、iPad契約は45000件でしかも30日間無料お試しコースだという。「いずれにしても、儲かるビジネスモデルを作り上げていない」とも。

guardian:Times's paywall figures don't add up to a new business model
NYT:More Than 100,000 Pay for British News Site

参院選2010:世論調査を調査する(1)

英国総選挙の期間中、ロンドン大政治学科の選挙ブログ(LSE:Election Experts blog)で、Simon HixNick Vivyanの2人の研究者が、各社の世論調査を統合して、3党の得票率を推定する記事を書いていた。

1社では飛び飛びのグラフになってしまうが、コンピュータによる統合計算で、得票率の連続的な推移と誤差と推定している。
2人は、この推計値から各選挙区の得票率を推計し、当落を判断しているのだが、最も興味深いのは、最初の「各社の世論調査を統合する」作業だ。
採用された手法は、コンピュータと豪州政治を研究しているスタンフォード大学Simon JackmanによるPolling the Polls。各調査主体の癖があることを組み込んだモデルを提案している。
データ:2004年の豪州総選挙(5社の世論調査)

この件については、Jackman本の最終章の最後に書いてある。

同じ手法を日本に当てはめた例:社会科学のベイズ統計 動的線形モデルDLM

 【モデル】
  • i : 世論調査のナンバー
  • t : 日付(最初の調査を第1日とし、第T日目に投開票日をむかえる)
  • y: i番目の調査による政党の相対得票率(調査結果)
  • α: t日における政党の相対得票率(これが知りたい)
  • μit(i)j(i) : 世論調査の期待値はα(得票率)とδ(調査主体jによる癖、house effect)
  • σ2i=yi(1-yi)/n: サンプル数nの調査の分散期待値
  • yi〜N(μi2i) : 調査結果は正規分布
さらに以下のような仮定をする。
  • αt〜N(αt-12) : 政党得票率は分散ω(これ自体が分散0.1の雑音)でランダムウオークする
  • α1〜Uniform(0.4,0.6) : 初期値は多分40-60%で一様分布
  • αT=開票結果 : 最終的にこの結果にならねばならない

このモデルをコンピュータで計算する。JAGSで使うBUGS言語では、モデルは以下のように記述される。順序はほとんど関係ない。
model{
    ## NPOLLS個の世論調査について
    for(i in 1:NPOLLS){
      ## μはalphaとhouse(効果)の和である
      mu[i] <- house[org[i]] + alpha[date[i]]
      ## 世論調査結果はμとprecで決まる正規分布
      y[i] ~ dnorm(mu[i],prec[i])
    }
    ## 推移モデル
    ## すべての期間について
    for(i in 2:NPERIODS){      ## 一つ前のalphaを基準にランダムウオークする
      mu.alpha[i] <- alpha[i-1]
      alpha[i] ~ dnorm(mu.alpha[i],tau)
    }
    ## 事前確率
    sigma ~ dunif(0,.01)    ## sigmaは0−1の一様乱数
    tau <- 1/pow(sigma,2)   ## ランダムウオークの分散
    alpha[1] ~ dunif(.4,.6) ## 初期値は40-60%の一様乱数
    for(i in 1:5){          ## 調査主体(この場合は5社)に応じた偏差
      house[i] ~ dnorm(0,.01)
    }
  }

このモデルをどれだけ走らせるかを指定するのがスクリプトファイルで

model in kalman.bug   #モデルファイルを指定
data in dumpdata.R    #データファイルを指定
compile               #コンパイル
initialize            #初期化
update 1000           #最初の1000回(収束まで破棄する)
monitor alpha, thin(500) #alphaを500回ごとに保存
monitor sigma, thin(500)
monitor house, thin(500)
update 25000          #25000回繰り返す
coda *                #monitorした値を書きだす

dumpdata.Rには(一部はダミーの)データをRで使う形式で準備しておく。

y <-
c(0.48, 0.48, 0.47, 0.5, 0.51, 0.54, 0.52, 0.54, 0.51, 0.54, 
0.5, 0.52, 0.51, 0.52, 0.52, 0.48, 0.49, 0.49, 0.5, 0.46, 0.48, 
0.5, 0.5, 0.475, 0.48, 0.505, 0.5, 0.46, 0.485, 0.46, 0.47, 0.465, 
0.445, 0.44, 0.455, 0.47, 0.5, 0.485, 0.49, 0.46, 0.47, 0.48, 
0.51, 0.49, 0.5, 0.525, 0.51, 0.47, 0.44, 0.45, 0.49, 0.46, 0.48, 
0.48, 0.5, 0.47, 0.42, 0.46, 0.46, 0.47, 0.45, 0.455, 0.46, 0.46, 
0.46, 0.46)
prec <-
c(5685.09615384615, 5665.0641025641, 5676.43516659976, 5656, 
5658.26330532213, 5704.50885668277, 5596.95512820513, 8168.2769726248, 
3985.59423769508, 4009.66183574879, 3984, 4006.41025641026, 4041.61664665866, 
4006.41025641026, 4807.69230769231, 4627.40384615385, 4589.83593437375, 
4553.82152861144, 4560, 4609.50080515298, 4587.33974358974, 6936, 
6828, 6712.78195488722, 6814.90384615385, 6720.67206720672, 10000, 
5088.56682769726, 4383.9455509959, 4247.18196457327, 8145.3231633882, 
7673.60064315144, 7798.36015791072, 7573.05194805195, 3762.47605605404, 
....

実行によって、CODAindex.txtとCODAchain1.txtが生成されるので、これをcodaライブラリのread.coda.interactive()で読み込むとmcmc.listクラスを得られる。このクラスには、データを目で点検するためのplot機能が組み込まれている。
例えば、house effectのシミュレーションの推移を見るには
res <- read.coda.interactive()
plot(res[,116:120])

によって分布が得られ、

summary(alpha[,116:120])

によって

Iterations = 1001:25501
Thinning interval = 500 
Number of chains = 1 
Sample size per chain = 50 

1. Empirical mean and standard deviation for each variable,
   plus standard error of the mean:

             Mean       SD Naive SE Time-series SE
house[1] -0.01141 0.007502 0.001061       0.001233
house[2] -0.05751 0.007933 0.001122       0.001026
house[3] -0.00205 0.009187 0.001299       0.001108
house[4] -0.02906 0.009271 0.001311       0.001570
house[5] -0.04893 0.007936 0.001122       0.001236

2. Quantiles for each variable:

             2.5%      25%       50%       75%     97.5%
house[1] -0.02404 -0.01708 -0.011387 -0.005933  0.003332
house[2] -0.07109 -0.06355 -0.057064 -0.051590 -0.043512
house[3] -0.02038 -0.00767 -0.002666  0.004141  0.014595
house[4] -0.04683 -0.03259 -0.028943 -0.023893 -0.010237
house[5] -0.06397 -0.05327 -0.048362 -0.043595 -0.034841

が得られる。これをどう解釈するかは別の話。本人がエセックス大で行った報告によると、上のデータから、house1(ニールセン)とhouse3(ギャラクシー)が偏りがなく、他3社は過大評価していることになる。

大量データの可視化:世界経済フォーラムのコンテスト


ダボス会議で有名な世界経済フォーラムが、Global Agenda Councilsのメンバー評議会の関係を調査したデータを公開し、そのビジュアル化を問うコンテストを開いている。賞金は3000ドルで、締め切りは11月15日。
The World Economic Forum are asking interactive designers to create a data visualization that will help elucidate the interconnectedness among issues, highlight the emerging clusters and catalyse dialogue at the Summit between the Councils.
Data is based on the survey of all belonging Councils and provided in csv format.
The winner will receive US$ 3,000. The deadline is 15. November

WEF:Visualize the Global Agenda

ビジュアル化専門サイト「visualize.org」との共催。このサイトを見ると、ちょっとやそっとじゃ勝てそうもないほどハイレベル。

優勝者の作品は世界経済フォーラムのサイトに掲載されるほど、今後のデータ可視化プロジェクトでも優先的に発注を受けることができるらしい。

課題のデータは、メンバー評議会相互の関係を示す調査(2010 GAC Interlinkage Survey)で、メンバー評議会に対して
  • 交流が役に立ったグローバル評議会を最大5機関、順位付きで挙げてください
  • 交流が役に立った地域評議会を最大3つ、順位付きで挙げてください
  • 交流が役に立った産業評議会を最大3つ、順位付きで挙げてください
  • できればそれぞれの内容を記載してください
の質問をした結果。エクセル形式でダウンロードができる。

審査観点は微妙すぎて訳さないが
  • elucidate the interconnectedness among issues
  • highlight the emerging clusters
  • catalyse dialogue at the Summit between the Councils.
出すかどうかはさておき、考えてみるべきデータ構造だ。
有向グラフの配置問題を解かないと「highlight the emerging clusters」には答えられない。

グラフ配置とは

グラフ配置(Graph layout)は、数学的な意味のグラフをどう描くかに関する議論。

最も有名なライブラリはJUNG(Java Universal Network/Graph Framework)がある。ネット上の参考記事は大抵JUNG1.7のほうで、現在のJUNG2.1は大幅に書き換えられている。写真はJUNGによる配置例。

決定的なアルゴリズムはなく、表現したい内容によって戦略が異なる。
  • 力学レイアウト:原子間に働く力のような力学的ポテンシャルの最低値を求める
  • ベクトルレイアウト:隣接行列の固有ベクトルを使う
  • 対角線レイアウト:LSIの部品配置のように、edgeの交差を少なくなるように配置する
  • 対称レイアウト:グラフ内部の対称性を見つけやすくするように配置する
  • 樹形図レイアウト:木の枝のように配置する
  • 階層レイアウト:有向グラフにおいて、sourceからsinkへの流れが分かりやすいように配置する
GUESS(Graph ExplorationSystem)は最も汎用性の高いソフトウエア。
AT&TはGraphvizを公開している。windows版からiPhone版(Instaviz)まで揃っている。
マイクロソフトはMicrosoft Automatic Graph Layoutを販売している。
参考:Notes on an implementation of Sugiyama's scheme
yWorks:yFile(javaやas3版がある。有料)
C++のライブラリBoostにもgraphがある。

これを読むと、どれほど難しいかよくわかる。
okamoto7の日記:Graph Drawing: 15th International Symposium
1日目2日目3日目