ai65536's blog

将棋とかプログラムとか

Androidでやねうら王のベンチを測る

Androidでやねうら王のベンチをとる方法 AndroidはRootを取らなくても/data/local/tmpにファイルを転送して実行権限をつけるとシェルやターミナルから実行することができます。 やり方1 ADBから実行する ・ここからやねうら王をダウンロード http://shogidr…

ARMのSIMDが遅い件

将棋エンジンはBitboardといって盤面を128ビットで表す技術が使われています。 Intel CPUではこの部分をSIMDを使うことによって高速化していますが、ARMではSIMDを使うと速度がでません。 気になって夜も寝られない(嘘)のでインストラクションマニュアルで…

Androidで技巧ベンチ

新しいスマホを買ったので技巧でベンチ 前回のベンチからソート関連をいじってノード数が同じになるようにしたものです。 スマホ Snapdragn650 1.8GHz Windows Core i5 2500 3.3GHz シングルスレッド性能は3倍程度違います。 Snapdragon650は A72 x2 A53x4の…

Sortの挙動の違い

gccとMSVCでsortの挙動が違っていたのでメモ 同じ値のものを降順にソートした場合 MSVCでは登録した順番に並ぶ GCCではバラバラになる Ideone.com - ppnbu8 - Online C++0x Compiler & Debugging Tool MSVCの方が望ましい結果だけど・・・ 追記:維持したい…

Androidで技巧を動かしてみた

Androidで技巧を動かしてみました。 ソースコードはGitHubにおいています。 バグってるかもしれませんがご容赦を・・・。 https://github.com/ai5/Gikou/tree/android ベンチ 技巧にyaneuraOuのベンチを移植したそのベンチ結果です。 ベンチはシングルスレッ…

VS2015+Xamarin.Androidで共有ライブラリを使う

Makefileプロジェクトで共有ライブラリを作る 特殊なことはしてない chmod.c #include <sys/stat.h> int Chmod(const char* path, int mode){ return chmod(path, mode);} Android.mk LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_LDLIBS := LOCAL_MODULE </sys/stat.h>…

Visual Studio 2015でAndroid NDKを使った時のメモその1

既存のMakefileをそのまま使う場合 ・プロジェクトの新規作成でメイクファイルプロジェクトを選択する。 ・作成したソリューションのディレクトリに以前作っていたAndroid.mk,Application.mkをjniディレクトリごとソリューションのディレクトリにコピーする…

Apery 32bitをShogiGUIで使う

Apery 32bitをShogiGUIで使う場合のインストール方法です。 ShogiGUIをイントールする ShogiGUI - コンピュータ将棋 からShogiGUIをダウンロードします。 2015/5/27現在ではver 0.0.4.2が最新です。 はじめに - ShogiGUIにしたがってインストール作業をして…

ShogiGUIで詰めろ判定はありまぁす

ShogiGUIのver 0.0.3.15以降で詰めろ判定できます。 ShogiGUIでの詰めろ判定は最初は通常探索でNull Move Pruningをしているのなら、「そこで詰めろ判定できんじゃね?それなら検討モードもそんなにいじらなくていいし」と思っていましたが、いろいろあって…

実験 AperyをAndroidで動かしてみる

やねうらおさんのブログでスマホで動かしたら云々の記事があったので、AperyをAndroid端末で動かして動作速度を計測してみました。 動作環境 androidAndroid 4.1 Jelly Bean RK3066 1.6GHz Cortex-A9 dualmemory 1GB PCcore i5-3230M 2.6GHz 2core 4 threadm…

32bit版AperyについてApery作者の平岡さんが興味深いツイートをしていました。32bit版でApery動くようにして下さった方がいるようだけれど、ehash壊れてないか自分では未検証だったりする。— 平岡 拓也 (@HiraokaTakuya) 2015, 4月 2ehashというのは評価値の…

ShogiGUIでリモートPC上の将棋エンジンを動かす

ShogiGUIでリモートPC上の将棋エンジンを動かします。 SSHを使うだけです。 ・この記事はバッチファイルやSSHが何か分かる人を対象に書いています。 ・リモートPCがSSHで接続できることを前提に話を進めます。 Unix系のOSなら普通にSSHで接続できると思われ…

AperyをVisual Studioでビルドして動作させる。

AperyをVisual Studio2013でビルド、動作させた時のメモ ソースはaperyからforkして修正したものが以下のところにあります。 ai5/aperygithub.com エラーになるところを変更 文字コードをUTF-8 (!= UTF-8N)に統一 constexprを使用しないように変更、constexp…

電王戦FINAL 斎藤慎太郎 五段 vs Apery ログ解析

Aperyのログを解析してみたいと思います。 ログをkif形式にして読みやすくしたもの。ここにあります。 ShogiGUIで見ると、見やすいかも。 評価値の遷移 記者会見で平岡さんが仰っていたように、一度もAperyが有利になっていません。 Aperyは序盤は定跡手か思…

