れさぴょん ReadMe.txt 機能の説明 Teクラス 将棋の指し手を表すクラスです。 動かした駒・取った駒・移動元・移動先・手の価値などの属性を持ちます。 駒、移動元・移動先の形式は、当然局面のクラスに依存します。 Kyokumenクラス 基本的な局面を表すクラスです。 ・合法手を生成する関数 MakeLegalMoves ・ある地点の交換値を求める関数 Eval ・手による局面の変化 Move  ・局面をハッシュ表にしまうためのハッシュ値の更新  ・ハッシュ値は、盤面のハッシュ値と持ち駒のハッシュ値を別々に保持しています。  ・駒の利きの更新  ・基本的な駒の価値による、評価値の差分更新 ・王手を生成する関数 MakeChecks ・詰将棋を解く関数 Mate  ・手数による反復深化法を用いています。  ・持ち駒の包含関係により、無駄合いなどに対して高速で処理を行います。 Josekiクラス うさぴょんと同じ形式の定跡ファイルを用いて、局面が一致している場合に、そこで指された手と指された手の頻度を返します。 定跡データの生成には、うさぴょんの定跡データ生成プログラムを利用してください。 KyokumenKomagumiクラス 駒組みに一定のボーナス点を与えたり、攻め合いになっているかどうかを判定するなど、Kyokumenの評価機能を改良したクラスです。 ・局面の評価を行います。  ・攻め合いになっているかどうかを自陣内・敵陣内の駒から判定します。  ・終盤度という概念を持ち、終盤近くになると、玉との駒との相対位置を大きく評価します。  ・駒の位置に一定のボーナス点を与え、矢倉や美濃囲いなどの駒組みをプラスに判定します。 Sikouクラス 局面駒組みクラスを用いて、反復深化αβ法により、思考を行います。 また、深さの浅いところでは、詰将棋の呼び出しも行い、即詰みを発見したり、詰みから逃れようとします。 main関数 先手人間、後手コンピュータで対局が出来るようにサンプルとして作成してあります。 手の入力形式は、移動元2桁+移動先2桁+成る場合には* です。 例えば、1手目76歩は、 7776 のようになります。 駒を打つ場合には、移動元に、歩01 香02 桂03 銀04 金05 角06 飛07を入力して下さい。 ダウンロードした「れさぴょん」を使用する前に、以下をお読み下さい。 使用許諾条件 以下の条件に同意する方にのみ、れさぴょんの使用を許可します。 ・れさぴょんの著作権は作者(池泰弘)が保有します。 ・れさぴょんの使用によるいかなる損害に対しても、作者は責任を負いません。 ・動作しないなどの各種の問い合わせに対して、作者は返答の義務を負いません。また、アップデートやバグ修正の義務も負いません。 ・れさぴょんの再配布は、作者の名誉を毀損することなく、商業利用が目的でない場合に限り、許可します。 ・再配布の際に、自分で思考ルーチンを強化したり、GUIを強化したりして、バイナリとして配布することも、上記の条件に反しない限り、許可します。 ・もちろん、このソースを元に強化したプログラムで、世界コンピュータ将棋選手権など各種大会に参加することも自由です。ただし、全く思考ルーチンを改良しないで参加する事はご遠慮下さい。(この条項については、強制はしませんが。)