2010-07-05 Mon

「第43回情報科学若手の会」の参加申込は7月31日まで

「第43回情報科学若手の会」の参加申込が始まっています。締め切りは7月31日まで。
満員になった場合も締め切りになるそうです。

- 情報科学若手の会 | 第43回情報科学若手の会
-- http://wakate.prosym.jp/2010/log/eid10.html

情報科学若手の会は,情報科学に携わる学生,若手研究者,社会人のディスカッションと交流の会です.幅広い分野から参加者を募り,互いの交流を深めることで新たな発想が生まれることを目指しています.インフォーマルな雰囲気ですので.これから研究を始めるという方も是非ご参加下さい.


この会は参加すると良い刺激を受けるので、是非参加することをオススメします。
あと今回は高木浩光先生の招待講演もあるそうです。ワクワクしてきますね。

僕は去年開催された「第42回情報科学若手の会」に参加しました。
ですが、そのときの日記が公開状態になっていないようです。
どうやら、そのころの僕の情報の入出力バランスは最悪だったことが推測できます。
そのような時期に参加したので、参加したことで強い刺激をうけて直後に頑張れた記憶があります。

僕は「今年も参加しようかな。でも僕も若手なのかな。まぁ、でも自然言語処理研究者若手の会(YANS懇)とか僕の先輩も参加してるし大丈夫か。いやいや、、、。」などと、参加するか、しないか、迷っている状態です。

小町さんもブログの記事で言及していますが、ちょうどNLP若手の会とかぶらないで開催される(情報科学は11・12・13で、NLPは14・15・16)ので、この週は充電期間ということにしてこの週まで頑張ることにしようかな。 とても忙しいはずな時期なので、もうちょっと考えてみます。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-07-03 Sat

渋谷の西武デパート「つぶやきスター祭り」

渋谷の西武デパートの入り口で「つぶやきスター祭り」というイベントをやっていました。
具体的には笹の葉に短冊をつけるイベントでした。

P1140734

僕も1枚短冊を書きました。
短冊は7月7日を過ぎたら東京大神宮に奉納されるのだとか。

願いが叶うといいなぁ。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-07-02 Fri

RSSフィードに tweetmeme のボタンをつけた

RSSフィードの各記事ごとに tweetmeme のボタンをつけてみました。

20100702_1

- TweetMeme Button | Tweetmeme Help
-- http://help.tweetmeme.com/category/button/

ブログの個別エントリには topsy のボタンを付けているのですが、 tweetmeme とどっちが良いのかなぁと思ったので、RSSフィードに入れて試してみることにしました。

僕自身が今までそんなに自分のブログの Retweet ボタンを押してなかったので 0 が出まくってますね。。。

関連リンク


- TweetMeme - Search and Retweet the Hottest Stories on Twitter
-- http://tweetmeme.com/

- Topsy - A search engine powered by tweets
-- http://topsy.com/

関連エントリ


- [O] ブログに「Topsy」の Twitter ボタンを設置しました
-- http://diary.overlasting.net/2010-05-04-4.html

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-07-02 Fri

借りぐらしのアリエッティのポスターを見かけた

有楽町イトシアの地下で借りぐらしのアリエッティのポスターを見かけました。
こんなに引き延ばしても大丈夫な絵ってすごいなぁ。。

P1140721

と思ったけど、よく考えると映画館のスクリーンで見るんだから、この位の大きさ大丈夫ですね。

そういえば前売り券を買おうと思っていたのを、この記事を書いていて思い出しました。週末に行こうかな。

借りぐらしのアリエッティ サウンドトラック

[Amazonで詳細を見る]

床下の小人たち (岩波少年文庫)

[Amazonで詳細を見る]


関連リンク


- 借りぐらしのアリエッティ 公式サイト
-- http://www.karigurashi.jp/index.html

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-07-01 Thu

日本語光学文字認識プログラム(OCR) nhocr を CentOS にインストール

