geek な日々: 2017

メニュー

級位者の愉快な対局 次の一手 △横歩取り3三歩戦法

もう級位者でもなくなったのだが、当時のテイスト溢れる対局を経験したので報告する。
横歩取りで▲3四飛とした後、後手も△7六飛としてしまうと、▲2二角成の強襲があって、△同銀でも△同金でも金銀の連結が外れ、飛車が成りこんでゲームセット、という「だから後手も先手の真似して横歩を取ってはいけませんよ!」的な進行がよく紹介されているが、このときの飛車の成りこみを防ぐ驚愕の
面白戦法が以下の△3三歩。

正直、指されて驚いた(笑)。
さて、どう対応したらいいだろう?


次の一手的には▲3二馬が正解だが、▲3一馬や▲8四飛車、▲2一馬なども先手勝勢~優勢(elmo 2017 調べ)。
▲3二馬△3四歩と飛車を取れば、▲3一馬で先手金銀得。▲5三馬の狙いも残っている。
▲3二馬△同銀と馬を取れば、▲2四飛△2三歩打。▲2八飛とひいても金得の上に▲2二歩打の狙いが残る。
やはり、「横歩を取るのは先手の権利」なんだろうが、相手が高段者の場合、ここからでも勝ち切るのは大変なんだろうなあとは思う。

nkif ファイルと DB と局面検索

今日は、JSKifuForWP のコードをいじる。
コメント出力も可能になった。
JSKifuForWP は読み込むことのできるデータ形式は、nkif 形式のみである。nkif というのは、私が勝手に名付けた名称で、その出自が某放送局のためこの名前となっている (笑)。
今日の作業でそのデータ構造はほぼ理解した。

nkif は一局面を例えば

p=1b191716101617191b0014000000000012001d1d1d1d1d1d1d1d1d000000000000000000000000000000000000000e000000000000000e000e0e0e0e0e0e0e0003000000000005000c0a08070207080a0c26;
h1=;
h2=;

という形で表す。p は盤面の駒配置、h1 は先手の持ち駒、h2 は後手の持ち駒、である。
p はここでも調べていた。1一が 1b で香、2一が 19 で桂、‥‥というのはわかっていたのだが、これだと 81 * 2 = 162 文字で盤面の駒配置はすべて決定されるはずだが、実際には、164 文字ある。最後の 26 が余計だ。
今までこれがわからなかったのだが、わかってみればなんことはない、これは着手位置を表すマーカー画像の位置そのものだった。初手▲2六歩と飛車先を突いたので、こうなっている次第。余計な情報なので落としてもいいのかもしれない。

そこまでわかったので、テスト的にデータベースも作ってみた。とりあえず三局ほどデータを挿入。

この状態で

SELECT * FROM tbl_kifu where kifu like '%p=1b19171610161719‥(略)‥0a0c26;%'

を実行(SQL文はいつまでたっても慣れないっす)。
結果は、

と同一局面(初手▲2六歩)を正しく2件ひろってくる。
問題の処理時間は、

と約 30 ms 。
これだと100局程度でも、同一局面をひろってくるのに数秒かかりそう。
んー、ちょっと遅いかな。

感想としては

・それっぽいシステムは組めそう
・が、「こなれた」システムをつくるのはそれなりのノウハウが必要

と思った。

むー、私、データベースとか検索とか経験値少ないんだよねー。

blogger で JavaScript その2

このブログって JavaScript 使える? ってことで実際にテスト。
現時点では、たいていの端末・ブラウザで表示されているようですが、android スマフォの chrome で表示できていないようです。(下記参照)

****************************************************************






*****************************************************************
(こんな感じ(↓)で設置が進行)

初期処理の描画もできてるし、タッチに反応もしているが(=JavaScript 自体は読み込まれて一部動いている)、再描画されない(=特定の関数が実行されない?)。
なんでだ?

(本番環境wだが、ソースにデバッグ用のアラート関数埋め込む)
関数実行されてる。
んー、クリック位置取得の座標値がおかしい。
原因はどこ?

ここの情報を元にソースコードを修正。PC の chrome では狙い通りの動きをするようになった。

(出先で、android スマフォからこのページを確認 )
げっ、描画もされてない!
canvas 要素のサイズでかすぎたか????

