コンピュータ将棋や囲碁の掲示板 過去ログ2015年版


Re: 森下卓九段 vs ツツカナの継盤ありリ... 山下 2015年 1月 1日(木)01時00分27秒
Re: 森下卓九段 vs ツツカナの継盤ありリ... gg 2015年 1月 1日(木)05時46分55秒
▲9四歩 森下卓九段 vs ツツカナ 2015年 1月 2日(金)09時29分26秒
Re: ▲9四歩 山下 2015年 1月 2日(金)23時12分10秒
Re: ▲9四歩 森下卓九段 vs ツツカナ 2015年 1月 3日(土)11時42分19秒
Re: ▲9四歩 山下 2015年 1月 3日(土)18時33分34秒
局面ペディア、が面白いです 山下 2015年 1月 8日(木)19時47分21秒
ShougiGUI使ってみました。 masatsune 2015年 1月11日(日)15時48分12秒
UEC杯 荒木(ark) 2015年 1月16日(金)17時15分10秒
CGOSが13路だけ復活 山下 2015年 1月24日(土)22時55分30秒
コンピュータ将棋選手権の申し込みは今月... 山下 2015年 1月30日(金)02時58分28秒
HiraBot の改良 HiraBot 2015年 1月31日(土)08時18分15秒
ICGA Event 2015 gg 2015年 1月31日(土)08時57分56秒
Re: HiraBot の改良 山下 2015年 2月 1日(日)07時38分50秒
囲碁クエストが2月15日の囲碁フォーカスで... 山下 2015年 2月 1日(日)09時52分39秒
ホームページを移行しました 山下 2015年 2月 2日(月)04時44分9秒
Re: HiraBot の改良 HiraBot 2015年 2月 2日(月)05時06分19秒
perhaps bug, HiraBot2 on KGS today gg 2015年 2月 2日(月)11時56分40秒
Re: perhaps bug, HiraBot2 on KGS today HiraBot 2015年 2月 2日(月)13時40分18秒
二段の HiraBot 公開しました HiraBot 2015年 2月12日(木)16時18分17秒
ゲームプログラミングのリンク集 山下 2015年 2月17日(火)19時46分0秒
電王戦FINALでは定跡を5%ぐらいで使わない... 山下 2015年 2月17日(火)19時47分12秒
RE:電王戦FINALでは定跡を5%ぐらいで使わ... masa 2015年 2月25日(水)17時54分36秒
銀星囲碁15が太田亮初段に3子で勝ち 山下 2015年 2月25日(水)21時18分16秒
2局目はプロの勝ち gg 2015年 2月28日(土)15時58分17秒
caffe での CPU と GPU の速度比較 HiraBot 2015年 3月 2日(月)13時51分57秒
Re: caffe での CPU と GPU の速度比較 山下 2015年 3月 3日(火)11時23分1秒
deep learning の勉強 HiraBot 2015年 3月 4日(水)08時05分57秒
Re: deep learning の勉強 gg 2015年 3月 4日(水)12時06分11秒
Re: deep learning の勉強 HiraBot 2015年 3月 4日(水)12時30分6秒
Re: deep learning の勉強 gg 2015年 3月 4日(水)13時51分13秒
Re: deep learning の勉強 HiraBot 2015年 3月 5日(木)10時26分29秒
Re: deep learning の勉強 山下 2015年 3月 5日(木)14時01分39秒
Re: deep learning の勉強 gg 2015年 3月 5日(木)16時12分37秒
Re: deep learning の勉強 HiraBot 2015年 3月 5日(木)18時47分4秒
電王手くんが電王手さんに進化 山下 2015年 3月 6日(金)20時47分39秒
Re: deep learning の勉強 gg 2015年 3月 7日(土)09時01分44秒
Re: deep learning の勉強 HiraBot 2015年 3月 7日(土)12時32分38秒
Re: deep learning の勉強 HiraBot 2015年 3月11日(水)05時10分44秒
Re: deep learning の勉強 HiraBot 2015年 3月18日(水)05時02分17秒
Re: deep learning の勉強 山下 2015年 3月18日(水)07時20分46秒
Re: deep learning の勉強 HiraBot 2015年 3月18日(水)09時14分4秒
Re: deep learning の勉強 gg 2015年 3月18日(水)12時56分25秒
Re: deep learning の勉強 shallow 2015年 3月26日(木)03時51分30秒
将棋ソフトでのスレッ数の設定について、 masa 2015年 3月27日(金)19時02分6秒
Re: 将棋ソフトでのスレッ数の設定について 山下 2015年 3月27日(金)21時15分37秒
Re: 将棋ソフトでのスレッ数の設定について masa 2015年 3月28日(土)01時12分9秒
Re: deep learning の勉強 HiraBot 2015年 3月30日(月)19時35分38秒
Re: deep learning の勉強 HiraBot 2015年 4月 4日(土)23時31分0秒
Re: deep learning の勉強 山下 2015年 4月 5日(日)15時58分23秒
棋譜データの解析 コロ 2015年 4月 5日(日)22時08分40秒
Re: deep learning の勉強 gg 2015年 4月 6日(月)09時17分27秒
Re: 棋譜データの解析 gg 2015年 4月 6日(月)09時23分18秒
Re: deep learning の勉強 gg 2015年 4月 6日(月)09時33分19秒
Re: 棋譜データの解析 山下 2015年 4月 6日(月)12時27分48秒
Re: 棋譜データの解析 gg 2015年 4月 6日(月)17時17分37秒
Re: 棋譜データの解析 コロ 2015年 4月 6日(月)23時35分50秒
棋譜解析によるレーティング推測 Rira 2015年 4月 7日(火)02時13分52秒
Re: 棋譜解析によるレーティング推測 山下 2015年 4月 7日(火)16時57分9秒
Re: 棋譜データの解析 山下 2015年 4月 7日(火)17時13分17秒
Re:Re: 棋譜データの解析 コロ 2015年 4月 7日(火)17時38分58秒
Re: deep learning の勉強 HiraBot 2015年 4月16日(木)11時48分30秒
Re: deep learning の勉強 山下 2015年 4月18日(土)01時54分44秒
Re: deep learning の勉強 HiraBot 2015年 4月18日(土)16時04分14秒
Re: deep learning の勉強 山下 2015年 4月19日(日)02時13分39秒
Re: deep learning の勉強 gg 2015年 4月20日(月)22時43分47秒
Re: deep learning の勉強 HiraBot 2015年 4月21日(火)08時44分9秒
CPUのスレッド数についての実験 masatsune 2015年 4月28日(火)00時35分13秒
順位順の星取表 山下 2015年 5月 6日(水)09時48分48秒
日経新聞の電王戦の記事 山下 2015年 5月 6日(水)11時48分21秒
Re: deep learning の勉強 HiraBot 2015年 5月 7日(木)07時17分22秒
Re: deep learning の勉強 山下 2015年 5月 7日(木)11時09分12秒
YSSの決勝でのログ 山下 2015年 5月 7日(木)11時10分35秒
mizumonさんの選手権の棋譜解説 山下 2015年 5月 7日(木)11時12分2秒
Re:YSSの決勝でのログ masatsune 2015年 5月 8日(金)23時15分58秒
Re:YSSの決勝でのログ 山下 2015年 5月 9日(土)05時17分37秒
CSA選手権の順位別記録 山下 2015年 5月 9日(土)05時21分28秒
CrazyStoneが金曜夜8時から囲碁クエストに 山下 2015年 5月28日(木)15時14分21秒
下坂美織二段対 Zen の三子局於人工知能学... gg 2015年 6月 1日(月)01時30分5秒
CGOSの9路と19路が復活 山下 2015年 6月 6日(土)17時19分5秒
コンピュータ囲碁講習会のお知らせ 山下 2015年 6月12日(金)06時48分52秒
Re:コンピュータ囲碁講習会のお知らせ masatsune 2015年 6月12日(金)17時18分34秒
Re:コンピュータ囲碁講習会のお知らせ 山下 2015年 6月12日(金)22時59分20秒
Re:コンピュータ囲碁講習会のお知らせ gg 2015年 6月15日(月)11時48分29秒
Re:コンピュータ囲碁講習会のお知らせ masatsune 2015年 6月15日(月)22時33分29秒
囲碁NHK杯の形勢判断をするBot 山下 2015年 6月19日(金)21時39分30秒
Chainer shallow 2015年 6月27日(土)07時07分58秒
日本神経回路学会主催セミナー「Deep Lea... 山下 2015年 6月27日(土)15時35分32秒
Computer Olympiad 2015 Leiden gg 2015年 6月30日(火)15時49分48秒
Re: Computer Olympiad 2015 Leiden 山下 2015年 7月 1日(水)00時12分19秒
Re: Computer Olympiad 2015 Leiden gg 2015年 7月 1日(水)00時28分25秒
Re: Computer Olympiad 2015 Leiden gg 2015年 7月 1日(水)00時34分27秒
Re: Computer Olympiad 2015 Leiden gg 2015年 7月 1日(水)00時49分6秒
Re: Computer Olympiad 2015 Leiden 山下 2015年 7月 1日(水)15時29分5秒
Go1.c masatsune 2015年 7月 1日(水)22時47分55秒
Re: Go1.c 山下 2015年 7月 2日(木)13時29分56秒
13x13 Go on CO Leiden gg 2015年 7月 2日(木)23時28分55秒
Re: 13x13 Go on CO Leiden gg 2015年 7月 3日(金)14時59分1秒
Re: 13x13 Go on CO Leiden 山下 2015年 7月 3日(金)16時48分59秒
19x19 Go in CO Leiden gg 2015年 7月 4日(土)10時28分41秒
Re: 19x19 Go in CO Leiden gg 2015年 7月 4日(土)17時42分58秒
Re: 19x19 Go in CO Leiden gg 2015年 7月 4日(土)18時33分5秒
Re: 19x19 Go in CO Leiden gg 2015年 7月 4日(土)22時17分22秒
Re: 19x19 Go in CO Leiden 山下 2015年 7月 4日(土)22時43分34秒
Re: 19x19 Go in CO Leiden 山下 2015年 7月 4日(土)22時55分44秒
Re: 19x19 Go in CO Leiden 山下 2015年 7月 4日(土)23時06分59秒
CGFオープン参加者募集 荒木(ark) 2015年 7月 9日(木)00時46分24秒
世界の囲碁プロのレーティングを見れるサ... 山下 2015年 7月16日(木)23時14分7秒
面白い現象 masatsune 2015年 7月17日(金)17時45分22秒
deep learning と MCTS の統合 HiraBot 2015年 7月18日(土)09時54分16秒
Re: 面白い現象 山下 2015年 7月19日(日)05時27分54秒
Re: deep learning と MCTS の統合 山下 2015年 7月19日(日)05時41分13秒
Re: 面白い現象 masatsune 2015年 7月19日(日)22時02分11秒
Re: deep learning と MCTS の統合 HiraBot 2015年 7月21日(火)23時38分11秒
Re: deep learning と MCTS の統合 gg 2015年 7月22日(水)01時15分33秒
Re: deep learning と MCTS の統合 HiraBot 2015年 7月22日(水)07時09分55秒
Re: deep learning と MCTS の統合 山下 2015年 7月23日(木)02時01分41秒
DCNN が学習しているのは gg 2015年 7月23日(木)14時41分2秒
Re: DCNN が学習しているのは HiraBot 2015年 7月27日(月)03時51分17秒
Re: deep learning と MCTS の統合 gg 2015年 7月28日(火)16時20分31秒
Hajin Lee (3p)さんとAyaが5子で対戦 山下 2015年 7月29日(水)23時16分20秒
FuzzIEEE2015 gg 2015年 8月 2日(日)12時03分59秒
Re: FuzzIEEE2015 山下 2015年 8月 3日(月)17時10分27秒
Re: FuzzIEEE2015 gg 2015年 8月 6日(木)16時14分29秒
History of Go Ratings 山下 2015年 8月16日(日)23時13分16秒
台湾の8月31日のCIG2015でプロ3人とソフト... 山下 2015年 8月22日(土)21時27分26秒
Re: 台湾の8月31日のCIG2015でプロ3人とソ... 山下 2015年 8月31日(月)22時27分2秒
平塚の囲碁三段 vector で公開 HiraBot 2015年 9月 3日(木)20時13分51秒
再掲:CGFオープン参加者募集 荒木(ark) 2015年 9月 6日(日)20時21分7秒
Re: 平塚の囲碁三段 vector で公開 山下 2015年 9月 7日(月)14時02分32秒
DetlefさんのDeep Learningを試してみました 山下 2015年 9月 7日(月)14時03分38秒
Re:DetlefさんのDeep Learningを試してみ... 荒木(ark) 2015年 9月 9日(水)17時17分5秒
Re:DetlefさんのDeep Learningを試してみ... 山下 2015年 9月 9日(水)19時56分34秒
KGSのSlow大会はabakusが優勝 山下 2015年 9月 9日(水)20時14分42秒
予測率 HiraBot 2015年 9月10日(木)08時55分32秒
予測率追加データ HiraBot 2015年 9月11日(金)11時43分26秒
Re: 予測率追加データ 山下 2015年 9月11日(金)17時38分3秒
Re: 予測率追加データ HiraBot 2015年 9月12日(土)01時11分55秒
日本ルールへの対応 山下 2015年 9月13日(日)14時44分35秒
平塚の囲碁ダウンロード不可 tss 2015年 9月13日(日)14時46分35秒
Re:平塚の囲碁ダウンロード不可 うさぴょんの育ての親 2015年 9月13日(日)14時53分11秒
Re:平塚の囲碁ダウンロード不可 tss 2015年 9月13日(日)15時18分10秒
Detlefさんの学習データをAyaに組み込んで... 山下 2015年 9月18日(金)17時40分19秒
Re: Detlefさんの学習データをAyaに組み込... HiraBot 2015年 9月19日(土)01時24分11秒
Re: Detlefさんの学習データをAyaに組み込... 山下 2015年 9月19日(土)03時25分33秒
Re: Detlefさんの学習データをAyaに組み込... HiraBot 2015年 9月19日(土)06時24分44秒
HiraBot の改良 HiraBot 2015年 9月19日(土)10時15分34秒
GPU 速度測定 HiraBot 2015年 9月19日(土)11時15分34秒
Re: GPU 速度測定 山下 2015年 9月20日(日)06時20分20秒
Re: GPU 速度測定 gg 2015年 9月20日(日)22時12分16秒
25路盤ロボット HiraBot 2015年 9月29日(火)06時58分42秒
Re: 25路盤ロボット 山下 2015年 9月29日(火)09時50分9秒
Re: 25路盤ロボット gg 2015年 9月29日(火)10時07分48秒
Re: 25路盤ロボット HiraBot 2015年 9月29日(火)10時54分29秒
CGFオープンが10月3日、4日に電通大で開催... 山下 2015年 9月29日(火)17時49分11秒
CGFオープン masatsune 2015年 9月30日(水)13時24分51秒
Re:CGFオープン 荒木(ark) 2015年 9月30日(水)15時19分39秒
Re: CGFオープン 山下 2015年 9月30日(水)16時57分41秒
Re: 25路盤ロボット gg 2015年 9月30日(水)20時22分53秒
Re: 25路盤ロボット HiraBot 2015年 9月30日(水)20時55分47秒
Re: 25路盤ロボット gg 2015年10月 1日(木)00時28分28秒
Re: 25路盤ロボット HiraBot 2015年10月 1日(木)01時55分36秒
CGFオープン結果 荒木(ark) 2015年10月 4日(日)22時51分51秒
コンピューター将棋「目的達した」終了宣... 山下 2015年10月10日(土)18時22分4秒
Re:コンピューター将棋「目的達した」終... masatsune 2015年10月10日(土)19時08分57秒
Re:コンピューター将棋「目的達した」終... gg 2015年10月11日(日)18時25分24秒
ニューラルネット HiraBot 2015年10月13日(火)10時53分44秒
Re: ニューラルネット 山下 2015年10月14日(水)01時53分32秒
Re: ニューラルネット nlp 2015年10月14日(水)05時41分45秒
Re: ニューラルネット HiraBot 2015年10月14日(水)06時59分6秒
Re: ニューラルネット nlp 2015年10月14日(水)07時19分30秒
24のレーティングのインフレ実験 山下 2015年10月15日(木)23時18分26秒
Re:24のレーティングのインフレ実験 masatsune 2015年10月16日(金)00時14分59秒
Re: 24のレーティングのインフレ実験 山下 2015年10月17日(土)00時39分32秒
Re: ニューラルネット HiraBot 2015年10月17日(土)11時46分29秒
レーティングのインフレ kappaiota 2015年10月18日(日)10時36分37秒
GTP2NNGSでのGoGuiの使用 nlp 2015年10月18日(日)12時56分1秒
Re: レーティングのインフレ 山下 2015年10月18日(日)23時23分9秒
Re: GTP2NNGSでのGoGuiの使用 山下 2015年10月18日(日)23時33分50秒
Re: GTP2NNGSでのGoGuiの使用 nlp 2015年10月19日(月)03時52分7秒
千田5段のNHK杯の自戦記が熱いです 山下 2015年10月21日(水)23時25分27秒
コンピュータ将棋のアルゴリズム HTML版 山下 2015年10月22日(木)23時58分16秒
ブラウザ将棋アプリ Osamu 2015年10月25日(日)11時03分37秒
Re: ブラウザ将棋アプリ 山下 2015年10月25日(日)22時52分23秒
Re:ブラウザ将棋アプリ Osamu 2015年10月26日(月)05時31分1秒
Re: ニューラルネット HiraBot 2015年10月26日(月)11時20分25秒
大阪、新世界の将棋道場「王将」が閉店 山下 2015年10月28日(水)01時13分43秒
Re: ニューラルネット HiraBot 2015年10月29日(木)20時17分30秒
Re: ニューラルネット 山下 2015年10月30日(金)17時25分20秒
Re: ニューラルネット HiraBot 2015年11月 6日(金)00時57分43秒
Re: ニューラルネット shallow 2015年11月 7日(土)15時46分35秒
Re: ニューラルネット HiraBot 2015年11月 7日(土)22時55分31秒
Re: ニューラルネット shallow 2015年11月 8日(日)05時28分41秒
Re: ニューラルネット HiraBot 2015年11月 8日(日)11時50分44秒
Re: ニューラルネット shallow 2015年11月 8日(日)13時10分43秒
Re: ニューラルネット shallow 2015年11月 8日(日)13時55分15秒
Re: ニューラルネット HiraBot 2015年11月 8日(日)18時39分42秒
Re: ニューラルネット shallow 2015年11月 9日(月)00時40分46秒
Re: ニューラルネット HiraBot 2015年11月 9日(月)07時40分30秒
Re: ニューラルネット shallow 2015年11月10日(火)00時58分31秒
Re: ニューラルネット HiraBot 2015年11月10日(火)10時28分35秒
Re: ニューラルネット shallow 2015年11月11日(水)01時46分40秒
Re: ニューラルネット HiraBot 2015年11月11日(水)08時27分58秒
Re: ニューラルネット shallow 2015年11月12日(木)02時25分48秒
Re: ニューラルネット HiraBot 2015年11月12日(木)07時52分7秒
CGOSを動かしてみました 山下 2015年11月12日(木)14時47分21秒
UEC杯の締め切りは12月10日まで 山下 2015年11月12日(木)14時50分56秒
Re: ニューラルネット shallow 2015年11月13日(金)01時15分58秒
北京の大会はDolBaramが優勝 山下 2015年11月14日(土)12時45分51秒
Re: 北京の大会はDolBaramが優勝 荒木(ark) 2015年11月14日(土)15時04分46秒
Re: 北京の大会はDolBaramが優勝 山下 2015年11月14日(土)16時53分38秒
CGOS HiraBot 2015年11月14日(土)20時23分26秒
Re: CGOS 山下 2015年11月15日(日)07時52分35秒
Re: 北京の大会はDolBaramが優勝 山下 2015年11月15日(日)10時51分10秒
Re: 北京の大会はDolBaramが優勝 山下 2015年11月15日(日)11時50分22秒
Re: 北京の大会はDolBaramが優勝 荒木(ark) 2015年11月15日(日)12時24分15秒
Re: 北京の大会はDolBaramが優勝 荒木(ark) 2015年11月15日(日)18時24分4秒
Re: 北京の大会はDolBaramが優勝 山下 2015年11月15日(日)18時29分19秒
Re: CGOS HiraBot 2015年11月16日(月)01時39分8秒
Facebookの囲碁AI 山下 2015年11月24日(火)13時39分5秒
Re: Facebookの囲碁AI 山下 2015年11月24日(火)15時04分20秒
囲碁のFloodgate? 通りすがり 2015年11月24日(火)23時43分37秒
Re: Facebookの囲碁AI gg 2015年11月25日(水)00時20分35秒
Re: Facebookの囲碁AI HiraBot 2015年11月25日(水)00時59分17秒
Re: Facebookの囲碁AI 山下 2015年11月25日(水)01時17分38秒
Re: 囲碁のFloodgate? 通りすがり 2015年11月25日(水)06時39分47秒
floodgateの2リーグ制について ミルショー 2015年11月25日(水)07時52分1秒
Re: 囲碁のFloodgate? gg 2015年11月25日(水)11時57分5秒
Re: 囲碁のFloodgate? 通りすがり 2015年11月25日(水)21時08分23秒
Re: Facebookの囲碁AI 山下 2015年11月26日(木)11時49分29秒
Re: Facebookの囲碁AI gg 2015年11月26日(木)13時49分8秒
ponanGO参戦! osera 2015年11月27日(金)00時41分24秒
Re: ponanGO参戦! 山下 2015年11月27日(金)09時21分22秒
Re: Facebookの囲碁AI 山下 2015年11月27日(金)09時27分9秒
DolBaramが韓国の新聞記事に 山下 2015年11月27日(金)10時02分39秒
Re: ponanGO参戦! masatsune 2015年11月27日(金)11時41分12秒
Re: Facebookの囲碁AI gg 2015年11月27日(金)21時21分3秒
(無題) 通りすがり 2015年11月27日(金)23時15分42秒
囲碁ソフトの作り方 山下 2015年11月28日(土)18時47分16秒
RE: 囲碁ソフトの作り方 通りすがり 2015年11月28日(土)19時21分57秒
Re: 囲碁ソフトの作り方 gg 2015年11月28日(土)21時26分36秒
re:(無題) masatsune 2015年11月28日(土)22時07分34秒
Re: 囲碁ソフトの作り方 山下 2015年11月28日(土)23時48分43秒
Re: 囲碁ソフトの作り方 通りすがり 2015年11月29日(日)10時31分7秒
おすすめの囲碁ソフト 通りすがり 2015年11月29日(日)21時26分54秒
Re: おすすめの囲碁ソフト 山下 2015年11月30日(月)13時17分29秒
gtpモードでのコミ変更について。 masatsune 2015年11月30日(月)19時09分7秒
Re: gtpモードでのコミ変更について。 山下 2015年11月30日(月)23時01分20秒
Re: gtpモードでのコミ変更について。 masatsune 2015年11月30日(月)23時44分11秒
Re: おすすめの囲碁ソフト 黒猫 2015年12月 2日(水)21時36分58秒
Re: おすすめの囲碁ソフト 通りすがり 2015年12月 3日(木)22時28分54秒
Re: おすすめの囲碁ソフト 山下 2015年12月 4日(金)20時52分33秒
囲碁の評価値に関して 通りすがり 2015年12月 4日(金)21時09分43秒
Re: 囲碁の評価値に関して 山下 2015年12月 5日(土)11時26分11秒
Re: 囲碁の評価値に関して 通りすがり 2015年12月 5日(土)14時12分45秒
Re: 囲碁の評価値に関して gg 2015年12月 6日(日)09時08分4秒
Pachiについて 通りすがりの人 2015年12月 7日(月)14時40分20秒
Re:Pachiについて 荒木(ark) 2015年12月 8日(火)14時25分59秒
(無題) 通りすがりの人 2015年12月 8日(火)15時06分54秒
Re: 荒木(ark) 2015年12月 8日(火)19時48分36秒
3月のUEC杯の締め切りは明日10日まで 山下 2015年12月 9日(水)12時33分16秒
Re: Pachiについて 通りすがりの人 2015年12月 9日(水)22時44分2秒
Re:Re: Pachiについて 通りすがりの人(Pachi) 2015年12月10日(木)13時26分6秒
(無題) 通りすがりの人(Pachi) 2015年12月10日(木)13時51分44秒
手の位置 y の位置情報など 通りすがりの人 2015年12月10日(木)15時37分50秒
第9回UEC杯コンピュータ囲碁大会 tss 2015年12月10日(木)20時24分25秒
Re 第9回UEC杯コンピュータ囲碁大会 masatsune 2015年12月11日(金)01時44分23秒
Re: 通りすがりの人(Pachi) 2015年12月11日(金)13時29分38秒
掲示板からホームページのリンクが切れて... tss 2015年12月11日(金)23時26分12秒
Re: 掲示板からホームページのリンクが切... 山下 2015年12月12日(土)01時16分37秒
tree_node 構造体の手の位置の情報 通りすがりの人 2015年12月12日(土)06時21分52秒
Re: tree_node 構造体の手の位置の情報 通りすがりの人 2015年12月12日(土)13時10分6秒
Re: 通りすがりの人(Pachi) 2015年12月12日(土)16時51分28秒
Pachi の uct_playout 通りすがりの人 2015年12月12日(土)23時20分48秒
Re: Pachi の uct_playout 通りすがりの人(Pachi) 2015年12月13日(日)16時22分12秒
Re: Pachi の uct_playout 通りすがりの人 2015年12月14日(月)00時08分32秒
Re: Re: Pachi の uct_playout 通りすがりの人(Pachi) 2015年12月14日(月)11時50分24秒
(無題) 終わり? 2015年12月14日(月)19時05分1秒
(無題) 通りすがりの人(Pachi) 2015年12月17日(木)14時30分16秒
Pachiについて 通りすがりの人(Pachi) 2015年12月17日(木)16時08分52秒
(無題) 通りすがり 2015年12月17日(木)16時51分39秒
(無題) 通りすがりの人(Pachi) 2015年12月18日(金)11時50分54秒
追記 通りすがりの人(Pachi) 2015年12月18日(金)12時03分45秒
(無題) 通りすがりの人(Pachi) 2015年12月18日(金)15時10分9秒
CGI1362m_D54_1c gg 2015年12月19日(土)13時45分15秒
Re: CGI1362m_D54_1c 山下 2015年12月19日(土)14時38分28秒
Re: CGI1362m_D54_1c gg 2015年12月20日(日)13時17分1秒
Re: CGI1362m_D54_1c 山下 2015年12月20日(日)19時25分21秒
Caffeでスレッドごとに割り当ても速くはな... 山下 2015年12月20日(日)21時39分25秒
Re: Caffeでスレッドごとに割り当ても速く... gg 2015年12月21日(月)06時39分29秒
(無題) 通りすがりの人(Pachi) 2015年12月22日(火)14時42分23秒
The Go program terminated unexpectedly. 通りすがりの人2 2015年12月22日(火)16時09分19秒
NHKのニュース auau 2015年12月23日(水)20時17分30秒
13路盤プロアマトーナメント gg 2015年12月23日(水)21時54分54秒
9路か13路か masatsune 2015年12月24日(木)12時15分5秒
Re:9路か13路か 荒木(ark) 2015年12月24日(木)13時09分0秒
Re:9路か13路か masatsune 2015年12月24日(木)23時17分49秒
playout数だけを増やしてもいまいち? 山下 2015年12月25日(金)21時54分13秒 編集済
GTX 980での速度 山下 2015年12月26日(土)20時41分1秒 編集済
cuDNNを入れてみました 山下 2015年12月27日(日)04時17分22秒
囲碁クエストの9路、13路の棋譜 山下 2015年12月27日(日)12時11分0秒 編集済




Re: 森下卓九段 vs ツツカナの継盤ありリベンジマッチ  投稿者:山下 投稿日:2015年 1月 1日(木)01時00分27秒
まだ対局は続いています。
ツツカナの評価は+969で後手の森下さん優勢ですが、
ここから勝ちきるにはまだまだ時間がかかりそうです。
疲労との戦いになりそうですが何とか勝ちきってほしいです。    