日本語に対応した光学文字認識(OCR)を実現する nhocr を CentOS にインストールしてサンプルを実行するところまで作業しました。

nhocr とこれに関連する必須なライブラリ


- nhocr
-- http://code.google.com/p/nhocr/

- O2-tools
-- http://www.imglab.org/p/O2/

- FreeType2
-- http://www.freetype.org/
# http://freetype.sourceforge.net/dounload.html で Stable Releases で示されている最新のパッケージを使う

インストール


O2-tools と FreeType2 のインストール

O2-tools 2.00 と、FreeType 2.3.12 をインストールする。
両方ともダウンロードしたtar.gzなパッケージをtar xfvz で解凍して、

./configure --prefix=/usr/local
make
make (check|test)
sudo make install


するだけ。大変に簡単。
標準のインストール先は O2-tools が何故か ${home}/O2 以下で、FreeType は /usr/local 以下なので、configure の prefixでインストール先を指定する必要があります。

nhocr-0.20 の libnhocr/nhrec.cpp を編集

nhocr-0.20 の libnhocr/nhrec.cpp で宣言されている NHrec::rec_line(3) 関数には CharBox ポインタ型の変数 cblist が宣言されています。
この cblist は内部で初期化されて以降、どこでも使われないのですが、最期に以下のようにして delete しようとしています。

if (cblist) delete_cblist(cblist);


おまけに、この delete_cblist(1) 関数は ./libnhocr/segchar_adhoc.h では宣言されているされているけれど、./libnhocr/segchar_adhoc.cpp には実体が書かれていないので make 中にリンクエラーが起きます。

なので、サクッと以下のようにコメントアウトしました。

// if (cblist) delete_cblist(cblist);


他のどこかでメモリリークしてしまうかもしれなさそうだな、と軽く不安になりますが、とにかく動かしてみます。

nhocr-0.20 のインストール

準備はできたので nhocr-0.20 をインストールします。

./configure --prefix=/usr/local CXXFLAGS="-I/usr/local/include/freetype2/"
make 
make (check|test)
sudo make install


サンプルを実行

サンプルの実行は test ディレクトリに移動して run-test を実行します。

$ cd test
$./run-test
fs.pgm: ファイルシステム
hello.pgm: ニんにちわ
(以下略)


無事にこんにちわ画像が「ニんにちわ」になりました。味わい深いですね。

この後どうするか。


サンプルが動いたし、この次はサンプル以外の任意の画像中の日本語文字を認識しています。
ですが、実は nhocr 用の画像は OpenCV を使って作るのでプログラムを書く前に OpenCV もインストールする必要ありです。
面倒くさい。

結局、何がしたいの?


今後、画像中の日本語と英語の両方を上手に認識させてみたいと思ってます。
OCRの日本語向けモデルは英語の文字認識精度が低く、英語モデルは日本語の文字認識に弱いです。
単純には日本語と英語の両方で合計2回認識処理をして結果をマージして使えばいいのかな。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-07-01 Thu

「我慢できずにやってしまうこと」を利用したい

夜、家に帰る途中で気がついたのですが、僕は分からないことがあると調べる癖があります。
多分、分かったときに凄く気持ちが良いから、ついつい調べてしまうのだと思います。

分からないことを調べるのは悪くない、と思うかも知れませんけれど、僕自身はこの癖にちょっと困っています。

なぜなら、分からないことが調べても分からなかったときに堪え難いストレスを感じるのです。
どのくらいストレスかというと、脳が逃避行動を起こして寝てしまうほどです。寝なくても体が重くてグッタリします。

分からないことが分からない原因は、いろいろあります。
例えば、情報を解析するには実力不足である場合、そもそも情報を辿るための情報が無い場合、誰かが意図的に情報を隠している場合、誰かが見え透いた嘘をつき真実を言っていない場合、などいろいろです。

実際に分からないことに直面すると、本当に調べて分かることなのかを横においておいて、調べることに没頭してしまいます。
そして分かった場合は爽快な思いをし、分からなかった場合はグッタリします。
おまけに何かをやっているときに分からないことがあると、しばしば調べもので脱線してしまい、我に返ったときに後悔します。

