sakurapyon’s blog

sakurapyon’s blog

sakurapyon_dti 続き

DTIのServersMan@VPSの話の続き。置換表を増やして 1.6GB ほど使う状態で走らせていますが、いまのところプロセスがkillされることもなく順調に動いています。 46719 XXXX 19 0 1595m 1.5g 161m R 40.0 76.5 2:22.49 csamain置換表増やしてもレーティングは…

sakurapyon_dti

価格の安いDTIのServersMan@VPSを試しています。 CPUが遅いので NPS は さくらのVPS 2Gの1/3-1/4ぐらいです。値段も1/3なのでこんなもんでしょうか。初期局面のNPS比較。 sakurapyonは並列探索してないのでCPU個数は無関係。NPS差は単純にCPU速度差だと思う…

同角打

Sunfish - Sunflower戦。floodgate観戦室を眺めていたら、こんな表示が。 -0037KA T13 '** 1212 +0037KA -3433TO +2133KE -2533NK +3233KI -4433UM +2233OU -0034FU +3334OU -0046KE読み筋の先後(+/-)と、指し手と読み筋の1手目に同じ手を送っているからか…

静止探索内で嘘必至が見つかった場合はどうすればいいのか?

静止探索に突入した時点で、取る手・成る手だけでは自玉が詰んでしまう場合がある。先手は持ち駒が豊富なので詰めに行けば先手勝ちの局面。上のような局面で静止探索に入ると、先手は1三歩成しかない→5八桂成5八金打ちまでの一手詰み。 こうなってしまう…

sakurapyon改良点

相変わらず不詰みは遅いので まだまだ改良しないといけないんだけど、とりあえずメモしておく。 移動一手詰を先に調べるようにした いままでは打一手詰を先に調べて移動一手詰を後から調べてましたが*1、順序を逆にしました。その結果、持ち駒が多種類あるの…

媛さんの問題が参考になった

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

難しい

C++

何が原因なのかさっぱりわからん....gcc バージョン 4.8.0 20130320 (Red Hat 4.8.0-0.18) (GCC) #include <stdint.h> #include <smmintrin.h> typedef uint32_t u32; #define foreach_BitScan(b,var,proc) \ { \ u32 t; \ t = _mm_extract_epi32((b).mm, 0); \ while(t){ \ var=__b</smmintrin.h></stdint.h>…

0チェック

SSE

// 非0なら1 # define Bitboard_Test(b) ( ! _mm_testz_si128( (b).m, _mm_set1_epi8(0xff) ) )はじめてのSSE その5 - 2011-09-12 - Bonanzaソース完全解析ブログ 問) andnotのときに使った_mm_set1_epi8という命令に対応するアセンブリ命令は何か? (答え) …

二歩のチェック

SSE

SSEだと遅くなったので書き直し。歩のビットボードと、縦1列がONになったビットボードをANDして、0以外ならその列には打てない(既に歩がある列である)。縦1列のビットボードは定数なんだけど SSEを使うとメモリアクセスになるので、最初の1つ以外はシフト…

千日手の扱い

http://wdoor.c.u-tokyo.ac.jp/shogi/view/index.cgi?csa=http%3A%2F%2Fwdoor.c.u-tokyo.ac.jp%2Fshogi%2FLATEST%2F2013%2F04%2F21%2Fwdoor%2Bfloodgate-900-0%2Bsakurapyon_2013%2Bfrenzy-floodgate%2B20130421173008.csa&go_last=on&move_to=50▲9四歩△9…

なぜ守る 

1五龍が飛車なら成り込むだろう、と思って試したら成り込んだあとで3二金打ちを考えている。

これはひどい

http://wdoor.c.u-tokyo.ac.jp/shogi/view/index.cgi?csa=http%3A%2F%2Fwdoor.c.u-tokyo.ac.jp%2Fshogi%2FLATEST%2F2013%2F04%2F15%2Fwdoor%2Bfloodgate-900-0%2BKakinoki-Z%2Bsakurapyon_2013%2B20130415063005.csa&go_last=on&move_to=101七香と逃げたあ…