Re: 森下卓九段 vs ツツカナの継盤ありリベンジマッチ  投稿者:gg 投稿日:2015年 1月 1日(木)05時46分55秒
5時半で指し掛け(封じ手)になりました.    



▲9四歩  投稿者:森下卓九段 vs ツツカナ 投稿日:2015年 1月 2日(金)09時29分26秒
大晦日の森下卓vsツツカナの▲9四歩(109)。不可解な手でした。

別アングル2でツツカナの予想手を見ていると直前までは▲9一角成を読んでおり、
△6五桂の着手後は▲2五歩そして▲1四歩を読んでいるのですが・・・

ツツカナに何が起きたのか何らかの推測が可能でしょうか?    



Re: ▲9四歩  投稿者:山下 投稿日:2015年 1月 2日(金)23時12分10秒
YSSに解析させたのですが▲9一角成で+700の評価(7手読み)が時間をかけると+150程度(16手読み)まで
下がっていくので地平線効果で▲9四歩は指してしまったようにも思えます。    



Re: ▲9四歩  投稿者:森下卓九段 vs ツツカナ 投稿日:2015年 1月 3日(土)11時42分19秒
ご解析ありがとうございます。
ちなみにYSSから見ると▲9四歩の代わりに何が最善手なのでしょうか?
またどのあたりから形勢が後手持ちになるのでしょうか?    



Re: ▲9四歩  投稿者:山下 投稿日:2015年 1月 3日(土)18時33分34秒
YSSの形勢判断グラフは下のような感じです。
http://www.yss-aya.com/moritutu2014yss.png
▲94歩を△同歩と取った手から後手有利に変わっています。

ただ、97手目の▲79玉あたりから評価値が上がりきらずに下がってますので
ソフトの評価関数の判断がこのあたりを「良し」とと思ってたのが間違っていた
のかもしれません。

> YSSから見ると▲9四歩の代わりに何が最善手なのでしょうか?

2コアで10分ほど考えさせると18手の深さで▲2五歩、評価値は+468でした。
ただ難しい局面のようで深さ10から18までで、
▲2五歩、▲9一角成、▲5四角、▲1四歩、▲4一角
と5種類にころころと変わります。    



局面ペディア、が面白いです  投稿者:山下 投稿日:2015年 1月 8日(木)19時47分21秒
HIDETCHIさんが作られた「局面ぺディア」が面白いです。

平手の局面から「Go」を押すことで、各局面の手の候補手と勝敗数が表示されます。
http://kyokumen.jp/positions/1

角換わり腰掛銀の基本局面には解説も付いています。
http://kyokumen.jp/positions/647

棋譜は81DojoとFloodgateの棋譜が入っているようです。


特定の局面を指定するには柿木形式の盤面を作って

後手の持駒:角
  9 8 7 6 5 4 3 2 1
+---------------------------+
|v香v桂v銀v金v玉v金 ・v桂v香|一
| ・v飛 ・ ・ ・ ・ ・v銀 ・|二
|v歩v歩v歩v歩v歩v歩 ・v歩v歩|三
| ・ ・ ・ ・ ・ ・v歩 ・ ・|四
| ・ ・ ・ ・ ・ 角 ・ ・ ・|五
| ・ ・ 歩 ・ ・ ・ ・ ・ ・|六
| 歩 歩 ・ 歩 歩 歩 歩 歩 歩|七
| ・ ・ ・ ・ ・ ・ ・ 飛 ・|八
| 香 桂 銀 金 玉 金 銀 桂 香|九
+---------------------------+
先手の持駒:なし
手数=5  ▲4五角打  まで

こちらで sfen に変換して (手番を正しく指定する必要があります)
http://sfenreader.appspot.com/

lnsgkg1nl/1r5s1/pppppp1pp/6p2/5B3/2P6/PP1PPPPPP/7R1/LNSGKGSNL w b 5
この文字列を「局面検索」の「SFEN検索」に貼り付けます。

局面ぺディア
http://kyokumen.jp/
紹介twitter
https://twitter.com/HIDETCHI/status/552975062144667649    



ShougiGUI使ってみました。  投稿者:masatsune 投稿日:2015年 1月11日(日)15時48分12秒
逆順での棋譜解析や、指定場所からの棋譜解析、複数候補の検討等に対応しており欲しい機能はほぼ実装されています。
これで、GPSFishとWIndowsの相性がよければ、完璧なのですが。

やはり、長時間の思考では、思考エンジンが落ちます。(ShougiGUIの問題ではないです。)
ハッシュメモリ確保(実行時の拡張?)に失敗するのでしょうか?
Windows起動直後や、思考実行前にメモリ開放プログラムを実行すると、落ちにくいです。
   



UEC杯  投稿者:荒木(ark) 投稿日:2015年 1月16日(金)17時15分10秒
荒木です。
UEC杯の参加申し込みが始まっております。
http://jsb.cs.uec.ac.jp/~igo/
今回はDeepLearningを使った囲碁ソフトとかも参加してくるかもしれませんね。    
    



CGOSが13路だけ復活  投稿者:山下 投稿日:2015年 1月24日(土)22時55分30秒
コンピュータ囲碁のプログラム同士を対戦させるCGOSが
13路だけですが、昔のサーバで動いています。
作者のDon Daileyさんが残念ながら亡くなられたので2年ほど止まっていました。

13路
http://cgos.boardspace.net/13x13/standings.html
CGOS
http://cgos.boardspace.net/    



コンピュータ将棋選手権の申し込みは今月末まで  投稿者:山下 投稿日:2015年 1月30日(金)02時58分28秒
お忘れの方はお早目に。
http://www.computer-shogi.org/wcsc25/

私もまだでしたけど。    



HiraBot の改良  投稿者:HiraBot 投稿日:2015年 1月31日(土)08時18分15秒
HiraBot を改良して 1d で playout 120000 の時の勝率が 67% から 76% に成りました
そこで新しいアカウント(HiraMC1)で 2d を目指したところ 2d には成ったのですが
すぐに負けが込んでまた 1d に戻りそうな状況です 76% の勝率では上の段位に上るのは
むつかしいようです。
   



ICGA Event 2015  投稿者:gg 投稿日:2015年 1月31日(土)08時57分56秒
今年の ICGA Event (Computer Olympiad など) の日程が 6/29〜7/5 に決まりました.
場所はオランダの Leiden です.なお,ACG2015 の投稿締切りは 3/1です.
http://icga.leidenuniv.nl/    



Re: HiraBot の改良  投稿者:山下 投稿日:2015年 2月 1日(日)07時38分50秒
> アカウント(HiraMC1)で 2d を目指したところ 2d には成ったのですが

3dにほとんど近いのではないでしょうか?
http://www.gokgs.com/graphPage.jsp?user=HiraMC1
かなり追いつかれてきてUEC杯が楽しみ(不安?)です。

ソースを拝見させていただいたのですが

UCB_RAVE = beta*RAVE + (1-beta)*UCB

この形になってますが、MM法で計算した手のレーティング値(gamma)を
下のように足すことでAyaでは+100Eloほどの改善がありました。

UCB_RAVE = beta*RAVE + (1-beta)*UCB + G*log(1+gamma)*sqrt( K / (K + n));

[Computer-go] Congratulations to AyaMC!
http://computer-go.org/pipermail/computer-go/2014-November/006956.html
http://computer-go.org/pipermail/computer-go/2014-December/006992.html    



囲碁クエストが2月15日の囲碁フォーカスで紹介されるそうです  投稿者:山下 投稿日:2015年 2月 1日(日)09時52分39秒
> 登録者は海外も含め3万人を超え、1日あたり3000人が利用する。

楽しみです。

NHK囲碁フォーカス 2/15 話題沸騰!囲碁対局無料アプリ」
http://cgi2.nhk.or.jp/goshogi/igofocus/    



ホームページを移行しました  投稿者:山下 投稿日:2015年 2月 2日(月)04時44分9秒
OCNがホームページサービスを2月28日で終了するため下記に移行しました。
http://www.yss-aya.com/index_j.html    



Re: HiraBot の改良  投稿者:HiraBot 投稿日:2015年 2月 2日(月)05時06分19秒
山下様、貴重な情報を有難うございました、さっそく試してみます。
   



perhaps bug, HiraBot2 on KGS today  投稿者:gg 投稿日:2015年 2月 2日(月)11時56分40秒
話は変わりますが,Computer Go メーリングリストの
"perhaps bug, HiraBot2 on KGS today" のスレッドは読まれました?    



Re: perhaps bug, HiraBot2 on KGS today  投稿者:HiraBot 投稿日:2015年 2月 2日(月)13時40分18秒
Wolfgang さんからメールが来ていたので
HiraBot2 の形勢がわるくて ダメとツギの両方打つ必要があったと返事しておきました。
   
    



二段の HiraBot 公開しました  投稿者:HiraBot 投稿日:2015年 2月12日(木)16時18分17秒
KGS アカウント HiraMC1 と HiraMC2 が 2d で落ち着いてきたので
"平塚の囲碁 〜二段への道〜" を vector で公開しました
以前のバージョンでは playout を大きくしても強くならなかったので
playout が大きい場合についてチューニングした上で playout 数を
増やしました、playout 数 15000 で 1d、120000 で 2d です
   



ゲームプログラミングのリンク集  投稿者:山下 投稿日:2015年 2月17日(火)19時46分0秒
GPS将棋の竹内さんが書かれたリンク集が充実してます。
最初に紹介されている2012年のゲーム情報学特集が面白かったです。
この掲示板も紹介されています。

「私のブックマーク」ゲームプログラミング(将棋を中心に)
http://www.ai-gakkai.or.jp/my-bookmark_vol30-no2/    



電王戦FINALでは定跡を5%ぐらいで使わないようです  投稿者:山下 投稿日:2015年 2月17日(火)19時47分12秒
電王戦FINALに向けて5分ほどの動画がたくさん公開されているのですが、
下の勉強会によると、今回参加する4つのソフトは定跡を5%ぐらいの確率で使わずに
自力で考える対策が入っているようです。
研究がやっかいになるので対人間対策としてはかなり有効そうです。

【電王戦FINALへの道】#38 電王戦勉強会
http://www.nicovideo.jp/watch/1423032968    



RE:電王戦FINALでは定跡を5%ぐらいで使わないようです  投稿者:masa 投稿日:2015年 2月25日(水)17時54分36秒
リンク先の内容楽しむ事ができました。有難うございます。
特に、永瀬-Selene 戦は興味深かったです。

持ち時間が短いほと、定跡を使わない確率を高くすると完璧ですね。
今回の電王戦の規定では、許されていないのでしょうか。
ちょっと、姑息な気もしますが。    



銀星囲碁15が太田亮初段に3子で勝ち  投稿者:山下 投稿日:2015年 2月25日(水)21時18分16秒
プロ棋士の太田亮初段に「銀星囲碁15」が挑戦する3番勝負が
ネット対局場「サンサン」で行われ、
第1局は銀星が中押し勝ちした、とのことです。

ネット対局所「サンサン」
http://www.sansan.co.jp/
太田亮初段
http://kansaikiin.jp/kisi_prof/otaryou.html    



2局目はプロの勝ち  投稿者:gg 投稿日:2015年 2月28日(土)15時58分17秒
2局目は太田初段の中押し勝ちだそうです    



caffe での CPU と GPU の速度比較  投稿者:HiraBot 投稿日:2015年 3月 2日(月)13時51分57秒
deep learning の勉強を始めようと思い
linux マシン(ubuntu 14.04) に caffe をインストールしました
適当なサンプルプログラムで CPU と GPU の速度を比較しました
CPU は i7-3770kx4.2GHz, GPU は GTX-670 です
CPU で 49分かかるトレーニングが GPU では 3分20秒で終わりました
14倍の速度です deep learning では GPU が必須のようです
caffe では CPU 処理はシングルスレッドで処理しているようです。
   



Re: caffe での CPU と GPU の速度比較  投稿者:山下 投稿日:2015年 3月 3日(火)11時23分1秒
14倍も違うのですか。
ただ仮に12スレッドで動けばぎりぎり同じくらいの速度になるのかな、とも思いました。
貴重な情報ありがとうございました。    



deep learning の勉強  投稿者:HiraBot 投稿日:2015年 3月 4日(水)08時05分57秒
deep learning の勉強を始めました
単純な8層 CNN で 約1000局のトレーニングデータで
12epoch のトレーニングに 15時間かかりました
次の一手の予測精度は 4% 程度で良くありません
データは数万局から数10万局使用するのが普通のようですが
1万局でも 1週間かかることになりどうしようか考えています。
   



Re: deep learning の勉強  投稿者:gg 投稿日:2015年 3月 4日(水)12時06分11秒
4%というのは流石に悪過ぎます
何か間違っている可能性が高いかと
棋譜を少なくしてちゃんと学習しているか確認しては?    
    



Re: deep learning の勉強  投稿者:HiraBot 投稿日:2015年 3月 4日(水)12時30分6秒
gg さんコメント有難うございます
5000局のデータを流しましたので結果を確認して考えます
3日くらいかかる予定です。
   



Re: deep learning の勉強  投稿者:gg 投稿日:2015年 3月 4日(水)13時51分13秒
念の為に書いておきますが,棋譜が少ないほど(学習データに対する)予測率は高くなります
4%というのがどちらか分かりませんが,100棋譜程度で学習させて予測率が90%位に届かないようなら
特徴が足りないかどこかバグってると考えた方が良いでしょう

尚,Remiの手法でも特徴を増やせば45%以上の予測率を得ることはできます
更に,Factorization Machineのアイデアを使えば二つの特徴の積も学習できますから
囲碁ソフトにGPUを使っても凄〜く遅いDCNNを使うのが良いかは(個人的にはかなり)疑問です    



Re: deep learning の勉強  投稿者:HiraBot 投稿日:2015年 3月 5日(木)10時26分29秒
5M手(約5000局)のデータが出ました、予測率 12.8%となりました
caffe では学習とテストで異なるデータセットを使っているので
データセットを小さくしても予測率は良くなりません
直前手やシチョウなどの特徴データを一切使用しないで
局面だけ与えてのこの予測率は結構良いのではないかと思います
下記のようにデータを増やすと順調に予測率が増大しています
この表から 20M手に増やすと予測率 30%が期待できそうです。

手数 予測率  学習回数  学習時間
200K     0.9%   4epoch    1時間
  1M     4%    12epoch   15時間
  5M    12.8%   4epoch    1日
   



Re: deep learning の勉強  投稿者:山下 投稿日:2015年 3月 5日(木)14時01分39秒
時間はかかりますが面白そうです。情報ありがとうございます。

CrazyStoneのRemiもGPUで試しているそうで、私もやってみようかと思ってます。
Oakformの作者は直前手の情報を入れると44%から52%に上がったそうですが
強くはならなかったようです。
http://files.gokgs.com/games/2015/3/3/AyaMC-CrazyStone.sgf (コメントの中で)
MM法とDCNNでは予測率が同じくらいだとしても、
トップの手だけを打ったときの強さは多分、DCNNの方がかなり強く、
予測の性質がかなり違うのかな、とも思ってます。    



Re: deep learning の勉強  投稿者:gg 投稿日:2015年 3月 5日(木)16時12分37秒
問題は実行時の遅さです.現状,とても実用にはなりません
#Google辺りが専用ASICを作ってくれれば解決するかも
DCNNはその名の通り,convolution+sigmoidをベースにしているので特徴の非線形な組み合わせを学習してくれるのが
最大のメリットで,予測の性質と言うのはこの辺りに関係した話です
#FMが出てCNNの専売特許ではなくなりましたが
#今のアーキテクチャでは特徴を一つ追加する度にどんどん遅くなるのも問題点の一つです
なお,予測率が上がっても強くならないというのは,多分値の使い方が悪いのでしょう    



Re: deep learning の勉強  投稿者:HiraBot 投稿日:2015年 3月 5日(木)18時47分4秒
nicego19n では CNN の計算時間が
GPU 使用で 1.6ms とのことなので
ぎりぎりで許容範囲に入っていると思えます。
   



電王手くんが電王手さんに進化  投稿者:山下 投稿日:2015年 3月 6日(金)20時47分39秒
今年の電王手くんは駒を吸い付けるのではなく、ちゃんと挟んで持ち上げるように
ヴァージョンアップしています。
駒を成るときのひっくり返す動作も実現していて、動画を見るとかなり複雑な機構になっているようです。
最初は男の子から女の子版になったのか、と思っていたのですが、ぜんぜん違いました。

進化した「電王手さん」将棋電王戦FINALに参戦
http://www.nicovideo.jp/watch/1425450561    



Re: deep learning の勉強  投稿者:gg 投稿日:2015年 3月 7日(土)09時01分44秒
現状 1コア辺り 1 kpo/s が一つの目安とすると 1.6 ms では 4コア(共有)位まででしょうか
i7 の最上位が 8コアの時代ですし,トップクラスは 20コア位使ってますからねぇ
まぁ何だかんだ言っても最終的に強くなれば正義なんですが
#市販を考えるなら高性能な GPU 必須というのは余り嬉しくない.ノートPCの人も多いし

投機実行とかポンダリングの工夫とか,私が思いつくアイデアは Aja にも伝えましたが
DCNN を使えば直ぐにトップレベルに追い付くという様なものではないと思われます    



Re: deep learning の勉強  投稿者:HiraBot 投稿日:2015年 3月 7日(土)12時32分38秒
20M手(約2万局)のデータが出ました、予測率 13.9%となりました
予想よりかなり小さいのですがネット構成を修正してテストしながら
得られた caffemodel を使う作業に掛ろうと思います
うまくいけば deep learning で囲碁の対局が出来ると思います。

手数 予測率 学習回数 学習時間
200K   0.9%  4epoch  1時間
 1M   4.0% 12epoch  15時間
 5M  12.8%  4epoch  1日
20M  13.9%  2epoch  2日
   



Re: deep learning の勉強  投稿者:HiraBot 投稿日:2015年 3月11日(水)05時10分44秒
ネットの構成を工夫する事で予測率が 13.9%から 27%と倍増しました
caffemodel を使う作業は難航していますが先読みなしの囲碁プログラムを作り
gnugo と対局させる事が出来ました gnugo には負けますが碁らしく見えるようになりました
http://files.gokgs.com/games/2015/3/10/GnuGoBot38-WeakBot-2.sgf
   
    



Re: deep learning の勉強  投稿者:HiraBot 投稿日:2015年 3月18日(水)05時02分17秒
caffemodel を使う作業は順調に進み独自プログラムで
DCNN 計算が出来るようになった(windows でも使える!!!)
速度は cpu処理 1thread で 110ms かかった
8thread AVX命令使用にて 7ms と許容しがたい遅さです
やはり GPU が必要です。
問題は予測率の向上にあります、現状は 27% 程度で
足踏みしています。
   



Re: deep learning の勉強  投稿者:山下 投稿日:2015年 3月18日(水)07時20分46秒
Windowsでも動くのですか。Linux必須かと思ってました。
Ajaの論文では128局面を一括処理するのに0.15秒、
実質1局面では0.001秒(1ms)なので毎秒1000〜3万playoutなら
ノードの作成は遅れはあるものの、なんとかなるのかな、という印象でした。
汎用ライブラリを囲碁専用とかにすれば速度はもっと上がる気はするのですが。    



Re: deep learning の勉強  投稿者:HiraBot 投稿日:2015年 3月18日(水)09時14分4秒
Windows で動かすために caffe を全く使わずに(caffemodel のみ使用して)
独自のプログラムで動かしました
遅いのはそのせいかもしれません。
   



Re: deep learning の勉強  投稿者:gg 投稿日:2015年 3月18日(水)12時56分25秒
Aja達のは一番速いGPUを4台使った速度ですから
真似するのはかなり大変でしょう#お金も発熱も    



Re: deep learning の勉強  投稿者:shallow 投稿日:2015年 3月26日(木)03時51分30秒
おお、久しぶりに見ましたら、Deep Learningで盛り上がってますね。
囲碁は超初心者ですが、趣味でCaffeを動かしているので、そちらは多少知っています。
Caffeは、Linux版が最新なので無難ですが、第三者が Windows インストール版をGitHub公開していたりするので、インストールは可能です。
ご存知かわかりませんが、NVIDIAが、cuDNN というDNN専用のライブラリを公開していてこれを利用すると、場合によっては2倍程度速くなります。    



将棋ソフトでのスレッ数の設定について、  投稿者:masa 投稿日:2015年 3月27日(金)19時02分6秒
Intel系の Hyper-Threading Technologyの使えるCPUでは、スレッド数の設定を、論理コア数ではなく、実コア数に設定する方が良いという話を良く聞きます。

たとえは、Ponanzaが出た時のやねうら王氏のブログや、woodyring氏のAperyメモ等。

ただ、当方の環境では、たとえば、i7-4770 では、スレッド数を8にした方が、多くの場合、読みの速度(nodes/sec)が大きくなります。

BonanzaV6では、スレッド数7と8では大きな差はなく、飽和している様に見えますが、4よりは7か8の方が nodes/sec の数値は大きくなります。
また最近公開された Apery でも、スレッド数8の方がスレッド数4の場合に比べて nodes/sec の値が大きくなり、スレッド数7と8を比べても飽和している様にはみえません。

1)もし、4スレッドの方が良い設定だとすると、8スレッド時の nodes/sec の表示には、無駄な読みが含まれるという事になるのでしょうか。
2)それとも、単純に、nodes/sec の大きな設定が良い設定なのでしょうか。
3)”実コア数に設定するべき”というのは、4 channel メモリのようなメモリ帯域の大きなM/B での話なのでしょうか。

詳しい方がおられましたら、コメントをいただきたく。
よろしくお願いします。
   



Re: 将棋ソフトでのスレッ数の設定について  投稿者:山下 投稿日:2015年 3月27日(金)21時15分37秒
> 8スレッド時の nodes/sec の表示には、無駄な読みが

ご指摘の通りにスレッド数を増やすと無駄な探索も増えていきます。
そのため、1スレッドで 10000 nps と 2スレッドで 10000 nps では
1スレッドの方が強くなります。
HTでの高速化は1.2倍程度しかならないので、並列化の効率の悪さの方が大きいです。
αβ法を使う将棋ソフトではスレッド数が異なる場合にはnpsの大きさだけで
棋力を比較はできないです。同じスレッド数でしたらnpsは大きいほうが強いです。

> ”実コア数に設定するべき”

HTによる高速化が小さいためで、メモリ帯域はあまり関係ないと思います。    



Re: 将棋ソフトでのスレッ数の設定について  投稿者:masa 投稿日:2015年 3月28日(土)01時12分9秒
山下様

ご回答有難うございます。当方の環境では、AperyBMI2.exe、10局面の平均で、
4Threads => 3825 NPS
8Threads => 4811 NPS
でした。約1.26倍違いますが、このくらいだと、4thread の方が良いということですね。

すっきりしました。


   



Re: deep learning の勉強  投稿者:HiraBot 投稿日:2015年 3月30日(月)19時35分38秒
予測率が 32.5% になり gnugo に初めて勝ちました

http://files.gokgs.com/games/2015/3/30/WeakBot-GnuGoBot38.sgf

記念にプログラムを公開します

http://kiyoshifk.dip.jp/kiyoshifk/apk/DCNN-igo.zip

ただし AVX 命令を使用しているので AVX 命令が使える機種でなければ動きません
URL が間違っていたので修正しました。
   



Re: deep learning の勉強  投稿者:HiraBot 投稿日:2015年 4月 4日(土)23時31分0秒
予測率 34.5% の deep learning 囲碁に定石データベースを組み合わせて
KGS で運用しています、現在 6k です
7ms で 6k の手が得られるので利用価値があると思います
KGS のアカウントは DCNNigo です応援してやってください。
   
    



Re: deep learning の勉強  投稿者:山下 投稿日:2015年 4月 5日(日)15時58分23秒
7msで6kはすごいです。
Ayaは予測率38.8%でGNU Goに勝率6%程度、たぶん11kぐらいじゃないかと思います。

DCNNは予測率は低くてもMM法で計算した予測率よりもはっきり強いのが不思議です。

想像ですが、
局所的な戦いではAyaの予想精度の方が高い。
DCNNは、盤面を広くみたときは高い。
で、棋力に大きく影響するのは盤面を広くみることなのかもしれません。    



棋譜データの解析  投稿者:コロ 投稿日:2015年 4月 5日(日)22時08分40秒
無知を覚悟で質問します。
最近の放送を機にコンピュータ囲碁への興味が出て来まして、
プログラムを学ぼうという気持ちがふつふつと芽生えたのですが、
わからないことだらけで困ってます。

特にわからないのが、どのようにして棋譜などのデータを取り入れ、解析しているのかということです。
プロの棋譜や定石のデータは、基本的にgokifuなどのサイトから取れるということはわかるのですが、プログラムの周辺知識など皆無の人間のためデータ解析に関してまるでわかっていないという状況です。
細かい部分は、実際に棋譜自体を目でみていると想像していますが、そのほかの統計的なデータ
(たとえば、目外しが実践でどの程度使われているのか、などといった大量のデータからわかるもの)は、どのようにして抽出しているのでしょうか?
やはり、丁寧に手作業でファイルを読み込んでいるのでしょうか?

浅はかな質問でありましたら申し訳ありません。
   



Re: deep learning の勉強  投稿者:gg 投稿日:2015年 4月 6日(月)09時17分27秒
逆だと思いますよ
DCNNはその名前の通り (localな) convolutionを何段も重ねる形なので
ローカルな手をより正確に再現できるはずです
その結果,死活や攻め合いなどの狭いエリアでの攻防に関して有利になっていると思います
また相手を切り離したり封鎖するのも得意だろうと推測できます
GNU Go相手の場合,これらが非常に有効に働いているのでしょう    



Re: 棋譜データの解析  投稿者:gg 投稿日:2015年 4月 6日(月)09時23分18秒
コロさんが考えているような解析は(多分ほとんどの開発者は)やっていません
既存の棋譜の解析に関連するものとして広く行われているのは,
強い人が打った手をできるだけ再現するような (静的な)評価関数を機械学習する手法で
move predictionと呼ばれています
小生が翻訳したRemiの論文が参考になるかも
http://www.geocities.jp/hideki_katoh/MMGoPatternsJ.zip    



Re: deep learning の勉強  投稿者:gg 投稿日:2015年 4月 6日(月)09時33分19秒
重要なことを書き忘れました
RemiのBTモデルとの比較では非線形性(複数の特徴の組み合わせ)の有無が大きな差です
これによって線形モデルでは表せないレベルの再現性が得られています
#Zenは以前から複数の特徴の組み合わせを使ってます(尾島さんが手作業で取捨選択)
逆に言うと,非線形性を導入したBTモデルであれば同等の能力を持ち得るということです    



Re: 棋譜データの解析  投稿者:山下 投稿日:2015年 4月 6日(月)12時27分48秒
棋譜を取り込む作業もソフトが行っています。
1万棋譜をメモリに全部取り込んでしまってから、
「目はずし」が何回打たれたか、はソフトが数えてくれます。
   



Re: 棋譜データの解析  投稿者:gg 投稿日:2015年 4月 6日(月)17時17分37秒
これは,そういう(市販)ソフトがあるという話?
それとも自分で作ったプログラムでしょうか?
また,この結果を囲碁ソフトの開発に利用しているのでしょうか?
#定石とか?    



Re: 棋譜データの解析  投稿者:コロ 投稿日:2015年 4月 6日(月)23時35分50秒
そのためのソフトを用意しているのですね。

ggさんが質問されているように、自分もそれが自作のプログラムで如何にして行っているのか知りたいです。

実際に作るとなると、htmlやsgf.コンピュータ囲碁ソフトの言語など
異なる言語を巧みに扱わなければならなくてとても難しい作業に思えるのですが
どうなのでしょうか?    



棋譜解析によるレーティング推測  投稿者:Rira 投稿日:2015年 4月 7日(火)02時13分52秒
平均悪手からレーティング推測する手法、
最低20棋譜でいいとのことで、将棋の勉強に使わせてもらっています。

ところで、rating = -3148y + 4620 の式でございますが

・20棋譜検討した場合、1局ごとにレーティングを出し、
出てきた20個のレーティングを平等として、平均を取ればいいのでしょうか
(短手数で終わった将棋も、長手数の将棋も平等の扱い)

