Arantium Maestum

プログラミング、囲碁、読書の話題

2015-01-01から1年間の記事一覧

Python 覆面式ソルバー 終

前回からの続き。 そうこうしているうちに、ついにルール追加である。 以下の二つのルールを追加する。 二つの数の和の一番上の桁に関するルール 二つの数とその和の同じ桁に関するルール その前に、足し算と引き算でルールをケース分けするのはめんどうなの…

Python 覆面式ソルバー 続続続

前回からの続き。 てなもんで、再帰的に書いたソルバーに、各段階で次のステップに使える数字を絞るルールを組み入れる仕組みを作っていく。 方式としては、入力された文字列を引数にして評価関数を返す高次関数create_rule(input_string)を作成する。その返…

Python 覆面式ソルバー 続続

前回からの続き。 というわけで総当たり形式をやめて、なるべく制約を加えることで評価する文字:数字マッピングの総量を絞ってみる。 具体的には for numbers in permutations(range(10), len(characters)): この部分をやめるわけである。じつはこの部分も…

Python 覆面式ソルバー 続

前回からの続き。 ということで高速化に取り組んでみる。 が、その前に、とりあえず短く書いたコードが実際どれくらいかかっているのか、数値化しておく。 import time def time_solver(input_string): start = time.time() solve(input_string) end = time.…

Python、再帰とダイナミック・プログラミング 微調整

以前書いたこのエントリーの最後のコードだが zehnpaard.hatenablog.com H = {0:0} for n in xrange(1, 2016): H[n] = n - H[H[H[n-1]]] print H[2015] 書いた直後から、そもそも数字がkeyならdictionaryじゃなくてlistでよくないか?と気になっていた。(が…

Python 覆面式ソルバー

気がついたら前回の更新から四半期が過ぎようとしている。恐ろしいことだ。 IT速報でまた面白そうな問題があった。 blog.livedoor.jp 複数の文字が同じ数字にマップしないと仮定するなら、そもそも問題の大きさが最大で10!(~360万通り)なので、ちょっと時…

漫画100選

某TFEI端末さんにいまさらながらインスパイアされ、自分なりの100冊を決めたいと思っていたのだが。本は選ぶとなるとなかなか大変で、まだまだ考えていたい。 ということで、暫定的に漫画で100選をやってみた。 3月のライオン (羽海野チカ) ARIA (天野こずえ…

ハムレットは角兜をかぶったか

最近ヴァイキングのことをよく考えている。 遠因かつイメージの第一資料は、幸村誠のヴァイキング全盛期を描いた漫画「ヴィンランド・サガ」である。私はこの漫画が好きで、けっきょく紙とキンドルどちらの媒体でも買い揃えてしまった。(移動中にも読めるの…

「バーナード嬢曰く。2」読了

まったく期待していないが買ってしまった漫画が予想外にツボった時の至福感といったら。 (以降ネタ紹介含む)

Python、再帰とダイナミック・プログラミング

IT速報で以下の記事があった。Pythonでの解き方を少し考えてみた。 blog.livedoor.jp 数列Hが以下のように定義されているとき、H(2015)を求める。 H(0) = 0 H(n) = n - H(H(H(n - 1))) (n > 0) 再帰で書くならかなり簡単である。 def H(n, memo={0:0}): if n…

「愛すべき娘たち」読了

よしながふみ著「愛すべき娘たち」読了。 ゆるくつながった登場人物たちについてのオムニバス形式短編集、と見せかけて統一テーマでの連作。タイトルにもある通り、「愛すべき」女性たちが各エピソードの中心にいる。 以下ネタバレ。

「中世を旅する人びと」読了

ひょんなことから十年ぶりぐらいにTRPGのDMをすることになった。 昔々やっていた時も、好きな西洋史の知識をある程度活用して世界観を構築していくタイプだったのだが、社会人になってからはやはり社会性などを非常に重視したいという欲望が頭を擡げてくる。…

PEP8を超えて

Python関連の映像では、私はRaymond HettingerとDavid Beazley*1のものが最も好きだ。 まず、どちらも非常に話が上手い。ユーモアを交え、あまり急かした感もなく、それでいて聞き手のことを考えた話の運びであるように思う。あと英語が訛っていないので聞き…

C言語と初心者プログラマ

Kindle Storeで「月刊C Magazine」(ソフトバンク)が1989年の創刊号から2006年の廃刊号まで各刊100円で売っているのを発見。創刊号から一冊ずつ購入していく予定。とりあえず89年10月号を読了。 面白かったのは、C言語の利点・欠点に関しての以下のコメント…

Python Code Snippet - 最大の三連続

時々メモっておきたくなるようなPythonコードを思いつくので備忘録的に「Python Code Snippet」の題で保存していこうと思う。 今回はStackOverflowで一旦質問として提示されて、あまりにも宿題っぽかった上に質問者自身がなんら解決に向けて努力していなかっ…

Python stdlib reading - antigravity

StackOverflowなどを読んでいて、Pythonの良質サンプルコードの話になると大抵挙がるのがstandard libraryである。*1 Pythonの哲学の一つにBatteries Includedというものがあり、基本的にPython自体のインストールについてくる豊富なstandard libraryで相当…

基本死活(1)

いきなり尾籠な話で恐縮だが、三月初頭からトイレ読書は「基本死活事典」に絞っている。 囲碁において、「死活」という概念は一種根源的なものである。囲碁のルールは基本的には非常に簡単で、端的に言えば「交互に打つ」、「囲まれたら取られる」、「お互い…

Courseraでプログラミング関連の勉強

今年の頭から、coursera.orgのプログラミング関連コースをいくつか履修している。 アルゴリズムとAnalytic Combinatoricsのものと、自然言語処理関連のものだ。アルゴリズム関連はスタンフォードとプリンストン(プリントンのほうを教えているのはこの道でも…

ブログタイトルの釈明

もったいぶっているようだが駄洒落である。 諸星大二郎先生からの剽窃であることを明言しておきたい。