タグ

ブックマーク / www.fides.dti.ne.jp/~oka-t (2)

  • Benson's algorithm (Benson による無条件活きの定式化とアルゴリズム)

    Benson による無条件活きの定式化とアルゴリズム 原論文 Benson, D.B.: Life in the Game of Go, Information Sciences, Vol.10, pp.17-29 (1976) (http://www.chapman.edu/students/phil/benson.zip) 稿は、D. B. Benson による "Life in the Game of Go" を自分なりに咀嚼して再構成したものである。 定理の証明は載せていないが、原論文を読むときの手がかり、あるいは、 コンピュータ碁プログラムの作成の一助となれば幸いである。 【点、状態、配置】 盤上、線と線が交わるところを 点 (point) と呼ぶ。 盤面全体の点の集合を P で表す。 原論文では、「交点 (intersection)」 と呼ばれている。 点は、黒石 (bl

  • Return value and constructor

    戻値とコンストラクタの妖しい関係 C++ では、関数の引数として、ユーザが定義したクラスのオブジェクトが 必要な場合は、たいてい、リファレンスを使う。 そうしないと、引数用に一時オブジェクトが生成され、 オブェクトのコピーが発生するからである。リファレンスを使えば、 一般的にはオブジェクトのアドレスが渡されるだけなので、オブジェクト 全体をコピーするよりはるかに効率的だ。 関数引数はリファレンスで渡すというのは、まあ、常識の部類であろう。 では、関数からの戻値としてオブジェクトを返す必要がある場合はどうだろうか。 オブジェクトが保持している属性値を返すようなときは、 const 修飾子を付けた上で、リファレンスで返すのが普通だろう。 その属性値を含むオブジェクト自身を呼び出し側が保持しているので、 アドレスだけ返しても特に問題はないからだ。 では、新しくオブジェクトを生成して返さなければな

  • 1