思うだけで学ばない日記 2.0

思うだけで学ばない日記から移転しました☆!よろしくお願いします。

AI

ぼくの考えたKPPの理論(1)

AI

まず前置きとして、3駒間の関係は任意の3駒で考えるとかえって駄目だる。たとえは歩と金と銀の3駒を攻めに使っているとして、それらが同じ相対位置関係で盤の一角を占めても、相手の王将から近い場合と遠い場合とではぜんぜん勝利への寄与が異なることが明ら…

【何の】地獄巡りツアー!!!【罰ゲームだ?】

AI

USIに対応すた、*1 USI超クールっすね 特に予測読みの処理手順がプロトコルに内包されてるところとかσ(・∀・)σ それより前の実装では思考部は評価値と最善手のみ出力すれば十分であるという妄信に基づき思考部と置換表を作成して*2、予測読み処理まで好きに…

楽しい楽観合議

AI

昨日のエントリの最後の発言にはちょっと補足が要る。神のごとき評価関数が実現されれば合議は死ぬかもしれないが、それはそういった評価関数の表現方法として合議以上に簡便なやり方があった場合に限られる。さて今ネットでは楽観合議>悲観合議という噂で…

全く公平な二人零和有限確定完全情報ゲームは永遠の引き分け

AI

一昨年のネタの蒸し返し、およびウィキの「ゲーム木」の項に書いてあることをなぞっただけの話になるが、もうちょっときちんと書き直してみるテスト。 全く公平な二人零和有限確定完全情報ゲームすわなち先手と後手どちらにも必勝手順が存在しない二人零和有限…

掃き溜めのチラ裏

AI

ttp://web.econ.keio.ac.jp/staff/ito/pdf99/me99game.pdfに 注意1. 戦略は、戦術や手(move, gambit) とは区別される。将棋やチェスを例にとれば、毎回の 駒の動きがmove であり、ゲームの開始から終了までの各プレーヤーのmove の列(sequence) が戦 略とよ…

ぼくの考えたKKPとKPPの実装(4)

AI

KPPの説明 KPP[PSpec][PSpec'][PPos][PPos'][OUPosB] = KPP[PSpec'][PSpec][PPos'][PPos][OUPosB] = KPP[PSpec][PSpec'][fh(PPos)][fh(PPos')][fh(OUPosB)] = KPP[PSpec'][PSpec][fh(PPos')][fh(PPos)][fh(OUPosB)] ※添字の順序を変更した。アドレスがprinci…

ぼくの考えたKKPとKPPの実装(3)

AI

