タグ

2011年11月21日のブックマーク (2件)

  • 「なぜそのモジュールをつくったのか、他のものでは駄目なのか」ということをドキュメントに書くといいよ、という話 - tokuhirom's blog

    なにしろ、「これこれこういう実装なんですよ!!」「こういうインターフェースなんですよ!!」っていうところだけあっても肝心の「なぜこのモジュールが必要なのか」っていうところが記述されていないモジュールが多い。 なにより肝要なのは「なぜ現状だとこのモジュールが必要なのか」「このモジュールをつかうとどういう場合に便利になるのか」「既存のモジュールにたいする優位性はなにか」といったところを記述するとよい。 とくに「既存のモジュールにたいする優位性」というのは重要で、これを記述していないと海外Perl Mongers から「それ Nantoka::Kantoka でできるよ」みたいなのがいっぱいコメントがついたりする。国内からもつく。 なんてことを思った。

  • 麻雀 和了判定(役の判定)アルゴリズム

    麻雀 和了判定(役の判定) アルゴリズム 最終更新日:2008/4/9 麻雀の和了判定を高速に行う方法について説明する。 和了の判定は通常バックトラック法を用いて行うが、バックトラック法は面子候補の組み合わせを総当たりで調べるため、処理に時間がかかるという問題がある。 1回実行するだけの場合は処理時間が問題になることはないが、思考ルーチンなどで繰り返し判定処理を行うような場合に、高速に処理できることが要求される。この記事では、そのような場合にインデックスを用いると高速に判定を行えること説明する。 まず、通常法方法を説明した後、インデックスを用いた方法を紹介する。 通常の方法(バックトラック法) 手牌を1つの雀頭と4つの面子に分けることができれば和了の形となる。(七対子と国士無双は例外) 雀頭と4つの面子を構成する牌が重ならない場合は、どのような順番で取り出しても判定することができる。しかし