ICFP Programming Contest 2011に参加した

Home

しばらく前からICFPCでチームを組みたいと漏らしてはいたんだけど、実際にICFPCでチーム戦をしたことのある同じ職場のF氏からの誘いで参加することに。今回、初めてチームを組むことができてとても楽しかった。得難い経験でもあった。…けど、反省点も多数ある。因みにチーム人数は5人。

続きを読む

2010 TopCoder Openで日本人競技者が大活躍

今回の2010 TopCoder Open (TCO10)で、日本人競技者マジぱないと思った。

Algorithm部門決勝、少し眺める程度にしようかと思っていたんだけど、結局終わりまで観てしまった。rng_58氏がレーティング1位のACRush氏とデッドヒートする様は本当に見応えがあった。そして最後は全問正解のrng_58氏が見事優勝。TV放送しても良かったんじゃないかと思うぐらい、本当にエキサイティング。でも、TV放送だとその場で解説できる人を見つけるのが大変だろうな。今回、レーティング2位のPetr氏がブログで実況解説したのも大きかったと思うし。

そして、24時間耐久のMarathon部門決勝では、wata氏とchokudai氏の2人が3位を引き離してのワンツーフィニッシュMarathon Matchにはよく参加するのでこれは個人的にも嬉しい。

皆さん本当におめでとうございます。

torneが凄い件

居間にアナログチューナーを搭載したPCを置いて、それでTVを観たり録画したりしているのだけど、最近、映りの悪い画面を見て小学2年生の娘が「ねぇ知ってる? 地デジだと綺麗に映るらしいよ?」とイヤミをいうので新型PS3torneをセットで購入してしまった。

自分ひとりなら多分買わなかったであろうtorneだが、実際に使ってみるとこれは凄いと言わざるを得ない。PCでの操作とは雲泥の差だ。映像が綺麗なのはもちろん、ストレスの無い番組表に気の利いたユーザインターフェイス、それにシーンサーチがとても便利。PSPでも視聴できるし、BDプレイヤーとしても申し分ないしね。

そういや、新型のPS3は静かだねぇ。最初、電源入れたのに起動音が聞こえなくて故障かと思ったくらい。今まで使っていた60GB旧型PS3(換装で320GBにしてるけど)が急に古臭く思えてきた。でも、Linuxを入れて使っているので替えが利かないんだよなぁ。

torne (トルネ) (CECH-ZD1J)

torne (トルネ) (CECH-ZD1J)

NASA-TopCoder ChallengeのTシャツが届いた

NASA-TopCoder ChallengeのTシャツが届いた。ちょっと嬉しい。
あと、フォーラムにサプライズを一緒に入れておくと書かれていたけど、ステッカーが入っていた。
ステッカーの他にも何かあるのかな?

続きを読む

ゲームのユーザインタフェースは未来のユーザインタフェース

Gizmode Japanにこんな記事が載った。

完成度高し! PS3用地デジレコーダーtorne(トルネ)レビュー | ギズモード・ジャパン

動画を見る限りかなりクールなユーザインタフェース(UI)を持っている。これを読んで、昔を思い出した。

PC版のハイドライドザナドゥが流行っていた頃、ゲームのような安価なソフトには直観的で分かりやすいマルチウィンドウが使われているのに、ワープロのような高価なビジネスソフトではそれが使われていなかった。いつも不思議に思っていた。

今では大抵のビジネスソフトがマルチウィンドウを採用している。そして、今のゲームソフトは最新のGPUを駆使したクールなUIを持っている。次の未来のUIもゲームソフトが握っている気がする。

人材獲得作戦の試験問題を解いてみた

出遅れた感があるけど、人材獲得作戦の試験問題Pythonで解いてみた。もちろん、調べたりググったりするの禁止で。というかググればコピペで終わりのような気がする。今回はゆるめの記事なので、メインのブログではなく、こちらに書いておく。

普通にダイクストラ法で書いたけど、何故か40分もかかった。途中でコードが気に入らなくて最初から書き直したり、ケアレスミスの修正をしたりしたからか。それにしてもすっきりしないコードだ。INFを100000で決め打ちしていたりとか、優先順位付きキューを用いていなかったりとか、周りに壁があること前提だとか。いろいろひどいなぁ。

これだけじゃ面白くないので、ダイクストラ法とA*アルゴリズムの違いを説明してみる。ダイクストラ法はスタート地点から順に隣接するノードの距離を足し合わせていき、常に最も距離の短いノードからそれに隣接するノードを調べていく方法で、A*は距離を足し合わせる際に、そのノードとゴールとの最短距離も一緒に足す方法だ。この最短距離を求める関数をヒューリスティック関数と言って、通常はそのノードとゴールの直線距離が用いられる。今回の迷路の場合はどのノードも距離が1で、ヒューリスティック関数にはマンハッタン距離での最短距離を用いている。

続きを読む