KPPの利用できる対称性を部分写像に分解して捉えようとするのは筋が悪かったっぽいorz*1 正直、 KPP[OUPosB][PPos][PSpec][PPos'][PSpec'] = KPP[OUPosB][PPos'][PSpec'][PPos][PSpec] = KPP[fh(OUPosB)][fh(PPos)][PSpec][fh(PPos')][PSpec'] = KPP[fh(OUPo…

ぼくの考えたKKPとKPPの実装(2)

AI

テーブルの空間計算量 テーブルの空間計算量の削減には次の2段階があると思う テーブルサイズの削減 テーブル要素a,bのアドレスをテーブル要素aのアドレスで代表することによってテーブル要素b自体を無くする 実質データ量の削減 テーブル要素a,bの値をテー…

ぼくの考えたKKPとKPPの実装

AI

ネットで見聞きした情報を基にKKPとかKPPのそれっぽいものを作ってみるテスト いきなりパフォーマンスの最適化は考えずに、まずは自然な構成を目指す 定義: OUPos 王将の駒位置を表す変数 OUPosA プレイヤーAの王将の駒位置を表す変数 OUPosB プレイヤーBの…

【すっきり】2^30通りの謎【解決篇】

AI

昨日のエントリはなんかgdgdになってたorz、、 誤:序盤30手 正:31手から90手までの片側30手そして、「一致するのは10億局面に1回」という主張と、実際のソフト指し認定方法はあんまり関係が無い。前者は過去に指された一連の指し手との完全一致を問題にし…

2^30通りの謎

AI

序盤30局面の組み合わせが2^30通り(以上)というのは、「二人」零和有限情報確定ゲームだからそうなる つまり 30手の内半分は相手の手番である(対局者は2名) 非協力ゲームである 対局者の少なくともどちらか一方は、序盤30局面での真のナッシュ均衡解につ…

続☆電波利権

AI

およそPVとは二人零和条件由来の概念なので二人零和条件を満たさない評価関数を前提としてPVを論じたり探索してPVをぞろぞろ表示させてみたりすることは明らかにナンセンスな行為である*1ここで評価関数が二人零和条件を満たすとわ、任意の局面xについて次が…

【Rotated】R7B5P【Bitmap】

AI

王周辺の利き評価の問題は一応対策したが*1この評価関数はやめにしてKKPとKPPにしようっとメモリはKKPとKPPに使いたいので指し手生成はそこそこの速度あたりを目指して少メモリに収め隊、つまり指し手生成ではテーブルを極力引かないということであって、ビ…

正当性はどこから来るのか

AI

しばらく前のエントリで「正当な半順序」とか言い出したとき、正当性は多分十分に強い相手が繰り出す最善手からやってくるのだとぼんやりと思っていたわけだが*1 この説は実験で反証された──相手の手をカナーリ正確に予測できるようになった*2というのにてんーで…

黒歴史の金字塔

AI

水平線効果とアバウトな学習の不当な局面評価がコンボで襲ってくる/(>o<)\一般に、現局面からN手先に位置する自己手番の局面において、駒xを1手動かしたときの局面評価値の増加幅Δの大きい手があった場合、COMはN手先でその1手を実行するつもりの手を選…

PVの調整が勝利の鍵だった(?)

AI

一昨日書いた2式は良く考えたら評価関数調整のゴール条件としては強すぐるorz仮にその2式を逸脱する局面のペアが(ことによったら多数)存在したとしても、それがPVを揺るがせさえしなければ問題ない。PVが不変なら探索結果も不変に保たれるからだ。 一方、…

コソーリと改版する

AI

☆2010年度妄言まとめ(第3版)☆

評価値集合全体に対する正当な半順序の設定が勝利の鍵だった

AI

評価値集合の(部分でなく)全体に正当な半順序を設定できたとき、評価関数は探索条件に対して真に独立となる。すると局面の評価は探索木の詳細とは全く切り離して結論でき、もはや探索の延長は危険でも何でもない。固定深さまでの探索にこだわる理由も消失…

ヒソーリと貼る

AI

☆2010年度妄言まとめ☆

整いました!

AI

******* GAME STATUS ******* Players: -(W):test2 +(B):test1 * CSM TIME: -(W): 1 (clk= 2100 ms) +(B): 14 (clk= 14000 ms) * [4] To_Move:- R<:-3122GI R<:T434 *** <<相手着手完了>> *** FU(0), KY(0), KE(0), GI(0), KI(0), KA(1), HI(0), OU(0) 9 8 7 6 5 4 3 2 1 ------------------------</:-3122gi>…

【真実】 将棋 局面数 計算方法 【本当】

AI

いったい合法な将棋の局面は本当は正確にいくつあるのかいくつあるのか気になって気になって眠れないorz 局面は羊のかわりにならない 完全解決するべく、改めて基本に立ち返ってみれり 基本手順 数え上げ対象の集合をΩとしたときに、重複も漏れもない数え上…

将棋 局面数 計算方法

AI

エデンの園配置の除外とか考えずに、単純に可能な駒の配置を重複無く数え上げるには、次のように考えれば良い*1 【追記】コソーリ直させていただきましたorz そして補足が有ります(末尾の追記参照)。 【追記2】置駒の配置の数え上げの式がまちガッチョルorz修正範…

探索木の再帰性のひみつ

AI

今日わ絶好の探索日和ので局面を評価する手段について述べるのに適当な気のする、 ただ本当にそうしたときに局面の評価手段を「評価関数」という言葉で代表すると「局面を評価因子に分解して、ほにゃららして、足し合わせる」その他といった計算メカニズムの…

Anytime, Anywhere マルチスレッド

AI

春に書いたスレッドプールがアレな出来だったので書き直してみまくりんぐ、うれしげに貼る #include "stdafx.h" #include "dbg.h" #include "mythread_cfg.h" #include "MyThreadPool.h" namespace DbgMyThreadPool { /// 文字列を反復出力するサンプルスレ…

てst

AI

grave2将棋(仮称)はこれから高精度化を達成する予定であるところの評価関数の青天井な精度の高さだけを武器とするのであって詰み探索ルーチンなどという無粋なものは積まないので当然αβ ponderが詰みルーチンと同等の結果を返すことが要求されるる 評価関…

プログラミングの現代

AI

ギミック 実装 チェック 置換表 レ レ 末端の打ち切り評価 レ レ 指し手生成のコルーチン化 レ レ オーダリング レ レ R PIN レ レ チェックは素のαβ探索との結果比較で行った とわいえ、置換表かオーダリングをONにすると最善手*1が複数ある局面で手を違え…

I have a mistake, orz

AI

上に上げた実行例は、詰み証明とはイコールではなくて、(下手糞なやり方で)相手玉を追いかけ回して詰ました、という話。 探索(特に何手か先を見通す類の定理による枝狩りを含まない単純なやつ)が詰み証明とイコールになるのは、探索木が相手を詰ます手順…

追記

AI

置換表をONにしたαβ ponderと、素のαβ ponderとで評価値が一般に一致するはずねーじゃん…?!とクレームをつけてくるモンスター開発者がいないとも限らないので取り急ぎ補足 ここで実装した置換表は、多少の効率の低下と引き替えに、その手の誤差を一切生じ…

3週間クッキング

AI

ニューラルネットワークでニューロン数を固定せずに続々追加されるサンプルを全て学習し切る方法について考えを巡らせたが、ちょっと考えたらすぐ思いついた*1 シグモイド関数ベースのニューラルネットワークの場合、n次元のスカラー場における任意の「山」…

車輪の再発明のリバイバルのカバーのワゴンセール

AI

ニューラルネットワークに何かを学習させるとき、重みベクトルの系列{ w_i }の初期値と個数を適当に決めてあとばBPにまかせる、というのは全くの神頼み運頼みであって学習を完遂する保証がないという点で理性ある行為とは言えない希ガスすることは論をまたな…