・それとも、それぞれの棋譜の平均悪手をすべて足し合わせていき
最後に式に入れて、レーティングを出していけばいいのでしょうか
(長手数かかった将棋の重みが大きくなる)

たぶん、前者だとは思うのですが教えてください    



Re: 棋譜解析によるレーティング推測  投稿者:山下 投稿日:2015年 4月 7日(火)16時57分9秒
> それぞれの棋譜の平均悪手をすべて足し合わせていき

こちらで計算しています。
長手数の将棋の方が影響が大きいです。
試してはいないのですが、1局ごとの平均、とした方が安定した結果が得られるかもしれません。    
    



Re: 棋譜データの解析  投稿者:山下 投稿日:2015年 4月 7日(火)17時13分17秒
sgfでしたらKGSの高段者の棋譜が下から落とせます。
http://www.u-go.net/gamerecords/
sgfを読み込む部分はファイル操作になるので言語依存です。
C言語なら下のような感じになります。

C言語 テキストファイルの読み込み
http://simd.jugem.jp/?eid=47

AmazonなどでC言語の入門書を1冊購入すれば、たいがい載っていると思います。    



Re:Re: 棋譜データの解析  投稿者:コロ 投稿日:2015年 4月 7日(火)17時38分58秒
ありがとうございます。
まずは、頑張って分析ツールを作ることを第一に
制作していきたいと思います。

   



Re: deep learning の勉強  投稿者:HiraBot 投稿日:2015年 4月16日(木)11時48分30秒
deep learning の Windows プログラムを GPU で動かすことに成功しました
1手あたり 2.9ms かかります(GTX670) cublas を使用しました
予測率は 37% になり KGS の DCNNigo は 5k になりました。
   



Re: deep learning の勉強  投稿者:山下 投稿日:2015年 4月18日(土)01時54分44秒
DCNNigo は一度対局してみましたが、ダメの数や直前の手の位置、なども
考慮されてるように感じました。
盤面の石の配置以外にどのような特徴も使われてるのでしょうか?
筋、筋、と来るのですが2眼で活などはまったく分かってないアンバランスさが面白かったです。    



Re: deep learning の勉強  投稿者:HiraBot 投稿日:2015年 4月18日(土)16時04分14秒
DCNNigo では 6面の特徴を使用しています
石の配置に2面、ダメ1の石、ダメ2の石、ダメ3の石、ダメ4の石
直前手の位置は使用していません。
   



Re: deep learning の勉強  投稿者:山下 投稿日:2015年 4月19日(日)02時13分39秒
なるほど、そういう感じで情報を渡すのですか。ありがとうございます。
直前手や自分の2手前の位置もいれると予測率は5%ほど上がる気がします。
コウが発生している局面だけ集めて学習とかさせればコウ争いも強くなるのでしょうか・・・。    



Re: deep learning の勉強  投稿者:gg 投稿日:2015年 4月20日(月)22時43分47秒
話変わりますが,DCNN で学習した結果は
異なる大きさの盤にも流用できるのでしょうか?    



Re: deep learning の勉強  投稿者:HiraBot 投稿日:2015年 4月21日(火)08時44分9秒
私は 19x19 しかやったことがありませんが
ファイン・チューニングという手法を使うことになると思います
19x19 10万局で学習しておき 9x9 数100局でファイン・チューニング
するという事になると思います。
   



CPUのスレッド数についての実験  投稿者:masatsune 投稿日:2015年 4月28日(火)00時35分13秒
Aprey と、GPSFisf(64bit) を使って、以下の実験をおこないました。

CPU i7-haswell 4.45GHz

対局条件:
Aprey 4,5,6 threads,
GPSFish 6 threads 固定
持ち時間、5,6,7,8 sec(設定)

各条件50局、引き分け(千日手)は 0.5勝として計算。
300手で中断、人間がどちらの勝ちか判断。
(判断に悩むケースはなし)

結果、Apery から見て、

Apery 4threads 119勝80負1分 勝率 59.9%
Apery 5threads 131勝64負5分 勝率 67.6%
Apery 6threads 133勝65負2分 勝率 67.3%

総対局数 600局 先手314勝 後手 278勝 8分
先手勝率 53.4% でした。

予備評価で、8threads は、4threads よりも勝率が悪かったです。

対局数は十分ではないですが、i7-haswell の場合、
Thread数は、4よりも5の方がよいかもしれません。

では、では。


   



順位順の星取表  投稿者:山下 投稿日:2015年 5月 6日(水)09時48分48秒
順位順の星取表

                pona NDF  AWA  Ape  GPS  YSS  激指 Sele   勝敗    SB 順位

ponanza               ○   ○   ○   ○   ○   ○   ○   7  -0         1
NineDayFever     ×        =   ○   ○   ○   ○   ○   5.5-1.5       2
AWAKE            ×   =        ○   ×   ○   ○   ○   4.5-2.5       3
Apery            ×   ×   ×        ○   ○   ○   ○   4  -3         4
GPS将棋          ×   ×   ○   ×        ×   ○   ○   3  -4   5.5   5
YSS              ×   ×   ×   ×   ○        ○   ○   3  -4   4.0   6
激指             ×   ×   ×   ×   ×   ×        ○   1  -6         7
Selene           ×   ×   ×   ×   ×   ×   ×        0  -7         8


今年は上位陣が手厚かった印象でした。
ほぼ予選の順位どおりの結果で波乱も少なかったようです。
時間切れの対局が多かったのが少しだけ残念でした。

私自身はソルコフ0.5差で予選8位にすべりこみ連続8位以内記録を更新。
激指と最終戦で通過を決めて争いそうだな、と思ってたらそのとおりになって
負けたにもかかわらず抜けれたのはあきれるほどラッキーでした。

評価関数に王の安全度、駒の取る取られ、歩の進める状態を手番評価してみたら
+100Eloぐらい強くなって、今年は余裕で抜けれるかと思ってたのですが
ギリギリで、ほんとに毎年レベルが上がってるのを痛感します。    
    



日経新聞の電王戦の記事  投稿者:山下 投稿日:2015年 5月 6日(水)11時48分21秒
日経の電王戦の記事が読み応えがありました。

> 現役プロで最も将棋ソフトに詳しいといわれる五段の千田翔太(21)でさえ、
> 特別な対策をせずに電王戦に出場するような強豪ソフトと真っ向から戦った場合で「勝率は7%」と言う。

「1割」の勝利呼び込む 棋士VS.ソフト(ルポ迫真)
http://www.nikkei.com/article/DGXLASFG27HAG_T00C15A5SHA000/

ただ、持ち時間5時間では5割程度、という永瀬さんの発言は省略されています。
持ち時間を増やしたときに棋力の伸びははっきり人間の方が上だと思います。

千田五段は選手権の2次予選に見学にいらしていました。
お話をうかがったのですが、ものすごくコンピュータ将棋に詳しくて感銘を受けました。    



Re: deep learning の勉強  投稿者:HiraBot 投稿日:2015年 5月 7日(木)07時17分22秒
DCNNigo は 5k で停滞していましたが
Detlef Schmicker さんの

http://physik.de/net.tgz

を使用したところ 3k〜4k になりました(DCNNigo2〜DCNNigo4)
しかし計算時間も長くなり CPU 処理(AVX命令使用) で 70ms 程かかります。
   



Re: deep learning の勉強  投稿者:山下 投稿日:2015年 5月 7日(木)11時09分12秒
よく分かってないのですが、石の配置、白と黒の2つだけを入力として
5kが3kになるほど強くなった、ということでしょうか?
学習させた棋譜数や時間の違い?でこれだけ差が出るのは面白いです。

部分の形を見るのは
7x7が1種類
5x5が6種類
3x3が12種類
あるようですね。何をしているかはさっぱりなのですが。

私も1局打ってみたのですが、部分の死活の2眼で活き、が分かってるような
手を返されて驚きました。

ファイルは74MBあります。    



YSSの決勝でのログ  投稿者:山下 投稿日:2015年 5月 7日(木)11時10分35秒
YSSの決勝でのログです。
時間切れで終わったponanza戦の指そうとした手は88手目△47角で評価は-289、
歩1.5枚分ややYSSが不利、という評価でした。おそらくその後
▲62金△同飛▲72金△74角成▲62金△73馬で先手の攻めが切れるかどうか、
という流れになったと思います。

http://www.yss-aya.com/2015yss_final_log.zip    



mizumonさんの選手権の棋譜解説  投稿者:山下 投稿日:2015年 5月 7日(木)11時12分2秒
floodgateやソフト戦の解説で一部で有名?なtwitterの mizumon さんが
選手権の棋譜を柿木形式で配布されています。
決勝1回戦のYSS-Awake戦を見てみたのですが、コメントがとても参考になります。

mizumonさんのツイッター
https://twitter.com/mizumon_
選手権の棋譜解説(右上の「ダウンロード」で一括してzipで落とせます)
https://www.dropbox.com/sh/uhzkp1q708porur/AACY5GSMVAleqGNfVLZPxwYia/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E9%81%B8%E6%89%8B%E6%A8%A9%EF%BC%92%EF%BC%90%EF%BC%91%EF%BC%95?dl=0    



Re:YSSの決勝でのログ  投稿者:masatsune 投稿日:2015年 5月 8日(金)23時15分58秒
山下様

大会 お疲れ様でした。

対ponanza戦 で時間切れになった件ですが、これは ネットワークの混雑か何かの影響だったのでしょうか。この対戦のあと、時間をとって運営側が調整を行っていた気配がありました。

この後xx生中継の配信品質が少し落ちた気もしました。

差し支えないようでしたら、コメントをいただけると有り難いです。

では、では。

   



Re:YSSの決勝でのログ  投稿者:山下 投稿日:2015年 5月 9日(土)05時17分37秒
選手権では内部用のLANと外部接続用のLANの二つの回線があり、
決勝第5局以降は外部接続回線の反応速度が改善されたように思います。
時間切れで負けた原因についてはまだ特定できていません。    



CSA選手権の順位別記録  投稿者:山下 投稿日:2015年 5月 9日(土)05時21分28秒
清さんに作っていただいている表を更新しました。
竜の卵さんの抜群の安定感がすごいです。

CSA選手権の順位別記録
http://www.yss-aya.com/csa_all.html    



CrazyStoneが金曜夜8時から囲碁クエストに  投稿者:山下 投稿日:2015年 5月28日(木)15時14分21秒
CrazyStoneが金曜の夜8時から囲碁クエストの9路に来るそうです。
レーティングは2600近くで、人間最高のspacemanさんの2712点にかなり近い点数です。

ハンドル名は
:crazystonebot
で検索するには先頭に : が要ります。

Ayaも動かしていて 10000playout (5000x2) の AyaXBot が
   9路:2200点
  13路:2100点
ぐらいです。KGSではAyaMC2 が10000 playout で 2d です。(10分30秒)
盤が小さくなると相対的に強くなるので
13路は2100点で3d、9路は2200点で4d、さらに3分、5分切れ負けのblitzなので、もう1d上がって
  13路は2100点で4d
   9路は2200点で5d
ぐらいの棋力になっていると思います。

Remiさんのtwitter
https://twitter.com/Remi_Coulom/status/603643375003279360
:crazystonebot
http://wars.fm/go9#user/:crazystonebot
:ayaxbot
http://wars.fm/go9#user/:ayaxbot    



下坂美織二段対 Zen の三子局於人工知能学会全国大会  投稿者:gg 投稿日:2015年 6月 1日(月)01時30分5秒
下坂二段の中押し勝ち
#結構良い勝負でした
#棋譜はまだ公開されてません
ニュース動画 http://www3.nhk.or.jp/news/html/20150531/k10010098661000.html    
    



CGOSの9路と19路が復活  投稿者:山下 投稿日:2015年 6月 6日(土)17時19分5秒
3年ほど止まっていたCGOSの9路と19路がNiceGo(oakform)のDetlefさんのサーバで新たに動き出しました。
http://physik.selfhost.eu:8080/
通常のCGOSの設定から、アドレスとポート番号を変更する必要があります。
13路だけは通常のサーバで動いています。

ドイツにある自宅サーバなので着手に1手1秒ぐらい通信にラグがかかるようです。
Nokia N800 という2007年発売のかなり古いタブレットで動いているそうです。    



コンピュータ囲碁講習会のお知らせ  投稿者:山下 投稿日:2015年 6月12日(金)06時48分52秒
7月25日、8月1日、8月8日、9月12日の4日間、
電通大にてコンピュータ囲碁の講習会が行われます。
私も講師の一人として参加します。

参加費は無料ですのでコンピュータ囲碁を作ってみたいな〜、という方はぜひご応募ください。

7月25日はモンテカルロ木探索の概論を
8月1日はサンプルを見ながらルールどおり打てるまで
8月8日はUCTとplayoutでモンテカルロ木探索をするプログラムの解説
をする予定です。

8月8日には囲碁の知識をplayoutやUCTに付け足しやすいサンプルの解説を
して、各自でそれに工夫をこらしてもらい、9月12日に参加者同士で
対戦してもらい、各自の工夫を意見交換する、といった形を考えています。

これで書ける! 「コンピュータ囲碁講習会」
http://entcog.c.ooco.jp/entcog/cg_koushu.html    



Re:コンピュータ囲碁講習会のお知らせ  投稿者:masatsune 投稿日:2015年 6月12日(金)17時18分34秒
参加したい、ものすごく参加したいですが、4日間すべて参加できるかやや不安です。
片道、2.5時間くらい。。。

サンプルプログラムは、TDM-GCC( ver4.92 ) でコンパイル、実行できました。

参加者同士のプログラムでは、通信機能で対戦するのでしょうか。
関連ライブラリが提供されるのでしょうか。

高品質高速乱数ルーチンを持っているので使ってみたい。。。
( ベンチでは xor より、35%高速です。)

少し、悩んでみます。    



Re:コンピュータ囲碁講習会のお知らせ  投稿者:山下 投稿日:2015年 6月12日(金)22時59分20秒
対戦は参加者同士がノートPC片手に移動して手入力で行う予定です。
コンパイルは通った、とのことでよかったです。
遠距離で大変だと思いますが、参加できそうでしたらぜひお願いします。
   



Re:コンピュータ囲碁講習会のお知らせ  投稿者:gg 投稿日:2015年 6月15日(月)11時48分29秒
一回目(第0回)はコンピュータ囲碁を知らない人も対象なので
お二人の本を読んでいれば(万一 :-)遅れても大丈夫だと思います
二回目以後は午後開始ですから何とかなるんじゃありませんか?    



Re:コンピュータ囲碁講習会のお知らせ  投稿者:masatsune 投稿日:2015年 6月15日(月)22時33分29秒
先ほど、登録させていただきました。

gg さんに 背中を押していただいた様で踏ん切りがつきました。
(悩んでいたわけではなく、迷っていただけですね。)

8月8日が特に不安なのですが、がんばります。
家to電気通信大学 だと、待ち時間込みで3時間弱かかりそうです。

では、参加される皆さん、西9号館 でお会いしましょう。

masatsune
   



囲碁NHK杯の形勢判断をするBot  投稿者:山下 投稿日:2015年 6月19日(金)21時39分30秒
twitterで囲碁NHK杯の形勢判断をリアルタイムに3分おきにつぶやくBotを作ってみました。
TV画面から碁盤を認識してAyaで形勢判断をしています。
うまくいけば下の画像のような感じで表示されます。
これは4月26日の向井−寺山戦で、実際は寺山4段の白2目半勝ちなので
7目ぐらい目数判断はずれています。勝率はだいたい正しそうですが。
21日の放送はつぶやく予定です。

囲碁NHK杯の形勢判断Bot
https://twitter.com/nhk_igo_15bai
囲碁NHK杯を15倍楽しむページ
http://www.yss-aya.com/nhk15bai/ 
    



Chainer  投稿者:shallow 投稿日:2015年 6月27日(土)07時07分58秒
日本発のDeep Learning のフレームワーク
Chainerが公開されています。
http://chainer.org/
Pythonのライブラリベース形式となっていて、Windowsでも使用可能です。
正直Caffe は、言語やデータ形式など寄せ集めのごった煮の印象で、改善の兆候も余りなさそうなので、こちらに乗り換えようと思ってます。
この分野は、日本はかなり遅れているので、是非応援したいところです。


   



日本神経回路学会主催セミナー「Deep Learningを使ってみよう!」  投稿者:山下 投稿日:2015年 6月27日(土)15時35分32秒
加藤さん情報ですが、電通大で9月1日(火)にDeep Learningのセミナーが開催されるそうです。
無料です。

講習でも「Chainer」が利用されるようですね。
しかしAWSの環境準備が前提とは結構ハードル高そうです・・・。

日本神経回路学会主催セミナー「Deep Learningを使ってみよう!」のご案内
http://www.jnns.org/DeepSeminar2/home.html    



Computer Olympiad 2015 Leiden  投稿者:gg 投稿日:2015年 6月30日(火)15時49分48秒
初日 9路の 3ラウンドを終えて CGI が
Zen に 1敗 1持碁,Nomitanに 2勝と健闘してます
#EZGOとColdmilkが棄権したため 9路, 13路とも 6チーム,5ラウンドです    
    



Re: Computer Olympiad 2015 Leiden  投稿者:山下 投稿日:2015年 7月 1日(水)00時12分19秒
CGIは台湾のプログラムらしいですが、UEC杯に出ていたGo Trendとは別のチームですか?
100台繋いでるそうで気合を感じます。    



Re: Computer Olympiad 2015 Leiden  投稿者:gg 投稿日:2015年 7月 1日(水)00時28分25秒
9路は Zen が 9勝 1持碁で優勝,Abakus が 7勝 1持碁で 2位,CGI が
6勝 2持碁で 3位,以下 Nomitan 4勝,MC_ark 2勝,Wingo 0勝でした.
なお Abakus は Gomorra の後継ですが,ほぼゼロから書き直し,
Gomorra の特徴だった TDS ベースの並列は使ってないそうです.
また CGI の C は開発元である台湾の Wu 先生の研究室の名前
(Computer Games and Intelligence; CGI) の,
残りは Go Intelligence の,各頭文字だそうです.
#ややこしいけどフルネームは CGI Go Intelligence.    



Re: Computer Olympiad 2015 Leiden  投稿者:gg 投稿日:2015年 7月 1日(水)00時34分27秒
GoTrend とは別で,金沢と横浜に参加した Amigo の枠組みを使って作った
プログラムです.#GoTrend は 19路だけ参加登録してます.
ハードウェアは台湾の ALPS というスパコンで,CPU は Opteron.
https://www.nchc.org.tw/en/inner.php?CONTENT_ID=537
これを 20ノード使っているとか.    



Re: Computer Olympiad 2015 Leiden  投稿者:gg 投稿日:2015年 7月 1日(水)00時49分6秒
補足: Opteron 6174 が 4個載ってるので 48コアになりそうですが
多分ユーザが使えるのは 36コアまでで,これを 20ノードでトータル
720コアという計算になります.
#2.2 GHz というクロックが悲しい.45 nm 世代なのでしょうがないけど    



Re: Computer Olympiad 2015 Leiden  投稿者:山下 投稿日:2015年 7月 1日(水)15時29分5秒
CGIはGNUみたいな命名ですね・・・。ありがとうございます。
Nomitanが4位とはレベル高いですね。
13路と19路が楽しみです。

36コアで2.2GHzならAmazon EC2のE5-2666 v3、2.9GHz、18コアの方が速いかも・・・。    



Go1.c  投稿者:masatsune 投稿日:2015年 7月 1日(水)22時47分55秒
コンピュータ囲碁講習会用に配布された Go1.c を使って遊んでおります。
先手のみに細工をして、21000 playout で、先手 22勝8敗になりました。
こみ、6.5 です。
一般的な9路盤での先手勝率はどのくらいなのでしょう?

Go1.c の特徴として、
1)切る手の評価が高い。
2)逆に必要がなくても傷を埋める手が好き。
2)乱戦を好む。(割り込むのが好き、地の確保は好きではない?)
気がします。

課題局面をいくつか集めました。

playout数を増やしたときに、これらが改善されると良いのですが、
現在は、21000 playout 以上に設定すると、最後の終局判定時(?)に
プログラムが落ちます。
次の休みに、コードを見直してみます。

では、では。
   



Re: Go1.c  投稿者:山下 投稿日:2015年 7月 2日(木)13時29分56秒
> 一般的な9路盤での先手勝率はどのくらいなのでしょう?

Aya同士だとコミ6.5だと黒が天元に打てば勝率52%、それ以外の(4,4)、(4,3)だと
黒は47%〜48%ぐらいです。
コンピュータ囲碁界ではだいたい適切なコミは7目だろう、ということで
コミ7.0目(持碁あり)が多く使われています。

> 21000 playout 以上に設定すると、最後の終局判定時(?)に

#define NODE_MAX 10000
を10万とかに増やしていただくと落ちにくいかもしれません。    



13x13 Go on CO Leiden  投稿者:gg 投稿日:2015年 7月 2日(木)23時28分55秒
今しがた最終ラウンドが始まりました.この前のラウンドで Nomitan が
Abakus に勝ったので,このラウンドで Zen が Abakus に勝てば優勝,以下
Nomitan,Abakus の順になり,Abakus が勝てば 3者が 4勝で並んで
play-off です.    



Re: 13x13 Go on CO Leiden  投稿者:gg 投稿日:2015年 7月 3日(金)14時59分1秒
Computer Olympiad の公式サイト
http://www.grappa.univ-lille3.fr/icga/event.php?id=45
にも書きましたが,13路は優勝 Zen,2位 Nomitan,3位 Abakus,
以下,CGI,MC_ark,Wingo という結果になりました.
また,今日から 19路が始まりますが,GoTrend と oakfoam が加わり
Wingo が抜けて 7チームでの対戦になります.    



Re: 13x13 Go on CO Leiden  投稿者:山下 投稿日:2015年 7月 3日(金)16時48分59秒
公式サイトの追加ありがとうございます。
19路はGoTrendとNiceGoも入ってかなりレベル高そうで楽しみです。

学会の方はAbakusの作者の論文が効果がありそうで読んでいます。
https://www.conftool.net/acg2015/index.php?page=browseSessions&path=adminSessions&print=export&mode=list&presentations=show
Adaptive Playouts in Monte Carlo Tree Search with Policy Gradient Reinforcement Learning    
    



19x19 Go in CO Leiden  投稿者:gg 投稿日:2015年 7月 4日(土)10時28分41秒
19路は Wingo が抜けて GoTrend 改め Jimmy と Oakfoam が加わり
7チームが総当り 7ラウンドで対局します.
今日は 2ラウンド終了しましたが,Abakus が MC_ark に敗れるという
MC_ark には失礼ですが,ちょっとした波乱がありました.
http://www.grappa.univ-lille3.fr/icga/tournament.php?id=290
ですが bye も 1点貰うことに注意して下さい.    



Re: 19x19 Go in CO Leiden  投稿者:gg 投稿日:2015年 7月 4日(土)17時42分58秒
現在リアルタイムで更新中.3位争いが混沌としています.    



Re: 19x19 Go in CO Leiden  投稿者:gg 投稿日:2015年 7月 4日(土)18時33分5秒
今日は土曜日なので食堂は休みなのですが
ICGA の方で用意してくれるとのことなので
トーナメントを昼休み無しで続行することになり
今しがた第5ラウンドが始まりました.    



Re: 19x19 Go in CO Leiden  投稿者:gg 投稿日:2015年 7月 4日(土)22時17分22秒
2位争いが Nomitan と Abakus との play-off になりました.
   



Re: 19x19 Go in CO Leiden  投稿者:山下 投稿日:2015年 7月 4日(土)22時43分34秒
あれ、playoffは白のnomitanが再逆転ですか?    



Re: 19x19 Go in CO Leiden  投稿者:山下 投稿日:2015年 7月 4日(土)22時55分44秒
ものすごく細かそうですね・・・    



Re: 19x19 Go in CO Leiden  投稿者:山下 投稿日:2015年 7月 4日(土)23時06分59秒
nomitan、残念。面白い対局でした。    



CGFオープン参加者募集  投稿者:荒木(ark) 投稿日:2015年 7月 9日(木)00時46分24秒
CGF理事&MC_arkの作者の荒木です。

CGFオープンの参加者募集を開始します。
今年(2015年)のCGFオープンは、
10月3,4日に開催することに決まりました。
種目は例年通り19路と9路の2部構成で、
場所もいつもと同じ電気通信大学西9号館3FのAVホールです。

参加希望の方は 以下のページに書いてあるメールアドレス宛にメールを下さい。
(いつものメーリングリストではありません。詳しくは大会要項をご覧ください。)

・CGFオープンのページ
 http://hp.vector.co.jp/authors/VA012620/
・2015年CGFオープン、大会要項のページ
 http://hp.vector.co.jp/authors/VA012620/cgf2015/cgf2015.html

なお、GTPからNNGSへの変換スクリプトの新しいバージョンへのリンクが
上記のページにありますが、これは最新のバージョンのRubyでも動くように
したものです。

よろしくお願いします。    



世界の囲碁プロのレーティングを見れるサイト  投稿者:山下 投稿日:2015年 7月16日(木)23時14分7秒
CrazyStoneのRemiさんが世界の囲碁のプロ棋士のレーティングを
見れるサイトを作っています。
レーティングの計算にはWHR(Whole History Rating)という方法が使われています。
Eloが1局だけで計算するのに対してWHRはすべての対局を考慮して計算するため、
特に対局数が少ないときの推定が早いです。

井山さんは国際戦を最近はそれほど打ってないのですが、それでも
世界ランキング14位に入っています。

全部英語なので誰だか分かりにくいですがトップ3はこんな感じです。

1  Park Jungwhan   2680 朴廷桓(パク・ジョンファン) 韓国
2  Ke Jie          2665 柯潔  (かけつ)             中国
3  Kang Dongyun    2649 姜東潤(カン・ドンユン)     韓国

レーティングの推移も見れます。
日本の棋士で上位なのは下の6人でしょうか。若手の人は右肩上がりですね。

井山裕太 14位 26歳
http://www.goratings.org/players/698.html
河野臨 58位
http://www.goratings.org/players/509.html
伊田篤史 68位 21歳
http://www.goratings.org/players/1115.html
山下敬吾 74位
http://www.goratings.org/players/434.html
黄翊祖 93位 28歳
http://www.goratings.org/players/804.html
一力遼 101位  18歳
http://www.goratings.org/players/1192.html

Go Ratings
http://www.goratings.org/
Remiさんのtwitterでの紹介
https://twitter.com/Remi_Coulom/status/621664024917319680    



面白い現象  投稿者:masatsune 投稿日:2015年 7月17日(金)17時45分22秒
コンピュータ囲碁講習会まで約1週間となりました。
運営の方はご苦労かと思いますが、楽しみにしております。

go1.c を改造し色々試しております。

現状は 300k playoutsでもまだまだ悪手がでます。
例えば4手先で味方の石が死ぬ場合でも手抜きをします。
石の安全度を導入する必要がある様に思えます。

先手(黒)のみ改良し100k playoutsで100回対戦させ
効果を計っています。白はオリジナルのままです。

で、面白い現象が出ています。

黒が 0.5差で勝つケースが非常に多いです。(1.5差は少ない)
0.5目差になった場合の、黒勝-白勝 の数ですが、
15-1、18-0、12-1、9-0、16-1 の様になりました。

黒勝が異様に多いです。中国ルールでの判定です。

コミ6.5目ですが、コミ7.5目でも実験してみます。
(中国ルールだと、コミ6.5というのは、5.5に近く、
7.5とは差があるという説明をしているサイトがありました。)

コミ7.5目でも同様の結果だとすると、モンテカルロ法では
優秀な方が0.5差で勝ちやすいのかもしれません。

CGFオープンの9路盤のルールは、
1)中国ルール(プログラム的には終局の判断が易しいため?)
2)コミ7.5、
3)持ち時間10分、(600秒!)
4)同一盤面が出現すると負け
ですね。

3)に対しては、マルチスレッド・クラスター化が必須ですね。
オリジナルから30%くらいは高速化したのですが、NotePCで
1スレッドだと 300k Playoutsで 黒の総思考時間は30分
くらいかかっています。
(まあ、直ぐに大会に出られるレベルではないので。。。)

4)は1盤面の状態を5バイトで表し、先後別に過去6面程記憶
する事にしました。
コウ絡みで結構発生しており、対策は必須のようです。