こんなふうに無意識で分からないことを調べてしまう癖は、ちょっと工夫することで勉強に利用できそうです。
例えば必須な調査が捗らない場合に、その調査の対象を意識的に「調べるべき謎」として捉え直せば良いのではないでしょうか。

自分の癖を使って自分を伸ばそうとしたことが無かったので、勉強にうまく活用できるのか分かりませんが、自分の直せない癖とは何とか上手につきあっていきたいものです。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-06-30 Wed

人に慣れ過ぎな雀と鳩

六本木の鳥は人に慣れ過ぎです。

たとえば雀。椅子に座って休んでいると足下の間近まで餌が無いかやってきます。

P1140687

こんなに雀の近くにいるのは自宅の庭でも無理。
六本木生まれ六本木育ちなのかな?

鳩はくつろぎすぎて道ばたで座ってウトウトしたりします。

P1140686

僕も道ばたでゴロゴロしたいわ。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-06-30 Wed

CentOS 4.8 上で perlbrew install するときは /usr/include/poll.h をリネームしておく

CentOS 4.8 上で「perlbrew install 任意のバージョンのPerl」を実行したら、コンパイルエラーでインストールできなくなっていました。

perlbrew は任意のバージョンのperlを$HOME(自分のホームディレクトリ)以下にインストールするためのアプリケーションです。
レンタルサーバや研究室など複数人で計算機を共有する場合に、他人に影響を与えずに任意のバージョンの Perl をインストールできるので重宝します。

perlbrew のインストール方法をについては『「perlbrew」と「cpanminus」と「local::lib」を使って、さくらのレンタルサーバで任意のバージョンのPerlを使う』 [2010-04-24-1] という記事に書きました。

さて、本題に戻ってログを見てみると、ざっと以下のようになっていました。

$ tail -f $HOME/perl5/perlbrew/build.log
(中略)
IO.xs: In function `XS_IO__Poll__poll`:
IO.xs:249: error: Invalid application of `sizeof` to incomplete `pollfd`
(省略)


このようなエラーが出ているためインストール時にエラーが出た Perl のソースを grep してみたところ、/usr/include/poll.h と /usr/include/sys/poll.h をチェックしているようです。で、存在していたら優先的に include される前者の /usr/include/poll.h が不具合の原因かもしれないと思い、ファイル名を変更したところ、perlbrew install できました。force オプションは付けなかったので sys/poll.h が include されて IO.xs から成生された IO.c を正常にコンパイルできたのでしょう。

なんで、include/poll.h は駄目で、include/sys/poll.h が大丈夫なのかは深追いしてない分かりませんが、検索エンジンで検索しても同じエラーが出た起きていることを書いている人が1人しか見つからないので、非常に稀な問題でハマってるのかも。。。
素直に CentOS 5.x 系を使っていれば起きない問題なのかもしれませんね。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-06-29 Tue

にわとりが先じゃないと卵が生まれてくれない状況

「卵が先であるべきか」または「にわとりが先であるべきか」という問題は多くの場合に結論が得られないものです。

あなたは養鶏場の職員だとしましょう。素晴らしい孵卵器を開発でき、養鶏に関わるノウハウを充分もっているとします。

卵とニワトリを効率良く手に入れて養鶏場を繁栄させたい場合、状況に応じて自分が楽に入手できる方から入手すれば良いと思いますし、そのほうが最終的な結果は得やすいと思います。

あなたが気まぐれなオーナーのいる養鶏場で働いているときに、オーナーから「新しい養鶏場をゼロから繁栄させてくれ。でも、にわとりを先にもって来てくれないと最初の卵はあげられない」と言われてしまう状況があったとしましょう。