LinuxでShogiGUIを使ってみる

2chのコンピュータ将棋スレにLinuxでの動作報告があったので、 とりあえず対局や検討をひと通り動作確認してみる。 動作確認環境 ShogiGUI ver 0.0.3.11 VMWare Player Ubuntu 12.0.4 Mono ver 3.2.1 動作環境は仮想マシンです。 エンジンは上記環境でビルド…

ShogiGUIバージョン番号についてのメモ

バージョン番号 1.0.0.0 ↑ビルドバージョン (リリース時に+1, メジャー&マイナーバージョン更新時にリセット) ↑リビジョン ↑マイナーバージョン (80~は次のバージョンの開発番号、リリース後は大規模修正時に+1)↑メジャーバージョン (0は開発中) マイルス…

盤面情報をハフマン符号化 実験メモ

局面のハッシュキーにはZobristハッシュが一般的に使われているが、 ハッシュキーの衝突問題がある。 局面をハフマン符号化してハッシュキーとして使用できれば、 衝突問題の回避や盤面情報の復号も簡単に行える。 定跡DBを作成するにあたり、 局面のハッシ…

定跡ファイル

ShogiGUIの要望を見ていると、Kifファイルで定跡管理している人がいる模様。 私も定跡書を入力したりして使っています。 KIFファイルで定跡入力したときに困ることは、 ・違う手順で同一局面になったときに違う分岐になってしまう。 (分岐の合流ができない…

インストーラー

俺用メモ フリーのインストーラー作成ソフト Wix ここからダウンロード Wixを使いやすくするためのエディタ WixEdit http://wixedit.sourceforge.net/ 使い方 Windows上でWiXおよびWixEditを使ったインストーラ作成 WiX チュートリアル (日本語訳) — Windows…

局面検索できる棋譜データベース

ShogiGUIとの連携で局面検索できる棋譜データベースを探してるんですが、なかなか良さげなものがないですね。 起動オプションで局面やその他検索オプションが指定できるといいのですが、条件に合致しそうなのはKifubaseくらいですかね。2ch棋譜のデータベー…

久しぶりの更新

旅行に行って帰ってきたらパスワード忘れて放置してた。 もう別のところに新しいブログつくろうかと思ったけど、 今日 いろいろ試してたらやっとログイン出来た。 最近は将棋のGUIソフト名前はそのままShogiGUIを作成しています。 ソフトを置いてあるサイト…

リモートからWake On Lan・・・ 失敗

旅行中自宅PCを使いたくなった場合に、 LogMeInでリーモートアクセスしてたんですが、 以前はずっと自宅PCの電源を入れっぱなしでした。 で、インターネットから自宅PCの電源をONにするWake On Lan ではなくて、Wake On Wanか・・・試してみたんですが、どう…

旅行中に書いたプログラムのバージョン管理

旅行に行くのはちょっと先(の予定)なんですが、 旅行中に書いたプログラムのバージョン管理をどうしましょ?というのがあります。 ※旅行中にプログラムなんか書くなよとかは無しですよw ノートPCにファイルだけコピーして作業しても良かったんですが、 ネ…

ASUS U24A U24A-PX3230H の動作速度

旅行用に久々にノートPC買いました。 モバイル用途はネットブックの液晶がぶっ壊れてから ずっとiPadだけだったんですが、 ちょっと長期の予定なので。ちょっと無駄遣い。 で指し手ベンチをしてみる。 買ったのは ASUS U24A U24A-PX3230H CPUはCore i5 3230M…

コンパイラ速度その2

Linuxで動作速度を試してみた。 VMwareの仮想環境でだけど。 CPUは前回と同じcore i5 2500 VMware + ubuntu 12.04 64bit デスクトップ版だけどteraterm+sshつかて接続して計測 gcc ver 4.6.3 680ms 1.47M per sec Windows+mingw64環境とほぼ同じ。 mingw64が…

コンパイラの速度メモ

コンパイラの速度メモ ボナンザでこの局面での指し手生成速度 sfen (このへんの解説を読んだ) l6nl/5+P1gk/2np1S3/p1p4Pp/3P2Sp1/1PPb2P1P/P5GS1/R8/LN4bKL w RGgsn5p 呼び出す関数はGenCaptures()とGenNoCaptures()とGenDrop() 使うコンパイラは 1.mingw64…

5/21

ボナンザ6をVisualStudio2012でコンパイルしてみた。 プロトタイプを一箇所修正したけどあっさり通った。 mingw32+gccでもマクロの切り方を修正しただけでとおった。 一応マイボナで動いている模様。 関数に__fastcall指定が多用されているけど、これ指定す…

はじめに

最近物忘れが酷いので将棋とかプログラムとかをメモしておく