diaryHaskell超初心者の日記です。OCamlが好きです。Memoかなり個人的なメモです。いま注目している論文や技術資料などです。今読んでるものと後で読むものを混在させています。コンピュータ将棋もしくは探索を劇的に低速化させる方法。遅延評価パワーとか言って指し手生成部分を手前のマイクロベンチマークで2倍以上低速化させた前々回。コンピュータ将棋Haskellのパワーはなんといっても遅延評価。Ocamlから移ってきた私としては一番戸惑うのはその部分で、末尾最適化への気の払い方とかが若干違ってくる気がします。Haskell前回は指し手生成部分に手を加えてみた。ここにあるよくベンチマークに使われている局面からの指し手生成スピードを測定して、先の変更がどれ位悪影響をもたらしているかを確認しておく必要がある。今回は、指し手生成部を2つの関数に分解する。雑記オセロのAIを実装しています。将棋を少し離れて諸事情によりオセロのAIを実装しています。将棋に少し関わりがあるので、少しメモを。いま実装しているのは必勝読みルーチン、読みきりルーチンです。homebrew-caskコメントを頂いたので早速Haskell将棋の設定方法の現状の問題点と回避方法をメモしておきます。ついでにYosemiteにアップグレードしたので将棋ぶらうざQの動作に必要なことをさらっとメモしておきます。指し手生成は局面探索のために必要なルーチンで、非常に重要なコンポーネントの一つだ。指し手生成の肝は無駄なく素早く必要な指し手を生成して探索モジュールに渡すこと。ボナンザ型の評価関数(ここでは単にfv.binを使ったKKP/KPP評価のことを指すことにする)、であるコードを解析していく。前回は外観を見始めて、エントリポイントから評価関数のところまで追いかけてみた。そこで評価関数はボナンザ型の評価と駒割りの足し算となっていることがわかった。今回は駒割りの部分に注目してみる。Gyazoというサービスがあるのでそれを使って対局の模様をGIFアニメにしてみた。(このサービスすぐアップロードしてくれて便利。Macでコンピュータ将棋を楽しむ環境をまずセットアップしてみる。偉大な先人のコード片からコンピュータ将棋を始めてみる。実は昔からコンピュータ将棋には興味があって、いくつかものすごくプリミティブなプログラムを書いたことがある。はてなブログProHaskell超初心者の日記です。OCamlが好きです。(1)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。