タグ

ブックマーク / hp.vector.co.jp (3)

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

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

  • シュレーディンガーの猫(表紙)

    シュレーディンガーの  (表紙) by  南堂久史 この有名なパラドックスは、量子力学の根源と関わる。それは「粒子と波」という問題だ。量子を「粒子と波の双方の性質をもつもの」というふうに、あいまいな文学的解釈で理解したことから、この問題が生じた。 あいまいな文学的解釈を捨てて、科学的な解釈を取ることにより、パラドックスを回避することができる。 このページは、「シュレーディンガーの」を扱うサイトの表紙ページである。 初心者向けに核心を示したページと、より詳しい解説を記したページとがある。 (1) シュレーディンガーのの核心     (初心者向け) 重要 (2)   量子力学のミクロとマクロ         ( (1) の注釈) (3)   「シュレーディンガーの」と重ね合わせ  ( (1) の注釈)New! (4)   「重ね合わせ」とは何か?         ( (3) の続編)

  • 三項演算子の正しい書き方

    C・C++JavaPerl などのプログラミング言語では、条件演算子として三項演算子?:が用意されている。条件演算子の書き方として、以下のような説明がされることが多い。 condition ? true-expression : false-expression この説明は、以下のプログラムと同じ程度、間違っている。 #include <stdio.h> main( ){printf ("hel" "lo, world\n" );} 条件演算子は、正しくは以下のように書く。 condition ? true-expression : false-expression 使い方の例を示す。 compare = obj1 == null ? obj2 == null ? 0 : -1 : obj2 == null ? 1 : obj1.toString().compareTo(obj2.to

  • 1