このような場合、あなたがどれだけ素晴らしい孵卵器を開発したとしても、どれほど養鶏に関わるノウハウをもっていても、そもそも卵を手に入れることが完了していないので、永遠にニワトリ生誕 & 養鶏場の繁栄には至りません。
どうしても卵が欲しい状況にある場合は、ニワトリを意地でも捕まえてくるか、買ってくるか、なんとか無理矢理なんとかするか、、する必要があります。

その結果、あなたは運良く良い感じのニワトリをゲットできたとしましょう。

だいたいニワトリを手に入れる前や手に入れる過程で気がつくことなのですが、ニワトリを手に入れてしまうと「もうオーナーから卵をもらう必要ない」ような場合も多そうです。

それを見たオーナーは「なるほど、もう卵はいらなさそうですね。運が良いですね。はっはー。」などと言うかもしれません。
ニワトリを無理なく手に入れることができたのなら、そのオーナーの言葉を聞いても笑っていられるでしょう。

逆にニワトリ(現実にはニワトリ以外のものを指すので入手にはコストがかかります)を手に入れるために多大な犠牲を払っていた場合、オーナーの笑いを聞いた瞬間ブチ切れずにはいられないと思うんです。
「おまえが最初に卵(現実にはニワトリを効率良く得るためのリソースを指します)をくれれば全部丸く収まったんだよ!」などと。

こういう茶番は自分が当時者になるとなかなか笑えないものです。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-06-27 Sun

横浜でお茶飲んでた

今日は久々にダラダラとした週末。
用事のために横浜へ移動したあと、ボーっと椅子に座って考え事。

こういうボーっとする時間があると無意識で考えていることがまとまるので、とても大切。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-06-26 Sat

朝から考えごと

今日は週末なのに朝起きられたので頭の中を整頓する作業をしていました。
こういう時間を持てたのは久々。嬉しい。

あんまりうまくまとまらなかったけど、自分の考えていることは既に分かっていることをヒントに考えてるうちにまとまってくるので、地道にやり続けるしか無いです。

今日は午後からバタバタするので10時くらいまではノンビリしようかな。

投稿者:としのり  日時:09:08:59 | コメント | トラックバック |

2010-06-25 Fri

実装以外の作業量が増えすぎる前に次のネタ探し

ソフトウェアを作るときに、作ったものがその後どう使われるかを意識することはとても大切だ、と僕は思います。
なぜなら、誰かに使ってもらえるものを作った時にしか分からないことが多くて、分かること自体が自分の財産になると思っているからです。

自分が作ったものを使ってもらうためには、作ったものの営業、宣伝広告の作成やデモ作成や導入サポート、コンサルなどの業務も欠かせません。

使ってもらおうとしている技術が求められているもので、それなりの性能をもっていて、導入が簡単なら使ってもらうまでの時間は短くて済みます。
他方、旬を過ぎていたり、性能が低かったり、導入コストが高い場合にはいくら押しても使ってもらえる日は(なかなか)来ません。

現実的な解決策は、細かく作業時間を見直して「調査・実装以外の作業量が実装より増える前に次のネタを探す」ことだと思います。

固有の課題だけではなく周辺領域を見回しつつ、新しい技術・知見を取り入れ、競合を分析し、すこし先を考えてものをつくれば、実装と普及しやすさを調度良いバランスで実現できると思います。
その結果、 実装以外の作業量が増えすぎることを防げるのではないか、と思います。眠い。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-06-25 Fri

ようやく一息ついた

久々に更新。

6月の頭から、ここ3ヶ月やってきたことをまとめる時期に入って多忙でした。


from overlast using Panasonic DMC-FX100

そんなわけで全然ブログを書いてませんでしたが、昨日の夕方以降ちょっと落ち着きました。
今日から当日の記事を書きながら、書けなかった分を書こうと思います。
この数週間はいろいろあったので書きたいことだらけです。

今の体調は軽く不眠症気味で、だけど運動は足りていて、相変わらずお酒を減らすことに成功しているので体重の増減は少なめ。集中力が切れやすく、空を見てボーっとすることが増えたなぁと思います。あと、手足に力が入らないことがしばしば。
でも月末にかけて休めば回復する、、はず。するよ。きっと。