静止探索のオーダリング

MVV/LVAやSEEではなく History順にスコアリングしている。それでいいのか… template<> void MovePicker::score<QUIETS>() { Move m; for (MoveStack* it = moves; it != end; ++it) { m = it->move; it->score = Hist[pos.piece_moved(m)][to_sq(m)]; } }https://git</quiets>…

gps500が居なくなってる

昨日のu-tokyoのネットワークトラブル以降、gps500の姿を見かけない。Gasyouも同じタイミングで行方不明。 TCP KeepAliveあたりかなあ。sakurapyonも実装しなきゃだわ。TCP/IPの通信の切断検知 - 揮発性のメモ

floodgate付近でパケロスしてるっぽい

u-tokyoまでは安定している。 $ ping -c 100 wdoor.c.u-tokyo.ac.jp PING tt.tanaka.ecc.u-tokyo.ac.jp (133.11.45.235) 56(84) bytes of data. 64 bytes from tt.tanaka.ecc.u-tokyo.ac.jp (133.11.45.235): icmp_seq=1 ttl=52 time=1017 ms 64 bytes from …

floodgate

何かが起こったっぽい。↓

mudflap

mudflap素晴らしい。でもコンパイルに異常に時間がかかる

とほほ

http://www.sgtpepper.net/kaneko/diary/tb.rb/20121228 へのトラックバックに失敗しました。 (500 Internal Server Error)

floodgateにつながらないことがある

gps500が居なくなっているからだろうか?LISTで見ると gps500はゲーム中のままのようだ。 $ telnet wdoor.c.u-tokyo.ac.jp 4081 Trying 133.11.45.235... Connected to wdoor.c.u-tokyo.ac.jp. Escape character is '^]'. LOGIN test_human floodgate-900-0,…

hiyoko shogi さん

お久しぶりです。

HikariShogi-Node.js さん

去年参戦しておられた HIKARI_JavaScriptさんだろうか。

優劣判定するんじゃなくて

PVにこのような手順が現れたら探索延長するという手はあるかも それならコストは気にならない

局面の優劣

第二回電王戦第一局、素晴らしい戦いでした。 その第一局で出現した2つの局面。 大駒や歩の成だけが異なる局面を低いコストで認識できるだろうか? 最終盤では打歩詰が絡むため、成っていれば優勢とは言えないかもしれないけど。 if(occupied bitmapが同一 …

はてなダイアリー10周年おめでとう!

福袋があたるらしい。はてなダイアリー10周年おめでとう!

2013年にやりたいこと

バグを取る はてなブログ2013新春キャンペーン

静止探索の futility pruning 時に best value を更新している

Update bestValue when futility pruning In qsearch we should update the bestValue as we do in case of futilityValue moves with non-positive see. Update bestValue when futility pruning · 5af8179 · mcostalba/Stockfish futilityValue = futility…

Tactical move と Bad capture

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

[Stockfish] futility margins array *1

// Init futility margins array for (d = 1; d < 16; d++) for (mc = 0; mc < 64; mc++) FutilityMargins[d][mc] = Value(112 * int(log(double(d * d) / 2) / log(2.0) + 1.001) - 8 * mc + 45); ややこしい式になっているが、dが増えると増加・mcが増える…

課題局面

sakurapyon_test vs. qs_kpp (2012-12-13 02:00) (floodgateの局面図って、手数指定でリンクできないのかな? Gasyouさんのアドバイスに従ったらできましたので上のリンクは直しておきます) 後手:qs_kpp 後手の持駒: 角 金 銀 桂 歩二 9 8 7 6…

sakurapyonには必至が読めない

人間代表の強さを見て思った。4一銀打が最善手だと思っている。2一飛成の局面から考えると2一同玉・2三銀なのに。なぜ、ここで2一飛成しないんだろ?将棋タウン棋力判定問題集36 後手:White 後手の持駒: 角 銀 歩 9 8 7 6 5 4 3 2 1 +------…