(iPad Pro 9.7 でも確認 ←今ここ)
問題なく表示できてる。

小型機の表示エリアの問題か? android ブラウザの問題か?


ん、写真が貼れない

記事書いていて写真を挿入しようとしたら、貼れない。
アップロードはできている。
アップした写真類はグーグル・アルバム・アーカイブとかいうところで管理されているようなので、そこにいって確認したら、アップしたファイルがなぜかすべて非公開扱いになっている。

なんでだ?

よくわからないが、最近アップしたファイルをすべて削除。

再度、ブロガーのコンソールに戻ってアップしたら、今度は無事貼れるようになっていましたとさ。

こういうシステムのクセみたいなのは、使いながら慣れていくしかない。


blogger で JavaScript

以前に書いたリバーシプログラム(JavaScript)をここでも使おうと思って、「blogger javascript」などをググる。けっこうみなさん苦労している。
結論としては
「blogger では、javascript のファイルをアップできる場所がないので、
 ・テンプレートに直接書き込む
 ・別のホスティングサイトにファイルを設置し、そこから読み込むようにする」
ということでできることはできるらしい。
前者はメンテが面倒になるのでやりたくない。
後者が有力だが、適当な https のサイトがなかったりする(http だとダメらしい)。

んー、ちょっと課題として残しておこう。

WordPress 最新版がかっこよすぎて嫉妬するレベル

xampp を導入すると格安レンタルサーバの環境にしばられることはないから、ローカルマシンには最新版の WordPress が設置できる。
現在だと最新版は 4.8.1 のようだ。
試しにインスコ。
んー、お洒落。
デフォルトでこのクオリティってのはすごい。
そーいえば、最近、このデザインのサイトよくみかけるわ。

これは、本家サイトサーバの引っ越し考えねば。

xampp が便利すぎて泣ける

今さらながら xampp を導入。
windows 端末などで WordPress で作られたサイトのテストをする場合、確かに便利。

これがローカルでの実行。

で、これがリモート環境。

ノートPCに設置した xampp フォルダは1Gにも満たない。

今まで、手間かけて LAN 内にテスト用のサーバ立ち上げてたのが馬鹿馬鹿しくなる。

将棋 2017上半期

藤井ブームもあって個人的にものっかる。
叡王戦(Ponanza vs 佐藤天彦名人)のインパクトも強かった。

観る将的には、abema TV の将棋チャンネルをよく利用した。

指す方では、将棋ウォーズのエンタメ性の高さに驚いてハマる。

創る方向では、まず評価関数や探索のイロハが知りたくてリバーシの簡単なプログラムを書く。現在は、ニューラルネットも取り込めないか検討中
なお、ブログ用の棋譜再生 JavaScript にもちょっと手を出している


奥が深いなー。

android と Java

まず、OS が 5 → 6 → 7 とバージョンアップするにつれ、どんどん使いやすくなっている。

電池持ちやレスポンスがよくなっているのは、私みたいなライトユーザーには有難い。

個人的には garaxy s8 に注目。↓これです。
デザイン的にも iPhone の先いってる感じがする。これは近秋出る iPhone 8 との比較で考えたいところ。


もちろん、android の良くない点も知っている。garaxy s8 でも重いゲームをしたときダウンロードが iPhone 7 と比べても遅いようだ(処理自体は遜色ないようだが)。比較動画は YouTube あたりによくあがっている。
思うに Java 系の通信ライブラリに難があるのかな?
以前に本家 Java の通信ライブラリを使ったとき、その不安定っぷりに少々驚いた記憶がある。


けっこう放置してましたが投稿再開

諸々の事情があってこちらでも投稿再開。 

このブログでは、主に IT系小噺みたいなことを書いているが、しばらく間を空けて眺めてみると、一年でもゆっくりとしかし着実に変化はおこっていることがわかる。

 まず、いきがかり上、スマフォを iPhone → android に変えたが、今になってみるとこれはけっこう「アリ」な選択だったようで、ここ最近の android 端末の充実っぷりは目を見張るものがある。

 また、将棋ブームや将棋(に限らずボードゲーム全般)と AI との関連性も興味深い。

 細かい話はおいおい。