夜はFlickrに写真をアップロードするだけで心の余裕を使い果たしてしまう状態。
運動して、ボーっとしたら一日が終わることも多かったです。

昨日までの3ヶ月間は「やると確実に他人の利益になること」を多くやってました。
知識は蓄積されましたが、その結果が残念ながらあまり自分のためにならなかった気がして、軽く後悔しています。
本当は他人のためが自分のためになり、他人を幸せにすると自分も幸せになる、のが最高なのですが世の中そんなにうまくいかないものなのですね。

この後の3ヶ月は「自分がやりたいこと」も意識的に多くこなすようにしつつ、これからの人生を逞しく生きるための力をつけていくのが良い気がしてますが、そのようにうまくいくといいな。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-06-06 Sun

近所にある GEOBOX が大変に便利

近所のローソンにある GEOBOX が数週間前から気になっていたので DVD を借りてみました。
GEOBOX には新作の DVD もガンガン入荷しているので便利だったら嬉しすぎ。


from overlast using Panasonic DMC-FX100

実際に借りてみると、驚くほどに必要な作業が少なかったです。

1、作品を選んで、カートに入れて、カートを見て、借りるボタンを押す。
2、クレジットカードを入れる。すぐに取り出すように言われるので取り出す。
3、初回だけメールアドレスを登録する。
4、ディスクが出てくるので受け取っておしまい。

簡単です。初回なのに 2 分位で借りられました。
ディスクシステム時代にディスクを書き換えしてもらってた頃のことを思い出しました。

こんな感じのディスクが出てくるので、パカッとあけると DVD が取り出せます。


from overlast using Panasonic DMC-FX100

無事見れました。おまけに 100 円。安いし便利すぎ。
TSUTAYAまで行く回数が激減しそうです。

ちょっと心配な点としては「ディスクに不具合があって読み込めなかったときにどうなるのか」、、ってこと。

問い合せがめんどくさそうなので不具合が起きないことを祈るのみです。

関連リンク


- DVD自動レンタル機 GEOBOX | ゲオボックス
-- http://gb.geo-online.co.jp/

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-06-06 Sun

ぶらぶらと散歩

今日は昼すぎから夕方くらいまでブラっと恵比寿を散歩。
三越の上とかで色々見たり、有隣堂で本の背表紙を眺めたり、鯛焼き食べながら公園でぼーっとしたりしてました。


from overlast using Panasonic DMC-FX100

明日から数日間しんどそうなので体を使っておこうと思ったわけです。はい。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-06-05 Sat

近所の公園で猫がお昼寝

近所の公園に猫がお昼寝中でした。


from overlast using Panasonic DMC-FX100

大変に堂々としており「水飲ませて下さい」とか声をかけにくいっす。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-06-03 Thu

Yahoo チャイナモールは『中国語 ⇨ 英語 ⇨ 日本語』の順で機械翻訳すべきでは

Yahoo チャイナモールというサイトが先日オープンしました。

- Yahoo!チャイナモール – お手軽中国ショッピング
-- http://chinamall.yahoo.co.jp/

世界最大級の規模といわれる中国のタオバオと日本のヤフーが提携して相互接続することで、タオバオに出品された商品をヤフーチャイナモールで買えるようになったし、その逆もできるようになりました。

実際にチャイナモールで商品ページを見ていると、商品の怪しさで笑う回数より、機械翻訳で中国語を日本語に翻訳した文が怪しすぎて腹筋がちぎれそうになるくらい笑う回数が多いです。

例えば「冲钻特价 人气单品 潮流一族最爱限量版街头个性 牛仔裤」が「特価の人気単品トレンド一門を穿孔して制限量版の辻の持ち前のジーンズデニムパンツを最も愛することに突き進む」と翻訳されたりします。

- 特価の人気単品トレンド一門を穿孔して制限量版の辻の持ち前のジ - Yahoo!チャイナモール

