2013年4月アーカイブ

2013年4月30日

GWの谷間に旅行

 兵庫に旅行。
 学生の時のゆかりの場所とか。
 

 たそがれどきの阪急電車、雰囲気あるよねえ。
 

2013年4月28日

マウスとキーボードは少しはお金をかけるべき

 キーボードとマウスをそろって新調!

 

 キーボードは、前はコンパクト型のだったのだけど、12個のファンクションキーが隙間なく並んでいると想像以上に使いづらい、という事実が発覚してかなり苦労してました。
 マウスは、ホイールを回して指を離すとちょっと戻る、なんて現象が発生してムキーって言ってました。

 今回のはいまのところ良好!

2013年4月21日

プロジェクトオイラーに今まで提案した問題

 これまでに提案した問題が10問になったので、ネタバレにならない程度に背景のこととかを書いてみます。

338. Cutting Rectangular Grid Paper

 初めて投稿した作品。
 和算の中に「裁ち合わせ」という話があって、それをテーマにしました。
 右図のような長方形の紙を2片に切って並び替え、正方形を作れというもの。
 ここからひねりを入れて、もとの長方形から別の長方形が何通り作れるかを関数f(w,h)として、すべての(w,h)についてfの総和を求めよ、という問題にアレンジしました。提案したときは辺の長さの上限を10としてたけど、開発チームによって強力なアルゴリズムが見つけられ、1010という凶悪な上限に跳ねあがりました。

361. Subsequence of Thue-Morse sequence

 プロジェクトオイラー史上、最難といわれる問題のひとつ。
 よくこんな問題が生み出せたなあ、と自分ながら思います。
 Thue-Morse数列は、自分が大学生のとき教授に初めて渡された論文に出てきた数列でした。といっても数学の論文ではなく、流体力学の論文。容器に液体を入れ、Aという動かし方とBという動かし方を組み合わせて液体を攪拌したいときに、ABABABAB・・のような動かし方よりも、ABBABAAB・・というような非周期的な動かし方だとよく混ざるよ、という内容。
 この問題のリリースのタイミングで、お誘いを受け、プロジェクトオイラーの開発チームに加わることになりました。

397. Triangle on parabola

 某大学の入試問題をアレンジしました。
 数学的な洞察と、複雑なプログラミングとの両方が必要になる問題です。数学と実装のどちらもわりとハードで気に入っています。

398. Cutting rope

 整数の長さnのロープをランダムな位置で切って、整数の長さの切れ端をm本つくったとき、2番目に短い切れ端の長さの期待値を求めよという問題。
 ここから離散の制約を外すことで、連続バージョンの問題を考えることができますが、そちらは有名問題。というか、そこから出発して作りました。解き方は離散と連続でだいぶ異なります。

402. Integer-valued polynomials

 入試問題から。
 「多項式○○が整数○で割り切れることを証明せよ」という問題はいろんな大学で出題されてます。まずはこれを4次で一般化しました。割り切れる数の最大値を、N以下のすべての係数の組み合わせについて求めた和をS(N)とする。さらにNを巨大な数の範囲で変えたときのSの和を求めなさいという問題。
 もともとは単に巨大なNに対するS(N)を求めよという問題で提案してたのですが、それじゃ簡単すぎる、とコメントが入り、後半のひねりが入りました。
 個人的には、次数を大きくする方向でひねりを入れるべきだったかなあ、とちょっと心残り。

403. Lattice points enclosed by parabola and line

 有名な公式が元ネタ。
 提案当初に自分が想定したやり方より高速なアルゴリズムが見つけられ、上限値が10から1012に跳ね上がりました。
 提案する前は「上限値はこれが限界」と思うのですが、「○○までいけたよ!」と他の開発メンバーに言われると途端にふっとやり方が思いついたりするわけで、なんというか修行不足です。

410. Circle and tangent line

 入試問題からアレンジ。
 大学の入試問題には背景に数学ネタが潜んでいるのが多いです。が、そこからプロジェクトオイラーの問題に仕立て上げるには、プログラミングと絡める必要があるわけで、うまくいかないことがほとんどです。
 これは運よく仕立て上げられた問題。

413. One-child Numbers

 入試問題から。
 これも提案当初から内容が変わって難度が上がりました。
 自分がこれまで提案する問題って、提案時から内容が変わることがやたら多い気がします。

416. A frog's trip

 有名問題から。
 もともとは、カエルが全てのマスを踏むような旅の仕方は何通りか、を求める問題として提案したのだけど、他のメンバーからひねりの提案が入って、少なくとも1つは未踏のマスがあってもよい、という条件が入りました。
 このひねりで、実行時間が1分を切るコードにするのがとたんに難しくなりました。

420. 2x2 positive integer matrix

 弘前大の入試問題から。
 成分がすべて整数である2次の正方行列で、2乗すると((19,9),(-30,-14))となるものを求めよ、というのが元の問題。
 そこからいろいろと個人検討を経て、最終的に、成分がすべて正整数の2次の正方行列の2乗として2通りに表されるような行列の個数を求めよ、というまったく異なる問題に変貌しました。

2013年4月20日

ウィーナーワッフェル

 ケーキとお菓子を買うためだけに自由が丘に行く。
 雨の日をいい天気と言わないのはなぜだろう。

 

2013年4月19日

カメラついにランキング1位決定

 1ヶ月もの間、自分の中でランキングが目まぐるしく変わり続けた結果、ついに決定&ゲット。
 オリンパスのPEN Lite E-PL5。
 テンションがうなぎのぼる中、開封の儀だけ終えて本格的に遊ぶのは明日から。

 

2013年4月13日

新宿御苑はパラダイス

 新宿の御苑へ。
 なんというかですね、ここは、楽園ですよ。
 ただただのどかな空間。
 人はそれなりにいるけど、とにかく広いので気にならないし、アルコール持込禁止なので雰囲気もさわやか感あふれる。
 帰りは新宿駅からでなく、新宿御苑前駅など、混んでない駅から帰って現実に引き戻されないようにしましょう。

 

月別 アーカイブ

このアーカイブについて

このページには、2013年4月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2013年3月です。

次のアーカイブは2013年5月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。