忍者ブログ
Yaleで、遊んで学ぶ日々。

Yaleで、遊んで学ぶ日々。

囲碁、ときどきプログラミング、ところにより経済。
[38]  [39]  [40]  [41]  [42]  [43]  [44]  [45]  [46]  [47]  [48
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

少し前の話だが、2010年版の日本棋院所属の囲碁棋士の賞金(手合料含む)ランキング上位20人が発表された(表中の単位は万円)。年次推移を含めた数値→こちら

Screenshot.png

7大タイトルを3つ占めている張棋聖が1位、その後に山下本因坊と井山名人が続く。5位まではいわゆる平成四天王+井山という構成になっていて、これは昨年と同様だ。



賞金の高い順に並べてグラフにするとこうなる。


igo-shokin2010_html_110db6bf.jpg




















べき関数近似の決定係数が0.97と、非常に綺麗なZipf lawが観測できる(願わくば、本因坊が多少調子を崩せば完璧だった)。所得分配の研究では、高所得層の所得はべき分布(つまりZipf law)、中・低所得層では指数分布の当てはまりがよいことが知られている。トップ棋士の賞金がべきである点では共通している。データがないので不明だが、21位以下の棋士の状況はべきか指数か、あるいはそのどちらでもないか、興味深い(日本棋院所属の棋士はおよそ300人)。


さてこの世界、どれくらい厳しいのだろう。同じ数値を使ってローレンツ曲線を描くとこうなる。

igo-shokin2010_html_m67033204.jpg
























45度線とx, y両軸で作られる三角形の面積のうち、ローレンツ曲線より上の部分の比率がジニ係数で、最もポピュラーな不平等指標である。このケースではジニ係数が約0.46。日本の所得のジニ係数は0.3くらいなので、やはりトップの取り分が大きく、厳しい実力社会のようだ。






【余談】2009年のランキングを使った素敵な動画をどうぞ
↓↓↓




PR
Linuxでは、Rはterminal上で動くのが基本でGUIはついてこない。Windowsなら普通にダウンロードすればついてくるのだけど。

R用のGUIでLinuxで使えるものはいくつかあるらしいけど、検索の上の方にひっかかったJGRというのを使ってみることにした。JGRのページ。これまではgeditのR用plugin(→参考)を使ってきたが、やっぱりWindowsのGUIと比べて不便だ。

このブログ記事にJGRのインストール方法が書かれているのだけど、このままやってもうまくいかなかったので記録しておく。

変更点は
sudo update-java-alternatives -s java-1.6.0-sun
という部分。ここでエラーが出ていた。「ディレクトリがない」とか「ファイルがない」などといったエラーメッセージが出ていた。
「/usr/lib/jvm/.java-1.6.0-sun.jinfoがありません」というメッセージが目についたので、さっそくこのフォルダをチェックする。ファイル名がドットからはじまっているので隠しファイルだ。エラーの言う通りそういう名前のファイルはなかったが、かわりに.java-6-sun.jinfoが見つかった。そこで、ダメ元で
sudo update-java-alternatives -s java-6-sun
としてみたら成功したというわけ。

ちなみに、ネット上の説明ではJGRを起動するには
(1) 端末からRを起動 (Rと打ちこむだけ)
(2) 最初の1回だけ install.packages("JGR")
(3) library(JGR)
(4) JGR()
と書いてあるが、
~/R/i486-pc-linux-gnu-library/2.12/JGR/scripts/run
で直接起動することができる。このファイルをランチャーに追加すれば断然早い。


統計ソフトRを使っています。

ダウンロードしたのは確か古いバージョンのUbuntu jauntyを使っていたときのこと。このページにしたがって /etc/apt/sources.list に

deb http://cran.md.tsukuba.ac.jp/bin/linux/ubuntu jaunty/

と手動で書き加えたのです。これが、どうやらubuntuをバージョンアップするとリストから外されるようです(ファイルを見るとコメントアウトされていた)。

そのため、Rのバージョンアップが止まってしまい、使えるはずの関数が使えなくなっていました。

そこで、もう一度、今度は

deb http://cran.md.tsukuba.ac.jp/bin/linux/ubuntu lucid/

と書き込み、

$ gpg --keyserver subkeys.pgp.net --recv-key E2A11821
$ gpg -a --export E2A11821 | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install r-base
$ sudo apt-get install r-base-dev
$ sudo apt-get install r-cran-*
をterminalから実行しました(最初の2行はいらなかったかもしれません)。結果、無事最新バージョンに更新されました。





ハードディスクのバックアップを自動的に取ってくれるUbuntu用のソフトウェアでSBackupというのを見つけて使っていたけど、どうもこのソフトウェアは要注意です。最近日に日にディスクの空きが減っていくので妙だと思っていたのですが、これはどうもバックアップがやたらスペースを食っていたためらしいのです。思い切ってSBackupをアンインストールし、バックアップフォルダ(デフォルトでは/var/backup)を削除したところ、ディスクの残量が2GBから60GBまで回復しました。ちなみに、このバックアップフォルダは管理者でなくては削除できないようになっているので、Nautlisなどのファイラーからではなく、Terminal上で

$ sudo rm -r /var/backup

というようにする必要があります。


設定をいじれば容量を食わずに利用することもできるのかも知れませんが、とりあえずSBackupを使うのは止めました。

画像を順番に表示させていく、紙芝居型の動画を作ってみました。思っていたより大分難しかったですけど、概ね解決したと思います。環境はUbuntu10.04です。


1. 画像作り

* スクリーンショット撮影の自動化
Ubuntuでは、Printや、Alt+Printでスクリーンショットを取れるけど、その場合は保存ダイアログが出てきて自動化に向かない。そこで、Imagemagickのimportコマンドを使うと便利。
下準備として、撮影したいウィンドウのIDを調べる必要がある。Terminalから、
$ xwininfo -frame
として、IDを調べたいウィンドウをクリックするとずらっと色んな情報が出る中に、window idというものがあるのでこれをメモする。
$ import -window <window id> "cap.png"
とすれば、対応するウィンドウのスクリーンショットがcap.pngに保存される。シェルスクリプトを書けば、自動化は容易。例えば、ループを回して
$ sleep 10
を使えば10秒おきの撮影ができる。


* キーボード・マウス等の操作を自動化
キーボードやマウスでの操作をシミュレートする目的で、自動化ツールが揃っています。xdotoolというのがお勧めです。今回のケースでは、あるウィンドウにおいて「あるキーを押してスクリーンショット撮影」という作業を繰り返したかったので、重宝しました。そのためには、やはりwindow idが必要なのですが、同じウィンドウでも先ほどのものとは異なるidを使うみたいなので調べ直します。
$ xdotool search <キーワード>
これはキーワードでウィンドウを検索する命令なので、例えば該当するウィンドウのタイトルの一部などを入れます。
$ xdotool windowfocus <window id2>; xdotool key Right
とすれば、そのウィンドウ上で右キーを押す、ということを自動化できるので、これをループに組み込みます。ちなみに、2行に分けるとウィンドウのフォーカスの移りかわりが煩雑でバグの元なので、一行にまとめて書くと無難。


* 画像を切り抜く。
これもimagemagickを使います。convertという命令です。
$ convert -crop 796x500+0+70 $f cut.png
数字の部分は、
<切り抜く部分の横の長さ>x<切り抜く部分の縦の長さ>+<左上の横座標>+<左上の縦座標>
こういう場合、座標は左上を原点として考えます。


* 画像に黒ベタをつける。
作りたい動画のサイズと手持ちの画像のサイズが違う場合は、余白部分を塗りつぶすことが多く、黒ベタと呼ばれます。動画になってから黒ベタをつけてもいいのですが、画像段階やる方法もあります。動画をいじるより画像をいじる方がブラックボックスが少ない気がして好みです。
方法といっても、求めるサイズの長方形を塗りつぶした画像を作り、その上に手持ちの画像を重ねるだけで、いたってシンプルです。使うのはimagemagickのcompositeコマンド。
$ composite -geometry +0+48 main.png back.png result.png
数字の部分は、上に来る画像を置く位置を指定するもので、背景画像上で左上の点がとる座標で表す。この例では、796x500の画像を796x596の背景の上に重ねているので、ちょうど真ん中にくるように上下48のベタをつけている。



2. 動画作り

* 画像をくっつけて動画にする。
これもimagemagickでいけます。
$ convert -antialias -quality 90 -delay <delay> *.png tmp.mp4
-antialiasと-qualityのオプションは画質に関する指定です。詳しくは知らないですが、この命令で大分品質は高かったので良し。-delayは画像の切り替わる間隔です。再生時間、delay、画像の枚数の関係はどうやら
delay * 枚数 / 75 = 再生時間
となっている模様。つけたいBGMの長さのども考慮してdelayの値を決めます。こうして、無声動画tmp.mp4ができました。


* 動画に音声をつける。
AvidemuxというGUIソフトが便利です。tmp.mp4をAvidemuxで動画を開き、Audio -> Main TrackにおいてExternal MP3を選択し、ファイルを選択します(もちろんMP3ファイルの場合)。VideoのコーデックはCopy, AudioのコーデックはFAAC、formatはMP4と設定し、Saveすれば動画完成です(名前をvid.mp4とする)。再生時間を調整したいときはVideo -> Framerateを変更します。Framerateを高くすると再生時間は短くなります。


* ビデオコーデックをx264に変更。
上の方法でいくと最終的にビデオのコーデックはmpegになるのですが、動画サイトに投稿する場合はコーデックをx264にしたほうが画質が良い場合があります。あとついでにサイズを変更した方が良いことも。そこで、
    $ ffmpeg -i vid.mp4 -f mp4 -vcodec libx264 -acodec copy -vpre default -cqp 23 -aq 100 -s 512x384 -y nico.mp4
として、コーデックを変更。サイズ変更をしない場合は「-s 512x384」の部分を削除。このとき、縦横の長さが偶数じゃない2で割れないとエラーになるんです。それくらいうまいこと丸めてくれないもんですかね。
Calender
12 2025/01 02
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Search in This Blog
Latest Comments
[03/30 川内のばば山田]
[03/30 川内のばば山田]
[08/06 Aterarie]
[07/05 Agazoger]
[07/01 Thomaskina]
Oldest Posts
Latest Trackbacks
フリーエリア

Barcode
Access Analysis
Powerd by NINJAブログ / Designed by SUSH
Copyright © Yaleで、遊んで学ぶ日々。 All Rights Reserved.
忍者ブログ [PR]