運営側は真面目にやっているはずで別にウケ狙いのサイトでは無いのに、吹き出すほど面白いっていうのは大変に面白いです。

人生に疲れたらチャイナモール!!!

本題ですがチャイナモールがこんなに面白いのは、中国語を日本語に変換する際に「中国語 ⇨ 日本語」の翻訳をしているからではないかと思います。

両方の言語が単語の間にスペースなどを入れない言語で、それぞれ形態素解析と構文解析が英語よりも難しく、それらの処理結果に依存する機械翻訳は事前の処理で含まれる誤りの影響を受けながら結果を出す必要があります。
中国語と日本語の文の構造が大分違うことも影響しているでしょう。日本語と中国語で同じ表記で違う品詞や意味の語が多いことも原因のひとつでしょう。

機械翻訳の研究開発が英語と英語以外の2つの言語間で行われてきた歴史は、英語以外の言語間で行われる場合よりも長いです。この世にある商用可能な日中/中日機械翻訳の出来よりも、商用可能な日英/英日機械翻訳や中英/英中機械翻訳の方が性能が良く、その研究開発に携わっている延べ人数も多いです。
その結果、日⇔英や英⇔中の翻訳技術は実用出来るところまで改善が進んでいます。他方、日⇔中の機械翻訳は英⇔日に比べて、まだ歴史が浅く精度向上に時間がかかります。

私はこの記事のタイトルでチャイナモールの機械翻訳を『中国語 ⇨ 英語 ⇨ 日本語』の順で行うべき、と書きました。
これは、現段階では精度が不十分な中日翻訳よりも、実用レベルな中英翻訳と英日翻訳を使うことを検討してはどうか、と思ったからです。

例として先述の「冲钻特价 人气单品 潮流一族最爱限量版街头个性 牛仔裤」を『中国語 ⇨ 英語 ⇨ 日本語』の順で翻訳してみます。

最初に英中翻訳をします。英中翻訳にYahoo! Babel Fishを使います。

- Yahoo! Babel Fish - Text Translation and Web Page Translation
-- http://babelfish.yahoo.com/translate_txt

翻訳する際に、スペースで区切れているフレーズごとに別々に翻訳します。こういう区切り文字の活用も大切だと思います。

すると「Churn drilling special price | Human spirit Shan Pin | A tidal current race most likes limiting the quantity the version street corner individuality| Jeans」という英文が得られます。

次に取得できた英文を英日翻訳します。英日翻訳はYahoo!翻訳を使います。

- Yahoo!翻訳 - テキスト翻訳
-- http://honyaku.yahoo.co.jp/transtext

すると「特別な価格に穴をあけている撹乳器 | 人間の勇気Shan Pin | 潮流レースは、最も量を制限するのを好みますバージョン街角個性| ジーンズ」という日本語文が得られます。

これは実際にモールで表示されている「特価の人気単品トレンド一門を穿孔して制限量版の辻の持ち前のジーンズデニムパンツを最も愛することに突き進む」よりも、ある意味ましだと思います。

目的の翻訳結果を得るために、このように、あえて迂回するように翻訳する研究はチラホラ見かけます。参考文献でリンクを貼っておきます。

もちろん中英翻訳と英日翻訳を順に使うことで、上手に翻訳できなくなる場合も沢山見つかります。
でも、手元で少し試してみると、中英翻訳と英日翻訳を順に使うと腹筋がちぎれる様な翻訳文はグッと減ります。
むしろ日本人が読んでわかる文章がちらほら見える様になる分、印象が良いのではと思います。

英語を勉強するときに英語の文を和訳をして体感できることだと思いますが、翻訳には「唯一の答え」というものがありません。ある人が良いと思う翻訳文が別のある人にとっては違和感だらけかもしれません。
もしも、『中国語 ⇨ 英語 ⇨ 日本語』の順で行う翻訳を試していないようなら試して、駄目だったら『中国語 ⇨ 日本語』な翻訳に戻せば良いのではないかな、と思ったりしました。

