Hatena::ブログ(Diary)

毎日がEveryDay!

January 24(Sun), 2010

選手権参加、途中結果

00:34

MLで流れきました、まだ公開しちゃダメな気がするのが

すこしだけフライングで感想を

1 Bonanzaライブラリ使用プログラムあらわる!!怖すぎです(ガクブル

2 Bonanzaの名前がかっこよくなっている

3 GPU使用者あらわる!? 楽しみです

今年こそは一次予選抜けたいです。。

なんだか怖いムーブオーダリングの話

00:09

今のponanzaは前回最善手があったら、合法手生成なんかせずとりあえずそれを指すのですが

ひょっとしてhashの誤ヒットがあって非合法手を指してしまいそのままプログラムが落ちる可能性を考えると夜も眠れない。。

あとkillerも合法手を全部作成しないまま指すつもりなのですが、ひょっとしてなにか勘違いがあるかも・・

コードメトリックス

| 17:56

VS 2010についていた謎の機能「コードメトリックス」を使ってみた

コードの再生産性や複雑さを図るらしいが出てきた数字は謎だw

f:id:issei_y:20100124175622p:image

LINQ + yield + ラムダ式 + IEnumerable = 自己満足

16:44

public IEnumerable<Move> Quiet()
{
	List<int> attacker = pos.InCheckAll();
	if (attacker.Count == 0)
	{
		Func<Move, bool> IsGood = move =>
		{
			if (PieceValue[move.Capture()] >= PieceValue[move.FromKind()]) return true;
			return SEE(move) >= 0;
		};
		var query = Tactical()
			.Select(m => new { move = m, mvvlva = MVVLVA(m) })
			.OrderByDescending(a => a.mvvlva)
			.Where(a => PsuedoMoveIsLegal(a.move) && IsGood(a.move))
			.Select(a => a.move);
		foreach (Move tactical in query) yield return tactical;
	}
	else // in check
	{
		var query = Evasion(attacker)
			.Select(m => new { move = m, mvvlva = MVVLVA(m) })
			.OrderByDescending(a => a.mvvlva)
			.Where(a => PsuedoMoveIsLegal(a.move))
			.Select(a => a.move);
		foreach (Move evasion in query) yield return evasion;
	}
}

そうだよ、オレはこう書きたかったんだよ!!!

実は来週火曜はGPS輪講の発表がある

14:18

忘れないようにメモ

streakeaglestreakeagle 2010/01/25 00:51 >2 Bonanzaの名前がかっこよくなっている
文殊チームの人が開発者に加わってますし、その関係での名称変更かもしれませんね。
#って、こういう事書いちゃってよかったのかな?

issei_yissei_y 2010/01/25 00:57 #って、こういう事書いちゃってよかったのかな?>誰も怒らないでしょうし大丈夫じゃないですかね?
しかし、楽しみになってきました、はやくGWになれ!!

hyperion_ymhyperion_ym 2010/01/25 23:19 >killerも合法手を全部作成しないまま指すつもりなのですが
合法手かどうか、チェックしてから指した方がいいと思いますよ…安眠のためにも

issei_yissei_y 2010/01/26 00:32 安眠のためにも>安眠をとるか、速度をもとめるか

かず@なのはかず@なのは 2010/01/26 00:39 ↑なくても大丈夫ですよ。2^64分の1だし。
(で、なのはと対局中に発動!)

issei_yissei_y 2010/01/26 00:49 絶対にかくにんします(キリッ

NyaRuRuNyaRuRu 2010/01/26 01:01 >foreach (Move tactical in query) yield return tactical;

これは return query; で十分だったりしませんか?

issei_yissei_y 2010/01/26 01:40 NyaRuRuさん始めまして、いつもブログ見てます。
これは return query; で十分だったりしませんか?>
あ、え。。そんな風にかけるんですか。。
そうだったのかorz
情報ありがとうございます

かず@なのはかず@なのは 2010/01/29 02:21 そういえば、いっせいさんは今回は一人ですか?

issei_yissei_y 2010/01/29 02:39 はい、そうですよ