では、では。
   
    



deep learning と MCTS の統合  投稿者:HiraBot 投稿日:2015年 7月18日(土)09時54分16秒
Detlef Schmicker さんの作った deep learning を MCTS に統合してみた
KGS 1d のアカウントで playout 15000 で人間と対戦してデータを取ると
MCTS のみでは 1126勝 946敗 勝率54.3% となり
統合すると     847勝 426敗 勝率66.6% となった
elo レーティングで 90 の向上です、効果があったと判断します

私の作った deep learning ではあまり効果がなかったのですが
Detlef Schmicker さんの作った deep learning では効果があった
この差はネットの規模が約3倍になっている事によると思います
Detlef Schmicker さんの真似をしてネットの規模を大きくして見たのですが
学習がうまく行かなかった、学習時間がかかるのは当然ですが
予測率が良くならないのです、何かノウハウがあるのでしょうか

MCTS との統合は次の様にしています
root node でのみ deep learning 計算をしています、1回の計算に 70ms かかります
まず root node で 点数計算します、1回の計算で 361箇所の点数が全て求まる
その top 10 について点数を割り当てて MCTS と統合しています。
   



Re: 面白い現象  投稿者:山下 投稿日:2015年 7月19日(日)05時27分54秒
いろいろ試していただいて、ありがとうございます。
黒の0.5目勝ちが多いのは1眼を持つセキができない限り、黒の最小の勝ちは
黒0.5目勝ち、で次が黒2.5目勝ちになるせいかもしれません。
サンプルのplayoutではセキは認識できず、UCTでのみ判断できるので
さらに出現率が低くなっているのかもしれません。

セキの認識は6子以上のアタリに突っ込む手を禁止にする、で
だいたい実現できるのですが、サンプルのデータ構造で認識させるのは
かなり大変かもしれません。

   黒1目勝ち      黒3目勝ち
  ABCDEFGHJ    ABCDEFGHJ
9┌●┬●●●●●●  9┌●┬●●●●●●
8●●●●●●●●●  8●●●●●●●●● 通常は黒1,3,5,7目勝ち、と差が
7●●●●●●●●●  7●●●●●●●●●  奇数になるのでコミ6.5だと
6●●●●●●●●●  6●●●●●●●●●
5●●●●●○○○○  5●●●●●●○○○  黒の最小の勝ちは黒0.5目勝ち、
4○○○○○○○○○  4○○○○○○○○○  白の最小の勝ちは白1.5目勝ち、
3○○○○○○○○○  3○○○○○○○○○
2○○○○○○○○○  2○○○○○○○○○  になります。
1└○┴○○○○○○  1└○┴○○○○○○

  黒0目勝(引分)    黒2目勝ち
  ABCDEFGHJ    ABCDEFGHJ
9┌●●●●●●●●  9┌●●●●●●●●
8●●●●●●●●●  8●●●●●●●●●  例外は眼を持つセキができたときで
7●●●●●●●●●  7●●●●●●●●●  差が偶数になります。
6●●●●●●●●●  6●●●●●●●●●  コミ6.5だと
5●●●●┼○○○○  5●●●●●┼○○○  黒の最小の勝ちは黒1.5目勝ち、
4○○○○○○○○○  4○○○○○○○○○  白の最小の勝ちは白0.5目勝ち、
3○○○○○○○○○  3○○○○○○○○○
2○○○○○○○○○  2○○○○○○○○○  になります。
1└○○○○○○○○  1└○○○○○○○○    



Re: deep learning と MCTS の統合  投稿者:山下 投稿日:2015年 7月19日(日)05時41分13秒
+100 Eloぐらいの向上ですか。最初にDetlefさんが報告したときも
+100ぐらいだったので、GNU Goに圧勝するほど強くなってもplayout
の質が向上しないと予測精度に追いつかない?ような気もします。
(隅の死活を理解する手を選んでも、乱数playoutだと認識できない、のような)

学習に差が出るのはよく分かりません。棋譜数の差でしょうか?

個人的にはものすごく時間がかかったとしてもDeep Learningの予測手で
playoutをさせて、どのくらい棋力が伸びるか、に興味があります。    



Re: 面白い現象  投稿者:masatsune 投稿日:2015年 7月19日(日)22時02分11秒
山下様

詳しいご説明ありがとうございます。
たしかに、黒勝ちの場合は、偶数目+0.5、白勝ちの場合は、奇数目+0.5が多いですね。
出現しやすい"差"は、黒から見ると...+4.5,+2.5,+0.5,-1.5,-3.5... と成り、
モンテカルロ方では、黒0.5目勝ちというのは出やすいと思われます。

このような実験は大好きなのですが、PCが複数台動くと部屋の温度がすぐ上がるので、夏は大変です。。。
   



Re: deep learning と MCTS の統合  投稿者:HiraBot 投稿日:2015年 7月21日(火)23時38分11秒
deep learningの予測手でplayoutをさせてみました
1手当たり playout数は 100です
GPU 使用にて 1手7分 1局1日 かかります(GTX670)
乱数性を持たせるため playout での
top  の手の確率値を 100000000
2番目の手の確率値を 100000000/2
3番目の手の確率値を 100000000/2/2
というふうに点数付けしました
棋譜を下に貼ります(sgf)、白黒ともに deep learning です
playout数 100と少ないせいかおかしな手が結構あります

(;GM[1]FF[4]CA[UTF-8]AP[CGoban:3]ST[2]
RU[Chinese]SZ[19]KM[7.50]
PW[WeakBot]PB[HiraMC1]BR[1d]DT[2015-07-20]PC[The KGS Go Server at http://www.gokgs.com/]C[HiraMC1 [1d\]: GTP Engine for HiraMC1 (black): Hiratuka version 10_34F-No10
WeakBot [-\]: GTP Engine for WeakBot (white): Hiratuka version 10_34F-No10
]RE[B+Resign]
;B[pc];W[qp];B[dd];W[cf];B[fc];W[de];B[cd]
;W[cj];B[dk];W[dj];B[ek];W[ck];B[fj];W[dm];B[fm];W[fn]
;B[dq];W[hn];B[em];W[en];B[dl];W[cl];B[gn];W[dn];B[gq]
;W[go];B[fp];W[gm];B[hp];W[iq];B[op];W[mp];B[pm];W[oo]
;B[pp];W[po];B[ei];W[qq];B[ch];W[fe];B[ip];W[jn];B[ge]
;W[jp];B[io];W[gf];B[hf];W[gg];B[fh];W[jq];B[hh];W[hr]
;B[gd];W[bh];B[bg];W[bi];B[bf];W[cq];B[cp];W[no];B[co]
;W[qn];B[pe];W[hg];B[if];W[gh];B[ff];W[fg];B[ig];W[eg]
;B[cg];W[gl];B[gi];W[gr];B[hi];W[ce];B[bm];W[be];B[in]
;W[im];B[cm];W[fr];B[jm];W[kn];B[lo];W[rl];B[jo];W[km]
;B[il];W[hk];B[kl];W[ll];B[jl];W[hm];B[ee];W[ed];B[jj]
;W[fd];B[ec];W[ep];B[fq];W[eq];B[ko];W[dp];B[bq];W[ln]
;B[mm];W[ml];B[mn];W[lm];B[nl];W[mo];B[kq];W[mr];B[mk]
;W[cr];B[lk];W[br];B[bl];W[dg];B[dh];W[eh];B[di];W[ej]
;B[fi];W[fk];B[qk];W[pj];B[pk];W[qj];B[qh];W[rk];B[ri]
;W[ok];B[qm];W[rj];B[rm];W[sm];B[sn];W[sl];B[rn];W[bp]
;B[ol];W[oh];B[ph];W[bo];B[cn];W[of];B[oe];W[mf];B[oi]
;W[ni];B[pi];W[ah];B[ag];W[nh];B[ne];W[pf];B[oj];W[me]
;B[md];W[nk];B[rf];W[nf];B[le];W[kd];B[qe];W[ld];B[mc]
;W[bk];B[ke];W[je];B[lg];W[kg];B[lh];W[jd];B[lf];W[kb]
;B[lb];W[kp];B[lp];W[ro];B[aj];W[lq];B[ak];W[nj];B[ik]
;W[hl];B[hj];W[kh];B[kf];W[li];B[ka];W[rg];B[qg];W[rh]
;B[jf];W[qf];B[re];W[ki];B[pg];W[qi];B[pn];W[jb];B[qo]
;W[rp];B[qn];W[ji];B[ja];W[kr];B[ia];W[hb];B[ib];W[hc]
;B[ic];W[so];B[on];W[id];B[sg];W[si];B[hd];W[sf];B[bj]
;W[se];B[ci];W[rd];B[sd];W[rc];B[qb];W[el];B[do];W[eo]
;B[nn];W[ii];B[ao];W[ij];B[ap];W[aq];B[an];W[ad];B[ih]
;W[kj];B[jk];W[ql];B[pl];W[bc];B[cb];W[db];B[bb];W[eb]
;B[ho];W[cc];B[ab];W[ga];B[fb];W[dc];B[bd];W[fo];B[ed]
;W[gk];B[fl];W[el];B[bn];W[se];B[bq];W[ar];B[mg];W[bp]
;B[ng];W[og];B[kk];W[mj];B[lj];W[mh];B[hq];W[bq];B[la]
;W[er];B[sf];W[bo];B[np];W[mq];B[jg];W[ea];B[sh];W[ca]
;B[ba];W[fa];B[ae];W[ac];B[da];W[gc];B[gb];W[ca];B[ha]
;W[aa];B[af];W[gp];B[gj];W[mi];B[sj];W[ri];B[jh];W[lc]
;B[kc];W[mb];B[nd];W[nb];B[oc];W[ob];B[pb];W[nc];B[na]
;W[od];B[pd];W[he];B[fl];W[em];B[ef];W[cj];B[df];W[ir]
;B[ai];W[pa];B[oa];W[ln];B[kn];W[hc];B[hb];W[jc];B[ma])
   



Re: deep learning と MCTS の統合  投稿者:gg 投稿日:2015年 7月22日(水)01時15分33秒
勘違いしてたらすみません.DCNN が学習しているのは出現頻度(確率)ですよね?
もしそうなら,それをそのままシミュレーション中の着手確率に使えば良いと思いますが.    



Re: deep learning と MCTS の統合  投稿者:HiraBot 投稿日:2015年 7月22日(水)07時09分55秒
DCNN が学習しているのは、正解手を1に、不正解手を0に
近づくようにしていて、出現頻度とは異なると思っておりました
間違っていたらごめんなさい。
   



Re: deep learning と MCTS の統合  投稿者:山下 投稿日:2015年 7月23日(木)02時01分41秒
実験していただいてありがとうございます。
100playoutで一局、1日もかかるのですか・・・。ちょっと遅さを理解していませんでした。
100局とかで強さは測るのは難しそうですね。

棋譜は並べてみました。予測手のトップだけで打たせた方が強そうですね・・・。
Progressive Windeningを使う場合、Deep Learningでは2眼で活き、といった手が上位に来ることはないので
playoutにDeep Learningを使っても強さは頭打ちになりそうな気がします。

結局、攻め合いや2眼、といった概念を学習させたDeep Learningでないと
1dか2dの壁を越えるのは困難な気がしています。    



DCNN が学習しているのは  投稿者:gg 投稿日:2015年 7月23日(木)14時41分2秒
>DCNN が学習しているのは、正解手を1に、不正解手を0
その場合,正解である確率を学習することになります
着手確率と同一視して構いません    



Re: DCNN が学習しているのは  投稿者:HiraBot 投稿日:2015年 7月27日(月)03時51分17秒
gg さんの意見に従い deep learning の計算値をそのまま
playout の着手確率にして対局させてみました
1手当たり playout数は 100です
GPU 使用にて 1手7分 1局1日 かかります(GTX670)
棋譜を下に貼ります(sgf)、白黒ともに deep learning です
おかしな手が減った様に思います。

(;GM[1]FF[4]CA[UTF-8]AP[CGoban:3]ST[2]
RU[Chinese]SZ[19]KM[7.50]
PW[WeakBot]PB[HiraMC1]BR[1d]DT[2015-07-25]PC[The KGS Go Server at http://www.gokgs.com/]C[HiraMC1 [1d\]: GTP Engine for HiraMC1 (black): Hiratuka version 10_34F-No20-2
WeakBot [-\]: GTP Engine for WeakBot (white): Hiratuka version 10_34F-No20-2
]RE[B+Resign]
;B[op]
;W[qd];B[dc];W[ce];B[dp];W[dd];B[cc];W[ed];B[bd];W[be];B[cj];W[fc]
;B[gd];W[hf];B[hh];W[eb];B[gf];W[hc];B[fe];W[hg];B[hd];W[ic];B[he]
;W[gg];B[db];W[fg];B[ec];W[fa];B[bb];W[gb];B[fd];W[jd];B[dg];W[ef]
;B[ch];W[df];B[je];W[ke];B[jf];W[kf];B[kc];W[kg];B[ie];W[jb];B[jg]
;W[jh];B[ih];W[ji];B[ig];W[hi];B[gh];W[fh];B[fi];W[ii];B[gi];W[ei]
;B[eh];W[ej];B[cm];W[bg];B[gk];W[il];B[hj];W[kd];B[ik];W[jk];B[ff]
;W[jj];B[bh];W[ag];B[eg];W[ee];B[cg];W[jl];B[pd];W[pe];B[qc];W[rd]
;B[pc];W[qf];B[oe];W[of];B[ne];W[pn];B[no];W[qo];B[ae];W[nf];B[rc]
;W[nc];B[nb];W[mf];B[me];W[mc];B[mb];W[cf];B[qq];W[nm];B[oc];W[mq]
;B[jq];W[or];B[oq];W[qr];B[rr];W[qs];B[pr];W[lp];B[ln];W[ko];B[ip]
;W[rs];B[kn];W[sq];B[jo];W[rq];B[ps];W[nr];B[mo];W[dq];B[cq];W[lo]
;B[mm];W[nl];B[hm];W[lc];B[jn];W[eq];B[cr];W[lb];B[lk];W[mj];B[ss]
;W[lj];B[rp];W[qp];B[sp];W[cp];B[bq];W[do];B[ep];W[fp];B[eo];W[fo]
;B[fq];W[jr];B[en];W[ir];B[kq];W[lr];B[kr];W[hl];B[gl];W[cd];B[sd]
;W[re];B[rn];W[gq];B[qn];W[po];B[fr];W[gr];B[er];W[ro];B[ks];W[af]
;B[ad];W[pm];B[sr];W[ql];B[ml];W[so];B[ah];W[ma];B[ob];W[dr];B[ho]
;W[gn];B[gm];W[gc];B[da];W[sc];B[mk];W[hn];B[gp];W[go];B[sb];W[nk]
;B[hp];W[na];B[oa];W[im];B[la];W[ka];B[in];W[ma];B[le];W[ea];B[lf]
;W[se];B[lg];W[nh];B[lh];W[co];B[sc];W[ds];B[nj];W[fs];B[hr];W[kh]
;B[kj];W[li];B[mi];W[ni];B[ki];W[mj];B[oj];W[qj];B[pk];W[pj];B[hq]
;W[iq];B[gs];W[ok];B[mh];W[ng];B[nn];W[ld];B[oi];W[cs];B[bs];W[pi]
;B[lj];W[ph];B[on];W[om];B[oh];W[bn];B[og];W[bp];B[bm];W[ao];B[aq])
   
    



Re: deep learning と MCTS の統合  投稿者:gg 投稿日:2015年 7月28日(火)16時20分31秒
>Deep Learningでは2眼で活き、といった手が上位に来ることはないので
これは deep learning の責任ではなく,学習に使う棋譜の問題です
Move prediction 全てに言えることですが
そういう手を含む棋譜で訓練すればそういう手が上位に来るようになります    



Hajin Lee (3p)さんとAyaが5子で対戦  投稿者:山下 投稿日:2015年 7月29日(水)23時16分20秒
日本時間の30日、朝の03:00時(18:00 UTC)から
EGC2015のイベントとしてプロ棋士のHajin Lee (3p)さんとAyaが5子で
対戦する予定です。KGSで行われます。持ち時間1時間です。
Ayaは下のハードを使います。
Intel Core i5-4590 3.3ghz, x64, 4 cores

結果はAyaの中押し勝ちでした。

棋譜はこちらです。
http://files.gokgs.com/games/2015/7/29/HayleeEGC-AyaMC.sgf

Live動画がこちらで見られます。
https://www.youtube.com/watch?v=Ka2ilmu7Eo4

EGC2015 Computer Go Tournamentの結果
http://www.gokgs.com/tournEntrants.jsp?sort=s&id=981
Computer Go Tournament Specification
http://pasky.or.cz/iggsc2015/compgo_spec.html    



FuzzIEEE2015  投稿者:gg 投稿日:2015年 8月 2日(日)12時03分59秒
毎年恒例 FuzzyIEEE2015 のイベントで,Zenがアマやプロ棋士と対局します
時刻は今日の午後2時から,場所は KGS の Computer Go Room です
明日以降の予定など,詳細は↓を見て下さい
http://oase.nutn.edu.tw/FUZZIEEE2015/schedule_day1.htm    



Re: FuzzIEEE2015  投稿者:山下 投稿日:2015年 8月 3日(月)17時10分27秒
昨日はアマチュアの6dの人とZenが互先で打ってZenが2勝1敗。
今日は台湾のプロ棋士の Ping-Chiang Chou 5段と4子で打って
プロが2連勝しています。

1日目 Wen-Chih Chen (6D, White)
2日目 Ping-Chiang Chou (5P, White, H4 with Komi 0.5)

棋譜はこちらで見れます。
http://www.gokgs.com/gameArchives.jsp?user=Zen19S
   



Re: FuzzIEEE2015  投稿者:gg 投稿日:2015年 8月 6日(木)16時14分29秒
公式結果が公開されてます.
http://oase.nutn.edu.tw/FUZZIEEE2015/result.htm
なお,3日目は KGS を使わず,また Jimmy だけでなく
CGI も 2日目と手合い割りを変えて対局していますが
まだかなりの改良が必要なようです.    



History of Go Ratings  投稿者:山下 投稿日:2015年 8月16日(日)23時13分16秒
Remiさんが囲碁のプロ棋士の年代別レーティングトップ3を作ってます。
http://www.goratings.org/history/

1990年までは趙治勲さんと小林光一さんがトップでしたが
以降25年間、現在までイチャンホ、イセドル、と韓国の棋士がトップみたいです。
中国棋士がトップに入ってないのはやや意外ですが。    



台湾の8月31日のCIG2015でプロ3人とソフト3つが対戦  投稿者:山下 投稿日:2015年 8月22日(土)21時27分26秒
8月31日に台湾の学会CIG2015のイベントで
プロ棋士3人と囲碁プログラム3ソフト(Zen、Aya、CGI)の総当り対戦が
行われます。Zenは4子、Ayaは5子、CGIは6子です。

プロ棋士は下の3名です。
Chun-Hsun Chou (周俊勳 9段)
Kai-Hsin Chang (張凱馨 5段)  http://www.taiwango.org.tw/showchesser.asp?id=8
Li-Chun Yu     (       初段) http://www.taiwango.org.tw/showchesser.asp?id=358

http://oase.nutn.edu.tw/IEEECIG2015/schedule_day.htm    



Re: 台湾の8月31日のCIG2015でプロ3人とソフト3つが対戦  投稿者:山下 投稿日:2015年 8月31日(月)22時27分2秒
3人のプロ棋士と3ソフトが総当りで対戦し、下記の結果でした。
勝敗はソフトから見たものです。(1)は1局目、という意味です。
Zenは常に4子置き、同様にAyaは5子、CGIは6子置いています(対アマを除く)。

        Chun-Hsun Chou (9P)  Kai-Hsin Chang (5P)   Li-Chun Yu (1P)  アマチュア
Zen 4子        ×(1)                ○(3)                ×(4)       × アマ6段(2)互先  1勝3敗
Aya 5子        ○(4)                ○(1)                ×(3)       ○ アマ6段(2)2子   3勝1敗
CGI 6子        ○(3)※              ×(4)                ○(1)       × アマ5段(2)2子   2勝2敗

※ おそらくCGIの半目勝ち

Zenの棋譜 http://www.gokgs.com/gameArchives.jsp?user=cigzen
Ayaの棋譜 http://www.gokgs.com/gameArchives.jsp?user=cigaya
CGIの棋譜 http://www.gokgs.com/gameArchives.jsp?user=cigcgi

結果は後日載ると思います
http://oase.nutn.edu.tw/IEEECIG2015/schedule_day.htm    



平塚の囲碁三段 vector で公開  投稿者:HiraBot 投稿日:2015年 9月 3日(木)20時13分51秒
現在 KGS で 3d で打っています
三段設定にした時のアカウントが HiraMC1, HiraMC2
二段設定にした時のアカウントが HiraBot21〜HiraBot28 です
モンテカルロ木探索にニューラルネットを併用しています
ニューラルネットのデータは Detlef Schmicker さんの
http://physik.de/net.tgz
を使用しています
KGS段級位グラフを貼ります
http://www.gokgs.com/graphPage.jsp?user=hiramc1



再掲:CGFオープン参加者募集  投稿者:荒木(ark) 投稿日:2015年 9月 6日(日)20時21分7秒
荒木です。
CGFオープンの参加申し込み締切りまでまだ時間があります。
参加を迷ってらっしゃる方はぜひ参加をお願いします。
http://hp.vector.co.jp/authors/VA012620/    



Re: 平塚の囲碁三段 vector で公開  投稿者:山下 投稿日:2015年 9月 7日(月)14時02分32秒
あっさり追いつかれてしまいました。
Deep Learning勉強しないと、というわけで私も少し試してみました。    



DetlefさんのDeep Learningを試してみました  投稿者:山下 投稿日:2015年 9月 7日(月)14時03分38秒
Detlef Schmickerさんが公開されている学習済みデータを私も動かしてみました。
http://computer-go.org/pipermail/computer-go/2015-April/007573.html

CPU : Xeon W3680 毎秒 4局面,  235ms/1回,
GPU : GTS-450    毎秒57局面,   17ms/1回,  ... 13倍速い

GPUは5年前のものですが13倍ほど高速でした。

Caffeに付属の MNIST のサンプルは
CPU : Xeon W3680 (3.3GHz) 17分
GPU : GTS-450              5分            ... 3倍速い

1回にかかる時間は、

                  CUDAコア数  クロック
GTS 450  17.4 ms     192基     783MHz
GTX 970   1.6 ms   1,664基    1050MHz
GTX 670            1,344基     915MHz

detlefさんのGTX 970と比べると11倍遅く、CUDAのコア数比(8.6倍)とクロック差(1.3倍)
をかけたものにほぼ同じようです。

CPUだけの速度はHiraBotさんのデータと比較すると3倍近く差があります。
AVX命令使用の差?でしょうか。

i7-3770K    4.2GHz    70ms
Xeon W3680  3.3GHz   235ms


一番てこずったのCaffeのインストールでした。
以下は途中でメモった内容です。

ubuntu 14.04 を新規にインストール。GPUはGTS 450。
Caffe導入。この通りに実行。
http://www.nal.ics.es.osaka-u.ac.jp/personal/k-yamanishi/CaffeUbuntu.html
ただし以下はそのまま。
CUDA_DIR := /usr/local/cuda

CUDA_DIR が間違ってるとmakeがエラーで失敗する。
src/caffe/parallel.cpp:135:15: error: 'struct cudaDeviceProp' has no member named 'isMultiGpuBoard'
# CPU_ONLY := 1 をアンコメント、でこのエラーは出ない。

CUDAは別に、
https://developer.nvidia.com/cuda-downloads
から 7.0 の 14.04 用のNetwork installer "deb" を落とす
$ wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_7.0-28_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu1404_7.0-28_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda

環境設定

export CAFFE_ROOT=/home/yama/caffe/
export CUDA_HOME=/usr/local/cuda-7.0
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export LD_LIBRARY_PATH=/home/yama/caffe/build/lib:$LD_LIBRARY_PATH

PATH=${CUDA_HOME}/bin:${PATH}
export PATH

マシン再起動

$ nvcc -V
Cuda compilation tools, release 7.0, V7.0.27

caffe.pb.h がないと怒られるので

# In the directory you installed Caffe to
$ protoc src/caffe/proto/caffe.proto --cpp_out=.
$ mkdir include/caffe/proto
$ mv src/caffe/proto/caffe.pb.h include/caffe/proto

テストに使ったC++のソースとMakefileは
http://yss-aya.com/20150907detlef_test.zip

出力は黒番で下のような感じになります。

 ABCDEFGHJKLMNOPQRST
1┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐
2├┼┼┼┼┼┼┼┼┼┼┼┼○●●●┼┤
3├┼┼○┼┼┼┼┼┼┼┼┼●○●○○┤
4├┼┼┼┼┼┼┼┼┼○┼┼○○○●○┤
5├┼┼┼┼┼┼┼┼┼┼┼┼┼┼●●┼┤
6├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼●┼┤
7├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
8├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
9├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
10├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
11├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
12├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
13├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
14├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
15├┼┼┼┼┼┼┼┼┼┼┼┼┼┼●┼┼┤
16├┼┼┼●┼┼┼┼┼┼┼┼┼┼┼┼┼┤
17├┼┼┼┼┼┼┼┼┼┼┼┼┼┼○┼┼┤
18├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
19└┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┘

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.63 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00    



Re:DetlefさんのDeep Learningを試してみました  投稿者:荒木(ark) 投稿日:2015年 9月 9日(水)17時17分5秒
山下さん

荒木です。私もcaffeのインストールが一番苦労しましたね。
最後のスコアですが、たぶん0.00になっている所にも凄く小さい値がついていると思います。

Ayaがこれを使って一気に強くなるのかどうか、楽しみにしています。



Re:DetlefさんのDeep Learningを試してみました  投稿者:山下 投稿日:2015年 9月 9日(水)19時56分34秒
荒木さん、

0.001、みたいな小さな値もついていました。3桁目を表示すると長いので切りました。
KGSの大会が終わったらHirabotさんのように上位10手の確率を直接レーティング値に掛ける、みたいな手法で
試してみます。
Remiが少し試したが、あまり効果なかった、という話を聞きました。
CrazyStoneは元から45%くらいあったので、44%の予測率だとパターンの質が
少し上がるだけで効果少ないのかも、と思っています。
Ayaは現在38%程度なので+50ぐらいは上がるかな?と期待しています。    



KGSのSlow大会はabakusが優勝  投稿者:山下 投稿日:2015年 9月 9日(水)20時14分42秒
abakusはZenに2連勝!して優勝しました。

September 2015 SLOW bot tournament Players
http://www.gokgs.com/tournEntrants.jsp?sort=s&id=985

abakusは対局中に3x3パターンの値を自動調節する学習で
+140Eloぐらい強くなった論文を出してます。
http://www.yss-aya.com/bbs_log/bbs2015.html#bbs99
私も3x3ではなく、361マスx360の単一テーブル(ここに打たれたらここに打て)
で試したのですがあまりうまくいきませんでした。    



予測率  投稿者:HiraBot 投稿日:2015年 9月10日(木)08時55分32秒
HiraBot の予測率を測定してみました、deep learning 無しです
KGS 高段者の棋譜を使用して測定しました

UCT root node での予測率は 38.5% でした (111局でのデータ)
UCT root 以外での予測率は  38.0% でした (1111局でのデータ)
playout での予測率は       30.6% でした (11111局でのデータ)

CrazyStone は 45% Aya は 38% 程度とのことですが
HiraBot も思っていたより良いデータが出て安心しました。
   



予測率追加データ  投稿者:HiraBot 投稿日:2015年 9月11日(金)11時43分26秒
追加データです、111局でのデータです

MCTS+DNN での予測率は                   43.8% でした
Detlef Schmicker さんの単体での予測率は 44.6% でした

MCTS との併用により 0.8% 予測率が悪化しています。
   



Re: 予測率追加データ  投稿者:山下 投稿日:2015年 9月11日(金)17時38分3秒
Detlefさんのデータだけで打たせると少し弱い?のですよね。
単純に形の真似だけ上手くても死活とかの真似が下手だと
予測率が上でも弱くなってしまう、ということなのでしょうか。    