[2010-06-04]:追記
@sassano さんから日本語は膠着語で、中国語は孤立語的だと教わりました。確認して該当箇所を修正しました。ありがとうございます。

参考文献


- Construction of a bilingual dictionary intermediated by a third language
-- http://portal.acm.org/citation.cfm?id=991937
# 1994年の研究。日本語→英語→フランス語。

- 平成 20 年度 AAMT/Japio 特許翻訳研究会 報 告 書
-- http://www.japio.or.jp/kenkyu/files/kenkyu03/AAMT_Japio_20090331s.pdf
# 特許翻訳の研究結果。

- 英語を介した日中対訳辞書の自動構築
-- http://www.math.ryukoku.ac.jp/~qma/papers/dictionary.pdf

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-06-02 Wed

Instapaper と Livedoor Reader (LDR) を連携すると便利

昨日から iPad で Instapaper を便利に使える Instapaper Pro というアプリを使い始めました。

Instapaper Pro

Instapaper Pro は大変に便利で起動すると「Read Later」ブックマークレットで取り込んだたエントリをダウンロードしてくれます。

使っているうちに LDR のブックマークボタンと連携させると便利そうだなと思いました。

LDRの「その他」ボタン => 設定変更 => クリップの設定 => クリップボタンの設定 => 他のサービスを使う、と選択して、ジャンプするURLに

http://www.instapaper.com/b?v=4&k=ブックマークレットのkey&u=[[url]]&t=[[title]]


を書いて設定を保存します。

ブックマークレットの key は Instapaper のブックマークレットのJavaScriptを見れば分かります。Instapaper extras の Read Later bookmarklet のkeyを見てみてください。

設定を保存すると、LDR で Instapaper に送りたいエントリにフォーカスしてるときにブックマークボタンを押すと、Instapaper が開いてエントリを取り込んでくれます。

便利便利。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-05-31 Mon

C言語で書いたプログラムの高速化のポイントはどこ?

この2年くらいコツコツ書いていたライブラリが、そろそろToDOを全部消化した状態になりそうです。
なので高速化に取り組みはじめました。諸事情によりC言語で書いてるので情報も多そう。

ちょっと調べただけでも以下のようにザクザクと見てみるべき部分に対する言及がみつかります。

- 整数の変数型はunsigned int型またはint型に
- 掛け算/割り算を極力使わない
- 掛け算/割り算が必要な場合、2の累乗で代用
- 実数演算が必要な場合、整数を使って演算
- ループの終了条件で関数呼び出しを行なわない。
- ループをダウンカウンタに
- 寿命が短いならalloca() を使う
- ループに番兵を付けて終了判定をケチる
- ループからループに依存しない判定を出す
- ループの回数を減らす
- 結果をキャッシュする
- 単純な代入だけならif文ではなく三項演算子を使う
- if文を使う場合、先に代入して避けられるelse文は書かない


実際にやってみて効果があったことも混ざってます。
明日から、それぞれ効果がどれくらいか見つつ作業してみよう。

ちまちまコードをいじらなくてもコンパイル時に「-O***オプション」を付けてるので何とかなってそうですが、それでオシマイじゃなくて、なるべく自分でコードを早くする方法を頭に定着させたいす。

参考文献


- C言語・処理の高速化
-- http://www.geocities.jp/nakamiya_town/ProC.html
- C/C++のプログラム高速化 (続き) - それって食えるのか?
-- http://jimsie.blog57.fc2.com/blog-entry-39.html

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2010-05-27 Thu

n本腕バンディット問題 (n-armed bandit problem)

昼間に @tsubosaka さんが「なんか bandit arm が面白そう」って言っていたのを聞いて、僕は「何かで読んだことあるよな」と思ってました。家に帰って本棚をあさったら「強化学習」の冒頭にありました。

強化学習

[Amazonで詳細を見る]


強化学習は専門ではないので教科書を見ながらメモを書いてみます。

続きを読む

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |