2015-06-03 21:00
「今日発表があったんだが、トナメが今年もあるみたいなんだぜ☆」
将棋新棋戦
http://ex.nicovideo.jp/denou/shinkisen/
「前年と比べて、無職なんだから 時間がいっぱいあるわね!」
「しかし トップクラスの選手は
電気代が月3万とか 2週間で7万とか言ってるんだぜ☆
機械学習やら 全幅探索やらで 電気を ぶんまわすのは
真似すると 目玉が飛び出るんだぜ☆
だがまあ、ちょっぴり かじるぐらいには 前向きに取り組むぜ☆」
「それより まずは 幅優先探索なんだぜ☆
きふわらべ め!
深さ優先探索をやってたとはひどいんだぜ☆ 改造なんだぜ」
「起きろ、きふわらべっ☆!」
「久しぶりに起きたら、髪型が変わっていて、ごつい服を着ていた☆
なんなんだぜ☆? これ☆?」
「名付けて、
ロケット大臣☆!」
「☆!?」
「服が空をイメージしていて、ロケットがドーンっと火を噴きながら
1位を目指して 飛んでってる願いを掛けているんだぜ☆!」
「う、うわああ☆ びえええええ☆!
こんな恥ずかしい格好では外に出られないんだぜーっ☆!
お父んの頭がドーンなんだぜ~☆!!!」
23:59
カリカリカリ...
04:47
「うぐふ☆ どふあ☆」
「どうした、お父ん」
「きふわらべの、エラーハンドリングのコードを
書き直そうとしているんだぜ☆」
「エラーハンドリングって、なんだぜ☆」
「エラーが出たときに、
・ログを出すのか出さないのか、
・ポップアップ・ダイアログボックスを出して止めるのか、
・エラーが出ても進めるのか、
どういう対応をするか、ということなんだぜ☆
将棋のプログラムより、
エラーハンドリングのプログラミングがでかくなったら、
将棋エンジンじゃなくて、
エラーハンドリングエンジンなんだぜ☆ww
エラーハンドリングを小さく書き直したいんだぜ☆ww」
「どれぐらい でかい のを、
どれぐらい 小さく書き直す んだぜ☆?」
「例えば、1つのプログラムに
次の記述が7個ぐらい くり返し出てくるんだぜ☆」
try{
~略~
}
catch (Exception ex)
{
//>>>>> エラーが起こりました。
string message = ex.GetType().Name + " " + ex.Message + ":棋譜ツリーの読みループの作成次ノードの前半20です。:";
Debug.Fail(message);
// どうにもできないので ログだけ取って、上に投げます。
log.LogTag.WriteLine_Error(message);
throw ex;
}
「これを例えば、次のように書き直したいんだぜ☆」
try{
~略~
}
catch (Exception ex)
{
owata.DonimoNaranAkirameta( "棋譜ツリーの読みループの作成次ノードの前半20です。" )
}
「おっ☆ わかりやすそうなんだぜ☆ww」
カリカリカリカリカリ......
05:47
「うぬぐ☆ぶほあ☆!」
「また何か飛び出してきたんだぜ☆ 今度は何だぜ☆?」
「ログ出力の中には、
・読みたい情報
・読みたくもない情報
があるんだぜ☆
そこで、この情報は出る、この情報は出ない、と
スイッチのON/OFFをやっていることがあったんだが、
こんなことをプログラムの中に ぽつぽつぽつぽつ 毎度毎度
書き込んでいては、それだけであふれて 収集が付かないんだぜ☆
いったん、このログの種類によるON/OFF機能を、
全部消してしまうぜ☆」
「細かいことは なんにもしない方がいいんじゃないか☆ww
細かく指定できれば便利、という思想が間違いなんだぜ☆ww
『スモール、ミドル、ラージ』
これ以上のことは お父んの頭では無理だな☆wwww」
「くっ☆!」
トンカントンカン トンカントンカン トンカントンカン.........
08:30
「うぐはあ☆」
「また出てきたんだぜ☆」
「ログファイルを分けておけば 見やすいかと思って、
・将棋エンジンのログ
・GUIのログ
・指し手の思考中のログ
などなど いっぱいファイルを分けているんだが、
好き放題に ログファイルを作れる 思想にしているので
プログラムの色んなところで ログファイルを設定していて
ごちゃごちゃなんだぜ☆」
「プログラムの中核部分で 使えるログ・ファイルはこれだけ☆!
と決めてしまって、
各部のプログラムは それに従うようにしたらどうなんだぜ☆?」
「そうすると、プログラムの中核部分が、
プログラムの端々の部分に任せるような資源配分を
管理することになってしまうんだぜ☆
しかし、
端々で無制限に拡張できる作りにしていたんだが、
端々で無制限に拡張できたら 頭がまとまらないな☆!
管理するしかないのかなんだぜ~☆」
「ログ大臣(Log Minister)というのを1つ置いて、
画面部(GUI Department)、
エンジン部(Engine Department)、
…
という風に分けていく、という管理向けの構造に改造してみるかなんだぜ☆」
「どうして急に ログを管理したくなったんだぜ☆?
いままで 草ぼうぼう のように適当にやってたのに☆」
「ログを 草ぼうぼう にしていると、
プログラム全体が 草ぼうぼう になるからなんだぜ☆」
「むむ☆ ログ大臣(Log Minister)ではなくて、
オワタ大臣(Owata Minister)に役職名を変更するぜ☆」
「なんのこだわりなんだぜ☆ww」
「オワタ大臣は、ログも取るし、エラーで停止するのもやってもらう☆ww」
10:23
「うっ☆ バグが☆」
[3回]
PR
http://grayscale.dou-jin.com/Entry/235/【将棋】きふわらべが頂上を目指す☆!第3回将棋電王トーナメント(1) それよりまずは幅優先探索なんだぜ☆