Re: 予測率追加データ  投稿者:HiraBot 投稿日:2015年 9月12日(土)01時11分55秒
100% DNN で予測した場合の強さは真面目には調べておりませんでした
DNN と平塚を mix する定数の調整を行い強くなったので
満足しておりました。
   



日本ルールへの対応  投稿者:山下 投稿日:2015年 9月13日(日)14時44分35秒
講習会で少し質問されたので日本ルールへの(その場しのぎな)対応方法を
書いてみます。

2つあって、一番簡単な方法は

1. コミを1目多くとり、相手がパスしたらパスする、です。
   黒番でコミ7.5目なら、コミを8.5目に設定し、 白番なら6.5目にします。

1目多く取らずに処理するには、

2. 中国ルールでそのままplayoutで最後まで打ち、最終局面で補正する

という方法です。

白20手 G-1 まで  ハマ 黒0子  白0子
  ABCDEFGHJ
1┌┬┬┬●┬☆┬┐
2├┼┼┼●┼○┼┤  コミ6.5
3├┼┼┼●┼○┼┤  黒番
4├┼┼●●○○┼┤
5├┼┼●┼○┼┼┤  黒の最善はPASSするか、F1,F2,F3, E5,E6,E7,E8,E9
6├┼┼●┼○┼┼┤  のダメに打つ手のみ。
7├┼┼●┼○┼┼┤  (2)の方法でも勝率50%程度で、黒が簡単に勝てる局面、
8├┼┼●┼○┼┼┤  と認識できません。
9└┴┴●┴○┴┴┘

(;GM[1]SZ[9]RE[B+0.5]KM[6.5]RU[Japanese]
;B[di];W[fi];B[dh];W[fh];B[dg];W[fg];B[df];W[ff];B[de];W[fe]
;B[dd];W[fd];B[ed];W[gd];B[ec];W[gc];B[eb];W[gb];B[ea];W[ga])


コードは下のようになります。

-------------------------------------------
if ( last_two_move_is_pass_in_tree ) {  // confirmation phase
  pass_w_playout = pass_b_playout = 0;
  playout_length = 0;
}

game_length = record_length + tree_legth + playout_legnth;
pass_w = pass_w_record + pass_w_tree + pass_w_playout;
pass_b = pass_b_record + pass_b_tree + pass_b_playout;

Margin = 0;
if ( (game_length&1) ) { // 総手数が奇数ならマージンを補正
  if ( first_player_is_white ) Margin = -1;
  else                         Margin = +1;
}

minus = (Margin + pass_w - pass_b);
japanese_score = chinese_score - minus;
final_score = japanese_score - komi - handicaps;
-------------------------------------------

playout_length ... playoutの手数
record_length  ... 現在局面にいたるまでの棋譜の手数
tree_length    ... UCTでplayout開始局面まで探索した手数
game_length    ... 棋譜、UCT、playout、 を含めた手数

pass_w_playout ... playout中で白がパスをした回数
pass_w_tree    ... UCTの探索中に白がパスをした回数
pass_w_record  ... 棋譜の中で白がパスをした回数
handicaps      ... 置石の数(置き碁の場合)

last_two_move_is_pass_in_tree ... UCTの最後の2手がパスか?
                                  パス、パスなら必ずplayoutを呼ぶ
first_player_is_white         ... 白から打っているか?(置き碁の場合)

final_score がコミと置石補正を含めた最終的な黒の地になります。
特徴は、UCTでパスパスをした場合だけ、playoutの中でパスを
した回数とplayoutの手数の長さを無視する、という点です。



白54手 C-6 まで  ハマ 黒0子  白0子
  ABCDEFGHJ
1┌●○○┬○●┬┐  日本ルールではセキ石の地はカウントしないので
2├●●○┼○●┼┤  補正する必要があります。
3├┼●○○●●┼┤
4├●○○┼○●●┤
5├●○┼┼○○●┤  この図はコミ6.5だと白0.5目勝ち
6├●☆┼┼┼○●●  セキのA9,J9は白地にならない
7●●○○○○○●○  (セキの地でずれるケースはほぼ出てこないので無視でもOK)
8○○●●●●●○○
9└○┴●●●┴○┘

(;GM[1]SZ[9]KM[6.5]RU[Japanese]
;B[ch];W[bh];B[dh];W[ah];B[di];W[bi];B[eh];W[cg];B[bg];W[hi]
;B[fh];W[hh];B[gh];W[ih];B[hg];W[gg];B[fi];W[fg];B[ei];W[eg]
;B[hf];W[dg];B[bf];W[ge];B[he];W[ce];B[be];W[fd];B[gc];W[dd]
;B[cc];W[dc];B[cb];W[db];B[gd];W[fe];B[fc];W[cd];B[bd];W[ca]
;B[ba];W[da];B[bb];W[ec];B[ag];W[ig];B[if];W[fb];B[gb];W[fa]
;B[ga];W[gf];B[hd];W[cf])


下はComputerGo MLに投稿したほぼ同じ内容です。

Japanese rule in MC
http://computer-go.org/pipermail/computer-go/2014-March/006564.html
Steenvreter's solution
http://computer-go.org/pipermail/computer-go/2010-April/000233.html
Erica's solution
http://computer-go.org/pipermail/computer-go/2013-February/005757.html
Many Faces' solution
http://computer-go.org/pipermail/computer-go/2013-February/005748.html
Useful link by Fuego team
http://sourceforge.net/p/fuego/wiki/JapaneseRules/    



平塚の囲碁ダウンロード不可  投稿者:tss 投稿日:2015年 9月13日(日)14時46分35秒
Vectorから平塚の囲碁三段のダウンロードができません。

ダウンロードを中止しました
ファイルへの直接リンクなど、推奨されていないリンク元からのアクセスのため、ダウンロードを中止しました。

と表示されエラーとなります。 ダウンロードできるソフトもあり、なんらかの原因があるようです。    



Re:平塚の囲碁ダウンロード不可  投稿者:うさぴょんの育ての親 投稿日:2015年 9月13日(日)14時53分11秒
>tssさん
まだ途中まで(60MB程度)ですが、Chrome、プロバイダーは@niftyで、ダウンロード出来ているようです。

何か原因があるのだと思いますが…。    



Re:平塚の囲碁ダウンロード不可  投稿者:tss 投稿日:2015年 9月13日(日)15時18分10秒
>プロバイダーは@niftyで、ダウンロード出来ているようです。

以前、Vectorでダウンロードできない不具合があり今は復旧しているようですがその時のリンク切れによるものと思ったのですが、
ほかのソフトはダウンロードできるのですが。プロバイダーとかモバイルWiFiによってはエラーになるとかあるのかもしれないですね。
どうも原因はこちらにあるようです。    
    



Detlefさんの学習データをAyaに組み込んでみました  投稿者:山下 投稿日:2015年 9月18日(金)17時40分19秒
Detlefさんの学習データをAyaに組み込んで強さを調べてみました。

10000playoutの自己対戦だと9割近く勝ち越すようです。驚きました。
計算時間はGPUが遅いこともあって4倍近くかかっています。

組み込み方は、DCNNが0から1までの着手確率を返すので、
それを1000倍して、個々の手のボーナスに掛けています。(0.64なら640を掛ける)
r *= 1000 というのが1000倍、という意味です。すべてのノード作成時に呼んでいます。

対局数は100局未満と少ないのですが、1000倍でも50倍でもほとんど同じようです。
勝率9割だとEloで+400近いですが、playoutは攻め合いとか分かっていないので
人間相手では+50〜+100程度ではないかと思います。

1手に10000 playout、自己対戦

勝率     勝/対局数
0.943    83/88      r *= 1000
0.897    78/87      r *= 500
0.913    84/92      r *= 200
0.932    82/88      r *= 100
0.914    85/93      r *= 50

個々の手のucb_rave の値の計算。最大の値の手を選ぶ
---------------------------------------------------------------
r = result_DCNN(pos(x,y));
if ( r < 0.001 ) r = 0.001;
r *= 1000;
MM_gamma *= r;

C = 0.31
ucb   = moveWins/moveCount + C * sqrt( log(moveSum+1) / moveCount );
rave  = raveWins/raveCount + C * sqrt( log((moveSum+1)*175) / ((moveSum+1)*0.48) );

W1 = (1.0 / 0.9); // from fuego
W2 = (1.0 / 20000);
beta = raveCount / (raveCount + moveCount * (W1 + W2 * raveCount));

K = 1200;
bias = 0.01 * log(1 + MM_gamma) * sqrt( K / (K + moveCount));

ucb_rave = beta * rave + (1 - beta) * ucb + bias;
---------------------------------------------------------------

10000playoutだとノードは900回ほど作られます。
GTS 450 だと1回17.4msなので15.6秒ほど余計にかかります。
10000playoutをDCNNなしだと1スレッドで5秒ほどです。5秒が20.5秒なので4倍遅くなります。
GTX 970を使えば1回1.6msなので1.4秒余計にかかり、6.4秒、と1.3倍遅くなります。
仮に12スレッドで毎秒2万playout、1手10秒だと29秒余計にかかり、3.9倍遅くなります。
Amazon EC2の g2.8xlarge だと4つGPUが入ってるので2倍遅いぐらいで済むかもしれません。

余談ですが、GPUを使う設定で同時に6プロセス動かそうとするとエラーになるようです。
5プロセスから同時にGPUにアクセスしてたのですがcaffeでは特に問題ないようでした。    



Re: Detlefさんの学習データをAyaに組み込んでみました  投稿者:HiraBot 投稿日:2015年 9月19日(土)01時24分11秒
データ興味深く拝見させていただきました
私は、すべてのノード作成時に呼ぶのは試しておりませんでした
10000playout ならぎりぎりで実行可能のように思えます
DNN 無しの HiraBot は 15000playout で 1d でしたので
400elo up すれば 5d になるかもしれませんね。
   



Re: Detlefさんの学習データをAyaに組み込んでみました  投稿者:山下 投稿日:2015年 9月19日(土)03時25分33秒
HiraBotさんはRootノードだけ、とのことですが
2手前の探索結果は利用されてないのでしょうか?
Ayaはハッシュ表を消さずに2手前の結果も利用するようにしたら勝率が5%ほど
上昇した記憶があります。    



Re: Detlefさんの学習データをAyaに組み込んでみました  投稿者:HiraBot 投稿日:2015年 9月19日(土)06時24分44秒
HiraBot の DNN 利用は root node だけです
root node だけで 90elo 向上しました。
HiraBot もハッシュ表を消さずにいます
勝率が 2〜3% 向上したと思います。
   



HiraBot の改良  投稿者:HiraBot 投稿日:2015年 9月19日(土)10時15分34秒
パターンファイルを変更した処、自己対局で 90elo 強くなったので
KGS でデータを取りました、KGS 2d のアカウントで playout 15000 です

旧プログラム 1331勝 744敗 勝率 64.1%
新プログラム 1118勝 469敗 勝率 70.4%

50elo の改良です、人との対局では自己対局の半分くらいの改良になっています

パターンファイルの変更の詳細は
1. 棋譜を KGS 高段者の 17万局に変更、以前はプロの 5万局でした
2. 3x3 のパターンをサイズ 4のハチの巣パターンに変更
3. 5x5 および 7x7 のパターンをサイズ 6のハチの巣パターンに変更
   



GPU 速度測定  投稿者:HiraBot 投稿日:2015年 9月19日(土)11時15分34秒
ニューラルネットでの GPU(GTX670) の速度を
Detlef Schmicker さんのデータを使用して測定しました

ubuntu, caffe 使用    7.9ms
Windows, cublas 使用 10.5ms

Windows プログラムは caffe を使用せずに cublas を直接呼び出しており
独自プログラムです、内訳は 6.5ms(cublas)、4.0ms(独自プログラム)
となっており、独自プログラムの性能が悪いようです。
   



Re: GPU 速度測定  投稿者:山下 投稿日:2015年 9月20日(日)06時20分20秒
情報ありがとうございます。
GTX670でも7.9msもかかるのですか。2.0msぐらいで終わるのかと思っていました。
HiraBotはDCNNなしでもかなり強くなっていたのですね。
一致率もプロの棋譜よりはKGSの方が高くなる傾向があるようで、
ソフトの棋力的にはプロでなくアマ高段者の棋譜の方がいい?のかもと思っています。

   



Re: GPU 速度測定  投稿者:gg 投稿日:2015年 9月20日(日)22時12分16秒
>ソフトの棋力的にはプロでなくアマ高段者の棋譜の方がいい?のかもと思っています。
KGSで走らせるならKGSの(高段の)棋譜
プロ相手の対局ならプロの棋譜が良い結果を産むはずです
もちろん,両者の良いとこ取りができればそれに越したことはありませんが
現在の技術(特徴が足りないのか汎化能力が足りないのかそれとも他?)ではまだ難しいようです    



25路盤ロボット  投稿者:HiraBot 投稿日:2015年 9月29日(火)06時58分42秒
DCNN で全ての層をコンボリューション層にすると盤サイズを変えても
データを流用出来ます、下記 DCNN を 19路盤のデータで学習させて
そのデータを使って 25路盤のロボットを作りました
KGS アカウントは WeakBot です

層数 20、全て 3x3、filter数 128 最終段は 1
   



Re: 25路盤ロボット  投稿者:山下 投稿日:2015年 9月29日(火)09時50分9秒
さっそく一局打ってみました。
違和感ない感じで自然ですね。
3x3だけなのですか。隅ではきれいな定石を打つので
7x7の範囲くらいまで大きく見てるのかと思っていました。    
    



Re: 25路盤ロボット  投稿者:gg 投稿日:2015年 9月29日(火)10時07分48秒
増やす方は間を繰り返すのだと思いますが,
減らす時はどうするのでしょうか?
19路から9路に縮めるのは無理な気がしますが.    



Re: 25路盤ロボット  投稿者:HiraBot 投稿日:2015年 9月29日(火)10時54分29秒
19路盤の場合は、3x3入力のネットを 19x19 個並べます
9路盤の場合は、3x3入力のネットを 9x9 個並べます
論より証拠、WeakBot は今 9路盤になっております。
   



CGFオープンが10月3日、4日に電通大で開催されます  投稿者:山下 投稿日:2015年 9月29日(火)17時49分11秒
3日(日)は9路、4日(日)は19路の大会です。

お申し込みは明日30日までとなっています。
ご参加可能な方はぜひお申し込みをお願いします。

CGFオープン
http://hp.vector.co.jp/authors/VA012620/
現在の参加予定者リスト
http://hp.vector.co.jp/authors/VA012620/cgf2015/list2015.html    



CGFオープン  投稿者:masatsune 投稿日:2015年 9月30日(水)13時24分51秒
こんにちは。

見学も可能との事なので、都合がつけば今回は見学させていただきたいと思っております。
よろしくお願いします。

講習会で作成したプログラムは、山下様のコードを大量に流用しているので、”自作プログラムに限る”に抵触しそうです。大量に書き直さないと。

プログラム自体は、持ち時間10分であれば gnugo level 10 といい勝負ができる(勝ち越せる?)ようになっています。ただし、相手は10秒も使いませんが。。。

マシンを担いで会場までいくのはたいへんなので、早くネットワーク経由で自宅のマシンにアクセスする環境を容易しないといけません。その方面の知識はほとんど無いのでこれから勉強です。

では、皆様のご健闘を期待しております。


   



Re:CGFオープン  投稿者:荒木(ark) 投稿日:2015年 9月30日(水)15時19分39秒
是非見学にいらして下さい。

他の方も、申し込み締め切りは本日9/30までですので、参加したい方は申し込みをお願いします。    



Re: CGFオープン  投稿者:山下 投稿日:2015年 9月30日(水)16時57分41秒
こんにちは。

masatsune様は十分なオリジナルの改良をされていますので
そのままで「自作のプログラム」として参加可能と思います。
現にGNU Goのソースを改良して参加予定の方もいらっしゃいます。
その方は、当日改良点などを口頭で説明していただく予定です。
もしよろしければ、ぜひご参加をお願いします。    



Re: 25路盤ロボット  投稿者:gg 投稿日:2015年 9月30日(水)20時22分53秒
CNNの並べ方ではなく,19路で学習した重みをどう間引くか
言い換えるとどの3x3を選ぶのかという質問だったのですが.    



Re: 25路盤ロボット  投稿者:HiraBot 投稿日:2015年 9月30日(水)20時55分47秒
同じ層の 3x3 はすべて全く同じデータです。
   



Re: 25路盤ロボット  投稿者:gg 投稿日:2015年10月 1日(木)00時28分28秒
>同じ層の 3x3 はすべて全く同じデータです。
それは面白い.学習時に束縛しているんですか?
その構造で隅と中央の違いをどうやって獲得しているのか.
可能なら今週の土曜日のCGFの例会で話をして頂きたい位です.    



Re: 25路盤ロボット  投稿者:HiraBot 投稿日:2015年10月 1日(木)01時55分36秒
通常は fully connected layer で
隅と中央の違いは処理していますが
今回は fully connected layer がないので
隅と中央の違いは入力データに持たせています
19路盤では入力データは 21x21 を 3面使用しています
2面は局面データ、1面は盤端情報です
盤端情報は、中央の 19x19は 0 盤端は 1 をセットしています
   
    



CGFオープン結果  投稿者:荒木(ark) 投稿日:2015年10月 4日(日)22時51分51秒
荒木です。
10/3,4とCGFオープンが行われました。結果は以下の通りです。
9路(10/3,総当たり、コミ7.5目、中国ルール、持ち時間10分、黒白はジャンケンで決定)
    彩|MC_ark|Ray|caren|迷ぃ碁|勝也|nlp|OKOJO|Melo|Tour|勝敗|順位
彩  |ー|○  |× |○  |○  |○ |○ |○  |○ |○ |8-1 |2位
MC_ark|×|ー  |× |○  |○  |○ |× |○  |○ |○ |6-3 |3位
Ray  |○|○  |ー |○  |○  |○ |○ |○  |○ |○ |9-0 |1位
caren |×|×  |× |ー  |○  |○ |○ |○  |○ |○ |6-3 |3位
迷ぃ碁|×|×  |× |×  |ー  |× |× |○  |○ |○ |3-6 |6位
勝也 |×|×  |× |×  |○  |ー |× |×  |○ |○ |3-6 |6位
nlp  |×|○  |× |×  |○  |○ |ー |○  |○ |○ |6-3 |3位
OKOJO |×|×  |× |×  |×  |○ |× |ー  |× |○ |2-7 |8位
Melo |×|×  |× |×  |×  |× |× |○  |ー |× |1-8 |9位
Tour |×|×  |× |×  |×  |× |× |×  |○ |ー |1-8 |9位

19路(10/4,スイス式、コミ6.5目、日本ルール、持ち時間30分、黒白は組み合わせプログラムにより決定)
順位|プログラム名|1回戦|2回戦|3回戦|4回戦|5回戦|  Pt | SOS | SB  |MD
  1 |    彩   |  8+ |  4+ |  2+ |  3+ |  6+ | 5.0 |12.0 |12.0 |8.0
  2 |  Nomitan   |  5+ |  3+ |  1- |  4+ |  7+ | 4.0 |14.0 | 9.0 |5.0
  3 |    Ray     |  6+ |  2- |  7+ |  1- |  5+ | 3.0 |14.0 | 5.0 |2.0
  4 |  MC_ark    |  7+ |  1- |  5+ |  2- |  8+ | 3.0 |12.0 | 3.0 |1.0
  5 |  Kugutsu   |  2- |  6+ |  4- |  8+ |  3- | 2.0 |12.0 | 2.0 |0.0
  6 |   caren    |  3- |  5- |  8+ |  7+ |  1- | 2.0 |11.0 | 1.0 |0.0
  7 |   勝也     |  4- |  8+ |  3- |  6- |  2- | 1.0 |12.0 | 0.0 |0.0
  8 |  迷ぃ碁    |  1- |  7- |  6- |  5- |  4- | 0.0 |13.0 | 0.0 |0.0



コンピューター将棋「目的達した」終了宣言へ  投稿者:山下 投稿日:2015年10月10日(土)18時22分4秒
今日のNHKの18時5分ごろのニュースで放映されました。

情報処理学会が2010年の清水女流と対戦した「あから2010」
の時に立ち上げたプロジェクトが終了したとのことです。

コンピューター将棋「目的達した」終了宣言へ
http://www3.nhk.or.jp/news/html/20151010/k10010265711000.html    



Re:コンピューター将棋「目的達した」終了宣言:時代は 囲碁へ。  投稿者:masatsune 投稿日:2015年10月10日(土)19時08分57秒
開発者の方々は、囲碁の方へシフトしてくるのでしょうか。
チェスの時は Deep Blue の勝利の後、開発者が減ったと聞いています。

自分はいろいろなアイデアを実装し、実験をしているのですが、裏切られてばかりです。
でも、面白いです。

1年後の CGFオープン には出場し、上位入賞したいと思っています。    



Re:コンピューター将棋「目的達した」終了宣言:時代は 囲碁へ。  投稿者:gg 投稿日:2015年10月11日(日)18時25分24秒
WCSCに初参加で優勝したボナンザに相当するオープンソースの囲碁ソフトが
出現すればどっと増える可能性はあると思いますが現状では難しいでしょう.
囲碁はMCシミュレーションが有る分将棋より難しいし,19路ではまだかなり差があるし.    



ニューラルネット  投稿者:HiraBot 投稿日:2015年10月13日(火)10時53分44秒
caffe によるニューラルネットの学習に再度挑戦しています、中間結果です
20層で内訳は、7x7-96 1層,3x3-96 2層,3x3-64 2層,3x3-48 14層,全結合層 1層
学習データは 3000万局面、テストデータは 170万局面で 0.1epoch 毎にテストした
以前は accuracy が 37% 程度でしたが 3epoch 学習した所 41.3% まで改善しました。
Detlef さんの予測率は 44% ですからあと少しです

Detlef さんのと対局した所  306勝 194敗 勝率 61% +78elo

勝ち越したのには驚き対局プログラムで予測率を測定した所 41.2% でした
Detlef さんより予測率が悪いので手の予測精度は悪いと思われます
グラフは学習が進むにつれて accuracy が向上する様子を描いたものです
横軸が学習 epoch 数、縦軸が accuracy です
青グラフが 12層、赤グラフが 20層のニューラルネットです
層数を増やすことで accuracy が向上しています

    



Re: ニューラルネット  投稿者:山下 投稿日:2015年10月14日(水)01時53分32秒
詳細な実験情報ありがとうございます。
Detlefさんのより強くなった、とのことですごいです。
20層はかなり深い印象を受けます。
12層と比べて1局面あたりの時間はどのくらいかかるのでしょうか?
ただ20層のグラフを見た感じですとこれ以上伸びるのは難しいそうです。

棋譜はKGSを使われていますか?
私がDetlefさんのデータでプロとの一致率を測ると44%ではなく、39.3%で
プロの棋譜の方が一致率は低くなりやすいと思います。
また一致率が低くてもChristopher Clarkのデータではプロの棋譜を使った方が
GNU Go相手だと強い、という結果なので、一致率には眼をつぶってプロの棋譜を
使った方がいいのかも、と思っています。

[Computer-go] Detlef's DCNN data
http://computer-go.org/pipermail/computer-go/2015-October/008031.html    



Re: ニューラルネット  投稿者:nlp 投稿日:2015年10月14日(水)05時41分45秒
突然の投稿、大変失礼いたします。
私もDCNNによる棋譜学習を試みているのですが、学習データが3000万局面はなかなか手が届きにくい量です(KGS高段者の棋譜全部でしょうか)。1 epochの学習に何時間ぐらいかかるものでしょうか。よろしければご教示下さい。
   



Re: ニューラルネット  投稿者:HiraBot 投稿日:2015年10月14日(水)06時59分6秒
nlp 様 1epoch の学習に 1日かかりました、ネットワークを拡張すれば更に時間がかかります

時間を測定しました、CPU で 12層 8.3ms, 20層 11.2ms でした

棋譜は学習には 35% くらいプロ 65%くらい KGS です
対局プログラムで予測率を測定したときは 100% KGS です

同じ MCTS に Detlef さんのと私のを組み込んで対戦した所
私のが 94勝 106敗 勝率 47% でした

Detlef さんとの直接対戦では成績が良いのですが MCTS に組み込むと Detlef さん
のほうが良い結果が出ています、この理由を考えてみたのですが
私のは入力データにダメ数情報を持たせているため、石の取りと逃げに敏感になっていて
それが直接対戦には有利に働いたが MCTS ではあまり役に立たなかったと思います

Detlef さんのが 70ms に対して私のが 11ms まだまだ拡張の余地がありそうです。
   



Re: ニューラルネット  投稿者:nlp 投稿日:2015年10月14日(水)07時19分30秒
?HiraBot様、早速貴重な情報ありがとうございました。この条件で1日ならば早いと感じました。    



24のレーティングのインフレ実験  投稿者:山下 投稿日:2015年10月15日(木)23時18分26秒
棚瀬さんの24のレートがインフレしている、という仮説を実験してみました。
レート100点差以内の人とだけ対戦しているとインフレしやすい、というものです。

実験は10000人のレート1500の人が1000局対戦した、としています。
無差別に対局するとほぼ1400から1600の範囲に入ります。
150点差以内まではほぼ問題ない感じなのですが100点差以内、とすると
急激にインフレが起こるようです。
50点差以内のみ対局だと、最小 924、最大 2092 まで行きました。
レートの計算は24独自ではなく、Eloを使ってます。

棚瀬さんの元のツイート
https://twitter.com/tanaseY/status/654497230838083584
24のレーティングがインフレ(またはデフレ)する理由、というブログでも書こうかと
思いつつめんどくさいので、要点を書くと、例えば1万人の実力が全く同一の集団が
いたとし、全員1500から始めるとする。そのうちたまたま1600になる人達や1400になる
人達が出てくる。(続く)
すると1600の人達は1400の人達との対局を拒否するようになり、その中でたまたま1700に
なる人達が出てくる、という具合に母集団の大きさの許す限り実力が同一にも関わらず
いくらでもレーティングの分布だけは広くなっていく。これが24で起きた上位陣のインフレの
原因で思われる。(続く)
24のレーティングの例えば200点差から期待される上手の勝率は0.75だが、実際はそんなに
勝てない、つまり下位と対戦するのは不利、ということを皆が学習してしまい、ますます
レーティングの膨張に寄与してしまう。(続く)
誰の挑戦でも受ける人と、上位に挑戦ばかりしている人では同一実力でもレーティングは
何百点も違ってくるし、複数アカウントを持っている人がちょっとした運の差で、一つの
アカウントは3000点、他は2600点とかいうことも普通に起きると思われる。 
    
    



Re:24のレーティングのインフレ実験  投稿者:masatsune 投稿日:2015年10月16日(金)00時14分59秒
実力がレーティングで1300点、1400点、1500点、... 1800点の人が10000人いるという様な初期条件であれば、極端なインフレ、デフレが起こるのは、両端のグループ(1300点と1800点)のみだと思うのですが。。。
で、トップグループでは、インフレが進みます。
実際、チェスでもレーティングのインフレが問題になっており(Wiki のイロレーティングの項から)、グランドマスターの増加の原因ではないかといわれています。



Re: 24のレーティングのインフレ実験  投稿者:山下 投稿日:2015年10月17日(土)00時39分32秒
1000局ではなく10000局にしても150点差で拒否、のグラフは変わりませんでした。
10000局で150点以下をもう少し調べると、135点差を拒否、でペタンと下に張り付くようです。 



Re: ニューラルネット  投稿者:HiraBot 投稿日:2015年10月17日(土)11時46分29秒
ネットワークを拡張する前に 20層の DCNN の学習を続けたらどうなるか試した処
accuracy が 41.3% から 42.9% になりました
この辺で妥協して学習結果を HiraBot に取り込んでも良いのですが
もうひと頑張りしてネットワークを拡張し accuracy 44% を目指したいと思います
次は層数を 16層に減らしてその代わり filter 数を増やしてみます



レーティングのインフレ  投稿者:kappaiota 投稿日:2015年10月18日(日)10時36分37秒
1年ちょっと前に81Dojoの開発者さんが下記のブログを書いて
おられましたね。

http://hidetchi81.blog.jp/archives/12993833.html

こちらでは、192点差というのをメルクマールとして、Rの
計算方法を変えているとおっしゃっています。

※ 文中では(インフレではなく)デフレと書かれていますが、
観点の違いだと思います…よくわかりませんが…    



GTP2NNGSでのGoGuiの使用  投稿者:nlp 投稿日:2015年10月18日(日)12時56分1秒
 NNGSによる通信対局、コンピュータ囲碁フォーラムのホームページで公開されているGTP2NNGSを使用させていただき試したところ、コマンドのやり取りはなんとか出来るようになったようです。しかし観戦ができないので、GoGuiが使用できればありがたいのですが可能でしょうか。
 GTP2NNGSのconfig.rbで'command'=>'java -jar /User/user/gogui.jar -program "/User/user/nlp"'
などとしてみましたが、対戦させようとした2つのPCともに空白の碁盤を表示するところまでで(GTPのclear_boardまで)、コマンドをやり取りするところまで至りませんでした。初歩的な質問で恐縮ですが、GoGuiが使用可能でしたら教えていただければ幸いです。    



Re: レーティングのインフレ  投稿者:山下 投稿日:2015年10月18日(日)23時23分9秒
81Dojoの対戦相手を決める仕組みはよく分かってないのですが
点数差が大きいときに計算を変えるだけだと、点数の近い人だけ対戦するインフレ、
は防げないような気がします。

もっとも普通、トップに近い人の数はかなり少ないので、このインフレが
実際どの程度起きてるのかは微妙かもしれません。    



Re: GTP2NNGSでのGoGuiの使用  投稿者:山下 投稿日:2015年10月18日(日)23時33分50秒
goguiを使いつつ、NNGSに繋ぐのは今のところ出来ない、と思います。
ただ、NNGSでの対局を観戦するだけなら、jago を使えば見れます。
CGFオープンやUEC杯の時にもこれで見ています。

jago
http://www.rene-grothmann.de/jago/    



Re: GTP2NNGSでのGoGuiの使用  投稿者:nlp 投稿日:2015年10月19日(月)03時52分7秒
山下様、ありがとうございました。jagoを試してみます。    



千田5段のNHK杯の自戦記が熱いです  投稿者:山下 投稿日:2015年10月21日(水)23時25分27秒
NHK講座テキスト11月号に千田5段が8月の千田−阿久津戦の自戦記を書かれています。
将棋ソフト、Apreyでの分析を中心に書かれており、
「NDFが理想」
「従来の方法(練習、研究)がぬるいものに変わったように思える」
『人間の終盤が正確ではないことが分かった』(兄弟子の言葉)
Aperyとは持ち時間1時間で勝率2割ほど
「勝てなくても挑まなくてどうするのか」

と熱い内容で面白かったです。

題名は「コンピュータに触れた者たち」です。
NHK将棋講座 2015年11月号
http://sp.nhk-book.co.jp/text/detail/index.php?webCode=09191112015    



コンピュータ将棋のアルゴリズム HTML版  投稿者:山下 投稿日:2015年10月22日(木)23時58分16秒
うさぴょんの池さんが著書である「コンピュータ将棋のアルゴリズム」の
HTML版を公開されています。

コンピュータ将棋のアルゴリズム HTML版
http://homepage1.nifty.com/Ike/ComShogi/index.html
池さんのtwitterでの告知
https://twitter.com/YasuhiroIke/status/655706174424125440
コンピュータ将棋のアルゴリズム―最強アルゴリズムの探求とプログラミング
http://www.amazon.co.jp/dp/4777511103    
    



ブラウザ将棋アプリ  投稿者:Osamu 投稿日:2015年10月25日(日)11時03分37秒
はじめまして。
WebGL対応のブラウザ将棋アプリを作ってみました。
興味のある方はお試しください。

http://earthlovepuzzle.com/
   



Re: ブラウザ将棋アプリ  投稿者:山下 投稿日:2015年10月25日(日)22時52分23秒
ブラウザだけでこれだけきれいな3D将棋盤が実現できるのですね。
びっくりしました。    



Re:ブラウザ将棋アプリ  投稿者:Osamu 投稿日:2015年10月26日(月)05時31分1秒
ありがとうございます。
コンピュータの強さも、もう少し強くしたいです。
   



Re: ニューラルネット  投稿者:HiraBot 投稿日:2015年10月26日(月)11時20分25秒
ニューラルネットの学習が思うように進まないので、基本に立ち返って
基礎となるデータを取りました。filter 数を変えて accuracy がどう変わるかを調べた。
構成は 12層で 内訳は、3x3 11層 全結合層 1層で 3x3 の filter 数を 24/32/48/64
と変えた時のグラフです、横軸が学習 epoch 数、縦軸が accuracy です。
filter 数を増やすと見事に accuracy が上昇しています、Detlef さんのは
filter 数 128 でした、128 くらい欲しいのですが学習時間が大問題です。

次は層数を 4/6/8/12/16 と変化させてデータを取る予定です。

    



大阪、新世界の将棋道場「王将」が閉店  投稿者:山下 投稿日:2015年10月28日(水)01時13分43秒
毎日新聞によると新世界の「王将」が25日で閉店になったそうです。
1997年に大田学さんとYSSがTV局の企画で対局したのもこの道場でした。

将棋クラブ:新世界「王将」が投了 「ふたりっ子」でも…
http://mainichi.jp/feature/news/20151026k0000e040208000c.html
大田学さん(真剣師)との通天閣対戦記
http://www.yss-aya.com/oota.html    



Re: ニューラルネット  投稿者:HiraBot 投稿日:2015年10月29日(木)20時17分30秒
層数 n, 内訳 3x3-48 n-1層, 全結合層 1層, n=4/6/8/12/16
filter 数を変えた時と異なりはっきり頭打ちになっています
Detlef さんのは 20層でしたが 12層で十分だと思います
filter 数は 128 にするつもりですが
1週間以上学習時間がかかりそうです。

    



Re: ニューラルネット  投稿者:山下 投稿日:2015年10月30日(金)17時25分20秒
情報ありがとうございます。
グラフを見ると、層は32層まで増やしても1%ぐらいしか伸びない感じで
filterは増やせば増やすほどまだ比例して上がっていく感じでしょうか。
   



Re: ニューラルネット  投稿者:HiraBot 投稿日:2015年11月 6日(金)00時57分43秒
accuracy 43.7% になりました、44% にはあと一息ですが
一段落の意味で公開します(Windows 専用、CPU処理)
http://kiyoshifk.dip.jp/kiyoshifk/apk/DCNN-windows-cpu-No133.zip

構成は 12層 内訳は 3x3-128 11層 全結合層 1層
出力は黒番で下のような感じになります。

 ABCDEFGHJKLMNOPQRST
1┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐
2├┼┼┼┼┼┼┼┼┼┼┼┼○●●●┼┤
3├┼┼○┼┼┼┼┼┼┼┼┼●○●○○┤
4├┼┼┼┼┼┼┼┼┼○┼┼○○○●○┤
5├┼┼┼┼┼┼┼┼┼┼┼┼┼┼●●┼┤
6├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼●┼┤
7├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
8├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
9├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
10├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
11├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
12├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
13├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
14├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
15├┼┼┼┼┼┼┼┼┼┼┼┼┼┼●┼┼┤
16├┼┼┼●┼┼┼┼┼┼┼┼┼┼┼┼┼┤
17├┼┼┼┼┼┼┼┼┼┼┼┼┼┼○┼┼┤
18├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤
19└┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┘

time=53ms

0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 13  0
0  0  0  0  0  0  0  0  0  0  0  0 86  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
   



Re: ニューラルネット  投稿者:shallow 投稿日:2015年11月 7日(土)15時46分35秒
HiraBot さん、はじめまして
私は、CNNで画像分類とかをしています。
囲碁は非常に弱くて、良く分からないところもあるのですが、
碁盤を2D平面データに見立てて、そのままCNNに入力するシンプルな構成で、良い結果が出ていることに、驚いています。
HiraBotさんの構成を見まして、画像分類では常套手段の手法が使われていないように見えましたので、
(既に対応されている、もしくは検討中かも知れませんが)気付いた改善手法について、書かせていただきます。

1.prediction時のデータ増量評価
 碁盤は、90度回転と、反転で不変な情報だとおもいますので、
 この変形で、4x2の8通りにデータが増量できるかと思います。
 予測時に、この8通りのデータの結果を平均するだけで多少スコアは伸びると思います。
 但し、処理時間も8倍になります。
2.train時のデータ増量
 上記と同じで、学習時に、1データ単位、もしくは、mini-batch単位で、乱数で8通りの変形のどれかを選んで、
 学習すると、多少学習データを増やすことが出来ます。
 但し、元の学習データ内に、既に増量されているものが含まれている場合には、意味のない操作になります。
3.マルチカラムでの評価
 CNNの重み係数初期値や、データの取り出し順序などを乱数で変えて、
 複数のCNNを作成します。そして、予測時は、その複数のCNN出力値結果を平均し、最終結果とします。
 これも、ネットワーク数に比例して処理時間が増えます。
4.Leaky ReLU
 一般のReLUは、正側が1の傾きで、負値の入力は0に変換しますが、
 これは、負値に対しても、1以下の傾きを持たせるものです。
 -0.1 〜 - 0.3 ぐらいで使われていることが多いですが、この辺りは 予測試験で試しながら、
 最適値を見つけていくことが一般的です。但し、性能向上は小さいと思います。

以上、ご参考まで    



Re: ニューラルネット  投稿者:HiraBot 投稿日:2015年11月 7日(土)22時55分31秒
shallow さんご意見有難うございます、いづれも私のやってない事です
簡単に出来る方法として、1.prediction時のデータ増量評価
を最初にやろうと思います。
   
    



Re: ニューラルネット  投稿者:shallow 投稿日:2015年11月 8日(日)05時28分41秒
HiraBotさん、prediction時のデータ増量を試していただけるようで、楽しみにしております。
が、結果がでなかったらスミマセン。

後、Leaky ReLUの負側の傾きを
-0.1 〜 - 0.3
と書いてしましましたが、
0.1 〜 0.3
の間違いです。

囲碁や将棋は手を読む、と言う思考過程を経るものと思っていたのですが、
CNNでは、そのような多分木を辿るような情報処理というよりは、
良くプロなどが「手が見える」と言う多くの経験からくる感覚を再現しているような気がします。
しかしプロでも最終的には、直感で見えた手を読み進めて、妥当性の裏付けを取ると思いますので、
そのあたりに、CNNの限界が出てくるかも知れません。
CNNで評価関数を作成したり、CNNとモンテカルロ法の融合など考えてみるのも調査テーマとして面白そうです。

とは言え、CNN自体、まだまだ進化過程にありますので、画像系で効果が確認されたアルゴリズムのアナロジーで、
行くところまで行ってしまうような気もします。    



Re: ニューラルネット  投稿者:HiraBot 投稿日:2015年11月 8日(日)11時50分44秒
shallow さん、データ増量評価でのデータを取りました
KGS 高段者の 111局(約20000局面) での手の予測率です

増量評価しない場合  46.1%
増量評価した場合    47.1%

1% 向上しており効果はあったと思います
ただ 8倍の計算時間が掛かるため採用するかどうかの判断は難しいです

Detlef さんのは同一棋譜で 44.6% でしたからやっと Detlef さんを超えました
   



Re: ニューラルネット  投稿者:shallow 投稿日:2015年11月 8日(日)13時10分43秒
HiraBotさん、とりあえず、若干の効果があったので、良かったです。
処理時間に関しては、計算コスト対効果は低く、
採用するかどうかは、私が口を挟む話ではありませんので、
最適解をご判断いただければと思います。

prediction時のデータ増量と同様に、Multi Colomn方式も同様の傾向だと思います。
しかし、Multi Column方式で面白いのは、同種のネットワークで構成すると、
効果は、prediction時のデータ増量とそれほど変わらないと思いますが、
異種で構成すると、大きな効果が出ることがあることです。
異種というのは、ネットワークの構成や、データの前処理や、データの情報量などを変えたものです。
個々のネットワークで性能が出なくても、データの特性が補完関係にある場合は、
単一で性能の良いネットワークの同種Multi Column よりも性能が出ることがあります。
モンテカルロ法との融合が面白そうと言いましたのは、この経緯からそう思いました。
ただ、この異種の組み合わせの良し悪しの判断は難しく、カットアンドトライで職人技なところがあり、
時間も大量に使うことになってしまいます。

CNNが進化過程にあると言いましたのは、上記の単純平均する過程や、ネットワーク構成を試行錯誤する点は、
学習で自動最適化する余地があると考えているからです。

   



Re: ニューラルネット  投稿者:shallow 投稿日:2015年11月 8日(日)13時55分15秒
過去ログを読んでおりましたら、モンテカルロ法との融合は、既に山下さん、HiraBotさんが検討されていて効果も確認されていたようですね。失礼しました。
各結果の線形和を取る形で十分効果が出ていると思いますが、
更に狙うとすると、モンテカルロ法の出力結果を、
碁盤データに、1ch追加し、CNN学習すると言う手があるかもしれません。

   



Re: ニューラルネット  投稿者:HiraBot 投稿日:2015年11月 8日(日)18時39分42秒
>更に狙うとすると、モンテカルロ法の出力結果を、
>碁盤データに、1ch追加し、CNN学習すると言う手があるかもしれません。

私もこの方法は考えたのですが、3000playout で 3000万局面のデータを用意するには
約3か月の計算時間が掛かるため諦めました。
   



Re: ニューラルネット  投稿者:shallow 投稿日:2015年11月 9日(月)00時40分46秒
> 私もこの方法は考えたのですが、3000playout で 3000万局面のデータを用意するには
> 約3か月の計算時間が掛かるため諦めました。

既に考えられていたとは、流石ですね。ただ、計算量がネックになっているとは、残念な限りです。
難しいとなると、尚更結果が気になりますね(笑)。

そうしますと、中間解としては、
何かしらの経験則で融合モデルを考えていく方法があるかと思うのですが、
例えば、分岐の多い序盤ではCNNが有利で、分岐の少ない終盤はモンテカルロ法が有利との仮説が成り立つのであれば、
手数によって、CNNとモンテカルロ法の重みを変えていくモデルもあるのではと思います。

また、CNNの結果候補をモンテカルロ法で評価する方法もあるかと思いましたが、よくよく考えると、線形和を取る方法と結果的には変わらないですね(苦笑)。    



Re: ニューラルネット  投稿者:HiraBot 投稿日:2015年11月 9日(月)07時40分30秒
モンテカルロと CNN の融合方法として、モンテカルロでは 20〜30 手の候補を挙げて
その候補について読むので CNN で得られた手をこの候補に入れる方法があります
HiraBot では root node でのみ CNN 計算を行い二段から三段になりました
山下さんは全てのノード(10000playout で 900node 程度) で CNN 計算を行い
自己対戦で 9割の勝率を挙げています
私も全てのノードで CNN 計算を行いたいのですが、計算時間がネックになり無理でした。
   



Re: ニューラルネット  投稿者:shallow 投稿日:2015年11月10日(火)00時58分31秒
> モンテカルロと CNN の融合方法として、モンテカルロでは 20〜30 手の候補を挙げて
> その候補について読むので CNN で得られた手をこの候補に入れる方法があります

そうでしたか。ご説明ありがとうございます。過去ログをきちんと読んでおらず失礼しましたm(__)m。
この方法が人間の思考手順に近く、1つの理想形のような気がします。
こちらの場合は、予測時の計算時間がかかるようで、現行のアルゴリズムでは、GPGPU前提なんでしょうね。

後、過去ログに、CNNで盤面の隅と中央の区別の話がありましたが、確かに、畳み込み層では、
局所特徴の相対的な位置関係が抽出されるだけなので、入力から奥深い最後の全結層1層だけで絶対座標の判断をするのは、
心許なくも思いましたが、文献を少し読んでみましたら、
http://machinelearning.wustl.edu/mlpapers/paper_files/icml2015_clark15.pdf
As the networks increased in size using more than one fully connected layer at the top of the network became unhelpful.
とあり、全結層を2層以上にしても、余り効果がないそうで、少し画像系とは違うと思いました。
ただ、層数の少ないネットワークとのマルチカラムで効果が出るかもしれません。

その他、CNN向上の小ネタとして、畳み込み層でDropoutをする方法があります。
http://jmlr.org/papers/volume15/srivastava14a/srivastava14a.pdf
に記載されていますが、例えば、
p = (0.9,0.75,0.75,0.5,0.5,0.5) // p値が大きいと Drop率が下がる
と出力側から離れるに従い、Drop率を下げていく方式です。
一般に、Dropoutをすると収束が遅くなり、また、出力側から離れる程効果も下がりますので、効果は大きくはないと思います。

   



Re: ニューラルネット  投稿者:HiraBot 投稿日:2015年11月10日(火)10時28分35秒
>一般に、Dropoutをすると収束が遅くなり、また、出力側から離れる程効果も下がりますので、効果は大きくはないと思います。

私の場合1週間の学習で 2〜4epoch しか実行出来ません(1epoch=3000万局面)
このように epoch 数が少ない場合 Dropout は効果がないだろうと思い
試さずにいました。
   



Re: ニューラルネット  投稿者:shallow 投稿日:2015年11月11日(水)01時46分40秒
> 私の場合1週間の学習で 2〜4epoch しか実行出来ません(1epoch=3000万局面)

計算コストのために、十分な学習ができないのは、もどかしいところですね。
学習データが潤沢にあるのは、Deep Learningにはとても好都合ではありますが。

これは、話半分で聞いていただきたいですが、
Batch Normalizationと言う方法があって、Caffeでも恐らく扱えると思うのですが、
学習時miniバッチ単位で、レイヤ間のデータを正規化する方法があり、
http://arxiv.org/abs/1502.03167
学習の収束を早めるとともに、accuracyも向上すると言っているのですが、
私自身はどちらの効果も確認できず、また他の文献で、この手法を利用したものが知る限りありませんので、
特定条件下に対して有効な手法だと考えています。    
    



Re: ニューラルネット  投稿者:HiraBot 投稿日:2015年11月11日(水)08時27分58秒
>Batch Normalizationと言う方法があって、Caffeでも恐らく扱えると思うのですが、

Local Response Normalization (LRN) レイヤーのことでしょうか?
このレイヤーも一度は採用を考えたのですが alpha や beta というパラメータを
いくつぐらいにすればよいか全く見当がつかなかったため見送りました
効果があるのならいづれテストしたいと思います(現在2週間くらいかかる学習中で出来ない)。



Re: ニューラルネット  投稿者:shallow 投稿日:2015年11月12日(木)02時25分48秒
> Local Response Normalization (LRN) レイヤーのことでしょうか?
Batch Normalization(BN)は、LRN とは、違いますね。
LRNでは、1データ当たりで、同一座標の異なるチャネル間での正規化で、
画像分類では、テンプレート的存在であった、画像分類コンペILSVRC2012で優勝した、 いわゆるAlexNetで使用されていたものですが、
誰もが知っていたにも関わらず、今日使用されていないのは、余り効果が確認できなかったということだと思います。
私自身効果が良く確認できませんでした。
ちなみに、AlexNetの元論文には、α= 10^-4, β = 0.75 とありました。
http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf

後、これは、BNにも言えることなのですが、
囲碁では、pooling は効果がないそうで、
画像のように、多少の幾何変形や、レベル変動にも不変な情報に一般化するアナログ情報というよりも、符号情報的な要素があるので、
絶対値情報が失われてしまう正規化は、馴染まない気がしてます。。
(自分で言い出しておいてスミマセン)

また、今現在の画像分類におけるテンプレート的存在は、ILSVRC2014 分類部門2位の Oxford Zissermanグループの、
VGG16かと思っています(Caffeモデルもあります)。
http://www.robots.ox.ac.uk/~vgg/research/very_deep/


> (現在2週間くらいかかる学習中で出来ない)

2週間かかるのは、根気がいりますねー
良い結果がお聞きできることを期待しております。    



Re: ニューラルネット  投稿者:HiraBot 投稿日:2015年11月12日(木)07時52分7秒
>2週間かかるのは、根気がいりますねー
>良い結果がお聞きできることを期待しております。

現在学習中のネットは GoogLeNet にヒントを得たもので
1層につき 1x1-48 と 3x3-48 と 5x5-48 の convolution を計算し
その出力を concatenation して次層に渡すものです
中間結果では accuracy が 0.8% 程度向上しています

グラフは学習 epoch 対 accuracy です赤線が学習中のネットの中間結果
青線が best データ(4epoch で accuracy 43.7%)です。

    



CGOSを動かしてみました  投稿者:山下 投稿日:2015年11月12日(木)14時47分21秒
Detlefさんの自宅サーバのCGOSが長いこと止まっていたので
私のVPSで9路と19路を走らせてみました。9路は持碁ありのコミ7目にしています。
半年以上は走らせるつもりです。
13路は以前からのものがそのまま動いています。

           time       server                port    komi
9x9      5 minutes    yss-aya.com           6809    7.0
19x19   15 minutes    yss-aya.com           6819    7.5
13x13   10 minutes    cgos.boardspace.net   6813    7.5

http://www.yss-aya.com/cgos/
9路  http://www.yss-aya.com/cgos/9x9/standings.html
19路 http://www.yss-aya.com/cgos/19x19/standings.html

CGOSへの繋ぎ方
http://www.yss-aya.com/bbs_log/bbs2009.html#bbs169    



UEC杯の締め切りは12月10日まで  投稿者:山下 投稿日:2015年11月12日(木)14時50分56秒
来年の3月のUEC杯ですが、申し込み締め切りが今年は
12月10日まで、とかなり早くなっています。
また、今年の電聖戦は小林光一9段に決まっています。

第4回電聖戦対戦棋士決定/プレスリリース
http://www.uec.ac.jp/news/announcement/2015/20151105-2.html

2015年 UEC杯
http://jsb.cs.uec.ac.jp/~igo/    



Re: ニューラルネット  投稿者:shallow 投稿日:2015年11月13日(金)01時15分58秒
> 現在学習中のネットは GoogLeNet にヒントを得たもので
> 1層につき 1x1-48 と 3x3-48 と 5x5-48 の convolution を計算し
> その出力を concatenation して次層に渡すものです
> 中間結果では accuracy が 0.8% 程度向上しています

既に、GoogleNetのInceptionモジュールに手を出されていたとは、恐れいりました。
しかも明らかな性能向上ですね!
GoogleNetは、性能を出すための調整が難しいと聞いていたので、話題に出しませんでした。
BNは、GoogleNetと相性が良いのですが、、矢張り、前に書いた画像と囲碁データの違いで、うまく行く可能性は高くないと思います。

後、ようやく気付いたのですが、囲碁のDNNで文献では、読んだ限りでは、Dropoutは使用しているとの記載はなく、
pooling が効かないのと同様に、Dropoutも効かないということですかね。
考えてみれば、盤面全体の情報をフルに分析しないと、次の手の判断が出来ない囲碁で、半分データを抜いて、抜いた状態の如何にかかわらず、
同じ判断させてしまうのは無理がある気がしますね。
全結層では、ある程度データが抽象化されているとは思いますが。


また、VGG16の文献を読みなおしましたが、NINを使っていると思い込んでいたのですが、stride 1の畳み込み層を隣接させる構成になっていて、
使用されていませんでした。NINが、画像分類での常套手段とは言い過ぎなので、取り下げさせてください。
VGG16では、予測時の増量動作について、高速処理のために、少し工夫しているところがありまして、入力画像を反転させたりするのではなく、
入力画像の入力は1回で、全結層の入力地点のマップデータを、反転させたりして全結層の処理について増量処理をしているようです。

   



北京の大会はDolBaramが優勝  投稿者:山下 投稿日:2015年11月14日(土)12時45分51秒
今、中国の名人、連笑と4子でDolBaramが対戦しています。
一番手直りだそうです。

1st DolBaram
2nd Zen
3rd ManyFaces of Go
4th Ray

棋譜中継
http://51wq.lianzhong.com/yidongwq/index.html
Mylin Valley The World Computer Weiqi Tournament
http://51wq.ourgame.com/icgoaien.aspx
写真付きのニュース
http://51wq.lianzhong.com/Home/NewsDetails?newsID=539&newsCategoryName=%25e7%2584%25a6%25e7%2582%25b9%25e6%2596%25b0%25e9%2597%25bb
   



Re: 北京の大会はDolBaramが優勝  投稿者:荒木(ark) 投稿日:2015年11月14日(土)15時04分46秒
今棋譜中継とニュース見たのですが、連笑名人が勝ったように見えます。最終手は黒ですが、形勢は白が大分良いと思います。Operator Resignでしょうか。    



Re: 北京の大会はDolBaramが優勝  投稿者:山下 投稿日:2015年11月14日(土)16時53分38秒
形勢は見てもさっぱり分からないのですが
下のページの最後のほうで6子、とか書いてあるので、3番手直りの
最初の4子局は連笑名人が勝ったような雰囲気ですね。

対人間ではマシンスペック制限はないようなのでUEC杯と同じなら
多分DolBaramは16コアのマシンでしょうか。
直接名人がPCを操作してるのが少し意外でした。

http://51wq.lianzhong.com/Home/NewsDetails?newsID=550&newsCategoryName=%25e7%2584%25a6%25e7%2582%25b9%25e6%2596%25b0%25e9%2597%25bb    



CGOS  投稿者:HiraBot 投稿日:2015年11月14日(土)20時23分26秒
DCNN-Detlef と DCNN-No133 を CGOS に出場しました
Deep learning で私の学習させたデータが Detlef さんのデータに比べて
どれくらいの強さか調べるためです、山下さんに感謝して使わせてもらっています。
   
    



Re: CGOS  投稿者:山下 投稿日:2015年11月15日(日)07時52分35秒
走らせて頂いてありがとうございます。
DCCNはFuegoくらいにも勝っていて論文どおりの強さですね。
何も考えなくても相当強い、というのはなかなかショックです。
ただ、2眼で活がわかってないので、たまにAya1PO6くらいにも必勝から
負けたりしているようです。
http://www.yss-aya.com/cgos/19x19/SGF/2015/11/14/1529.sgf
リストにない対戦の棋譜が探せないのは不便ですので何か探せる方法を
考えてみます(上の棋譜はサーバからgrepで探しました)

HiratukaはKGSの実績どおりさすがの強さで手強いです。



Re: 北京の大会はDolBaramが優勝  投稿者:山下 投稿日:2015年11月15日(日)10時51分10秒
中国の連笑名人(lian xiao)とDolBaramの5子局が行われているようです。
サーバのトラブル?なのか3つ同じようなのがあります。
09:12分開始のものが本物でしょうか。

棋譜中継
http://51wq.lianzhong.com/yidongwq/index.html    



Re: 北京の大会はDolBaramが優勝  投稿者:山下 投稿日:2015年11月15日(日)11時50分22秒
連笑名人が5子でも勝ったみたいです。
最後は6子局ですか。いやはや。    



Re: 北京の大会はDolBaramが優勝  投稿者:荒木(ark) 投稿日:2015年11月15日(日)12時24分15秒
棋譜からの判断ですが、連笑名人、5子局の時の方が余裕があったように見えます。たった一局でDolBaramの傾向を見切ったのかもしれません。
6子局が楽しみですね。    



Re: 北京の大会はDolBaramが優勝  投稿者:荒木(ark) 投稿日:2015年11月15日(日)18時24分4秒
6子はDolBaramが勝ちましたね。後半しか見ていなかったのですが、黒地と思われていたところを白がコウで手にして(騙して?)細かくなったかと思ったのですが、名人が負けを見切って投げましたね。    



Re: 北京の大会はDolBaramが優勝  投稿者:山下 投稿日:2015年11月15日(日)18時29分19秒
さすがに6子は厳しかったですか。
この対局もサーバトラブル?で対局がやり直しになって
ちょっと名人に気の毒だと思いました。

しかし中国の名人、若いですね。



Re: CGOS  投稿者:HiraBot 投稿日:2015年11月16日(月)01時39分8秒
百数十局打った結果では、DCNN-No133 が DCNN-Detlef より 90elo 程度強いようです
Hiratuka も Detlef さんから自前に乗り換えます
Hiratuka-10k は Aya786l_10k より 90elo 弱いです
Aya には今一歩及びませんね
これらのプログラムはしばらく打たせようと思います。
   



Facebookの囲碁AI  投稿者:山下 投稿日:2015年11月24日(火)13時39分5秒
少し前にFacebookが囲碁を作っている、と話題になっていましたが
論文が出ています。
KGSでdarkforestという名前で動いていてフリー対局で1dか2d程度、
MCTSに組み込むと1000playoutで90%Pachiに勝ち、5000playoutで
10000playoutのpachiに95%勝つそうです。

ただ、ざっと論文を見た感じではAja達のGoogle DeepMindが出した55%の論文と
それほど差はない印象でした。
darkforestは、今日ぐらいからKGSのランクゲームを打ち始めて
今 1k ぐらい、です。

ついに人工知能が囲碁で人間に勝つ? フェイスブックが開発中
http://www.gizmodo.jp/2015/11/aifacebookgo.html
Better Computer Go Player with Neural Network and Long-term Prediction
http://arxiv.org/abs/1511.06410
darkforest
http://www.gokgs.com/gameArchives.jsp?user=darkforest
darkfores1
http://www.gokgs.com/gameArchives.jsp?user=darkfores1    



Re: Facebookの囲碁AI  投稿者:山下 投稿日:2015年11月24日(火)15時04分20秒
と、見直すとPachiとの対戦成績では明らかにいいですね。
10k playoutのPachiに対してDCNNのみで勝率87%はかなりだと思います。
CGOSの pachi10_Pat_10k が2133点なので、FacebookのDCNNは2460点ぐらいでしょうか。
http://yss-aya.com/cgos/19x19/standings.html

引用されているAja達(Maddison)のFuego 10kに23%、のデータはFuegoの最新版に対するもので
2011年に出されたFuego Version 1.1 に対する勝率は55%ぐらいかと思います。

Move Evaluation in Go Using Deep Convolutional Neural Networks
http://computer-go.org/pipermail/computer-go/2014-December/007094.html    



囲碁のFloodgate?  投稿者:通りすがり 投稿日:2015年11月24日(火)23時43分37秒
先日の某将棋ソフトトーナメントの優勝者が囲碁ソフトの開発を明言されていたので、
囲碁ソフトに興味がわきました。
ところでみなさまはどこで囲碁ソフトを動作しているのでしょうか。
将棋ソフトでいうところのFloodgateのようなものがあるのでしょうか。    



Re: Facebookの囲碁AI  投稿者:gg 投稿日:2015年11月25日(水)00時20分35秒
ある特定の囲碁ソフトに対する勝率で評価するのは危険です.
少なくともタイプが違うソフト2種類はないと.
実際,KGS でのランクは 1k 辺りに落ち着きそうです.
シチョウがちゃんと処理できずに 1d になるのは難しいでしょう.

通りすがりさん,囲碁には CGOS と言うのがあります.
将棋の Floodgate はこれを参考に作られたものです.
今は山下さんがホストしている http://www.yss-aya.com/cgos/ がメインですが,
13路だけは http://cgos.boardspace.net/ で動いています.    



Re: Facebookの囲碁AI  投稿者:HiraBot 投稿日:2015年11月25日(水)00時59分17秒
darkforest の KGS ランクが 1k というのはすごいですね
Detlef さんの DCNN が 3k でしたから 2 ランクアップしています
私の DCNN との違いを調べると
最終層の全結合層がなくてすべて Convolution 層になっています
したがって 9路盤 13路盤および 19路盤が全て同じデータで動きます
filter 数が私のは 128 ですが 384 になっています実に 3倍です
filter 数を 3倍にすると学習時間は約 9倍になります
私のシステムでは学習に 10週間かかる事になりちょっと無理ですね。
   



Re: Facebookの囲碁AI  投稿者:山下 投稿日:2015年11月25日(水)01時17分38秒
今見ると、darkfores1 の方は1dになってますね。
何も考えずに1dですか・・・。
ただ、1回の計算に0.2秒かかるそうで、同時に128局面計算できるとはいえ、
これがかなりネックになりそうです。

filter数にかかる時間は2乗に比例するのですか。
GPWでAja達の論文を追従実験された方がいて、53%までの一致率まで行ったそうですが
学習には一ヶ月間かかったそうです。
一時期、DeltefさんのCGOSの19路でPuego、というのが出てきて、KGS 2dのAya以上の
強さだったのですが、それはFuegoに53%のDCNNを繋げたものだったそうです。    



Re: 囲碁のFloodgate?  投稿者:通りすがり 投稿日:2015年11月25日(水)06時39分47秒
ggさんありがとうございます。
囲碁はNHK杯をちら見するぐらいなのですが、
PCソフトでメジャーなのは19路盤なのでしょうか。    



floodgateの2リーグ制について  投稿者:ミルショー 投稿日:2015年11月25日(水)07時52分1秒
300 :名無し名人:2015/11/25(水) 07:35:42.63 ID:zy2Y5LBH
それにしても、floodgateって2リーグ制にしてもらえんかね。
R2800以上がA級、R2799以下がB級というように。(2weekみても、ソフト数のバランスが良い)
Pona、NDF、Aperyの一流は見たいし、fv_binを超すのが目標の開発者だっている。
だが、マッチネームが決まった時点で勝敗が決まってるような将棋のどこが面白いんだ?
上位の時間切れでレーティングに支障が出る事だってある。

囲碁の話題の最中で申し訳ありませんが、どうかご一考下さい。    
    



Re: 囲碁のFloodgate?  投稿者:gg 投稿日:2015年11月25日(水)11時57分5秒
>PCソフトでメジャーなのは19路盤なのでしょうか。
何を訊きたいのか今一つ分からないのですが
囲碁自体 19路がメインです.最近の流れだと 13路が入門用,9路は時間が無い人用でしょうか
PCソフトは(ニューラルネットを使ったものを除いて)どの大きさにも対応しています
大会で挙げると,UEC杯は19路ですが,Computer Olympiad は 9路,13路,19路があります
CGF オープンは 9路と 19路,GPW 杯は 9路と 13路と言った様に,目的に応じて色々あります    



Re: 囲碁のFloodgate?  投稿者:通りすがり 投稿日:2015年11月25日(水)21時08分23秒
なるほど。ありがとうございます。
参考になりました。    



Re: Facebookの囲碁AI  投稿者:山下 投稿日:2015年11月26日(木)11時49分29秒
darkfores1 が 2d になってますね。DCNNだけで2dですか・・・。
darkforest の方も 1d になっています。すさまじいです。
最初 darkfores2 はDCNN+MCTSかと思ってたのですが
これもMCTSなしのDCNN単体のようですね。
darkforest1 より+150 Eloほど強そうですから 3d まで行くかも知れません。

次の1手だけでなく、2手後の相手の手、3手後の自分の手、まで予測させることで
次の1手の一致率は57%ぐらいで変化がなくても強さには大きく差がでる、というのは面白いです。
PV(最善応手手順)を予想するみたいなものでしょうか。
   



Re: Facebookの囲碁AI  投稿者:gg 投稿日:2015年11月26日(木)13時49分8秒
>darkfores1 が 2d になってますね。DCNNだけで2dですか・・・。
人間で考えて見るとノータイムの着手だけでどこまで行けるかになりますが
小学生の強い子やプロなら多分KGSの3dくらいまでは行くでしょうから
決して無茶な話ではありません
#なんせprediction rateが50%を超えているのですから
問題はそこから先で,これが凄く難しい#この展望がないのが大きな問題

ただ,darkforest の戦績や棋譜を見る限り,相手が欠陥を突いてないように感じます
まぁ人間はシチョウを知ってるから無理に逃げ出したりはしないし
死活でも自分がダメだと思ったら動き出したりはしませんからねぇ
そういう意味では正確な棋力の測定というのはそれだけで論文になりそうな難しさがあります    



ponanGO参戦!  投稿者:osera 投稿日:2015年11月27日(金)00時41分24秒
彩迎え撃つ? 
https://twitter.com/issei_y
   



Re: ponanGO参戦!  投稿者:山下 投稿日:2015年11月27日(金)09時21分22秒
UEC杯に参加されるのですか。楽しみです。    



Re: Facebookの囲碁AI  投稿者:山下 投稿日:2015年11月27日(金)09時27分9秒
darkforest2 が予定通り? 3d になってますね。
Erikも書いてましたが囲碁が強い人はほとんど考えないで
高度なパターンマッチングをしているだけなのかもしれないですね。

http://www.gokgs.com/gameArchives.jsp?user=darkfores2    



DolBaramが韓国の新聞記事に  投稿者:山下 投稿日:2015年11月27日(金)10時02分39秒
韓国の中央日報の日本語版に記事が出ていました。

世界コンピュータ囲碁大会で日本の「ZEN」破った韓国の「トルバラム」(1)
http://japanese.joins.com/article/908/208908.html    



Re: ponanGO参戦!  投稿者:masatsune 投稿日:2015年11月27日(金)11時41分12秒
名前、決まったのですね。でも、いきなり19路盤ですか。
自分は、9路盤でがんばります。(腕試しは、来年の秋の予定です。)    



Re: Facebookの囲碁AI  投稿者:gg 投稿日:2015年11月27日(金)21時21分3秒
>darkforest2 が予定通り? 3d になってますね。
流石に KGS の連中も放っておけないようで 2d に戻されて
今はお休みしてるようです    
    



(無題)  投稿者:通りすがり 投稿日:2015年11月27日(金)23時15分42秒
そういえば、囲碁はどうやってソフトを強化しているのでしょうか。
囲碁で将棋のような機械学習があるのかがわかりませんがどうなんでしょうか。
将棋だとプロの棋譜を取り込んでいるとか上位ソフトの棋譜を取り込んでいるとかききますけど。
みなさんはどうされているのですか?    



囲碁ソフトの作り方  投稿者:山下 投稿日:2015年11月28日(土)18時47分16秒
最近の囲碁ソフトもプロの棋譜を使った機械学習をしています。
大きいのは
1. 読む手を絞り込む
2. シミュレーションの精度を上げる
の2つがあり、どちらもプロの棋譜やKGSのアマ高段者の棋譜から
「いかにプロの手を真似できるか」を競っています。
将棋と同様に真似できる精度が上がると強くなっていきます。
将棋の場合は王様と飛車、金の位置関係、といった3駒関係がよくつかわれており
囲碁ではパターンの大きさやダメの数などを学習させます。

最近でここでも話題になっているのはニューラルネットの層を深くした
Deep Learning、と呼ばれるものです。DCNNというのがこれにあたります。
特徴は、今までは3x3や5x5、といった小さな大きさのパターンを学習させてたのが
19x19の盤面全体を丸ごとニューラルネットに放り込むことで、今までの方法より
格段に性能がいいものができ、ブレイクスルーになりそうだと注目されています。
ソフトの棋力がアマ6段程度なのもあり、まだソフトの棋譜から学習する、といったことはあまりされていません。    



RE: 囲碁ソフトの作り方  投稿者:通りすがり 投稿日:2015年11月28日(土)19時21分57秒
回答ありがとうございます。なるほど、囲碁にもDeep Learningがあるのですね。
プロの棋譜なのですが将棋の棋譜に比べて囲碁のプロの棋譜の入手は
困難であると聞いたことがあります。
実際に囲碁ソフトの開発をしたりしている際にそのような不便はあるのでしょうか。    



Re: 囲碁ソフトの作り方  投稿者:gg 投稿日:2015年11月28日(土)21時26分36秒
Remi の学習アルゴリズムを抜かしちゃ駄目でしょ
Crazy Stone と Zen の二強が使ってるんだから
論文の和訳は http://www.geocities.jp/hideki_katoh/MMGoPatternsJ.zip
これも棋譜から石の配置やダメの数などの特徴を抽出して与えることで
実際に打たれた手を学習するものです
流行の DCNN 違うのは,特徴を自分で色々選び出して与えなければいけない点ですが
速度(学習,実行とも)は二桁位速いという利点があります    



re:(無題)  投稿者:masatsune 投稿日:2015年11月28日(土)22時07分34秒
通りすがり さんもつくられませんか。

山下さんがモンテカルロを使った雛形と説明資料を公開されており、9路盤なら GnuGoのレベル8-9程度の物は、1−2ヶ月で作れると思います。そこから先が大問題ですが。

自分はここ4−5ヶ月はまっています。面白いですよ。
   



Re: 囲碁ソフトの作り方  投稿者:山下 投稿日:2015年11月28日(土)23時48分43秒
プロの棋譜はfacebookの論文の中でも使われているのはGoGoD、と呼ばれる
ヨーロッパの愛好家?が集めた棋譜集です。84000局近く入ってます。
値段は15$、2000円程度なのでリーズナブルです。

ほかにはフリーで手に入るのはBadukMoviesというサイトで手に入るものなどがあります。
60000棋譜ほどです。
ただ著作権がらみで微妙なためか、KGSの完全にフリーな棋譜集が論文で
使われることも多いです。

GoGoD
http://gogodonline.co.uk/
Pro game collection
https://badukmovies.com/pro_games
Game records in SGF format (KGSの棋譜集)
http://www.u-go.net/gamerecords/    



Re: 囲碁ソフトの作り方  投稿者:通りすがり 投稿日:2015年11月29日(日)10時31分7秒
みなさま回答ありがとうございます。かなりやりこんでらっしゃいますね。

開発には興味あります。大会とかも電王戦とか電聖戦とかを見るとみなさん楽しくやってらっしゃるようですし。
なのですが、私はなんの才能もなく目の前の仕事にただただ時間を搾取される社会人ですので(汗)

開発設備とかいろいろ揃えようとすると資金の方もそこそこかかりますし、
旅費とか運搬費とかも馬鹿になりませんからね。

せっかくの勧誘は名残惜しいですが、今はみなさまが将棋や囲碁で時代のトップ棋士を打倒される夢を見ながら茶の間で拝見させていただくとします。
   



おすすめの囲碁ソフト  投稿者:通りすがり 投稿日:2015年11月29日(日)21時26分54秒
ソフト開発のほうはとりあえず保留ということで。とりあえず見る将ならぬ
観る碁を始めたいと思います。

Goguiというソフトをダウンロードしてきて彩をさっそく拝見しております。
みなさんは囲碁ソフトを開発するときどのソフトを参考にされていますか?
もしよろしければ教えてください。
   



Re: おすすめの囲碁ソフト  投稿者:山下 投稿日:2015年11月30日(月)13時17分29秒
Goguiが一番多く使われている囲碁ソフト用のGUIだと思います。
ただ、リアルタイムでの検討機能や棋譜解析機能、など「将棋所」のような
機能はありません。これは思考エンジンとの通信プロトコルのGTPに
まだそれに該当する仕様がない、というせいでもあります。

Goguiで動かす代表的なソフトはGNU GoやFuego、Pachiなどでしょうか。    



gtpモードでのコミ変更について。  投稿者:masatsune 投稿日:2015年11月30日(月)19時09分7秒
こんにちは。
タイトルの件、お分かりになる方がおられましたら、お教えください。

gogui-twogtp.exe を使って連続対局をしております。
対戦相手とレフリーは GnuGo3.8 です。
対戦相手とレフリーに、--komi 7.5 を付けておりますが、コミ、6.5 で動作している様に思います。
少なくても、レフリーは、コミ6.5で計算していました。( aya6.34 のコミ6.5の結果と一致しました。 )

以下、~.dat ファイルです。

# Black: GNU Go
# BlackCommand: E:\Igo\gnugo-3.8\gnugo.exe --mode gtp --level 3 --chinese-rules --komi 7.5
# BlackLabel: GNU Go:3.8
  :
# Komi: 6.5  <<==
# Openings: E:\Igo\Fuego\sgf\openings\9x9-2stn-300 (300 files)
  :
# RefereeCommand: E:\Igo\gnugo-3.8\gnugo.exe --mode gtp --chinese-rules --komi 7.5
# RefereeLabel: GNU Go:3.8
# RefereeVersion: 3.8
# Size: 9
# White: go2-md8020-W-gtp
# WhiteCommand: go2-md8020po-W-30k.exe -po 25 <=自作プログラムです。
(以下略)

Helpによると、
Used with --mode ascii (or other modes for non-interactive settings)
  --komi 

とありますが、これは、'gtp' モードでは、コミの変更はできないという事でしょうか。

変更する方法があればお教えください。

よろしくお願いします。

   
    



Re: gtpモードでのコミ変更について。  投稿者:山下 投稿日:2015年11月30日(月)23時01分20秒
以下のようにするとコミを正しく設定できると思います。
gogui-twogtp.exe から動かした場合、起動時のパラメータで設定した komi の値が
GTPコマンドで各プログラムに渡されるため、個々の起動パラメータにつけた
komi の設定は上書きされてしまいます。

gogui-twogtp.exe -black "c:\go\gnugo\gnugo.exe --mode gtp" -white "c:\aya\release\aya.exe --mode gtp" -games 100 -size 9 -alternate -sgffile gnuaya -auto -referee "c:\go\gnugo\gnugo.exe --mode gtp --chinese-rules" -openings "c:\go\gogui\sgf\openings\9x9" -komi 8.5
   



Re: gtpモードでのコミ変更について。  投稿者:masatsune 投稿日:2015年11月30日(月)23時44分11秒
山下様

お世話になっております。

-komi 7.5

を最後につける事により、意図通り動作させる事ができました。
有難うございました。

   



Re: おすすめの囲碁ソフト  投稿者:黒猫 投稿日:2015年12月 2日(水)21時36分58秒
囲碁ソフト用のGUIだとEFGobanも二つのソフトを対戦させることができるので観る碁にはなかなかお勧めだと思います    



Re: おすすめの囲碁ソフト  投稿者:通りすがり 投稿日:2015年12月 3日(木)22時28分54秒
みなさま回答ありがとうございます。
そういえば囲碁ソフトは将棋ソフトみたいに評価値の表示がないのですね。
それとも、たとえばGoguiの結果メニューのようにその局面ごとに領地を
計算させて評価値としているのでしょうか。    



Re: おすすめの囲碁ソフト  投稿者:山下 投稿日:2015年12月 4日(金)20時52分33秒
最近の強い囲碁ソフトは内部で自分同士を100回対戦させて、65回黒が勝ったから
黒の勝率65%で黒が有利な局面、といった判断をしています。
対戦時には乱数を用いており、モンテカルロ法と呼ばれる手法です。

ですので、一般的には勝率が評価値の代わりとして使われていますが
GoGUIはモンテカルロ法が普及する以前に作られたため、その表示するコマンドを持ちません。
モンテカルロ法を利用した計算でも現在、黒が何目勝っているか、といった
判定はできるのですが、勝率よりも信頼性が下がります。    



囲碁の評価値に関して  投稿者:通りすがり 投稿日:2015年12月 4日(金)21時09分43秒
囲碁と将棋では信頼されている評価方法が違うのですね。
勝率の方が単純に強さを評価できて駒の配置で判定する方は信頼性を評価するのは難しいですね。
そう考えてみると将棋ではやっている3点法の評価みたいなものは特殊なものと考えた方がよいのでしょうか。    



Re: 囲碁の評価値に関して  投稿者:山下 投稿日:2015年12月 5日(土)11時26分11秒
将棋で3駒関係が使われているのは、将棋では駒の位置関係が
駒の損得の次に重要らしい、という経験に基づくものだと思います。

囲碁でも下のような形は黒が有利なので+15点、これを盤面全部足し合わせて+341点で黒優勢、
といった評価も可能ですが、(多分)うまくいかず、これよりは陣地の大きさを
適当に調べた方が正確です。

○●┼
○●○
┼●┼

そして現在は、陣地を途中で数えるよりは
最後まで乱数で打ち切った局面を計算した方がより正確、なのが
分かってきたため主流になっています。

将棋・・・その局面の評価値を駒得などで瞬間的に判断
囲碁・・・その局面から最後まで打ち切って評価

こういう違いがあり、どちらかというと駒の位置関係を調べる将棋のやり方の
方が昔からの主流で、囲碁の方が最近出てきた異端です。    



Re: 囲碁の評価値に関して  投稿者:通りすがり 投稿日:2015年12月 5日(土)14時12分45秒
ルールは全然違うとはいえ
二人零和有限確定完全情報ゲームに分類される二つのゲームの
解読方法が違うのは面白いですね。

終局の陣地を評価対象にするということになると気になるのは
評価対象とまったく一致しない局面が発生した場合ですね。

将棋ソフトの方は一部の駒の配置という評価方法のため、
機械学習でも探せない未知の局面をカバーすることは可能でしょうけど、
囲碁ソフトは打ち切った局面で評価するということは、
打ち切られたことのない局面、もしくは発見されたことのない局面、
世間で新手と呼ばれるものは評価できない気がします。
そこはどうやっているのでしょうか。
   



Re: 囲碁の評価値に関して  投稿者:gg 投稿日:2015年12月 6日(日)09時08分4秒
>どちらかというと駒の位置関係を調べる将棋のやり方の
>方が昔からの主流で、囲碁の方が最近出てきた異端です。
完全情報ゲームではそうですが,マージャン,ポーカー,バックギャモン等の
不完全情報ゲームではこちらが主流ですし,
この手法の理論的背景であるモンテカルロサンプリングという手法は
関数の近似計算手法として多方面で広く使われています.
#DRAM の設計にも使われている.

>評価対象とまったく一致しない局面が発生した場合ですね。
囲碁の終局状態の地を計算するのは非常に簡単で,
どんな局面でも正確に求まるのでその心配は無用です.    



Pachiについて  投稿者:通りすがりの人 投稿日:2015年12月 7日(月)14時40分20秒
困っています。
ここで聞いてよいのか分からないのですが、頼れる人がいない状態なので。
Pachiのプログラムに詳しい方いらっしゃいませんか。    
    



Re:Pachiについて  投稿者:荒木(ark) 投稿日:2015年12月 8日(火)14時25分59秒
「詳しい」というのがどの程度のことを指しているのか分かりませんが、普段Pachiのプログラムを対局実験に使っております。どうしたのですか?    



(無題)  投稿者:通りすがりの人 投稿日:2015年12月 8日(火)15時06分54秒
荒木様

返信ありがとうございます。
今現在私は盤面のある部分(例えば天元や星)のucb1値を意図的に大きくし、プレイアウトを多く割り振るようにしたいと考えております。ですが、その限定した範囲のucb1値のみを大きくする方法が私の知識では分からなかったためどのようにすればよいのかを聞きたく書き込みました。    



Re:  投稿者:荒木(ark) 投稿日:2015年12月 8日(火)19時48分36秒
私はPachiを「対局相手のプログラムとして」使っているだけなので、
それはわからないですね…。申し訳ありません。
もちろんソースを読んだことはあるのですが、何ぶん昔のことですし、
「改造」までしたことはないので、そんなあやふやな知識で中途半端に
お答えするのも失礼でしょうし…。申し訳ありません。
   



3月のUEC杯の締め切りは明日10日まで  投稿者:山下 投稿日:2015年12月 9日(水)12時33分16秒
今年は例年より申し込み締め切りがかなり早くなって明日までです。
参加できるかもしれない、という方はとりあえず登録しておくと
後からキャンセルするだけなので安心かもしれません。

http://jsb.cs.uec.ac.jp/~igo/    



Re: Pachiについて  投稿者:通りすがりの人 投稿日:2015年12月 9日(水)22時44分2秒
中途半端な答なのを覚悟で大急ぎでバージョン 11 (retsugen) の
ソースを解凍したものを表面的に追ってみて次のようなことを
考えてみました。

例えば、次のことを希望したとします。
UCT で UCB1 値 u に基づいて木を降りて行くときに
現在の盤上の石数 x と次に選ぶ手の位置 y で UCB1 値を変更したい。
変更方法は、関数 f(x,y) を作っておき、u を u + f(x,y) に変える。
目的とする Pachi の UCT ポリシーは、UCB1 + AMAF とする。

Pachi では、手を選ぶための UCB1 値に相当する値の計算は、
uct/policy/ucb1amaf.c 内の関数 void ucb1rave_descend( ... ) で
為されているようです。
この関数の記述の中で使われている uctd_try_node_children( ... )
は、関数呼び出しではなく uct/policy/generic.h で定義されている
マクロです。
このマクロが呼び出された後に変数 urgency を更新していますが、
この urgency が UCB1 値に相当するもので、この値が最大の子が
選ばれるようです。
なので、ここで urgency += f(x, y) のようなことをすればよいように
思います。

石数 x を知るには、現在の盤面 (局面) が必要です。
これは、関数 ucb1rave_descend を呼び出し元の関数 uct_playout
( uct/walk.c 内で定義) で変数 b2 に入っています。
具体的には、 int res = board_play(&b2, &m); で手 m を打った
直後の盤面 (局面) に更新されます。
変数 (tree_node *) n がその盤面に対応するノードなので、構造体
tree_node の定義に石数 x の情報を追加 (例えば、 int ishisu; という
メンバーを追加) しておいて、 int res = board_play(&b2, &m);
の直後に盤面 b2 の石数 x を求めてから n->ishisu = x; を実行すれば
よいと思います。
もし少々誤差があってもよいなら uct_playout の呼び出し元
の uct_playouts (uct_playout の直後で定義) で uct_playout を
呼び出す前に t->root.ishisu を正確に設定しておいて、現在の局面まで
子を辿った回数 (dlen - 1 で良いと思います) を足せば簡単です。
x を石数でなく初手からの手数でよいなら b2->moves がそのまま
使えるように思います。
もし x として b2->moves を使うなら構造体 tree_node の定義に
int ishisu; を加える必要もないはずです。
   



Re:Re: Pachiについて  投稿者:通りすがりの人(Pachi) 投稿日:2015年12月10日(木)13時26分6秒
>荒木様
いえ、わざわざ返信していただきありがとうございました。

>通りすがりの人様
返信ありがとうございます。
ここまで丁寧な回答を頂けるとは思ってもいなかったので大いに参考にさせていただきます。    



(無題)  投稿者:通りすがりの人(Pachi) 投稿日:2015年12月10日(木)13時51分44秒
連投で申し訳ございません。

>通りすがりの人様
ここまで丁寧な回答を頂いておきながら質問なんですけど。
次に選ぶ手の位置 y の位置情報というのは自身でまた別に取得しなければならないのでしょうか?
また位置 y のucb1値を更新したという情報はどこで保持されているのですか?
質問ばかりで申し訳ございません。    



手の位置 y の位置情報など  投稿者:通りすがりの人 投稿日:2015年12月10日(木)15時37分50秒
> 次に選ぶ手の位置 y の位置情報というのは自身でまた別に取得しなければならないのでしょうか?

int res = board_play(&b2, &m); の直ぐ上の行が
struct move m = { node_coord(n), node_color }; となています。
2つのメンバーをもつ move (手) 型構造体の変数 m に2つのメンバーを
代入していて、最初が選んで降下して辿り着いたノード n の (石を置いた)
座標値で2番目が色 (白か黒) のようです。
move 構造体 ( move.h で定義) の第1メンバーは coord_t 型で、
move.h に typedef int coord_t; があるので整数型のようです。
おそらく盤を1次元的に表していて最初の位置から何番目かを表して
いると想像します。
間違っていたら御免なさい。


> また位置 y のucb1値を更新したという情報はどこで保持されているのですか?

ucb1 値に相当する変数 urgency は、その都度計算されているようで
計算の材料となる値は、 uct/tree.h にある tree_node 構造体の定義を見ると

        struct move_stats u;
        struct move_stats prior;
        /* XXX: Should be way for policies to add their own stats */
        struct move_stats amaf;
        /* Stats before starting playout; used for distributed engine. */
        struct move_stats pu;
        /* Criticality information; information about final board owner
         * of the tree coordinate corresponding to the node */
        struct move_stats winner_owner; // owner == winner
        struct move_stats black_owner; // owner == black

この辺りに入っているように見えます。
move_stats 構造体は stats.h で

struct move_stats {
        int playouts; // # of playouts
        floating_t value; // BLACK wins/playouts
};

となっています。
おそらく、n->amaf.value が RAVE での黒から見た勝率ではないでしょうか。

最後にこちらから質問なのですが、一般的な UCT アルゴリズムの実装では、
「 ucb1 値を更新したという情報」を保持するものなのでしょうか。
恥かしい話、UCT アルゴリズムをよく理解していないもので。
山下先生の本などをもう一度読んで勉強しようと思います。
   



第9回UEC杯コンピュータ囲碁大会  投稿者:tss 投稿日:2015年12月10日(木)20時24分25秒
コンピュータ囲碁がえらいにぎやかになってますね。
ponanGo / 山本一成
Gonanza / 保木邦仁
あたりが初出場初優勝するか、私には興味あるところですが
古株(Crazy Stone,Zen,Aya)にはボコボコでしょうね。(見たんかいなぁー)(^^;
   



Re 第9回UEC杯コンピュータ囲碁大会  投稿者:masatsune 投稿日:2015年12月11日(金)01時44分23秒
Sandra / 西海枝 昌彦 氏は Selene(将棋)の方ですね。
きふわらべ / 高橋 智史 氏は、きふわらべ(将棋電王戦)の方ですね。

コンピュータ将棋の開発をされていた方の囲碁への参戦が増えてきました。

参加者も多いようですし、見学は無理そうですね。    
    



Re:  投稿者:通りすがりの人(Pachi) 投稿日:2015年12月11日(金)13時29分38秒
>通りすがりの人様
またまたご丁寧な返信ありがとうございます。
これも大いに活用させていただきます・

>質問
これはおそらく私の書き方が悪かったために御幣を生んでしまったようなので訂正いたします。
「ucb1値を更新したという情報」というのは、ucb1値を変更しましたよと言う情報ではなく、
更新したurgencyの値は「 y 」という場所のucb1値を更新しましたよという情報をどこで保持しているかという意味です。すなわち、urgencyの中に y という場所の座標情報があるのか、もしくは
別のものにそういう情報があるのか、という意味です。
私の書き方ですと確かに、更新したか否かの情報を保持しているかという風にしか捉えられません。申し訳ございませんでした。
ですので、更新したかどうかの情報は一般的にはいりません、が回答になります。    



掲示板からホームページのリンクが切れてます。(^^;  投稿者:tss 投稿日:2015年12月11日(金)23時26分12秒
一瞬、消滅したのかと……(^^A    



Re: 掲示板からホームページのリンクが切れてます。(^^;  投稿者:山下 投稿日:2015年12月12日(土)01時16分37秒
修正いたしました。
ご指摘ありがとうございました。    



tree_node 構造体の手の位置の情報  投稿者:通りすがりの人 投稿日:2015年12月12日(土)06時21分52秒
board.h によれば盤 bd 上 k 番目の位置の情報は bd.b[k]
求まるようです。
アクセスのためのマクロが色々定義されています。
盤のサイズに相当する bd.size は、実際のサイズ、例えば19路盤の19
よりも2大きくしているようです。
move.h によると、例えば c7 の場所の盤上の情報は、
bd.b[3 + 8 * 21] で求まると思います。

ucb1amaf.c で urgency を更新しながら降りる先の子ノードを
探しているとき、子ノードの候補へのポインタが変数 ni に
入っているようなので (int)ni->coord (マクロで  node_coord(ni))
がその子ノードへ行く手で石を置く盤上の位置 (上の bd.b[k] の k)
のはずです。
ただし move.h によると node_coord(ni) が -1 のときはパスを
表している (static coord_t pass = -1;) ようです。

実際に fprintf(stderr, "... %d ...", ...); のような文を
ソースファイルに入れて make し直して pachi を動かして
何が表示されるか見てみるとよいと思います。
   



Re: tree_node 構造体の手の位置の情報  投稿者:通りすがりの人 投稿日:2015年12月12日(土)13時10分6秒
恥かしい間違いをしていました。

> move.h によると、例えば c7 の場所の盤上の情報は、
> bd.b[3 + 8 * 21] で求まると思います。

この中の bd.b[3 + 8 * 21] は、bd.b[3 + 7 * 21] の間違いでした。

   



Re:  投稿者:通りすがりの人(Pachi) 投稿日:2015年12月12日(土)16時51分28秒
>通りすがりの人様
色々と教えていただき本当に感謝しています。
これだけ聞いておいて更にお尋ねするのもどうかと思いましたが、
本当に今理解しておきたいので恥を忍んで質問いたします。
walk.cのuct_playoutがどのようになっているのかが分かりません。

そして、b2は現在の盤面状況、b2.movesに現在の手数。
m.coordが手の位置で認識はあっていますか?(全てwalk.cのuct_playout内)

c7の場所の盤面情報はbd.b[3+7*21]とありますが、なぜ3+7*21=150という値がc7の盤面情報となるのでしょうか。

質問ばかりで本当に申し訳ございません。自身の無知学習不足が露呈しており恥ずかしい限りですがよろしくお願いいたします。    



Pachi の uct_playout  投稿者:通りすがりの人 投稿日:2015年12月12日(土)23時20分48秒
> walk.cのuct_playoutがどのようになっているのかが分かりません。

私もよく分からないので色々想像して解釈してみました。

降りる先の子のノードを選ぶときは、 /*** Choose a node to descend to: */
のコメントの下にある

   u->policy->descend(u->policy, t, &descent[dlen], parity, b2.moves > pass_limit);



   u->random_policy->descend(u->random_policy, t, &descent[dlen], parity, b2.moves > pass_limit)

が実行されて選択の動作が為されます。
このとき、u->policy->descend は、uct/policy/ucb1amaf.c にある関数
ucb1rave_descend へのポインタが設定されていると想像しました。

u->random_policy->descend が何に設定されているのかよく分かりませんが、
uct/uct.c には、次の記述があります。

/** UCT behavior and policies */
} else if ((!strcasecmp(optname, "policy")
/* Node selection policy. ucb1amaf is the
* default policy implementing RAVE, while
* ucb1 is the simple exploration/exploitation
* policy. Policies can take further extra
* options. */

|| !strcasecmp(optname, "random_policy")) && optval) {
/* A policy to be used randomly with small
* chance instead of the default policy. */


> そして、b2は現在の盤面状況、b2.movesに現在の手数。
> m.coordが手の位置で認識はあっていますか?(全てwalk.cのuct_playout内)

正しいと思いますが、 m.coord は、降りる先の子が見付かり、その子に
降りた後なので、その子の手の位置になると思います。
降りる先を探している ucb1rave_descend の中でなら node_coord(ni) に
なると思います。


> c7の場所の盤面情報はbd.b[3+7*21]とありますが、なぜ3+7*21=150という値がc7の盤面情報となるのでしょうか。

board 構造体のメンバー b は、

enum stone *b; /* enum stone */

と定義されています。
すなわち、enum stone 型の要素の1次元配列の先頭を指しています。
enum stone は、stone.h で

enum stone {
S_NONE,
S_BLACK,
S_WHITE,
S_OFFBOARD,
S_MAX,
};

と定義されています。

5番目の列挙子 "S_MAX,"  の意味がよく分からないのですが、enum stone
の各列挙子を2ビットでなく3ビットで表そうという意図でしょうか。
盤の最後にだけ区切りとして S_MAX を置いているかもしれません。
整数値としては、

   S_NONE 0, S_BLACK 1, S_WHITE 2, S_OFFBOARD 3, S_MAX 4

になると思います。
以下に盤面 bd.b[] の状況の例を挙げます。

   . 空 (S_NONE)  /  X 黒石 (S_BLACK)  /  O 白石 (S_WHITE)
     /  # 盤外 (S_OFFBOARD)

  +--- 最初の盤外は 0 番目、
  |    C7 の X は 3 + 21 * 7 番目、bd.b[3 + 21 * 7] = S_BLACK
  |
  V A B C
  # # # # # # # # # # # # # # # # # # # # #
1 # . . . . . . . . . . . . . . . . . . . #
2 # . . . . . . . . . . . . . . . . . . . #
3 # . . . . . . . . . . . . . . . . . . . #
4 # . . . . . . . . . . . O . . . . . . . #
5 # . . . . . . . . . . . . . . . . . . . #
6 # . . . . . . . . . . . . . . . . . . . #
7 # . . X . . . . . . . . . . . . . . . . #
  # . . . . . . . . . . . . . . . . . . . #
  # . . . . . . . . . . . . . . . . . . . #
  # . . . . . . . . . . . . . . . . . . . #
  # . . . . . . . . . . . . . . . . . . . #
  # . . . . . . . . . . . . . . . . . . . #
  # . . . . . . . . . . . . . . . . . . . #
  # . . . . . . . . . . . . . . . . . . . #
  # . . . . . . . . . . . . . . . . . . . #
  # . . . . . . . . . . . X . . . . . . . #
  # . . . . . . . . . . . . . . . . . . . #
  # . . . . . . . . . . . . . . . . . . . #
  # . . . . . . . . . . . . . . . . . . . #
  # # # # # # # # # # # # # # # # # # # # #

   



Re: Pachi の uct_playout  投稿者:通りすがりの人(Pachi) 投稿日:2015年12月13日(日)16時22分12秒
>正しいと思いますが、 m.coord は、降りる先の子が見付かり、その子に
>降りた後なので、その子の手の位置になると思います。
>降りる先を探している ucb1rave_descend の中でなら node_coord(ni) に
>なると思います

つまり、m.coordもnode_coord(ni)もucb1値を更新しようとしているnode(手の位置)を
示していると考えてよいのでしょうか?


>C7 の X は 3 + 21 * 7 番目、bd.b[3 + 21 * 7] = S_BLACK

1行目のV列から数えれば確かに 3 + 7 * 21番目となるのですが、
これは一番上の行の#は含まなくてよいのでしょうか?
定義で x + y * board_size(board)となっているから 3 + 21 * 7 となるのはわかりました。
しかしV列の#は含めて1行目の上の部分にある#群を含まないのがよくわかりません。    



Re: Pachi の uct_playout  投稿者:通りすがりの人 投稿日:2015年12月14日(月)00時08分32秒
縦棒とVの字で下向きの矢印を作って最初の「盤外記号 #」の位置を
示しました。
以下が参考になれば幸いです。

gtp.c の

   else if (!strcasecmp(cmd, "genmove") || !strcasecmp(cmd, "kgs-genmove\
_cleanup")) {

の直後に

                {int i, j;
                  fprintf(stderr, "board->b =\n");
                  for(j = i = 0; i < 21 * 21 + 1; i++){
                    fprintf(stderr, " %d", ((int *)board->b)[i]);
                    if(++j == 21){
                      fprintf(stderr, "\n");
                      j = 0;
                    }
                  }
                  exit(1);
                }

を挿入してから

make
./pachi

としてから一連の GTP コマンド

boardsize 19
clear_board
play b q16
play w d17
play b q4
play w d4
play b d15
play w c13
play b c17
play w g17
play b f16
play w c18
play b f17
play w d16
play b c14
play w d13
play b c16
play w e15
play b b18
play w e18
play b f18
play w e16
genmove b

を入力したところ、最後に

genmove b
IN: genmove b
board->b =
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
3 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 3
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
3 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
3 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
3 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
3 0 0 1 2 2 1 0 0 0 0 0 0 0 0 0 1 0 0 0 3
3 0 0 1 2 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 3
3 0 1 2 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 3
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
0

が表示されました。
Pachi での盤面は、(32ビット) 整数型の1次元配列として
扱われているようです。
   



Re: Re: Pachi の uct_playout  投稿者:通りすがりの人(Pachi) 投稿日:2015年12月14日(月)11時50分24秒
>通りすがりの人様

すみません、私が数え間違いをしておりました。
数々のご丁寧な解説ありがとうございました。

まずは現在の手数b2.movesと更新するnodeの位置node_coord(ni)を用いて、
特定の手数、位置のucb1値を弄っていこうと思います。    



(無題)  投稿者:終わり? 投稿日:2015年12月14日(月)19時05分1秒
将棋ってもうプロ棋士に勝ってみんな開発終了したんですか?
結論としては、評価関数をボナンザメソッドで作成し、単純なminimax(高速化は別として)が強いってことなんでしょうか?    



(無題)  投稿者:通りすがりの人(Pachi) 投稿日:2015年12月17日(木)14時30分16秒
改良したPachiと通常のPachiの対局を試みようとしてみました。
java -jar ./gogui-twogtp.jar -black 'pachi-cus --mode gtp' -white 'pachi' -maxmoves 300 -size 19 -komi 6.5 -referee 'pachi-cus --mode gtp'
-alternate -auto -games 1 -sgffile 'Kifu/pachi'
としたところ、
The Go program terminated unexpectedly.
と、エラーが起こりました。
これは何が原因で起こっているものなのでしょうか?    



Pachiについて  投稿者:通りすがりの人(Pachi) 投稿日:2015年12月17日(木)16時08分52秒
連投で申し訳ございません。

Pachiの改良版をコンパイルし、実行してgenmoveで打たせ続けていると
*** LOST ON TIME internally! (-253.81, spent 268.81s on last move)
と言って強制終了しました。
これの原因もわかりません。

また、以前に教えていただいた、walk.cのuct_playout関数からb2の手数情報をグローバル宣言したb3にコピーしucb1amaf.cのucb1rave_decsend関数内で現在の手数b3.movesが10〜11手目の間ならと場合分けを行い、また、盤端からの距離によってucb1値を変化させるべくnode_coord(ni)を用いて場合分けを行ったのですが、思うような結果が出ませんでした。
あえて該当する範囲以外のucb1値をurgency = -1000として、範囲外に打たないようにしようとしてみたところ普通に範囲外に手を打ってしまいます。

どのように改善したらよいか教えていただけませんでしょうか。    



(無題)  投稿者:通りすがり 投稿日:2015年12月17日(木)16時51分39秒
> *** LOST ON TIME internally! (-253.81, spent 268.81s on last move)
> と言って強制終了しました。

もし時間設定がおかしくなっているなら、GTP の time_settings 0 2 0
あたりを送ったら時間制限がなくなるのでは?
   



(無題)  投稿者:通りすがりの人(Pachi) 投稿日:2015年12月18日(金)11時50分54秒
調べてみたところ、make実行時に

../../uct/walk.h:13: 警告: ‘struct time_info’ declared inside parameter list
../../uct/walk.h:13: 警告: its scope is only this definition or declaration, which is probably not what you want

という警告が出ていました。これと関係があるのでしょうか?    



追記  投稿者:通りすがりの人(Pachi) 投稿日:2015年12月18日(金)12時03分45秒
連投で申し訳ございません。
先ほどの警告はwalk.h内に
extern struct board b3;
という記述を増やしたところ出るようになりました。    



(無題)  投稿者:通りすがりの人(Pachi) 投稿日:2015年12月18日(金)15時10分9秒
またしても私ですみません。
警告の分は解決しました。お騒がせしました。
その代わりに他の問題が見つかりました。
ucb1amaf.cのucb1reve_descend関数の中の if (vwin > 0 && ni->u.playouts > b->vwin_min_playouts && (child - u->slave_index) % u->max_slaves == 0) などのurgencyを決めるif文の中に全く入っていないことが分かりました。
これは一体なぜそうなるのでしょうか。
pachiを起動しboardsize 19としてgenmove bと入力しprintfで条件文の中の値を確認したところ条件を満たしていないので中に入っていないことがわかりました。
ではどういう時に条件に一致しif文の中に入るのでしょうか。
よろしくお願いいたします。    



CGI1362m_D54_1c  投稿者:gg 投稿日:2015年12月19日(土)13時45分15秒
cgos に台湾の Wu 先生の研究室で開発している CGI の最新版が登場し,
かなり良い結果を出してます.UEC 杯の目になるかも.
http://www.yss-aya.com/cgos/19x19/standings.html    



Re: CGI1362m_D54_1c  投稿者:山下 投稿日:2015年12月19日(土)14時38分28秒
D54、というのが私の表記 Aya786_D54_n600_6c と同じなら
Detlefさんが12月8日に公開した54%の一致率の学習データを使ったものでしょうか。
まだ局数が少ないので何ともですが +400Elo ぐらいは上がってるのかもしれません。

Aya786_D54_n600_6c はノードを作るのは子局面を600回調べたら(通常は33回)
とかなり遅くしてDCNNの速度になるべく合わせるようにしたものです。
複数スレッドで同時にCaffeでDCNNを実行すると落ちるので、ロックをかけて
ロック中ならDCNNは使わずAyaの通常で、という風にしています。
6割くらいはDCNNを利用して作れるのですが、強さはさっぱりですね・・・。

Detlefさんの54%はGTS 450では21ms/回の速度でした(44%のものは17ms)。
Ayaの10000playoutでは54%は44%に83勝61敗(勝率0.58)で、やや勝ちこすのですが
CGOSを見る限りほとんど差はないようです。
GTX 980を買ったのでこれでも試してみます。

CNN with 54% prediction on KGS 6d+ data
http://computer-go.org/pipermail/computer-go/2015-December/008324.html    



Re: CGI1362m_D54_1c  投稿者:gg 投稿日:2015年12月20日(日)13時17分1秒
1コアでかなり強くなってもマルチコアに対応させようとすると
(GPUも同じ数揃えない限り)スケールしてくれないから大変ですね
>複数スレッドで同時にCaffeでDCNNを実行すると落ちるので
マルチスレッド対応のCaffeはないんですか? 無ければ中を調べてもっと細かい単位でロックを
掛けるようにするしかありませんが...
>21ms/回
これはスループットではなくて遅延ですよね? FIFO Queueを使って複数のスレッドから
利用するようにすれば多少儲かるのでは?    
    



Re: CGI1362m_D54_1c  投稿者:山下 投稿日:2015年12月20日(日)19時25分21秒
GPUでの学習では128局面を同時に処理できる仕組み(minibatch)があるので、
実行時でも128局面ぐらいを別々に処理できるような気がするのですが。
そうすれば32スレッドぐらいでも1台のGPUで別々に処理できて楽なのですが。
まだCaffeの仕組みをよくわかっていません。

少し分かったのはCaffeを作ったスレッド、

Net *p_caffe_net = new Net("movepredict.prototxt",caffe::TEST);

を実行したスレッド以外で DCNN を実行すると速度が10分の1ぐらいに遅くなります。
排他制御で一つのスレッドしか来ないようにしていても。
仕様なのでしょうが、落ちはしないので気づきにくいです。

なので今 Aya786_D54_id0_6c では最初のスレッド、1つだけでノードを作って
後のスレッドはノードは作らない、としています。ノードはすべてDCNNで作るので
多分 Aya786m_Det54_10k よりは強くなると思います。

> これはスループットではなくて遅延ですよね?

この速度はランダムに局面を1000個作ってかかった時間を計っています。
ルールは無視した局面ですけど。    



Caffeでスレッドごとに割り当ても速くはなりませんでした  投稿者:山下 投稿日:2015年12月20日(日)21時39分25秒
スレッドごとに独立して割り当てればいいのでは、と思いやってみました。

Net *p_caffe_net[thread_id] = new Net("movepredict.prototxt",caffe::TEST);

結果は残念ながら、1スレッドが最速で、スレッドを増やしても
1個あたりの処理時間はそれほど落ちないのですが、速くはなりませんでした。
残念。やはりGPUを複数さす必要?がありそうです。
ちなみに7スレッドまでOKで8スレッドはout of memoryで落ちました。

同時に複数スレッドで計算したときに、1局面にかかる時間。
GTS 450 でDetlefさんの44%データを使用

threads 1   17ms
threads 2   37ms  (換算 18ms)
threads 3   60ms  (換算 20ms)
threads 4   83ms  (換算 21ms)
threads 5  106ms  (換算 21ms)
threads 6  128ms  (換算 21ms)
threads 7  149ms  (換算 21ms)
threads 8  ---    out of memory, で落ちる    



Re: Caffeでスレッドごとに割り当ても速くはなりませんでした  投稿者:gg 投稿日:2015年12月21日(月)06時39分29秒
複数スレッドで遅くなるのは(多分)GPUのcontext switchに時間が掛かるためでしょうから
スレッド毎に割り当てるのではなくCaffeを扱う専用のスレッドを用意して,
他の(つまり探索)スレッドはそれの入力queue(共有)に局面をpushする様にしてみては?
出力queueはスレッド毎に用意してCaffeスレッド側で振り分けます
#昔PS3のGGMC Goのクラスタ並列で似た様なことをやったのを思い出しました(笑.    



(無題)  投稿者:通りすがりの人(Pachi) 投稿日:2015年12月22日(火)14時42分23秒
以前に質問した内容で警告と条件文の中に入ることは出来ましたが、gogui-twogtpでの対局が未だうまくいきません。
gnugoとpachiで対局させてみたところ正常に動いたので、私が改良したpachiがおかしいことはわかっています。
改良した点はucb1amaf.cのucb1rave_decend関数内でvwinとurgency += の部分に多くの条件文を付け足したくらいです。
これでgogui-twogtpを用いてgnugoと対局させたところ1局目の途中で
The Go program terminated unexpectedly.
となってしまいます。何が原因なのでしょうか。    



The Go program terminated unexpectedly.  投稿者:通りすがりの人2 投稿日:2015年12月22日(火)16時09分19秒
このメッセージは、”プログラムが意図せずに落ちた”という事ですので、その原因がわかるのは、そのソースコードを持っている人だけだと思います。

そのプログラムが stderr に 何らかのメッセージを出力するように作成してあれば、GoGui.exe を使って自己対局を行えば ツール->GTPシェル から 落ちた時点でのメッセージを確認できます。
そのメッセージが出てから、次のメッセージを出すまでの何処かで落ちたと考えられます。

または、ログファイルを作成しながら実行し 関数の名前や変数の値を記録しながら実行すれば、何処で落ちたか またその時の状態を確認できると思いますがいかがでしょうか。
(適宜、バッファをフラッシュする必要があると思います。)



NHKのニュース  投稿者:auau 投稿日:2015年12月23日(水)20時17分30秒
こんなニュースをNHKでやってて、ビックリしました。
「プロ出場の囲碁大会にコンピューターが初参加へ」
http://www3.nhk.or.jp/news/html/20151223/k10010350821000.html
どなたか詳細をご存じでしょうか。    



13路盤プロアマトーナメント  投稿者:gg 投稿日:2015年12月23日(水)21時54分54秒
日本棋院が発表した話ですから,ここで訊くより日本棋院に問い合わせた方が
よほど確実だと思います.ま,それはそれとして,ググってみたら(予想通り)
https://ja-jp.facebook.com/igo13ro に書き込みがありました.
要するに(名前のとおりの)13路のオープントーナメントに,13路なら
プロに先と逆コミ数目というレベルのコンピュータも混ぜてみようということで
ニコニコの囲碁電王戦では国内トップクラスの江村アマには勝てませんでしたが
普通のアマ相手なら十分戦えるレベルですから,面白い大会になるんじゃないでしょうか    



9路か13路か  投稿者:masatsune 投稿日:2015年12月24日(木)12時15分5秒
13路盤での大会ですね。<=日本棋院の発表
初心者には9路の方がとっつきやすいですが、13路の方がゲームとしては面白そうです。

来年のCGFオープンは9路19路ではなく、13路19路で開催されるのでしょうか。
まだ何も決まってはいないとは思いますが、13路になる場合、早めに公開されるとありがたいです。
   



Re:9路か13路か  投稿者:荒木(ark) 投稿日:2015年12月24日(木)13時09分0秒
荒木です。
来年のCGFオープンについてはまだ何も決まっていません。
ただ、「CGFオープンは初心者でも気軽に参加出来る大会」という名目も
ありますので、一番開発が簡単な(GNUGoを超えるという意味で)9路は
残すべきかなと個人的には思っています。
メーリングリストでアンケートを取るかもしれませんので、
そのときはよろしくお願いします。    



Re:9路か13路か  投稿者:masatsune 投稿日:2015年12月24日(木)23時17分49秒
荒木様

運営ご苦労様です。今年も13路での開催を希望されている方がおられましたので気になりました。(時代は13路?)

セミナー以来、PCが2〜3台ほぼ昼夜がんばっており、この冬は暖かくすごせそうです。

鬼が笑いそうな心配事を書き込みましたが、自分はどちらでも大丈夫です。
ただ、当方プログラミングスキルがそれほど高くないので、時間の余裕があるとありがたいです。

学生さんとの交流も楽しみにしております。
では、では。



playout数だけを増やしてもいまいち?  投稿者:山下 投稿日:2015年12月25日(金)21時54分13秒 編集済
GPUでのノード作成は1スレッドだけ、で残りの11スレッドはplayoutだけをする
Aya786_D54_6c_12t を走らせてみたのですが弱いですね・・・。
1スレッド+5スレッドの Aya786_D54_id0_6c の方がはっきり強そうです。

原因はよく分からないのですが、
上位のノード展開が間に合わないうちは、展開していない下位の手で
たくさんplayouだけしてしまうため、(ノード展開してないので)信用が低い
下位の手を選んでしまっている、せいかもしれません。

作成しているノード数とplayout速度は下のような感じです。Xeon W3680 3.3GHz、GTS 450

playout速度 探索時間  GPUでの作成ノード数  全ノード作成数    スレッド数
11979/s      5.6秒      233                  1643                6   Aya786_D54_id0_6c
20180/s      5.7秒      228                  1756               12   Aya786_D54_6c_12t
15311/s      4.8秒     1039                  5185                6  (GPUを使わない場合)

Detlefさんの54%はGTS 450だと 21ms/局面なので5.6秒だと266局面作成可能。
6スレッドは233局面なので、スレッド1つはほぼ作成に専念している感じです。

Ayaは1つの子局面で1回playoutをしたらとりあえずノードを作り、33回playoutを
したらノードの子の評価をMM法で行い、UCTで降りていくのを許可、という仕組みになってます。

※12スレッドでの全ノード作成数、756は1756のミスでした。    



GTX 980での速度  投稿者:山下 投稿日:2015年12月26日(土)20時41分1秒 編集済
GTS 450からGTX 980(MSI GTX 980 GAMING 4G)に入れ替えてみました。

         Detlef44%      Detlef54%     CUDAコア数  クロック
GTS 450     17.2ms         21  ms        192基     783MHz
GTX 980      5.1ms         10.1ms      2,048基    1126MHz
GTX 670      7.9ms                     1,344基     915MHz  (HiraBotさん情報)

Detlefさんの44%のデータでは3.4倍ぐらい高速なのですが、54%では2.1倍程度でした。
54%でも3倍ぐらいはいくかと思ったのですが。
Detlef44%、Detlef54%はともに20層、filter数は128と同じようで、
違うのは入力が2面と13面、の差ですが、ここが大きいのでしょうか。    



cuDNNを入れてみました  投稿者:山下 投稿日:2015年12月27日(日)04時17分22秒
54%では1.7倍!も速くなりました。ただ44%では逆に遅くなっています。
MNISTの学習は169秒から24秒、と7倍も速くなってます。

         Detlef44%      Detlef54%     CUDAコア数  クロック
GTS 450     17.2ms         21  ms        192基     783MHz
GTX 980      5.1ms         10.1ms      2,048基    1126MHz
GTX 980      6.4ms          5.9ms      2,048基    1126MHz  cuDNN
GTX 670      7.9ms                     1,344基     915MHz  (HiraBotさん情報)

cuda-repo-ubuntu1404_7.0-28_amd64.deb
を入れているのですが、cuDNNの最新版
cudnn-7.0-linux-x64-v4.0-rc.tgz
はmakeがエラーで止るので
cudnn-7.0-linux-x64-v3.0-prod.tgz を使ってます。

作業は
$ tar xvf cudnn-7.0-linux-x64-v3.0-prod.tgz
$ cd cuda
$ sudo cp lib64/* /usr/local/cuda/lib64/
$ sudo cp include/cudnn.h /usr/local/cuda/include/
$ cd ../caffe
$ vi Makefile.config
# USE_CUDNN := 1  を有効に

$ make clean
$ make    



囲碁クエストの9路、13路の棋譜  投稿者:山下 投稿日:2015年12月27日(日)12時11分0秒 編集済
棚瀬さんが公開してくださってます。

9路、 8607局。上位50人(一人最大200局まで)
https://twitter.com/tanaseY/status/680934168138665984
13路、 9410局。上位40人(一人最大500局まで)
https://twitter.com/tanaseY/status/680726738813370368
13路、44881局。上位300人
https://twitter.com/tanaseY/status/680930989468565504
9路、 49895局。
https://twitter.com/tanaseY/status/681070970149285889
9路+13路 161032局。 gokif2.tgz
9路+13路 200017局。 gokif3.tgz
https://twitter.com/tanaseY/status/681003388067155969

対局者名の先頭に「:」がついたものはBotです。

※ 9路 約5万局と9路、13路、16万、20万局も追記しました。