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


(無題) P山 2006年 1月 9日(月)17時01分24秒
将棋プログラムの並列化 P山 2006年 1月 9日(月)17時05分54秒
並列化 P山 2006年 1月 9日(月)17時35分7秒
Re:並列化 うさぴょんの育ての親 2006年 1月10日(火)00時00分30秒
Re:並列化 P山 2006年 1月10日(火)10時02分10秒
岩根忍女流−激指戦が岩手日報に 山下 2006年 1月10日(火)19時25分16秒
Re:並列化 P山 2006年 1月10日(火)22時53分21秒
Re:並列化 P山 2006年 1月14日(土)15時13分45秒
Re:並列化 K 2006年 1月15日(日)18時35分57秒
Re:並列化 うさぴょんの育ての親 2006年 1月15日(日)21時20分3秒
Re:並列化 うさぴょんの育ての親 2006年 1月16日(月)12時24分12秒
LAN対戦 XC 2006年 1月24日(火)03時05分30秒
Re: LAN対戦 山下 2006年 1月24日(火)18時57分28秒
Re: LAN対戦 アベント 2006年 1月25日(水)21時58分54秒
Re: LAN対戦 山下 2006年 1月26日(木)03時45分23秒
Re: LAN対戦 アベント 2006年 1月26日(木)16時49分55秒
第2回コンピュータ将棋オープン戦(2/5) ... 香山@CSA 2006年 1月26日(木)21時23分11秒
Re: LAN対戦 kaneko 2006年 1月26日(木)21時26分52秒
Re: LAN対戦 アベント 2006年 1月27日(金)00時12分9秒
オープン戦 わからないことだらけですみ... XC 2006年 1月29日(日)02時46分37秒
Re:オープン戦 うさぴょんの育ての親 2006年 1月29日(日)11時43分53秒
選手権の申し込み締め切りは1月31日までです 山下 2006年 1月30日(月)13時12分52秒
Re:選手権の申し込み締め切りは1月31日ま... 高橋 2006年 1月30日(月)17時11分14秒    
週刊将棋でアマ強豪対コンピュータの団体... 山下 2006年 2月 6日(月)08時41分54秒
柿木将棋[の図功百番 横田晴彦 2006年 2月16日(木)19時45分15秒
Re: 柿木将棋VIIIの図功百番 柿木 義一 2006年 2月17日(金)06時23分40秒
KCC将棋が新潟県新春将棋大会に参加 山下 2006年 2月25日(土)16時05分6秒
(無題) ソフト好き 2006年 2月26日(日)15時12分35秒
GnuGo 3.7.8 をVC++6.0でコンパイルするには 山下 2006年 3月 1日(水)08時35分21秒
コンピュータ将棋対抗戦in北陸先端大 橋本@TACOS 2006年 3月 1日(水)14時10分12秒
コンピュータ将棋対抗戦in北陸先端大 結果 橋本@TACOS 2006年 3月 3日(金)15時40分59秒
Re: コンピュータ将棋対抗戦in北陸先端大... 山下 2006年 3月 3日(金)20時13分33秒
Goliathのパターンマッチング 山下 2006年 3月 5日(日)22時45分32秒
Re: コンピュータ将棋対抗戦in北陸先端大... 橋本@TACOS 2006年 3月 6日(月)21時13分21秒
Re: コンピュータ将棋対抗戦in北陸先端大... 山下 2006年 3月 6日(月)23時18分43秒
Re: コンピュータ将棋対抗戦in北陸先端大... 長嶋@TACOS 2006年 3月 7日(火)05時14分14秒
Re: コンピュータ将棋対抗戦in北陸先端大... 山下 2006年 3月 7日(火)10時21分17秒
清水上徹さんと激指の対戦が明日、3/8に新... 山下 2006年 3月 7日(火)11時18分54秒
Re: 清水上徹さんと激指の対戦が明日、3/... 山下 2006年 3月 9日(木)09時44分19秒
Re: 清水上徹さんと激指の対戦が明日、3/... 山下 2006年 3月 9日(木)10時32分8秒
Re: 清水上徹さんと激指の対戦が明日、3/... 山下 2006年 3月 9日(木)21時50分12秒
マルチCPU 都万 2006年 3月11日(土)08時33分10秒
(無題) アベント 2006年 3月11日(土)21時58分31秒
ハードウェアが並列してくれないんですか 初心者 2006年 3月12日(日)09時05分59秒
Re: ハードウェアが並列してくれないんで... アベント 2006年 3月12日(日)21時16分30秒
清水上−激指戦のpcwebのレポート 山下 2006年 3月31日(金)14時33分10秒
週刊将棋の企画はアマ2勝、COM3勝で前半戦... 山下 2006年 4月 1日(土)13時04分52秒
第3回コンピュータ将棋オープン戦参加者募... 香山@CSA 2006年 4月 5日(水)10時10分15秒
今週の週刊将棋に森田さんが 山下 2006年 4月 5日(水)13時33分26秒
(無題) へぼ 2006年 4月12日(水)12時39分37秒
kifをcsa形式に変換 山下 2006年 4月12日(水)21時49分14秒
撃破 hiro 2006年 4月12日(水)22時56分47秒
(無題) へぼ 2006年 4月13日(木)07時57分31秒
(無題) へぼ 2006年 4月13日(木)12時16分43秒
Re: 撃破 山下 2006年 4月13日(木)21時39分11秒
代理参加が記事になってますね 山下 2006年 4月25日(火)22時46分55秒
リコール! おせら 2006年 5月 1日(月)23時00分34秒
明日から 棚瀬 2006年 5月 2日(火)11時44分23秒
Re: 明日から 山下 2006年 5月 2日(火)14時40分27秒
続・撃破 hiro 2006年 5月 5日(金)10時11分10秒
(無題) ソフト好き 2006年 5月 5日(金)12時33分36秒
順位順の星取表です 山下 2006年 5月 6日(土)16時46分35秒
激指ーBonanza戦 山下 2006年 5月 6日(土)17時00分47秒
激指の詰間違いについて 24観戦者 2006年 5月 6日(土)19時40分17秒
おつかれさまです タケトシ@TACOS.OB 2006年 5月 6日(土)19時46分24秒
Bonanzaの強運 10級 2006年 5月 6日(土)22時05分26秒
(無題) bonanza の作者 2006年 5月 6日(土)23時11分40秒
訂正 bonanza の作者 2006年 5月 7日(日)00時09分24秒
(無題) 10級 2006年 5月 7日(日)00時20分30秒
はじめまして 一技術者 2006年 5月 7日(日)07時31分55秒
RE:はじめまして 都万 2006年 5月 7日(日)09時23分20秒
(無題) 凡人 2006年 5月 7日(日)10時31分26秒
ああすいません 一技術者 2006年 5月 7日(日)12時04分20秒
(無題) たか 2006年 5月 7日(日)13時28分38秒
.RE:なげっぷり 都万 2006年 5月 7日(日)15時43分6秒
Bonanza - YSS戦 山下 2006年 5月 7日(日)16時14分55秒
勝又さんがNHK杯で快勝! 山下 2006年 5月 7日(日)16時39分40秒
みなさんお疲れさまでした。 勝又清和 2006年 5月 7日(日)22時02分43秒
Fruitのソース 山下 2006年 5月 8日(月)09時39分16秒
Re: Fruitのソース 棚瀬 2006年 5月 8日(月)12時31分3秒
Re: Fruitのソース Y 2006年 5月 8日(月)21時30分37秒
(無題) bonanza の作者 2006年 5月 9日(火)17時46分31秒
Re: Fruitのソース 棚瀬 2006年 5月 9日(火)23時26分56秒
Rybka 棚瀬 2006年 5月 9日(火)23時44分14秒
Fruit bonanza の作者 2006年 5月10日(水)09時15分47秒
Re: Fruit 山下 2006年 5月10日(水)23時44分9秒
Re: Fruit 棚瀬 2006年 5月11日(木)21時56分47秒
チェス用のGUIソフトですけど 暇人 2006年 5月11日(木)23時07分34秒
Re: チェス用のGUIソフトですけど 山下 2006年 5月12日(金)04時57分56秒
Re: Fruit 山下 2006年 5月12日(金)05時25分31秒
コンピュータチェスの状況 暇人 2006年 5月12日(金)23時33分39秒
Fruit 礒部正幸 2006年 5月14日(日)16時55分53秒
飛車 角 香車の利き 投稿者1 2006年 5月14日(日)19時46分40秒
怪物、Bonanza [Monster, Bonanza.] tss_master 2006年 5月15日(月)00時25分1秒
Re: 飛車 角 香車の利き 山下 2006年 5月15日(月)10時13分41秒
The 11th Computer Olympiad 将棋部門出... 橋本@TACOS 2006年 5月15日(月)16時17分48秒
(無題) 投稿者2 2006年 5月15日(月)18時20分6秒
Re: The 11th Computer Olympiad 将棋部... 橋本@TACOS 2006年 5月17日(水)11時29分22秒
(無題) へぼ 2006年 5月17日(水)12時20分54秒
全幅探索について SUIKA 2006年 5月19日(金)14時47分50秒
Bonanza v2.0 奈良和文 2006年 5月19日(金)23時09分53秒
Re: 全幅探索について 奈良和文 2006年 5月19日(金)23時21分34秒
Re: 全幅探索について SUIKA 2006年 5月20日(土)21時20分18秒    
王手をかける手の生成について 投稿者3 2006年 5月20日(土)23時03分45秒
  2006年 5月21日(日)08時36分38秒
Re: 王手をかける手の生成について SUIKA 2006年 5月21日(日)12時03分50秒    
大会お疲れ様です 時田@デーモン将棋 2006年 5月26日(金)13時09分56秒
Re: 大会お疲れ様です 山下 2006年 5月27日(土)21時08分25秒
モンテカルロ囲碁が9路盤部門で優勝 山下 2006年 5月30日(火)00時51分26秒
Computer Olympiad 将棋部門速報 橋本 2006年 5月30日(火)04時45分6秒
Computer Olympiad 将棋部門速報2 橋本 2006年 5月31日(水)02時17分24秒    
Computer Olympiad 将棋部門速報3 橋本 2006年 5月31日(水)04時49分36秒
激指のアルゴリズムについて 浅井 2006年 5月31日(水)15時05分17秒
Chessで Y 2006年 5月31日(水)21時44分55秒
Re: Chessで 山下 2006年 6月 1日(木)02時20分14秒
Re: Computer Olympiad 将棋部門速報3 山下 2006年 6月 1日(木)02時28分31秒
Re: 激指のアルゴリズムについて 山下 2006年 6月 1日(木)02時32分39秒
Re: Computer Olympiad 将棋部門速報3 山下 2006年 6月 1日(木)02時55分25秒
Computer Olympiad 保木 2006年 6月 1日(木)05時21分23秒
Fruitの盤面構造は SUIKA 2006年 6月 1日(木)14時41分7秒
Re: 激指のアルゴリズムについて 浅井 2006年 6月 1日(木)16時47分33秒    
(無題) 保木 2006年 6月 2日(金)01時42分13秒
(無題) SUIKA 2006年 6月 2日(金)07時05分26秒
Re: Chessで Y 2006年 6月 2日(金)09時24分16秒
Re: Computer Olympiad 山下 2006年 6月 4日(日)00時27分25秒
Computer Olympiadの写真など 山下 2006年 6月 4日(日)01時58分18秒
Re: Chessで 山下 2006年 6月 4日(日)02時11分49秒
BONANZAとKCCが osera 2006年 6月 4日(日)23時59分5秒
グリンベルゲンさんの選手権のレポート 山下 2006年 6月 5日(月)20時40分0秒
KCCの売り方酷すぎ サンボ 2006年 6月 5日(月)21時32分27秒
CGF特別例会が明日から 山下 2006年 6月 9日(金)16時12分5秒
Re: CGF特別例会が明日から 山下 2006年 6月10日(土)23時48分54秒
CGF特別例会最終結果 加藤 2006年 6月18日(日)00時25分40秒
保木さんのセミナー 橋本@TACOS 2006年 6月23日(金)16時27分2秒
今年の岐阜チャレンジ 山下 2006年 7月 5日(水)13時06分49秒
CrazyStoneの動かし方 山下 2006年 7月 6日(木)17時06分16秒
Re:保木さんのセミナー 橋本@TACOS 2006年 7月10日(月)11時25分43秒
木偶の坊 使い方 fku 2006年 7月14日(金)15時14分17秒
Re: 木偶の坊 使い方 山下 2006年 7月14日(金)21時32分35秒
Re:Re: 木偶の坊 使い方 fku amature 2006年 7月16日(日)06時45分27秒
棋譜コンバーター fku amature 2006年 7月20日(木)13時54分36秒
ブログもどき 始めます マイムーブ西村 2006年 7月21日(金)15時45分31秒
CrazyStoneの論文の和訳 加藤 2006年 7月25日(火)23時06分19秒
CrazyStoneの論文の和訳 加藤 2006年 7月26日(水)17時57分54秒    
変形チェッカー・ラスカー 木口公平 2006年 7月29日(土)23時24分56秒
Crazy Stone と transposition table 加藤 2006年 7月31日(月)11時38分5秒    
山下宏さんへ、 木口公平 2006年 7月31日(月)19時45分57秒
Re: 変形チェッカー・ラスカー 山下 2006年 8月 2日(水)18時11分13秒
Re:山下宏さんへ、 アベント@GA将! 2006年 8月 2日(水)20時18分0秒
アベント@GA将!さんへ、 木口公平 2006年 8月 6日(日)07時44分54秒
詰め将棋の無駄を防ぐ方法は?  2006年 8月 6日(日)18時30分38秒
Re: 詰め将棋の無駄を防ぐ方法は? 山下 2006年 8月 7日(月)02時13分27秒
誰かお助け下さい。 fku amature 2006年 8月 9日(水)18時15分34秒
Re:誰かお助け下さい。 都万 2006年 8月 9日(水)20時57分11秒
今試しています fku amature 2006年 8月 9日(水)22時48分37秒
Re:今試しています 都万 2006年 8月10日(木)04時50分21秒
re:誰かお助け下さい。 小宮 2006年 8月10日(木)09時40分31秒
一応分かりましたが・・・ fku amature 2006年 8月10日(木)10時05分3秒
YSS1.0の思考回路 木口公平 2006年 8月12日(土)23時01分29秒
Re: YSS1.0の思考回路 山下 2006年 8月19日(土)05時20分55秒
情報処理の8月号にコンピュータ将棋のミニ... 山下 2006年 8月19日(土)05時39分55秒
岐阜チャレンジ2006の案内ページが出来て... 山下 2006年 8月19日(土)05時42分42秒
Re:Re: YSS1.0の思考回路 木口公平 2006年 8月20日(日)03時07分29秒
(無題) 匿名 2006年 8月23日(水)22時01分17秒
千日手について質問 保木 2006年 8月23日(水)22時18分24秒
Re: 千日手について質問 マイムーブ西村 2006年 8月23日(水)23時13分4秒
(無題) 保木 2006年 8月23日(水)23時17分52秒
(無題) 保木 2006年 8月23日(水)23時19分52秒
(無題) 匿名 2006年 8月24日(木)22時26分40秒
(無題) 匿名 2006年 8月24日(木)22時29分10秒
加藤桃子さん 棚瀬 2006年 8月25日(金)23時07分50秒
受けの通りの最大数  2006年 8月27日(日)02時39分57秒
(無題) 2年目 2006年 8月27日(日)10時30分43秒
(無題) 保木 2006年 8月28日(月)14時57分16秒
IntelのCore2 Duo E6700がYSSベンチでトッ... 山下 2006年 8月28日(月)19時37分26秒
月刊「I/O」で「Javaで作るコンピュータ将... 山下 2006年 9月 1日(金)19時20分57秒
岐阜チャレンジの申し込みは9月6日まで 山下 2006年 9月 1日(金)19時26分7秒
合い駒について  2006年 9月 2日(土)01時38分58秒
合い駒について  2006年 9月 2日(土)01時48分17秒
Re: 合い駒について 山下 2006年 9月 3日(日)09時08分0秒
岐阜チャンレンジの申し込みは今日(6日)... 山下 2006年 9月 6日(水)02時32分39秒
詰将棋の高速化  2006年 9月15日(金)21時07分12秒
第4回コンピュータ将棋オープン戦(10/7)... 香山@CSA 2006年 9月16日(土)01時30分48秒
Re:詰将棋の高速化 都万 2006年 9月16日(土)05時05分18秒
(無題)  2006年 9月16日(土)09時18分39秒
(無題)  2006年 9月16日(土)09時58分7秒
Re:第4回コンピュータ将棋オープン戦(10... 初心者 2006年 9月19日(火)05時39分19秒
Re:第4回コンピュータ将棋オープン戦(10... 香山@CSA 2006年 9月19日(火)20時14分35秒
詰将棋を作らせる  2006年 9月20日(水)08時47分16秒
(無題) 保木 2006年 9月21日(木)09時03分19秒
(無題)  2006年 9月21日(木)23時04分42秒
CSA例会での発表メモ 山下 2006年 9月24日(日)23時36分0秒
YSSの将棋倶楽部24でのレーティング 山下 2006年 9月24日(日)23時41分1秒
Re:CSA例会での発表メモ 高橋 2006年 9月25日(月)00時19分20秒
Re:CSA例会での発表メモ ぎずもご 2006年 9月25日(月)17時11分21秒
Re:YSSの将棋倶楽部24でのレーティング 匿名 2006年 9月25日(月)20時04分35秒
32ビットで1GBを超える配列 通りすがり 2006年 9月26日(火)12時04分30秒
Re:32ビットで1GBを超える配列 高橋 2006年 9月26日(火)21時34分9秒
/3GB まる 2006年 9月27日(水)04時56分34秒
ハッシュ値の保存方法  2006年 9月30日(土)17時22分1秒
(無題)  2006年10月 2日(月)22時41分20秒
freeBasicによる将棋ソフト 木口公平 2006年10月 2日(月)23時47分50秒
第4回コンピュータ将棋オープン戦(10/7)... 香山@CSA 2006年10月 3日(火)02時02分10秒
freeBasicによる将棋ソフト  2006年10月 3日(火)20時03分2秒
Re:freeBasicによる将棋ソフト 都万 2006年10月 4日(水)04時35分46秒
Re:freeBasicによる将棋ソフト アベントxGA将! 2006年10月 4日(水)20時09分49秒
Re:freeBasicによる将棋ソフト アベントxGA将! 2006年10月 4日(水)20時45分58秒
(無題)  2006年10月 4日(水)21時47分28秒
凍結します。 木口公平 2006年10月 4日(水)21時56分49秒
修正しました。 木口公平 2006年10月 4日(水)22時23分27秒
(無題)  2006年10月 4日(水)22時55分55秒
俺さん、ありがとうございます。 木口公平 2006年10月 4日(水)23時25分48秒
> (無題)  2006年10月 2日(月)22時41分20秒
証明数・反証数について(1) SHNSK 2006年10月 5日(木)07時55分12秒
(無題)  2006年10月 5日(木)19時46分53秒
後ろからの王手に対する防衛ルーチン 木口公平 2006年10月 5日(木)21時29分14秒
Re: 後ろからの王手に対する防衛ルーチン あまの 2006年10月 6日(金)19時02分6秒
Re:Re: 後ろからの王手に対する防衛ルー... 木口公平 2006年10月 6日(金)19時20分29秒
彩が、内部エラーで、ほんまかいなー tss 2006年10月 8日(日)02時03分35秒
Re: 彩が、内部エラーで、ほんまかいなー 山下 2006年10月 8日(日)05時22分51秒
そうぢゃったんかいなー(^^A tss 2006年10月 8日(日)18時39分23秒
(無題)  2006年10月 8日(日)22時11分28秒
バグを取ったものをアップ。 木口公平 2006年10月10日(火)02時09分46秒
7路盤では、コンピュータは鬼のように強い... 山下 2006年10月11日(水)05時01分59秒
Re:7路盤では、コンピュータは鬼のように... 高橋 2006年10月12日(木)13時54分58秒
Re:7路盤では、コンピュータは鬼のように... 山下 2006年10月12日(木)17時58分25秒
ひとまず完成。 木口公平 2006年10月13日(金)01時38分59秒
一手読み版をアップしました。 木口公平 2006年10月18日(水)23時51分14秒
朝日新聞の日曜版 山下 2006年10月19日(木)15時52分29秒
Re: 朝日新聞の日曜版 山下 2006年10月23日(月)07時21分36秒
2つの囲碁プログラムをLAN経由で対戦させ... 山下 2006年10月27日(金)04時10分17秒
証明数・反証数の効果  2006年11月 3日(金)00時11分52秒
Re:証明数・反証数の効果 高橋 2006年11月 3日(金)21時47分27秒
MINMAX-αβ法完成 木口公平 2006年11月 4日(土)21時45分3秒
碁盤に置ける連の最大数 山下 2006年11月13日(月)13時01分14秒
Re: 碁盤に置ける連の最大数 tomo 2006年11月13日(月)17時05分26秒
GTP機能について tomo 2006年11月13日(月)17時15分57秒
GPWの写真 山下 2006年11月13日(月)19時10分27秒
Re: GTP機能について 山下 2006年11月13日(月)19時35分39秒
GPWでの保木さんの発表 山下 2006年11月14日(火)08時40分0秒
Re: GTP機能について tomo 2006年11月14日(火)10時23分39秒
連の多い局面 善勝寺 2006年11月15日(水)01時27分10秒
クアッドコアCPU 山下 2006年11月15日(水)12時22分4秒
証明数・反証数の効果  2006年11月16日(木)00時37分59秒
Re:GPWでの保木さんの発表  2006年11月16日(木)07時46分32秒
Re: 連の多い局面 tomo 2006年11月16日(木)22時22分18秒
Re:GPWでの保木さんの発表 匿名希望 2006年11月16日(木)23時38分35秒
大和証券杯ネット将棋棋戦で、渡辺竜王−... 山下 2006年11月17日(金)17時05分47秒
清水上さんと加藤さんがBonanzaと対戦 山下 2006年11月18日(土)13時32分25秒  
Re: 清水上さんと加藤さんがBonanzaと対戦 山下 2006年11月19日(日)17時54分28秒
Re: 清水上さんと加藤さんがBonanzaと対戦 山田 剛@対局サーバ担当 2006年11月21日(火)01時07分47秒
読む手の順番で枝刈するRankCut 山下 2006年11月21日(火)20時05分44秒
Re: 清水上さんと加藤さんがBonanzaと対戦 山田 剛@対局サーバ担当 2006年11月25日(土)21時50分9秒
Kramnik - Fritz 棚瀬 2006年11月28日(火)14時19分23秒
失礼 棚瀬 2006年11月28日(火)14時21分4秒
Re: Kramnik - Fritz 山下 2006年11月28日(火)21時56分32秒
Re: GTP機能について tomo 2006年11月30日(木)11時39分14秒
Re: GTP機能について 山下 2006年12月 1日(金)14時21分42秒
KGSでの彩の級位 山下 2006年12月 1日(金)14時32分27秒
Re: GTP機能について tomo 2006年12月 2日(土)10時20分37秒
新桃花源: 続報 山田 剛@対局サーバ担当 2006年12月 6日(水)00時26分5秒
Re: 新桃花源: 続報 山下 2006年12月 6日(水)13時44分52秒
Re: 新桃花源: 続報 山田 剛@対局サーバ担当 2006年12月 7日(木)01時56分27秒
(無題) ソフト好き 2006年12月 9日(土)10時59分7秒
人工知能VSプロ棋士の闘いを描いたSF小説... タマ 2006年12月16日(土)12時53分3秒
モンテカルロ法が19路盤でGnuGo(SlugGo)を... 山下 2006年12月23日(土)12時17分55秒
Re: モンテカルロ法が19路盤でGnuGo(Slug... 加藤 2006年12月24日(日)00時05分31秒
Re: 新桃花源: 続報 山田 剛@対局サーバ担当 2006年12月24日(日)02時42分1秒
第17回世界コンピュータ将棋選手権 参加... 香山@CSA 2006年12月25日(月)06時37分41秒
VisualBasic6.0に移植してみました。 木口公平 2006年12月26日(火)22時35分7秒
連の最大数問題、23路まで解かれる 山下 2006年12月27日(水)18時18分21秒




(無題)  投稿者:P山 投稿日:2006年 1月 9日(月)17時01分24秒
初めまして。
池さんの本に刺激されて、将棋ソフトを作り、何とか動くものができ、今24でR300くらいです。
将棋ソフトの並列化を行いましたので結果を報告します。
言語はCで、MPIで並列化しました。(コンパイラはIntelC++, VC++でも可、OSはXP)
MPIですので共有メモリー、分散メモリーのどちらでも同じように動きます。
並列化の方法としては、ルートの手をサイクリックに分割します。
つまり4プロセッサーのとき、手0,4,8..はプロセッサー0が、手1,5,9..はプロセッサー1が計算します。ルートだけの並列化ですので、通信時間は無視できます。

並列化に二つの方法があります。
(1)完全分業型
途中一切通信せず、最後に結果を持ち寄って最善手を決めるもの。
自分の受け持ち内だけで枝刈をしますので、枝刈の効率が悪いですが、コーディングは簡単です。
(2)経過報告型
master(管理者)を一人おき、各プロセッサー(slave)は一手評価するごとにmasterに報告し、
より優れたα(またはβ)があればそれを受け取り自分の枝刈に使う。
master-slave間の通信が必要になり、コーディングは少し増えますが、枝刈の効率の低下がある程度防げます。
masterは計算しませんので、ルートコンピュターが2プロセス(master+slave1)実行できます。

将棋タウンの棋力判定問題1でテストした結果は別表の通りです。
2台のPC(PentiumM 2.0GHz)で計算しました。
深さ7で全幅探索し、評価関数は浅いところでは駒得+利き、深いところでは駒得だけです。
探索は単純なαβ+反復深化です。
数字は順に、ツリーのノード数、各ノードで生成した手の数、枝刈に残り実際に評価関数を呼んだ数です。
現在のプログラムでは手の生成に一番時間がかかっていますので2番目の数が計算時間の目安になります。
4,8プロセッサーの結果は実際にそれだけのCPUがあれば、さらに計算時間が1/2,1/4になることが期待できます。

並列化すると、枝刈の効率が下がると同時に、枝の重さが不ぞろいなので、プロセッサーの負荷にアンバランスが生じ、これも速度低下の原因になります。
ただし、それらの速度低下を台数効果が上回れば並列化の意味があります。

2CPUでは(1)(2)とも約1.6倍高速になり、4,8CPUでは(2)の方がやはり優れています。
(2)では4CPUで2-2.5倍、8CPUで3倍程度でしょうか。

MPIでは並列化を考慮して作られたプログラムを並列化するのは比較的簡単です。
#ifdefを使えば逐次版と同一コードに収まり、開発は切り離して行えます。
上の並列化のためのコードは300行くらいで、逐次版の思考部への変更は数行ですみます。

さらに速度を上げるには
・早く仕事が終われば次の仕事を引き受けるpull型にする
・2番目のツリーについても並列化する
などが考えられますが、なかなか難しそうです。

私のプログラムは弱いので並列化してもしかたないのですが、
強いプログラムが並列化してさらに強くなるための参考になれば幸いです。
MPIのURL:  http://www-unix.mcs.anl.gov/mpi/mpich/   


将棋プログラムの並列化  投稿者:P山 投稿日:2006年 1月 9日(月)17時05分54秒
     PE#  ノード数 生成した手の数 評価関数を呼んだ回数 cpu時間
============================================================
(0)逐次版

total    1351308   199725227    17168305  cpu[sec] = 24.983

(1)単純分業型

PE数=2
   0      927467   142117464    11045801
   1     1676522   226012275    12704542
----------------------------------------
total    2603989   368129739    23750343  cpu[sec] = 15.772

PE数=4
   0      665960   106069797     6906996
   1     1434059   195838768     8926439
   2     1739051   219984054    12813936
   3     2029529   222240646    11043790
----------------------------------------
total    5868599   744133265    39691161  cpu[sec] = 27.248

PE数=8
   0      553783    91786470     5451483
   1      977425   137340271     5554587
   2     1286174   177381211     9254862
   3     1812463   189004414     6725820
   4     1711450   197801463     9037623
   5      595926    73872176     5064990
   6     1991769   235893373    10505956
   7     1541282   173002910     8030186
----------------------------------------
total   10470272  1276082288    59625507  cpu[sec] = 36.606

(2)経過報告型

PE数=1+2
   0           0           0           0
   1      927467   142117464    11045801
   2     1211891   161771150     8773831
----------------------------------------
total    2139358   303888614    19819632  cpu[sec] = 15.831

PE数=1+4
   0           0           0           0
   1      665960   106069797     6906996
   2     1024328   136813524     6003084
   3     1011605   144430621     6351517
   4     1149504   133654559     7269457
----------------------------------------
total    3851397   520968501    26531054  cpu[sec] = 19.427

PE数=1+8
   0           0           0           0
   1      553783    91786470     5451483
   2      916962   131892711     4444654
   3      555010    85305397     4481816
   4      518578    53965750     2972904
   5      605226    59294123     4598571
   6      591913    73540523     4978642
   7      571135    86949262     4251943
   8      697872    87628394     4738904
----------------------------------------
total    5010479   670362630    35918917  cpu[sec] = 23.178   


並列化  投稿者:P山 投稿日:2006年 1月 9日(月)17時35分7秒
数字の羅列をアップして申し訳ありません。少し追加すると、
・ロードの不均一度は最大2−3倍くらい?
・8CPUでの枝刈効率低下は最大1/2-1/3?
・PE数が増えるとロードの平準化が行われることもあるのでプラスの面もある
・有望手が少数(2-3)のときは並列化度が低下する
・有望手が多いとき(最善手が微妙なとき)高速化しやすい
MPIの参考文献です。
P.パチェコ「MPI並列プログラミング」培風館
青山幸也「並列プログラミング入門MPI版」 http://accc.riken.jp/HPC/training/text.html   


Re:並列化  投稿者:うさぴょんの育ての親 投稿日:2006年 1月10日(火)00時00分30秒
P山さん、はじめまして。
通信のコストが多少かかっても、αβ法を並列化する場合、ルートノードでのみ分割するよりは、もう少し効率的な方法が知られています。

「うさぴょん」で実際にコーディングしているのですが、方法の名前は何ていうんだったっけ?
えーと、PVS(Principal Variation Search)で良かったかな?
一番最初のノードは1CPUで計算して、残りの兄弟ノードを並列で計算する、という手法です。
手の並び替えの精度がある程度高ければ、ある程度信頼できるα値(及び場合によってはβ値も)が求まっている状態で並列計算が始められるので、効率があがります。

また、αβ法の変形で、MTD(f)という探索方法があるのですが、これだとルートノードのみで分割しても結構高速に動くはずです。まだ4ヶ月ありますので、参考になれば幸いです。   


Re:並列化  投稿者:P山 投稿日:2006年 1月10日(火)10時02分10秒
うさぴょんの育ての親様。ご教示ありがとうございます。
時間制限があるとき、反復深化を使う必要がありますが、並列計算のとき、本命を計算し終える前に、悪い結果だけ返ってきた状態で時間切れになることがあって困っていましたが、すべてのプロセッサーで前回最善手だけは最初に計算するようにすれば、この問題はなくなるかも知れません。ありがとうございます。
ところで、「コンピュータ将棋のアルゴリズム」のp83でソートの不等号が先後で逆になっていないように思えますがいかがでしょうか。
あと、どなたかに教えていただければと思いますが、
ハッシュを使って局面の重複を排除するとαβを用いなければ探索量が((D/2)!)^2分の1(Dは深さ、D=6のとき1/36)になり、実際はαβの枝刈によってかなり小さくなりますが、それでもかなり効果はありそうですが、私が試したところ2/3くらいにしかなりませんでした。
これはこんなもんでしょうか。それとも正しく処理していればもっと高速化できるものなのでしょうか。
最後に質問ですが、定跡または棋譜でデータとフォーマットが公開されているものはあるのでしょうか。うさぴょんのサイトの27MBのpublic.binを使ってもすぐに定跡からはずれしまうので、序盤の広くて浅いものがあればいいのですが。   


岩根忍女流−激指戦が岩手日報に  投稿者:山下 投稿日:2006年 1月10日(火)19時25分16秒
CSAのMLからですが、
1月3日の岩手日報の朝刊に「コンピューターと手合わせ」という題で
岩根忍女流初段と激指が平手で対戦して激指が111手で勝った記事が掲載されている、とのことです。   


Re:並列化  投稿者:P山 投稿日:2006年 1月10日(火)22時53分21秒
うさぴょんさんのご指摘通り、すべてのプロセッサーで前回最善手を最初の読むようにすると制限時間があるときでも安定して並列プログラムが流せるようになりました。2台で1.5-1.6倍くらいです。
以下は余談ですが。
パチェコのMPIの本に、10ページくらい並列木探索の説明があります。木探索といえば再帰呼び出しと相場が決まっていますが、この中でもう一つの方法として、スタックのpush,popを使ってwhileの無限ループで処理する方法が説明されています。将棋でいえば打てる手をスタックに積んだりとりくずしたりして、打てる手がなくなったら終わりというイメージでしょうか。やっていることはたぶん再帰呼び出しと同じなので計算量が減るわけではないでしょうが、記述しやすい、または並列化しやすいのかもしれません。(逆かもしれません)
木探索の並列化は、Kumarの論文の解説ですが、Kumar氏は93年ころで研究テーマが変わったようです。
その後は非同期通信のBrockingtonのAPHIDでしょうか(PVMでのライブラリを公開していますが、今はPVMよりMPIが主流です)。この人も97年で終了したようなので、やはりチェスの先が見えたので、ゲーム木の並列探索は下火になったのでしょうか。
将棋でいえば、分散メモリーでの並列化は、ハードが安くて何台でも増やせるので、有望と思います。(APHIDで問題になったようにハッシュの共有の問題がありそうですが)
http://www-users.cs.umn.edu/~kumar/
http://www.cs.ualberta.ca/~games/aphid/   


Re:並列化  投稿者:P山 投稿日:2006年 1月14日(土)15時13分45秒
思考プログラム並列版のソースコードをアップしました。
http://mucho.girly.jp/cgi/bonaup/src/up0112.zip
master-slave型の負荷調整済み版です。   


Re:並列化  投稿者:K 投稿日:2006年 1月15日(日)18時35分57秒
最近、アクションゲームの中にはデュアルコアに対応したソフトが出ていますが、将棋ソフトではまだないんですか?   


Re:並列化  投稿者:うさぴょんの育ての親 投稿日:2006年 1月15日(日)21時20分3秒
普通のCPUで実行した時に遅くなるので、商用ではわざと出してないんじゃないですかね?

フリーソフトだったら、うさぴょんが2002年くらいから対応してます。   


Re:並列化  投稿者:うさぴょんの育ての親 投稿日:2006年 1月16日(月)12時24分12秒
しばらく前から探していたのですけど、やっと見つけたので、東大将棋の岸本さんの探索アルゴリズムの並列化に関する論文を紹介しておきます。

Trasposition Table Driven Scheduling for Two-Player (466 KB)

http://digilander.libero.it/gargamellachess/papers/Trasposition%20Table%20Driven%20Scheduling%20for%20Two-Player.zip   


LAN対戦  投稿者:XC 投稿日:2006年 1月24日(火)03時05分30秒
次の大会に出ようと考えていますが、LANのプロトコルが理解できません。
RS232Cなら、+7776FU\nなので難しくないのですが、LANの場合の一連のやりとりが
簡単にわかる方法はありますか?

大会はRS232Cを使うこともできますか?   


Re: LAN対戦  投稿者:山下 投稿日:2006年 1月24日(火)18時57分28秒
大会はLAN推奨ですがRS232Cでも参加できます。

LANのプロトコルは私は増本さん作成のTest56.exeという
仮想サーバを使ってテスト+理解できました。
http://www2.ttcn.ne.jp/~tsuma/index.html
http://www2.ttcn.ne.jp/~tsuma/CSALAN.LZH

だいたいのデータの流れは下のようになります。
最初にログイン処理とたくさん初期化用のデータが来ますが、
その後は、ほとんどRS232Cと同じになります。

私もログインするサンプルを作ってるのでよろしければごらん下さい。
http://www32.ocn.ne.jp/~yss/csa_win20050922.lzh

--->LOGIN yss password
<---LOGIN:yss OK
<---BEGIN Game_Summary
<---Protocol_Version:1.0
<---Protocol_Mode:Server
<---Format:Shogi 1.0
<---Game_ID:Game00020
<---Name+:yss
<---Name-:oki2
<---Your_Turn:+
teban=0
<---Rematch_On_Draw:NO
<---To_Move:+
<---BEGIN Time
<---Time_Unit:1sec
<---Total_Time:1500
<---Least_Time_Per_Move:1
<---END Time
<---BEGIN Position
<---Jishogi_Declaration:1.1
<---P1-KY-KE-GI-KI-OU-KI-GI-KE-KY
<---P2 * -HI * * * * * -KA *
<---P3-FU-FU-FU-FU-FU-FU-FU-FU-FU
<---P4 * * * * * * * * *
<---P5 * * * * * * * * *
<---P6 * * * * * * * * *
<---P7+FU+FU+FU+FU+FU+FU+FU+FU+FU
<---P8 * +KA * * * * * +HI *
<---P9+KY+KE+GI+KI+OU+KI+GI+KE+KY
<---P+
<---P-
<---+
<---END Position
<---END Game_Summary
--->AGREE
今から対局開始。START:を待つ
<---START:Game00020
--->+7776FU
<---+7776FU,T1
<----9394FU,T1
--->%TORYO
<---%TORYO
テスト終わり   


Re: LAN対戦  投稿者:アベント 投稿日:2006年 1月25日(水)21時58分54秒
はじめまして。横レス失礼します。

私も大会に向けてプログラム中なのですが、下記の仮想サーバでちょっと気になる事があるので質問させて下さい。

LAN対戦用の自作プログラムで仮想サーバにログインしようとしたのですが、ログインメッセージを送信しても仮想サーバからメッセージが返ってきませんでした。

そこで山下さんのサンプルを拝見したのですが、ログインメッセージの最後に“\n”で改行されていました。
これを真似して、私のプログラムでも最後に“\n”を付けた所、仮想サーバからメッセージが返ってくる様になりました。

お聞きしたい事と言うのはこの件で、接続先によって“LF”で改行するか“\n”で改行するかを使い分けられているのでしょうか?


ちなみに“LF”で改行した場合の仮想サーバ以外との接続ですが、CSAのテスト用サーバとwdoorさんからはメッセージが返ってきました。   


Re: LAN対戦  投稿者:山下 投稿日:2006年 1月26日(木)03時45分23秒
LFも"\n"も同じ文字(0x0a)を表していると思いますので

sprinf(str,"%s","LOGIN yss password\n");
sprinf(str,"%s","LOGIN yss password\x0a");

上と下はどちらもOKだとは思います。

CR "\r" 0x0d
LF "\n" 0x0a

fprintf(fp,"abc\n");
とかでMS-DOS上にテキストファイルを吐き出した場合は、
自動的にCRが前に付いて、
"\r\n" (0x0d 0x0a) というコードになってしまいますけど。

改行コードの種類
http://seclan.dll.jp/cccrlf.htm   


Re: LAN対戦  投稿者:アベント 投稿日:2006年 1月26日(木)16時49分55秒
失礼しました。
"\n"は常にCR+LFになるのだと勘違いしていました。

そうすると、私のプログラムの方に問題がありそうなので、もう一度見直してみます。   


第2回コンピュータ将棋オープン戦(2/5) 参加者募集のお知らせ  投稿者:香山@CSA 投稿日:2006年 1月26日(木)21時23分11秒
 来る2月5日(日)に、LAN対戦のテストのためのオープン戦を下記のように
開催することとなりました。
 参加希望の方は電子メールで applyxcomputer-shogi.org (担当:香山 健太郎)まで
参加希望の旨お送りください。
 なお、今年の選手権に参加しないプログラム、あるいは人間の参加も受け付けております。
(過去に選手権申込システムにID登録をしていない方は、
 次のURIにアクセスし、まずID登録をしてください。
https://www.computer-shogi.org/cgi-bin/wcsc16/apply.cgi
 また、選手権自体の参加申込はこの申込システムからお願いします)


   第2回コンピュータ将棋オープン戦 参加者募集のお知らせ


  5月3-5日に行われる第16回世界コンピュータ将棋選手権より、対局サーバを用いた
LAN対戦が導入されます。
(プロトコル・テスト用サーバ・サンプルプログラム等はCSAのサイトで公開されています)
http://www.computer-shogi.org/protocol/

 このLAN対戦のテストのため、下記のようにネット上でオープン戦を行うことになりました。
 また、オープン戦ということで、通信プロトコルに基づいて指し手を送受信できるなら、
指し手を決定するのは人間でも構いません。
(その場合は http://www.junichi-takada.jp/sficp/ のJava Applet などをご利用ください)
 参加費は無料ですので、奮ってご参加ください。
 また、同様のオープン戦は4月9日(日)にも開催を予定しております。
調整・デバッグ等にご活用ください。

1.日程   2006年2月5日(日) 13:00〜
2.対局形式 インターネット上に設置した対局サーバに接続して対局
3.対局数  スイス式3回戦を目安とする
4.持時間  25分切れ負け(サーバ側で計測、ネットワークでの遅延分も消費時間に含む)
       (コンピュータ将棋選手権のルールに準じています)
5.主催   コンピュータ将棋協会(CSA)
            http://www.computer-shogi.org/
6.参加資格 CSAの規定したTCP/IPプロトコルにのっとって指し手を送受信できること
       指し手を決定するのは人間・自作のプログラム・その混成のいずれも可
    (注)・指し手決定にプログラムを使用する場合は、選手権同様自作のもののみ
        (自作でない市販ソフト・フリーソフトは不可。
         それらの指し手や評価値を参考にするのも不可。)
       ・プログラム自作にあたっては、選手権同様、使用可能ライブラリを使用してもよい
       ・通信用には、CSA将棋等のフリーソフト・市販ソフトを使用してもよい
7.参加費  無料
8.申込期限 2005年2月3日(金)
9.申込先  過去にID登録をしていない方は、次のURIにアクセスし、まずID登録をしてください。
             https://www.computer-shogi.org/cgi-bin/wcsc16/apply.cgi
       その上で、電子メールで applyxcomputer-shogi.org (担当:香山 健太郎)まで
       参加希望の旨お送りください。
       (選手権自体の参加申込は上記の申込システムからお願いします)

10.問合せ先 電子メールで applyxcomputer-shogi.org (担当:香山 健太郎)まで



※試合当日の対戦相手の発表・連絡等は、下記の掲示板にて行います。
 http://cgi3.tky.3web.ne.jp/~kayaken/csabbs/06op2/

※参加にあたってのお願い
・サーバの都合上ネットワーク遅延分も消費時間に含めるため、ネットワークの状態によっては
 運悪く時間切れ負けになることもありますが、どうかご了承ください。
・本プロトコルを用いた対戦はまだ例が少なく、様々なトラブルが予想されます。
 できるだけそのようなことがないようCSAも努力いたしますが、トラブルが起こった場合は
 どうかご容赦ください。

※申込の際に入力された個人情報は、本大会の連絡に用いるほか、今後CSAが主催・協力する
大会の案内、および本大会の結果に対し取材等の申込があった場合の通知に
使用することがあります。(取材等の申込側にCSAが個人情報を伝えることはありません) 
https://www.computer-shogi.org/cgi-bin/wcsc16/apply.cgi



Re: LAN対戦  投稿者:kaneko 投稿日:2006年 1月26日(木)21時26分52秒
ちなみにwdoorで動いているshogi-serverは寛容な仕様で、LFでもCRLFでも受け付けます。またCRLFを受け取ったクライアントに対してはCRLFで返事をします。
この拡張は便利なのですが、大会用サーバとは仕様が異なると思いますので、厳密な動作テストにはCSAのサーバをお使いになった方が安全かもしれません。   


Re: LAN対戦  投稿者:アベント 投稿日:2006年 1月27日(金)00時12分9秒
なるほど、wdoorさんは厳密な動作よりも使い易さを優先しているのでしょうね。
大会でトラブルがあると困るので、CSAのサーバでテストしてみようと思います。
ご指摘ありがとうございました。   


オープン戦 わからないことだらけですみません。  投稿者:XC 投稿日:2006年 1月29日(日)02時46分37秒
オープン戦でのLAN対局は、CSA通常モードで行うのでしょうか?

LANのやりとりは大まかにわかりましたが、どのようにして相手を選ぶのかわかりません。
Shogi-serverにアクセスして、LOGIN ユーザー名 パスワードで
相手を選別?して対戦できるのでしょうか?

また、5月の大会とオープン戦の仕様は同じでしょうか?    



Re:オープン戦  投稿者:うさぴょんの育ての親 投稿日:2006年 1月29日(日)11時43分53秒
> オープン戦でのLAN対局は、CSA通常モードで行うのでしょうか?
そうです。

> Shogi-serverにアクセスして、LOGIN ユーザー名 パスワードで
> 相手を選別?して対戦できるのでしょうか?
相手は、主催者側で決定した相手になりますので、自分の方で選ぶ必要はありません。

> また、5月の大会とオープン戦の仕様は同じでしょうか?
そうですね。
仕様上、何か致命的な問題が5月までに見つからない限りは同じです。   


選手権の申し込み締め切りは1月31日までです  投稿者:山下 投稿日:2006年 1月30日(月)13時12分52秒
お忘れの方はお早めに・・・。
http://www.computer-shogi.org/wcsc16/

しかし、今年は1次予選が激戦で面白くなりそうです。
なぜかYSSがシードに繰り上がるような気配がありますし。   


Re:選手権の申し込み締め切りは1月31日までです  投稿者:高橋 投稿日:2006年 1月30日(月)17時11分14秒    
>しかし、今年は1次予選が激戦で面白くなりそうです。
>なぜかYSSがシードに繰り上がるような気配がありますし。

ですね、一次から参加の人(特に大澤、おまえだ!!)、Goodluck & have a fun←ちょーイヤミ(笑)

#だんなが的確明瞭簡潔なレスを付けてるの初めて見た。Coolだぜ、だんな。   


週刊将棋でアマ強豪対コンピュータの団体戦の企画  投稿者:山下 投稿日:2006年 2月 6日(月)08時41分54秒
週刊将棋の企画で、アマ強豪5人対コンピュータ5チームの団体戦の記事が
2月22日号からしばらく連載されるとのことです。

2月8日号には予告が載っていて、
アマ強豪側は
横山公望さん、加部康晴さん、小林庸俊さん、美馬和夫さん、細川大市郎さん、の5人で
コンピュータ側は
激指、KCC将棋、IS将棋、YSS、Bonanza、の5チームです。

対局は2回戦で1局目が60分60秒、2局目が20分30秒となっています。   



柿木将棋[の図功百番  投稿者:横田晴彦 投稿日:2006年 2月16日(木)19時45分15秒
 柿木将棋[にある詰将棋閲覧にある「図功」にある「編集」から「詰将棋用」でWordに貼り付けて印刷してみたのですが、局面図が縮こまっているというか読みにくくなります。
 指し手と説明は問題ないのですが、わかりやすくできないでしょうか?   



Re: 柿木将棋VIIIの図功百番  投稿者:柿木 義一 投稿日:2006年 2月17日(金)06時23分40秒
横田様

局面図は、画像にするといいと思います。
マニュアルP68や次のページを参考にして下さい。

http://www02.so-net.ne.jp/~kakinoki/KifuwInt.htm

なお、ここは柿木将棋の掲示板ではありませんので、さらに質問がありましたら、メールを下さい。 
http://www02.so-net.ne.jp/~kakinoki/KifuwInt.htm



KCC将棋が新潟県新春将棋大会に参加  投稿者:山下 投稿日:2006年 2月25日(土)16時05分6秒
週刊将棋の22日号からですが、KCC将棋が新潟県新春将棋大会に参加して
予選を通過して、本戦準決勝で早川俊さん(県代表の常連)に敗れた、という記事が出ています。

また、週刊将棋主催のアマ強豪−コンピュータ戦は5局の序盤の様子が掲載されています。
29日号から自戦記・観戦記が掲載される予定とのことです。   


(無題)  投稿者:ソフト好き 投稿日:2006年 2月26日(日)15時12分35秒
http://www.asahi.com/shougi/

三浦郷田戦の最後のほうの評価関数大丈夫でしょうか?

私のへぼPCではボナは互角と・・   


GnuGo 3.7.8 をVC++6.0でコンパイルするには  投稿者:山下 投稿日:2006年 3月 1日(水)08時35分21秒
安定版の 3.6 はちゃんとVC++6.0でもコンパイルできるのですが
最新版(2006年1月30日リリース)の3.7.8に含まれている gnugo.dsw だと
uncompress_fuseki.exe がないよ、と怒られてコンパイルできません。
http://lists.gnu.org/archive/html/gnugo-devel/2005-09/msg00057.html

そこで、3.7.8のソースを落として展開した後、
ftp://sporadic.stanford.edu/pub/gnugo-3.7.8.tar.gz

下のzipに含まれる、2つのdspファイルを、
http://www32.ocn.ne.jp/~yss/gnugo378add_dsp.zip

gnugo-3.7.8\patterns\uncompress_fuseki.dsp
gnugo-3.7.8\gnugo.dsw

におきます。
で、gnugo.dsw を開いてVCを起動して、
「ビルド」「アクティブな構成の設定」で「gnugo - Win32 Release」を選択して「OK」の後、
「ビルド」「ビルド gnugo.exe」でコンパイルすれば、

gnugo-3.7.8\interface\gnugo.exe
が無事できます。

ちなみに 3.7.4 まではそのままでコンパイルできます。   


コンピュータ将棋対抗戦in北陸先端大  投稿者:橋本@TACOS 投稿日:2006年 3月 1日(水)14時10分12秒
明日3月2日、コンピュータ将棋対抗戦in北陸先端大と銘打って
激指チームのお二方をお招きし激指対TACOSの試合を北陸先端
科学技術大学院大学ゲーム情報学研究ユニットにおいて行います。
結果など詳細はまたのちほど連絡いたします。 


コンピュータ将棋対抗戦in北陸先端大 結果  投稿者:橋本@TACOS 投稿日:2006年 3月 3日(金)15時40分59秒
結果は100手にて激指の勝ちでした。
棋譜はリンク先をご覧ください。 
http://www.jaist.ac.jp/~t-hashi/TACOS/taikousen/



Re: コンピュータ将棋対抗戦in北陸先端大 結果  投稿者:山下 投稿日:2006年 3月 3日(金)20時13分33秒
> マシンは激指が Athlon64 X2 4800+、TACOSが Opteron852 x4 です。

やや、TACOSも並列で走るようになったのですね。
効率はどのくらいですか?    



Goliathのパターンマッチング  投稿者:山下 投稿日:2006年 3月 5日(日)22時45分32秒
囲碁のパターンマッチングは結構難しいと思います。
完全一致を調べるならハッシュを使えばさくっと探せそうですが、
「この場所は何でもいいよ」という場合が厄介です。

例えば、下は彩に入ってる悪形データベース(絶対に打たないようにする)なのですが、
「何でもいい」という?がたくさんあります。

"?┼┼┼?"
"?○┼○?"
"?●★┼?"  ?は何でもOK。don't care
"?┼●┼?"
"?????"

彩は普通に1個ずつ調べているのですが、1990年前後に活躍した
Goliathというプログラムでは少し高速化したやり方をしています。
Goliathは5x5のパターンを持っていて、「黒」「白」「空白」につき、
それぞれ25bit(実際は32bit)を持っています。上のパターンですと、

黒   ● 00000 00000 01100 00100 00000
白   ○ 00000 01010 00000 00100 00000
空白 ┼ 01110 00100 00010 01010 00000
-------------------------------------
OR      01110 01110 01110 01110 00000 ---> 0の所が何でもOKのdon't care

となって、
if ( position & pattern == pattern ) 一致
で「何でもいい」を含めて調べることができます。

・1個のパターンに対し、回転、鏡像、で8個のパターンを保持。
・実際に石を盤上に置くごとに盤上の5x5のパターンを更新。25個所(x8)=200パターンを同時に。
・もし300パターンを持っているなら、石を1個おくたびに、300x25x8 = 60000 回のチェックが必要。
・パターンには壁がどこにあるか、この石がアタリになっていないこと、といった付加的な情報がついている。
・最初の形によるパターンが一致した後にだけ、これらの付加情報をチェックする。
・石の死活においてパターンにマッチする手があれば、その手だけを読み、なければダメを埋めていく。
 ex. ゆるみシチョウ、やゲタなど。

結局、普通に全部調べるので遅いのですが、
石の中央の配置によって場合分けをしています。
具体的には、下のように、

" + "
"+++"
" + "

Don't care がほとんどない中央+その4隅の石の配置
(黒、白、空白の3パターン x 5箇所。3^5=243パターン)で場合わけして直線サーチしています。
こうして243のパターンに場合わけすることで50倍から100倍速くなったそうです。

元の論文は下で以前はネットで見れたようですが、今はないみたいです。
[Boon 1989] Mark Boon, “A Pattern Matcher for Goliath”, Computer Go 13, winter 89-90.    



Re: コンピュータ将棋対抗戦in北陸先端大 結果  投稿者:橋本@TACOS 投稿日:2006年 3月 6日(月)21時13分21秒
並列化は長嶋君がやってくれてるんですが、激指との試合の前の日にようやく
動くようになったところで効率はまだよくわかりません。どうも却って悪くな
ってる可能性が大ですが、せっかくなので4CPUに考えさせてみました。
ハッシュの共用もしておらず、まだちゃんとした並列化はできてません。    



Re: コンピュータ将棋対抗戦in北陸先端大 結果  投稿者:山下 投稿日:2006年 3月 6日(月)23時18分43秒
なるほど、そうだったんですか。
しかし今年の大会は並列が増えそうですね。
決勝は並列の方が多くなりそうな気がします。    



Re: コンピュータ将棋対抗戦in北陸先端大 結果  投稿者:長嶋@TACOS 投稿日:2006年 3月 7日(火)05時14分14秒
並列化と言えるのか、現状は4つのCPUがなんか動いてる程度です。秒間ノード数は3倍くらいになって90万node/secとか見えたのですが、読んでいるノードは大半は無駄なところのようで、間違いなく効率は下がっています。
せっかく4つもCPU載ってるので大会までには1CPUより効率よくなるよう間に合わせたいです。    



Re: コンピュータ将棋対抗戦in北陸先端大 結果  投稿者:山下 投稿日:2006年 3月 7日(火)10時21分17秒
90万は速いですね。
YSSだと同じハードで50万から90万ぐらいです。

ところで・・・うるさくないですか? :-)    



清水上徹さんと激指の対戦が明日、3/8に新宿の工学院大学にて  投稿者:山下 投稿日:2006年 3月 7日(火)11時18分54秒
明日、激指とアマ竜王の清水上さんの対戦が情報処理学会のイベントの1つとして
行われます。

特別セッション(1):ここまで来たコンピュータ将棋
3月8日(水)13:15-18:00[第1イベント会場(高層棟3階 アーバンテックホール)]
パネル討論「将棋とコンピュータ」
3月8日(水)16:00-18:00(対局終了後)[第1イベント会場(高層棟3階 アーバンテックホール)]
https://secure1.gakkai-web.net/gakkai/ipsj/program/html/event/event.html
工学院大学の場所
https://secure1.gakkai-web.net/gakkai/ipsj/program/html/outline/mapindex.html
学会の案内
https://secure1.gakkai-web.net/gakkai/ipsj/program/index.html

学生の方は無料のようですが、
情報処理学会の会員以外の方は参加費が6000円かかるとのことです。
http://www.ipsj.or.jp/10jigyo/taikai/68kai/index.html    



Re: 清水上徹さんと激指の対戦が明日、3/8に新宿の工学院大学にて  投稿者:山下 投稿日:2006年 3月 9日(木)09時44分19秒
観戦してきました。
会場は結構人が入っていて盛況でした。
実際の対局は別室で行って、激指の画面と対局している画面を2つのプロジェクターで
映し出して、それを島8段が解説する、という形式でした。

下は、激指が△82角と引いた局面で、悪形なので▲86歩△同歩▲88飛、で
困ったかのように見えたのですが、△77桂▲86飛△85歩に▲88飛に△93角と
上がった手順がそう簡単にはつぶれないようで面白かったです。

後手:激指
後手の持駒:なし
  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歩|四
| ・v歩 ・ 歩 ・ ・ ・ ・ ・|五
| 歩 ・ 歩 銀 歩 歩 歩 歩 歩|六
| ・ 歩 角 ・ ・ 金 桂 ・ ・|七
| 香 ・ ・ 飛 ・ ・ 銀 玉 ・|八
| ・ 桂 ・ ・ ・ 金 ・ ・ 香|九
+---------------------------+
先手:清水上アマ竜王
先手の持駒:なし
手数=44  △8二角  まで


端攻めが厳しかったようで激指敗勢なのですが、
最後、自陣に桂香を受けまくってよく分からない展開になってます。
ここで▲33桂と打ったのが気づきにくい手で以下△11香と桂香だけの安い陣形を築いたものの
▲12龍△同香に▲21桂成で受けが無くなり清水上さんの勝ちとなりました。

後手:激指
後手の持駒:香 歩八
  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馬|九
+---------------------------+
先手:清水上
先手の持駒:桂
手数=140  △2二桂打  まで


読売新聞に記事が出ています。

最強の将棋ソフト、アマ竜王に及ばず
http://www.yomiuri.co.jp/national/culture/news/20060308i411.htm    



Re: 清水上徹さんと激指の対戦が明日、3/8に新宿の工学院大学にて  投稿者:山下 投稿日:2006年 3月 9日(木)10時32分8秒
写真を置きました。
http://www.yss-aya.com/photo/20060308kogakuin/index01.html    



Re: 清水上徹さんと激指の対戦が明日、3/8に新宿の工学院大学にて  投稿者:山下 投稿日:2006年 3月 9日(木)21時50分12秒
NHKでも放映されたようで、下で動画が見れます。

将棋ソフト アマ棋士に挑戦
http://www3.nhk.or.jp/news/2006/03/09/d20060308000158.html    



マルチCPU  投稿者:都万 投稿日:2006年 3月11日(土)08時33分10秒
マルチCPUは、昭和末期に神宮球場の近くで仕事をした関係で効果は少ないとみてます。
というのは、このときに使ったコンピュータが2CPU積んでいると説明があって驚いたのですが、説明をよく読むと2つのCPUで同じ計算をさせ、計算結果が違うならばコンピュータがそれを自分で本社に報告し、何日か後にCPUを交換してくださいと新しいCPUを送ってくるというもの。
つまり、処理速度を上げる為に2つ積んでいるのではなくて、正確さを上げる為に置いてる。
米国のマルボロだったか、ストラタスだったか、そういうメーカーの大型機の話です。

最近のゲーム機を見ると複数のCPUを積んでいるのがあります。
これは、目的別にCPUを置いていて処理効率を上げる働きをしてます。
例えば、グラフィックだけを担当するCPUとか、A/Dコンバータ(音関係)を担当するCPUとか、ディスクをアクセスするCPUとか、実数演算を担当するCPUとかいうふうに。
メインCPUの負荷を下げるのにかなり効果があります。

さて、将棋の場合はどうかとなると疑問があります。
4つCPUを積んでも思考部というのは、計算スレッドで同じハード(メモリ)をアクセスするんです。
同じハードをアクセスする場合、排他制御がかかり、そのハードをアクセスする間、別CPUは待たされるんじゃないかと思うんです。
思考スレッドは、メモリアクセスだけではなくて、レジスタだけで計算もありますが、ほとんどのスレッドがメモリを読み書きするので、4つも積んでも1つ分の効果しか得られないような気がするんです。

あまり、ハードに詳しくない素人の判断で、間違っている部分もあると思うのですが、1つ分の効果しかなかったという実験結果はあっているような気がします。    



(無題)  投稿者:アベント 投稿日:2006年 3月11日(土)21時58分31秒
> 説明をよく読むと2つのCPUで同じ計算をさせ、計算結果が違うならば
デュアルシステムかデュプレックスシステムという奴ですよね。
(情報処理技術者試験がらみで勉強した覚えがあるのですが、うろ覚えです・・・)
確かに、この構成では計算速度は上がりませんし、コンピュータ将棋に利用する必要はあまり無いと思います。

> 目的別にCPUを置いていて処理効率を上げる働きをしてます。
こっちは非対称型マルチプロセッサと言うんでしたっけ。
最近のPCではGPUがどんどん高性能化してきたので、この構成に近いものがありますよね。
FPGAをコンピュータ将棋に利用する場合もこの構成になるのでしょうが、メインのCPUとの処理能力とのバランスを取るのが難しそうです。

昨年の選手権では、Opteronのデュアル・クアッドを利用されていた方がおられたので、全く無意味ではないと思います。
この掲示板でも、CPUの数が2倍になると速度は1.5〜1.6倍になると書かれていたと記憶しています。
私はデュアルコアCPU(Athlon64 X2)を利用していますが、速度向上率はおおむねその通りでした。
ただ、「どれか一手を先読みすると枝狩りが発生する」という状況では、複数の手をマルチスレッドで先読みしても無駄になるので、枝狩りが発生しそうかどうかに応じて並列化するか否かを決める様な仕組みが必要かな、と思っています(今年の選手権には実装が間に合わないでしょうが)。    



ハードウェアが並列してくれないんですか  投稿者:初心者 投稿日:2006年 3月12日(日)09時05分59秒
ハード的な並列は駄目なんですか?ないんですか?
プログラムする側からしたら単一と同じで
ジョブが発生したらハードウェアが次々に空いてるCPUに分配していくような感じで。    



Re: ハードウェアが並列してくれないんですか  投稿者:アベント 投稿日:2006年 3月12日(日)21時16分30秒
私の知る限りでは、マルチプロセッサの性能を引き出す様にハードウェアが自動的に並列化する、という仕組みはありません。
ただ、NECのMP98というプロセッサは、シングルスレッドで書かれたアプリをコンパイラが並列化してくれます。
こういう技術がPC向けにも普及すれば、プログラムが楽になるかもしれません(そのぶん楽しみも減るでしょうが)。

http://www.labs.nec.co.jp/MP98/compiler-j.htm
http://pc.watch.impress.co.jp/docs/article/20000214/isscc3.htm    



清水上−激指戦のpcwebのレポート  投稿者:山下 投稿日:2006年 3月31日(金)14時33分10秒
かなり詳しい記事になっています。

アマチュア竜王・清水上氏 VS 将棋ソフト・激指
http://pcweb.mycom.co.jp/articles/2006/03/30/ipsj/    



週刊将棋の企画はアマ2勝、COM3勝で前半戦終了  投稿者:山下 投稿日:2006年 4月 1日(土)13時04分52秒
週刊将棋で連載されているアマ強豪−コンピュータの団体戦の企画ですが、
1回戦(持ち時間60分60秒)が終わって

×小林庸俊さん − 激指  ○
○横山公望さん − KCC将棋 ×
×美馬和夫さん − IS将棋 ○
○細川大市郎さん− YSS   ×
×加部康晴さん − ボナンザ○

のアマ強豪2勝、コンピュータ3勝と、コンピュータが勝ち越しました。

来週以降は2回戦(持ち時間20分30秒)となります。
次週は「細川大市郎さん− ボナンザ」戦が掲載される予定とのことです。

自戦記も面白いのですが、バトルロイヤル風間さんのイラストが毎回かなり面白いです。    



第3回コンピュータ将棋オープン戦参加者募集(4/8開催・4/6締切)  投稿者:香山@CSA 投稿日:2006年 4月 5日(水)10時10分15秒
 締切りが間近に迫っての告知で申し訳ありませんが、
4月8日(土)14:00より、ネット上で3回戦程度のオープン戦を行います。

 今大会から導入されるLAN対戦のテスト・大会前の調整にご活用ください。

 また、人間の参加も可能ですので、コンピュータ将棋の実力を知りたい方もぜひどうぞ。

 参加希望の方は、 applyxcomputer-shogi.org (担当:香山 健太郎)まで
お知らせください。

(オープン戦の詳細・LAN対戦プロトコル・人間の参加方法等は
 http://www.computer-shogi.org/open/open3.html をご覧ください)


 なお、今回の選手権はインターネット中継される予定ですが、
それのテストとして、オープン戦の様子が
http://live.computer-shogi.org/open3/
にて中継される予定です。こちらもよろしくお願いします。    



今週の週刊将棋に森田さんが  投稿者:山下 投稿日:2006年 4月 5日(水)13時33分26秒
今週(4月5日号)の週刊将棋には
「細川大市郎さん − ボナンザ戦」が掲載されているのですが、
囲み記事で森田さんが記事を書かれています。

最近出版された「蘇るPC-8801伝説 永久保存版」でも森田さんがかなり大きく
取り上げられています。
http://www.amazon.co.jp/exec/obidos/ASIN/4756147305/
囲碁将棋ソフトさんの記事はこちら。
http://d.hatena.ne.jp/igo_shogi_soft/20060324

ちなみに来週の週刊将棋では「美馬和夫さん−YSS戦」の私の操作記?
が載る予定です。    



(無題)  投稿者:へぼ 投稿日:2006年 4月12日(水)12時39分37秒
24の棋譜をボナンザに棋譜解析させたいのですが

KIFファイルをCSAファイルに

おきかえたいのですが・・

何か方法はあるでしょうか?    



kifをcsa形式に変換  投稿者:山下 投稿日:2006年 4月12日(水)21時49分14秒
フリーソフトで変換できるものはあまり知らないのですが、
下の将棋道場データベースでは可能なようです。
http://hp.vector.co.jp/authors/VA006308/makedb/makedb.htm    



撃破  投稿者:hiro 投稿日:2006年 4月12日(水)22時56分47秒
週将アマCOM戦の第2回戦はYSSが美馬さんを撃破しましたね。
詰めろのがれの詰めろで勝つとは実に恐れ入りました。
おめでとうございます。

それから名人戦第1局は森内名人の勝ちです。
早くこの桧舞台にも登場してください。    



(無題)  投稿者:へぼ 投稿日:2006年 4月13日(木)07時57分31秒
返信ありがとうございます

<(_ _)>    



(無題)  投稿者:へぼ 投稿日:2006年 4月13日(木)12時16分43秒
(」゚ロ゚)」(」゚ロ゚)」(」゚ロ゚)」オオオオオッッッ

できましたー

ありがとうございます

将棋道場データベースの作者にも(^人^)感謝♪    



Re: 撃破  投稿者:山下 投稿日:2006年 4月13日(木)21時39分11秒
ありがとうございます。

2回戦は20分30秒の早指しなのと、コンピュータは1回戦の疲れなどが
全然ないのも幸いしたのかな、と思います。

選手権までいつの間にか3週間ですね。
毎年この時期は時間が経つのが速いです。    



代理参加が記事になってますね  投稿者:山下 投稿日:2006年 4月25日(火)22時46分55秒
マグノリア,世界コンピュータ将棋選手権に,「Bonanza」で参加
http://www.4gamer.net/news/history/2006.04/20060424165521detail.html    



リコール!  投稿者:おせら 投稿日:2006年 5月 1日(月)23時00分34秒
この大事な時期にOpteronリコール!
皆さん大丈夫ですか(・〇・;) 
http://headlines.yahoo.co.jp/hl?a=20060501-00000003-inet-sci
   



明日から  投稿者:棚瀬 投稿日:2006年 5月 2日(火)11時44分23秒
選手権ですが、私は今回は出ないことにしました。
最近また探索の方針を変えたばかりで安定していない(安定して弱いとも言いますが)ので無理することもないかと思いました。
IS将棋時代に試したことがなかった0.5手延長も試してみたんですが、適当な手を読むだけでβカットが起きるようなケース(が非常に多いわけですが)でも延長されるのがネックかなと思いました。
adhocに現在評価値>βならば適当な手でβカットが起きそう、と判断して延長しないようにしたりとかしてみたのですが、それでもいかにもランダムな手が延長されている感じで結局あきらめました。

選手権参加される皆様の健闘を祈ります。    



Re: 明日から  投稿者:山下 投稿日:2006年 5月 2日(火)14時40分27秒
そうですか・・・残念です。

>適当な手を読むだけでβカットが起きるようなケース
これがいやのですが、延長をやめると勝率は下がるのが手強いです。

今は、持ち駒を交換すると評価値が互角に近づく、というのをテストしてます。
歩得(+100)している局面で、飛者交換すると、変化が複雑になるので
歩得よりも少し下がる(+50)という感じです。あまりうまく行ってないのですが。    



続・撃破  投稿者:hiro 投稿日:2006年 5月 5日(金)10時11分10秒
Bonanzaを撃破し、まずは一勝ですね。
調子良さそうです。    



(無題)  投稿者:ソフト好き 投稿日:2006年 5月 5日(金)12時33分36秒
あれ、激指詰みのがしたって本当???    



順位順の星取表です  投稿者:山下 投稿日:2006年 5月 6日(土)16時46分35秒
        Bona YSS  KCC  Taco 激指 柿木 竜卵 大槻  勝敗引  SB 順位
Bonanza       ×   ○   ○   ○   ○   ○   ○    6-1-0      1
YSS      ○        =   ×   ○   ○   ○   ○    5-1-1      2
KCC      ×   =        ○   ○   ○   ○   ○    5-1-1      3
Tacos    ×   ○   ×        ×   ○   ○   ○    4-3-0      4
激指     ×   ×   ×   ○        =   ○   ○    3-3-1      5
柿木将棋 ×   ×   ×   ×   =        ○   ○    2-4-1      6
竜の卵   ×   ×   ×   ×   ×   ×        ○    1-6-0      7
大槻将棋 ×   ×   ×   ×   ×   ×   ×         0-7-0      8

去年の6月の登場以来、注目を集めてBonanzaが初出場初優勝、という
衝撃のデビューを飾りました。

また、2次予選では7-2だったbonanzaを抑えて8-1で予選を抜けた大槻将棋だったのですが
決勝ではなぜか全敗、という結果も驚きでした。
以前は2次予選で2つ負けたら優勝は無理、と思っていたのですが
今は「何が何でも決勝に行かないことには話にならない」
とかなり認識が変わりました。

今回の選手権の特徴を3つ挙げるとするなら
1. Bonanzaの初出場、初優勝
2. 大槻将棋の決勝リーグ入り
3. 本格的な並列化時代へ。KCCの8CPUマシン(4CPUのDual Core)
でしょうか。
ほとんどBonanza一色だった、という感じなのですが。

なにはともあれ保木さん、初出場、初優勝、おめでとうございます。
同時に、それ以外の古参としては、なにをやってるんだ、というかなり情けない状況で、
是非とも来年は会場に来ていただいて、選手権の厳しさを味わっていただきたいと
思います。(逆にこてんぱんに返り討ちに会うかもしれませんが・・・)    



激指ーBonanza戦  投稿者:山下 投稿日:2006年 5月 6日(土)17時00分47秒
123手目に▲71銀ではなく▲72飛成なら詰ですので、激指が詰を間違えています。
鶴岡さんの話しですと、詰は認識していたものの、なぜか手順が
誤って出力されたそうで、この手のミスが今まで残っていて、なおかつ
この状況で出現したのはBonanzaの強運を感じます。    



激指の詰間違いについて  投稿者:24観戦者 投稿日:2006年 5月 6日(土)19時40分17秒
激指−Bonanza戦で123手目 実戦 7一銀のところ
「激指5では」、
検討モード、7二飛不成 以下詰み
次の一手、7二飛不成 以下詰み
詰みチェック・高速、7一銀以下詰み
詰みチェック・最短、7二飛不成 以下詰み(時間がかかりすぎ)
なので、詰みチェック・高速ルーチンの不具合(バグ)だと思います。
一言:成れよ!(笑    



おつかれさまです  投稿者:タケトシ@TACOS.OB 投稿日:2006年 5月 6日(土)19時46分24秒
選手権に参加した皆様、運営に係わった皆様おつかれさまです。
LIVE中継をハラハラしながら見ておりました。
見ていてかなり面白かったです!
いろいろ苦労はあるかと思いますが是非来年もやっていただきたいと思います。


私信)
橋本さん、新しい方のメールアドレス教えてください。
お祝いメールが送れません:-)    



Bonanzaの強運  投稿者:10級 投稿日:2006年 5月 6日(土)22時05分26秒
このブログにいろいろ書かれていますね。
http://44840889.at.webry.info/200605/article_8.html

LIVE中継感動しました。関係者の皆様ありがとうございました。    



(無題)  投稿者:bonanza の作者 投稿日:2006年 5月 6日(土)23時11分40秒
山下様,

選手権では bonanza がお世話になりました.YSS の Bonanza 戦お見事でした! がっちりと受けきられてしまったようです.今後機会があれば,全幅検索にもっと磨きをかけて挑戦しますので,そのときにはまたお手合わせお願い致します.

激指 vs. Bonanza での 117手目は 17手詰めの詰めろがかかっていたようですが,bonanza は詰み専用ルーチンを持っていないので 18手先の詰みに気づかなかったようです.残り時間が5分以下での大急ぎモードに突入していていなかったりマシンの性能がもっと良かったりした場合,全幅検索でもこのぐらいは読みきれるので無意味な王手ラッシュをしているところでした (汗).もう本当に幸運です.117手目は△99金▲75玉△76金▲74玉△61香▲62歩△33角....で歩 4枚分bonanza 有利の読みだったんですよ (苦笑).

今回の大会はとても運が良かったようですが,いずれは実力で勝てるよう頑張ります!    



訂正  投稿者:bonanza の作者 投稿日:2006年 5月 7日(日)00時09分24秒
△99金▲75玉△63桂...の間違いでした    



(無題)  投稿者:10級 投稿日:2006年 5月 7日(日)00時20分30秒
いろんな謎が解けました。
http://www.magnolia.co.jp/bona.html

なぜノートパソコンなのか
>私が日頃使用しているノートパソコン+愛用のUSB扇風機で出場したBonanza
KCCのマシンスペック
>KCCは、Opteron DualというAMDのデュアルコアCPUを4つも積んでいて、
>8コアという大会史上最高スペック
某プロに叩かれていた水平線効果
>事務局と相談したところ、
>まあ最後の王手攻撃とかもコンピュータ将棋らしくて良いのでは、
>ということで詰みまで指す設定で臨みました。    



はじめまして  投稿者:一技術者 投稿日:2006年 5月 7日(日)07時31分55秒
ボナンザ、優勝おめでとうございます。
当日はネットを見ながら大興奮していました。
激指との最終盤は、そういう状況でしたか、、、、
ところでボナンザには、投了機能があるのですか?
けっこう使っていますが(教えていただいているというべきか)知りませんでした、、、、
ちなみに大会は、できれば同一スペックのPCで開催してもらいたいと
素人目には思いますね。そういう規定の大会もあるそうですが。    



RE:はじめまして  投稿者:都万 投稿日:2006年 5月 7日(日)09時23分20秒
意味がよくわからないのですが、CSA将棋の人間側の投了の事ならメニューのPlayの下にGive upがあると思います。
これは、昔、プロレス中継で負けた方がギブアップと言えば意味が通じていたのでそうしているのですが、どうも英訳の間違いで将棋の場合、リサインとか発音する英語を使わないといけないようです。
ただ、そのままにしてます。    



(無題)  投稿者:凡人 投稿日:2006年 5月 7日(日)10時31分26秒
一技術者様へ

>できれば同一スペックのPCで開催してもらいたい

少しでもレベルの高い大会を望む人が多いので、
同一スペックのPCで開催しないのだと思います。
誰かKCCのようなマシンを多数貸し出すような人がいれば話は別ですが。    



ああすいません  投稿者:一技術者 投稿日:2006年 5月 7日(日)12時04分20秒
>都万さん
投了はコン側の投了のことです。
http://www.magnolia.co.jp/bona.html
の中に投了に関する文脈がありましたので、、、、

>凡人さん
そうなんですか。
もう十分レベルが高いような気もしますが、話としては分りました。    



(無題)  投稿者:たか 投稿日:2006年 5月 7日(日)13時28分38秒
同一スペック機の大会は、3年に一度行われてますね。(富士通製)
前回は2005年10月でしたから、次回は2008年でしょうか。長いなあ(^^ゞ    



.RE:なげっぷり  投稿者:都万 投稿日:2006年 5月 7日(日)15時43分6秒
投了する事するんだけど、確か投げっぷりは羽生クラスじゃなかったかなー?!
つまり、悪い。
そう言えば、詰みまで指しているような気もする。
CSA将棋の場合、指し手可能手がなくなった場合、思考を呼ばずに投了を宣言してるから投了ロジックはないかもしれない。
また、千日手も思考を呼ぶ前に判断して勝手に終わります。    



Bonanza - YSS戦  投稿者:山下 投稿日:2006年 5月 7日(日)16時14分55秒
Bonanza戦は初戦、ということもあって、かなり緊張して見てました。
勝てたのは・・・扇風機の大きさのせいでしょうかね :-)

しかし全幅で17手詰が読めそうなのですか。すさまじいですね。
大会前はBonanzaとはスパーリングパートナーとして随分お世話になりました。
ありがとうございます。
特に読み抜けのチェックに役に立ちました。4手後の焦点の金捨て、とか。

> 全幅検索にもっと磨きをかけて挑戦しますので

まだまだ全幅探索に負けるわけにはいかないので、選択探索で迎え撃ちたいと思います。
次の対戦を楽しみにしています。    



勝又さんがNHK杯で快勝!  投稿者:山下 投稿日:2006年 5月 7日(日)16時39分40秒
毎年、選手権でお世話になっている勝又さんが今朝のNHK杯で快勝されていました。
いつも酷評されている身としましては、もっと危ない局面を作って
はらはらさせて欲しかったかも、などと注文をつけてみます。

最後は頓死しないか少しはらはらしましたけど。    



みなさんお疲れさまでした。  投稿者:勝又清和 投稿日:2006年 5月 7日(日)22時02分43秒
参加者のみなさんお疲れさまでした。まずは保木さんおめでとうございます。そしてすみません。とことん指す設定でやりましょうと広沢さんに言ったのは僕です。本当は早めに投げる設定のはずでした。結果的にボナンザの評価を下げる誤解を与えたとしたら僕の責任です。日本に帰ってきたら一度じっくりとお話ししたいですね。山下さん、YSSだけ厳しい解説ですみません。鶴岡さん他ライバル達が皆YSSが本命と言っていたもので、リーグ戦を面白くするために相手に肩入れしてしまいました。来年はもっと公平?に解説したいと思います。    



Fruitのソース  投稿者:山下 投稿日:2006年 5月 8日(月)09時39分16秒
選手権の会場で「神乎棋技」のLarryさんなどから教えていただいたのですが
Chessで昨年のWCCCで1位のZappaとともに驚異的な強さが2位になったFruit、
というプログラムがオープンソースになっていてとても参考になるそうです。
データ構造はbitboardではなく、単に配列で駒の位置だけ持っているそうです。

Fruitのページ
http://arctrix.com/nas/fruit/
Wikiの解説
http://en.wikipedia.org/wiki/Fruit_(chess)

しかし、FritzやShredderよりも明確に強い!とのことで、コンピュータチェスの
世界もなかなか変化が止まりませんね。    



Re: Fruitのソース  投稿者:棚瀬 投稿日:2006年 5月 8日(月)12時31分3秒
おー、これ知りませんでした。
私も保木さんに触発されて少し前に改めてCraftyのソースを読んでみたんですが、ハッシュの実装とか明らかに私がやってたよりもいい方法を取っていて、今はやっぱ読めるものは読んでおかないとなと思っているところです。
そういうところでオリジナリティを発揮しても仕方ないですし。(ましてや負のオリジナリティなど)
#OSLも非常に参考になりました。
下のwikipediaのリンクによるとFruitってSSDFのレーティングでもShredderやFritzを抑えてたんですね。
世界選手権の結果はやはりだてではないですね。
私はチェスの情報はChessBaseのページを読んでいるだけなんですが、思うと以前はChessBaseでSSDFのレーティングを定期的に紹介していたんですよね。
ところが最近は全くその話が出てこなくなったと思ったら、ShredderやFritzが負けているからなんですね。(これらはChessBaseから販売されています)
ちなみにChessBaseは去年のアイスランドの世界選手権についても一切触れていなくて、情報統制がすごいです。
最近になってZappaを発売することになって改めて紹介していましたが。

NHK杯私も観ました。
途中は「勝又さん完切れかあ」と失礼ながら思っていたのですが攻めがつながり始めた時はかなり興奮しました。
最後の王手ラッシュも勝又さんは自信ありげでしたが、観ているこっちはひやひやしました。
とにかく面白かったです。
次も勢いよく指していただきたいです。

選手権について。
これは感想がありすぎるんですが、Bonanzaの対KCC戦、激指戦(最後激指のバグがあったとは言え)が特に強いなと感じました。
YSSはほとんど掴みかけた優勝を逃してしまったという感じですけど、TACOS戦の△3四角打は、自玉の周りに相手の金銀が来ることを単純に嫌いすぎる相対位置による評価の弊害が出たんじゃないでしょうか。
他の将棋もリアルタイムで観戦していると色々と感想があるのですが、長くなるのでこの辺で失礼します。    



Re: Fruitのソース  投稿者:Y 投稿日:2006年 5月 8日(月)21時30分37秒
現在、一番強いとされているチェスのソフトは Rybkaです。
Hydraにも一度勝っています(Chillyは言い訳をしておりますが・・)。
その後、HydraはRybkaに勝っていますので、一番強いシステムはHydraで間違いないでしょう。    



(無題)  投稿者:bonanza の作者 投稿日:2006年 5月 9日(火)17時46分31秒
Fruit 2.1 のソース,早速眺めてみました.なんと本当に bitboard じゃないんですね,驚きです.あと history pruning なんかも興味をそそりました.

棚瀬さん,はじめまして.Bonanza 戦のコメントありがとうございます.

勝又さん,投了の件はあまり気になさらないで下さい.あれはあれで,bonanza らしかったのではないでしょうか.最後まで緩まず詰めて下さった加藤氏には感謝しています.    



Re: Fruitのソース  投稿者:棚瀬 投稿日:2006年 5月 9日(火)23時26分56秒
Rybkaという名前は知りませんでした。
ホームページを見てみると確かに強そうです。
最近チェスのプログラムも新たに強いのが結構出てきてるわけですね。

Fruitは見た感じ驚くほど(なめているのかと言いたくなるほど)単純ですね。
Craftyなんかはbitboardで魔法のようなことをやってなんか頑張ってるなあ、という感じがするんですが、こっちはなんともやる気がなさそうな感じがします。
探索はCraftyとほとんど同じようです。
延長対象は取り合い、王手、合法手が1手のみ、PAWNを成れそうな位置に伸ばす手、だけ。
保木さんの書かれたhistory-pruningというのは、βカットを起こした手を「良い手」、それ以外を「悪い手」としてhistoryテーブル(どの駒がどこに行くという情報だけ)記録しておいて、ある手を探索する場合に「良い手」だった割合が60%を下回っている場合は残り深さを1手減らして探索、LOW失敗しなければ再探索ということのようです。
なんか微妙なアルゴリズムです。
評価関数では、
eval = ((opening * (256 - phase)) + (endgame * phase)) / 256;
という行がありました。
将棋でもよく使われている進行度というやつですね。
あらゆる値を序盤、終盤と2通り計算しています。
これも単純そうです。
今発見したのですが作者の簡単な説明文がついていて(technical_10.txt)、"Notes for programmers"というのが面白かったので引用しておきます。
要約すると「強さの秘密を必死に探しても無駄ですよ、そんなものないですから。むしろ今までのプログラムが複雑すぎたんじゃないですか?」というところですね。
なんか耳が痛いような。

Some people find that Fruit is surprisingly "strong" given the above
(dull) description.  The same persons are probably going to scrutinise
the source code looking for "magic tricks"; I wish them good luck.  If
they find any, those are likely to be "bugs" that I have overlooked or
"features" I have forgotten to remove (please let me know).  The main
search function is full_search() in search_full.cpp

I suggest instead that one ponders on what other "average amateur"
engines might be doing wrong ...  Maybe trying too many heuristics
(they might be conflicting or choosing weights for them is too
difficult) or code that is too complex, maybe features that look
important but are actually performing no useful function ...  Sorry I
do not know, and I don't think we will find the answer in Fruit ...    



Rybka  投稿者:棚瀬 投稿日:2006年 5月 9日(火)23時44分14秒
勢いにのってもう一回投稿。
今googleで調べてみたところ以下のような掲示板を見つけました。
やはりRybkaが圧倒的な強さのようなんですが、nps(ノード数/秒)が他のプログラムの10分の1らしいです。
作者がIMということですし、こっちはかなり知識を詰め込んでそうです。 
http://www.chesschat.org/showthread.php?t=3439
   



Fruit  投稿者:bonanza の作者 投稿日:2006年 5月10日(水)09時15分47秒
そうですね.history-pruning の意味を深く考えてもよく分かりません (笑).とにかく,実験してみると上手くいっているのでしょうね.なんとなくですが,futility pruning との共存が難しいような気がします.現実確率探索の手法を動的に行っているような感じを受けます.

また,王手以外の延長は pv と予想されたノードだけで行うようです.なんと大胆な...

こいつと togaII のソースファイルで 1週間は遊べそうです (笑).    



Re: Fruit  投稿者:山下 投稿日:2006年 5月10日(水)23時44分9秒
とりあえず動かして簡単なベンチマークをやってみました。

下は初手に白がNg3、と指した場合です。(応手はどちらもe5)

                Crafty17.9      Fruit2.1
探索局面数(nps)  440000 nps    370000 nps (Pentium3M 1.13GHz)
反復深化 深さ=11    8 秒
反復深化 深さ=12   25 秒
反復深化 深さ=13   73 秒           7 秒
反復深化 深さ=14  287 秒          22 秒
反復深化 深さ=15                  45 秒
反復深化 深さ=16                 212 秒

探索速度はどちらもそれほど変わらないのですが、Fruitの方が2手ぐらい深く
反復深化が終わるようです。あまり延長をかけていないせいなのでしょうか。

Winboardで簡単に動くのかな?と思ったのですが、そのままではだめで、
polyglot_14.zip
cygwin1_dll.rar
http://wbec-ridderkerk.nl/html/details/PolyGlot.html
というのを別に落としてきて cygwin1.dll を polyglot.exe と同じディレクトリに置いて、

Winboardの起動オプションは次のようにして、
C:\Win-tool\WinBoard\winboard.exe /cp /fcp="polyglot.exe fruit_book.ini" /fd="C:\Prg\fruit\PolyGlot\polyglot_14" /scp="polyglot.exe fruit_book.ini" /sd="C:\Prg\fruit\PolyGlot\polyglot_14"

fruit_book.ini というファイルの中身を下のようにしてようやく動きました。

[PolyGlot]
EngineDir = C:\prg\fruit
EngineCommand = fruit_21.exe
Book = true
BookFile = C:\prg\fruit\book_small.bin ; same directory as INI file, use full path otherwise

[Engine]
Hash = 64    



Re: Fruit  投稿者:棚瀬 投稿日:2006年 5月11日(木)21時56分47秒
history pruningで多くのノードの深さを減らして読んでいるからでしょう。
Craftyは増やす方しかないと思うんで。
あとは取り合いなどはPV手っぽい手しか延長しないという制限をかけてるのもそれなりに関係があるのかも。    



チェス用のGUIソフトですけど  投稿者:暇人 投稿日:2006年 5月11日(木)23時07分34秒
WinboardよりArenaの方がずっと便利です。もちろんFruitも簡単に動かせます。
UCIに対応している思考エンジンの場合、GUI側から各種設定ができるので
いろいろ便利です。

http://www.playwitharena.com/    



Re: チェス用のGUIソフトですけど  投稿者:山下 投稿日:2006年 5月12日(金)04時57分56秒
Arena、さっそく使ってみました。かなりいいですね。
Fruitもあっさり動きました。
ChessBaseのFritz8(GUI)は重いのであまり起動しないのですが、
それよりもこっちの方が使いやすそうな感じです。
教えていただいてありがとうございました。    



Re: Fruit  投稿者:山下 投稿日:2006年 5月12日(金)05時25分31秒
ソースを眺めて見ました。
ほんとに全然延長かかってないですね。小数点の延長もなしですか。
history-pruningも、ほとんどの手が -1手、短縮されそうですね。
なんかすごい過激な感じです。

延長だけするソフトと短縮するだけのソフトはどっちも同じだと思うのですが
短縮する方が枝刈がしやすいとか、あるんでしょうかね。    



コンピュータチェスの状況  投稿者:暇人 投稿日:2006年 5月12日(金)23時33分39秒
すいません、昨日に続いての登場です。コンピュータチェスの状況を少し。

近年のコンピュータチェスでは、GUIと思考エンジンの分離が進み、
ほとんどの人は思考エンジンだけを作っています。当初はWinboardに
対応するものが多かったのですが、最近ではUCI対応のものが増えて
きました。Arenaと組み合わせて使うと、市販ソフトを買う必要性を
全く感じないほど便利です。
今ではもう数百種類の思考エンジンがあるようですが、GUIを作らずに
済むためにプログラマの負担が軽くなり、参入する人が増えたのだと
思います。コンピュータ将棋でも同じ方向に進めばもっと発展する
ように思うのですが。

このように続々と登場する思考エンジンを片っ端から集めて、勝手に(?)
大会を開いている人がいます。以下のページでその様子を見ることができます。

http://wbec-ridderkerk.nl/

実力別にいくつかのグループに分け、下位リーグで上位になったソフトが
上位リーグに進むという具合で、コンピュータ将棋選手権をずっと大規模に
したような感じになっています。現在開かれている大会ではRybkaが1位で
Fruitが2位になっています。
このページを見ていれば、最近どんなソフトが登場したとかいう動向は
だいたいつかめるのではないかと思います。    



Fruit  投稿者:礒部正幸 投稿日:2006年 5月14日(日)16時55分53秒
私も少し前からFruitをむさぼるように読んでいます。

実装の細かいところですが、識別子の名前を丁寧に選んで
ソースの可読性をあげつつ、実行したときの効率もあまり
犠牲にしないといったバランスをうまくとっているような
印象を受けました。

あとマルチプロセッサ対応していないのだそうで、
シンプルさを重視しているのでしょうか。
(単にマルチ化するとHistoryテーブルの共有とかが難しいため?)

history-pruningは探索木のいたるところでダメダメだった手は
なるべく短縮して読むということだと私は解釈しています。

将棋はプログラマが「手筋」とかの知識で事前に枝刈(や短縮)の
基準を教えておく手法が多いと思いますが、チェスはnullmove枝刈
とか動的な方がより多く使われていると思います。

飛び駒の多いチェスでは動的にせざるを得なくて、将棋は小駒が
たくさんあるから局所的なパターンが再現しやすいのでしょうか。

インプリして自分の仮説を検証していかなければ机上の空論に
なってしまいますが、とりあえず私の認識を述べました。    



飛車 角 香車の利き  投稿者:投稿者1 投稿日:2006年 5月14日(日)19時46分40秒
YSS7.0の技術的な解説で他の駒が動いたときに飛角香の利きの処理はどうしてますか?ある駒が動いたら利きの最大数は18なら

移動前の位置に飛角香の利きが無いかチャック
kb_m[from][0]〜kb_m[from][17] kb_c[from][0]〜kb_c[from][17]
移動先の位置に飛角香の利きが無いかチェック
kb_m[to][0]〜kb_m[to][17]      kb_c[to][0]〜kb_c[to][17]

1つの駒が動くたびにこれらの配列をチェックしているのか、それとも裏技があるのか教えてください。    



怪物、Bonanza [Monster, Bonanza.]  投稿者:tss_master 投稿日:2006年 5月15日(月)00時25分1秒
選手権関係者の方、お疲れ様です。

第16回コンピュータ将棋選手権、Bonanza初出場初優勝の快挙、おめでとうございます。

昨年、私はこの掲示板に「新風、Bonanza」と題していくつかの感想を書きました。

>来年のBonanzaの選手権出場に関して、その結果予想を私に求めたい人がいるかと思いますが、
>私には、恐ろしくて答えられません。←(答えになっている?)(^^;

そして、私の恐れた結果となりました。またも私の予想的中です。(なんの、こっちゃー)(^^;

「新風、Bonanza」で、私は、Bonanzaの出現は、驚異で、実在が信じられないと言い、その印象として、
・シンプル[Simple}(むだな所が無い)
・スマート{Smart](しゃれた感じ)
・コンパクト[Compact](小さく まとまっていて内容が充実している)なのに
・シャープ[sharp](鋭い)で
・ストロング[Strong](強力、堅固)。
そして、それは、私の妄想する最強の将棋プログラムの理想像であると言い、

Bonanzaは、私にとってde・ja vu 感漂う、オーパーツ的なプログラムと言えます。
(懐かしく、それでいて、その時代には、実在し得ない物が存在している、の意)
オーパーツ的とは、まるで未来から現代に来たような、独特な独創的なことを言います。
Bonanzaは、私の妄想する最強の将棋プログラムの理想像の特徴にいくつか類似しています。

私自身、いまだかつて、これほど完成度の高い将棋プログラムは、見た事が無く、
Bonanzaは、最強、最速、最高、傑作の要素を兼ね備えた「3SK−Program」と勝手に呼んでいる、と
高い評価をしました。

まず、私の妄想する最強の将棋プログラムの理想像の特徴の類似点として、
作者も言っている? Bonanzaには詰めルーチンが無い事が上げられます。
ところが、Bonanzaは最善手検索ルーチンで、優れた詰めルーチン以上の読みを弾き出します。
※私の妄想については、(復刻版)tの妄想「マスター・プログラム」for Bonanza)参照。

今後の『モンスター』Bonanzaの活躍に期待し、そのライバルの”阻止”に期待します。

なぜなら、それは、Bonanzaのコンピュータ将棋選手権2連覇を意味しています。(ほんまかいなー)(^^A

--------------------------------------------------------Bonanza Version 2.0 公開開始の日に記す。    



Re: 飛車 角 香車の利き  投稿者:山下 投稿日:2006年 5月15日(月)10時13分41秒
> 1つの駒が動くたびにこれらの配列をチェックしているのか

駒が動くたびに、移動元と移動先に利いている駒を調べて、それが飛角香かをチェックしています。
ので重いです。    



The 11th Computer Olympiad 将棋部門出場者募集  投稿者:橋本@TACOS 投稿日:2006年 5月15日(月)16時17分48秒
コンピュータ将棋関係者の皆様
今年はイタリアで Computer Olympiad が行われます。
ぜひ将棋部門にご参加ください。
ご本人が来られる方はもちろん、代理操作も受け付けますので
御気軽にどうぞ。

-------------------------------------------------------
開催日程 5月31日および6月1日
ルール: 持ち時間各1時間、切れたら1分の秒読み
      その他、CSA世界選手権ルールに準じます。
操作者:代理操作による参加も認めます。
------------------------------------------------------- 
http://www.cs.unimaas.nl/olympiad2006/
   



(無題)  投稿者:投稿者2 投稿日:2006年 5月15日(月)18時20分6秒
ありがとう    



Re: The 11th Computer Olympiad 将棋部門出場者募集  投稿者:橋本@TACOS 投稿日:2006年 5月17日(水)11時29分22秒
Computer Olympiad 将棋部門の日程が変わりました。
5月29日から31日までの予定で行います。
現在のエントリーはBonanza,YSS,TACOSです。
まだ参加申し込みは可能です。こちらで代理操作も
いたしますので、参加希望の方は至急ご連絡下さい。 
http://www.cs.unimaas.nl/olympiad2006/
   



(無題)  投稿者:へぼ 投稿日:2006年 5月17日(水)12時20分54秒
おそろしいことがわかった

げきさしが不具合なかったらYSS、ボナンザに勝ってたら

優勝は銀星だった・・    



全幅探索について  投稿者:SUIKA 投稿日:2006年 5月19日(金)14時47分50秒
自分的に、ある局面に対して全ての合法手を一度に生成して
探索を行うというイメージがあります。

ですが、チェスのソース(Craftyなど)を見てみると、
駒を取る手で探索し、次に駒を取らない手で探索しています。
探索途中でのカットを考えれば、
駒を取らない手の生成を省略できる仕組みになっています。

結果的にカットが起こらなかった場合、
全ての合法手を生成し探索することを
(一度で生成するか、段階的に生成するかは問わず)
全幅探索と見るのがいいのでしょうか?    



Bonanza v2.0  投稿者:奈良和文 投稿日:2006年 5月19日(金)23時09分53秒
May 19 2006, Bonanza v2.0 が公開されていますね。
http://www.geocities.jp/bonanza_shogi/    



Re: 全幅探索について  投稿者:奈良和文 投稿日:2006年 5月19日(金)23時21分34秒
>(一度で生成するか、段階的に生成するかは問わず)
> 全幅探索と見るのがいいのでしょうか?
全幅探索、で良いと思います。    



Re: 全幅探索について  投稿者:SUIKA 投稿日:2006年 5月20日(土)21時20分18秒    
ありがとうございました。    



王手をかける手の生成について  投稿者:投稿者3 投稿日:2006年 5月20日(土)23時03分45秒
YSS7.0の技術的な解説で王手をかけるとき玉のまわり8マスをみて、例えば斜めの位置に銀の利きがあればその銀を動かす、それと桂馬の利き2マスで10マス調べることになる。

で、大ゴマでの王手はどうやって生成しますか?
1一に先手玉、9九に後手飛車があったとき1九飛車、または9一飛車で王手が
かかりますが、これをどうやって生成しますか?    



 投稿者: 投稿日:2006年 5月21日(日)08時36分38秒
x軸,y軸のどちらかが一致していれば
取る手か、よける手で王手できる可能性あり。

不一致なら移動か取る手で王手できる可能性あり。    



Re: 王手をかける手の生成について  投稿者:SUIKA 投稿日:2006年 5月21日(日)12時03分50秒    
>1一に先手玉、9九に後手飛車があったとき1九飛車、または9一飛車で王手が
>かかりますが、これをどうやって生成しますか?
交点(王手をかけることが出来る位置1九、9一)が判っているわけですから、
・その位置まで後手飛車が移動できる
・その位置から先手玉の間に駒が無い
の条件を満たせば王手として生成できます。

玉(x1,y1)、飛(x2,y2)とすれば、交点(x1,y2)と(x2,y1)を得られます。

玉(x1,y1)、角(x2,y2)とすれば、
x3 = ((x1 + y1) + (x2 - y2)) / 2
y3 = ((x1 + y1) - (x2 - y2)) / 2
x4 = ((x2 + y2) + (x1 - y1)) / 2
y4 = ((x2 + y2) - (x1 - y1)) / 2
交点(x3,y3)と(x4,y4)を得られます。
※ただし、筋違い角のチェックと交点の盤外チェックが必要です

C or C++が読めるのであれば、
うさぴょんのソース(Makechec.cpp または MakeKiki.cpp)が
参考になると思います。    



大会お疲れ様です  投稿者:時田@デーモン将棋 投稿日:2006年 5月26日(金)13時09分56秒
デーモン将棋で大会に参加した時田と申します。
今頃ですが大会お疲れ様でした。
決勝はネット中継で見ていまして勉強になりました。
コンピュータ将棋の進歩〈5〉拝読いたしました。>山下様
2回、3回と読み返しています。

こちらの掲示板でBonanzaが全幅探索と知って衝撃を受けました。
Bonanzaのまとまった技術資料って出てたりしますでしょうか? 
http://daemonshogi.sourceforge.jp/index.ja.html
   



Re: 大会お疲れ様です  投稿者:山下 投稿日:2006年 5月27日(土)21時08分25秒
時田さん、

進歩の原稿を読んで下さってありがとうございます。
Bonanzaに関しては技術資料的なものはなかったと思います。

保木さんに一度お会いしたときにお聞きした範囲では
全幅探索を使っているのと評価関数に棋譜からの学習を使われている、との
ことでした。    



モンテカルロ囲碁が9路盤部門で優勝  投稿者:山下 投稿日:2006年 5月30日(火)00時51分26秒
Computer Olympiadの9路盤部門で参加11チームで
フランスのCrazy Stoneが17勝3敗で優勝しました。
2位は16勝4敗のGoIntellectかAyaです(プレーオフ待ち)
4位以下は、Atarist,GnuGo,NeuroGoなどだと思います。

CrazyStoneは囲碁の固有の知識はほとんど
持たず、純粋に近いモンテカルロ法で、乱数を基本とした手法が
トップに立った、というのはなかなかのインパクトだと思います。

CrazyStoneの面白い点は、まず評価値を従来のような+15目勝ち、-3目負け、
といった目数差で出すのではなく、ゲームに勝つ可能性、0%−100%で
結果を出している点です。
従来だと、既に10目勝っているプログラムが、さらに15目勝とうとして
危険な手を打ち、逆転負け、というのが結構あったのですが、
15目勝とうが0.5目勝とうが勝ちは勝ちなので、安全に勝つ手が多い手順を選ぶように
なっています。実際に、Akebonoは5,6目負けてる碁を寄せでゆるめてもらって
しかし、最後はきっちり半目で負かされる、ということをやられてます。

また、単純なモンテカルロだと、rootの1手だけでしか最善手が出てこないのですが、
rootで(5,3)に打つ手が最善のように見えた場合、さらに
(5,3)に打った局面を作って、そこからモンテカルロで最善の手を求める、
といった感じで、深さ6くらいまでの最善応手手順を吐き出していました。

モンテカルロ法は特に、コウが発生するような局面に強く、負けの局面でも
地平線効果を起こしまくるような捨石の手を打ってきます。
ただ、そういう手を何度も打たれると、正確に応じるのは難しいので
逆転勝ちをかなり拾っている感じでした。
http://www.cs.unimaas.nl/olympiad2006/results/go9x9.html    



Computer Olympiad 将棋部門速報  投稿者:橋本 投稿日:2006年 5月30日(火)04時45分6秒
YSS-TACOS YSSの勝ち
Bonanza-TACOS Bonanzaの勝ち
今日はTACOSにとって残念な結果となってしまいました。
時間がかかりすぎて、予定のYSS-Bonanza戦は明日に順延です。
明日は残り4局を消化する予定ですが、時間的に厳しいので
明後日までかかるかもしれません。    



Computer Olympiad 将棋部門速報2  投稿者:橋本 投稿日:2006年 5月31日(水)02時17分24秒    
YSS-Bonanza Bonanzaの勝ち
TACOS-YSS TACOSの勝ち    



Computer Olympiad 将棋部門速報3  投稿者:橋本 投稿日:2006年 5月31日(水)04時49分36秒
Bonanza-YSS YSSの勝ち
時間の都合でTACOS-Bonanza戦は明日行います。
もしTACOSが勝つと3者プレーオフになります。    



激指のアルゴリズムについて  投稿者:浅井 投稿日:2006年 5月31日(水)15時05分17秒
はじめまして.現在大学の研究で将棋AIの研究をしている者です.
突然で申し訳ないのですが,コンピュータ将棋「激指」で用いているアルゴリズムについて,理解できない部分があったので,どなたか解説して頂けるとありがたいです.

「激指」のページでは,水平線効果の対策として「評価値を更新した手を再探索する」という手法を採っていると解説されています.しかし,自分にはなぜこの方法で水平線効果が解消できるのかが理解できないのです.

過去ログで似た質問がされていたのも参照しましたが,自分には「やっていることは理解できても,なぜ水平線効果の解消につながるのか」がわかりませんでした.

どうか,先達である皆様の知恵をお貸しください.
乱文失礼しました.    



Chessで  投稿者:Y 投稿日:2006年 5月31日(水)21時44分55秒
Lionが途中失格になったと聞きましたが理由はなんでしょうか?    



Re: Chessで  投稿者:山下 投稿日:2006年 6月 1日(木)02時20分14秒
Fruitのソースを流用していたからだそうです。
かなり改良されていたそうですが。    



Re: Computer Olympiad 将棋部門速報3  投稿者:山下 投稿日:2006年 6月 1日(木)02時28分31秒
Tacos-Bonanzaの2回戦はTacosが勝利!して全員2勝2敗のプレーオフになりました。
相談の結果、25分30秒の1回戦総当りのプレーオフになり、
YSS-TacosはYSSの勝ち。
Bonanza−YSSはYSSの勝ちで、YSSの優勝が決まりました。
現在、Tacos-Bonanza戦が進んでいます。
お互い定跡に乱数がなかったようで、40手目まで最初の将棋と同一のまま
進んでいます。

囲碁は19路盤はGnuGoが8勝2敗でGoIntellecgtとプレーオフになり、
GnuGoが勝って優勝。3位は未定。
9路盤の彩ーGoIntellectのプレーオフは彩が2連勝して2位になりました。    



Re: 激指のアルゴリズムについて  投稿者:山下 投稿日:2006年 6月 1日(木)02時32分39秒
激指の水平線効果対策は、一般のと少し違って?
特定の指し手の確率が低いことによる(たとえば王と反対側の端歩を突く手が3%だとすると)
すぐに末端になってしまうための水平線効果だと思います。
そのため、確率が低い手で、末端になって安心してしまわないように、こういった手は
さらに50%の確率であると仮定して再探索して、本当にこの手がいい手かを確認する、
といった意味合いが強いと思います。

鶴岡さん自身は読みが深くなることによって、自然と通常の水平線効果は解消されていくのではないか
ということをおっしゃってました。    



Re: Computer Olympiad 将棋部門速報3  投稿者:山下 投稿日:2006年 6月 1日(木)02時55分25秒
BonanzaがTacosに勝ちました。    



Computer Olympiad  投稿者:保木 投稿日:2006年 6月 1日(木)05時21分23秒
うぅ,またしても負けた...

> お互い定跡に乱数がなかったようで、40手目まで最初の将棋と同一のまま
> 進んでいます

データベースはかなり狭めの設定でした.それでも Bonanza 側は 3回分岐するチャンスが
あったのですが,10% の確率で同一になってしまったようです.

Computer Olympiad, お疲れ様でした.YSS,TACOS と計 6回も戦う機会を得て,Bonanza も喜んでいることと思います.


> Fruitのソースを流用していたからだそうです。

ということは,盤面構造は 0x88 だったのでしょうか.流行っているのかもしれませんね.
この手法を 9x9 の盤面に応用するのは,ちょっと厳しそうです.    



Fruitの盤面構造は  投稿者:SUIKA 投稿日:2006年 6月 1日(木)14時41分7秒
16x16の配列(中央の8x8を盤面)ですね。

自分も16x16の配列の中央の9x9を将棋盤としていたので、
Fruitが話題になってソース見たとき「同じだ!」と思いましたから。    



Re: 激指のアルゴリズムについて  投稿者:浅井 投稿日:2006年 6月 1日(木)16時47分33秒    
>山下様

解説ありがとうございます.
評価値を更新する手(=よく見える手)を再探索することで,
1.本当にそれがよい手の場合:そのまま評価値を返す
2.浅い探索による水平線効果で他の手よりマシに見えただけの場合:追跡探索を行うことで評価値が訂正されるだろう
ということでしょうか.

お忙しいところありがとうございました.    



(無題)  投稿者:保木 投稿日:2006年 6月 2日(金)01時42分13秒
SUIKA さん,初めまして.

「同じだ!」ってことはないと思いますよ.

間違えているかもしれないのですが,私の理解では,Fruit 盤面構造の本質は

・(square-0x44) & 0x88 として,配列を参照せずに一度の条件分岐で盤内・外判定可能
・square_to - square_from として二つの枡の位置関係が分かる

の二つだと思います.前者は,盤面が 2^m x 2^n の場合しか適応できず,後者を 9x9 の盤面で行おうとすると,少なくとも 18x9 - 9 の配列が必要だと思うのです.    



(無題)  投稿者:SUIKA 投稿日:2006年 6月 2日(金)07時05分26秒
保木さん、初めまして。

盤面配列参照で指し手生成(move_gen.cpp)を行っていたので
そう思ったのですが、私の早合点でした。

話は変わりますが、Bitboard改良の説明(去年の8月頃)は非常に役に立ちました。
ありがとうございました。    



Re: Chessで  投稿者:Y 投稿日:2006年 6月 2日(金)09時24分16秒
山下さん、ご報告ありがとうございました。
大会は、Junior が優勝したようですね。
Rybkaが一番と思っていたのですが、同率2位。
やはり、JuniorやShredderが頑張って調整してきたということでしょうか。    



Re: Computer Olympiad  投稿者:山下 投稿日:2006年 6月 4日(日)00時27分25秒
ちなみにマシンはTacosの長嶋さんが2台!持参されたEpsonダイレクトの
CoreDuo T2600(2.16GHz) RAM 1GB をBonanza,YSS、共に使わせていただきました。
(つまり全員同じマシンでした)
初日のBonanzaはSingle版で、2戦目以降はDual対応版で動いていた、とのことです。
YSSは全部Dual対応で、TacosはSingleのみです。

最初のTacos-YSS戦だけは手入力で行ったのですが、
あまりにも時間がかかりすぎて、2戦目以降はLAN対戦でやることにしました。
(RS232Cのケーブルは持参していなかったので)
会場は無線LANが使えて、またLANケーブルもたくさんあり、ネットは繋ぎ放題、という
かなり快適な環境でした。(会場は、トリノオリンピックのスピードスケートが行われた場所でした)
また、CSAのサーバに繋ごうと思ったのですが、25分切れ負け設定だと思うので
増本さん作成のTest56.exe という仮想サーバを利用しました。
ただ、こちらもちゃんと?25分切れ負け設定になっていたので、以前頂いたソースを
コンパイルしなおして、60分60秒の将棋をtest56.exe経由で対戦することが出来ました。
ありがとうございました。

将棋の棋譜をこちらに置きました。
中の scores.lzh に全部の棋譜が入っています。
http://www32.ocn.ne.jp/~yss/italy2006.lzh

また、彩のものだけですが囲碁の棋譜を下に置きました。
http://www32.ocn.ne.jp/~yss/italy_go2006.lzh    



Computer Olympiadの写真など  投稿者:山下 投稿日:2006年 6月 4日(日)01時58分18秒
この大会はチェスオリンピック、がメインで、世界中のGMが集まって四人一組の
団体戦をやてました。カスパロフも初日に来ていたそうです(見そびれたのですが)。
会場の注目はロシアチームで、現世界チャンピオンのクラムニクも指してました。

WCCC(World Computer Chess Championship)、Computer Olympiadは、
この大会に併設、という感じで行われました。
さらに言うと、Computer OlympiadはWCCCに併設、という感じなのですが。
しかし、囲碁の参加者はかなり増えてきたので、そのうち、WCCCの数を
追い抜くかもしれません。(WCCCは22で、囲碁は11)

会場となったリンゴット、オーバル。
http://www.yss-aya.com/photo/20060525torino/Htmls/PICT0875.html
http://www.yss-aya.com/photo/20060525torino/Htmls/PICT0816.html

チェス会場全体
http://www.yss-aya.com/photo/20060525torino/Htmls/PICT0890.html

WCCC
http://www.yss-aya.com/photo/20060525torino/Htmls/PICT0805.html

現世界チャンピオン、クラムニク(右奥の紫のシャツを着ている人です)
http://www.yss-aya.com/photo/20060525torino/Htmls/PICT0887.html

9路盤囲碁の表彰式。中央がフランスのCrazyStoneのRemiです。
http://www.yss-aya.com/photo/20060525torino/Htmls/PICT1076.html

チェスオリンピックの公式ページ
http://www.chessolympiad-torino2006.org/

他の写真の一覧など
http://www.yss-aya.com/photo/20060525torino/index01.html    



Re: Chessで  投稿者:山下 投稿日:2006年 6月 4日(日)02時11分49秒
優勝はJuniorだったのですか。
去年はZappaとかFruitとか、Rybkaとか新星がたくさん出てきたのですが、
まだぶっちぎりで強い、という感じではなく、拮抗しているのでしょうね。

ちなみに Rajlich というのが Rybka なのは全然知りませんでした。
Vasik Rajlich、という人が Rybka の作者なのですか。

> Fruitのソースを流用していたからだそうです

ちょっと書き方がまずかったかもしれません。
詳しいことは分からないのですが、基本的にFruitのソース、そのままで、
そこに自分で改良コードを追加していった、という感じだったようです。
ですのでデータ構造とかはそのまんまですね。

WCCC,チェスの結果
http://www.cs.unimaas.nl/wccc2006/results/index.html    



BONANZAとKCCが  投稿者:osera 投稿日:2006年 6月 4日(日)23時59分5秒
くっついた(;゜〇゜)!! 
http://www.silverstar.co.jp/02products/gshogi6/gshogi6.htm
   



グリンベルゲンさんの選手権のレポート  投稿者:山下 投稿日:2006年 6月 5日(月)20時40分0秒
グリンベルゲンさんの選手権のレポートがアップされています。

天野宗歩2、の写真が面白いです。
後、記念すべき選手権100局目がShotest-Spear戦だったこと、
謎的電棋にはなぜか負けたことがないこと、
zappaもBonanzaもスペイン語?だったこと、などが面白かったです。
zappaはイタリア語では軍隊で敵の近くに掘る塹壕、とかいう意味のようです。

グリンベルゲンさんのレポート
http://gamelab.yz.yamagata-u.ac.jp/SHOGI/CSA2006/16csa.html
ShotestのJeffさんが撮った写真
http://www.flickr.com/photos/jeffrollason/sets/72057594135581095/    



KCCの売り方酷すぎ  投稿者:サンボ 投稿日:2006年 6月 5日(月)21時32分27秒
http://www.silverstar.co.jp/02products/gshogi6/gshogi6.htm
見ましたよ。
まるで銀星将棋が優勝したような宣伝です。
北も相当あせって外貨稼ぎをしてる模様。
裁判したら勝てるジャロな    



CGF特別例会が明日から  投稿者:山下 投稿日:2006年 6月 9日(金)16時12分5秒
2006年6月10日(土),11日(日)にCGF特別例会が開催されます。
19路盤のみの予定です。場所は東京、秋葉原のダイビル13Fです。

見学自由です。
また飛び込みで参加される方は当日10時までに会場までお越しください。

参加者予定者リスト
http://hp.vector.co.jp/authors/VA012620/cgf2006/list2006.html
CGF特別例会
http://hp.vector.co.jp/authors/VA012620/    



Re: CGF特別例会が明日から  投稿者:山下 投稿日:2006年 6月10日(土)23時48分54秒
1日目が終わって下のようになっています。
明日は5,6,7回戦が9:30から行われて、14:00ごろまでには
終了する予定です。

           GNU kat aya car shi kin dai nan
GNUGo           7   6   5   ○  ○  ○  ○  4勝0敗
勝也        7       5   ○  ○  ×  ○   6  3勝1敗
彩          6   5       ○  ○  ○   7  ○  4勝0敗
CAREN       5   ×  ×      ×   7   6  ○  1勝3敗
思考錯碁    ×  ×  ×  ○       6   5   7  1勝3敗
きのあ囲碁  ×  ○  ×  7    6      ○   5  2勝2敗
大碁算      ×  ×  7   6    5  ×      ×  0勝4敗
ななし      ×  6   ×  ×   7   5  ○      1勝3敗    



CGF特別例会最終結果  投稿者:加藤 投稿日:2006年 6月18日(日)00時25分40秒
山下さんが忙しそうなので,代わりに投稿しときます.
             GNU kat aya car shi kin dai nan
GNUGo 3.7.10      ○  ○  ○  ○  ○  ○  ○  7勝0敗  1位
勝也          ×      ×  ○  ○  ×  ○  ○  4勝3敗  3位
彩            ×  ○      ○  ○  ○  ○  ○  6勝1敗  2位
CAREN         ×  ×  ×      ×  ○  ○  ○  3勝4敗  5位
思考錯碁      ×  ×  ×  ○      ○  ○  ○  4勝3敗  3位
きのあ囲碁    ×  ○  ×  ×  ×      ○  ○  3勝4敗  5位
大碁算        ×  ×  ×  ×  ×  ×      ×  0勝7敗  8位
ななし        ×  ×  ×  ×  ×  ×  ○      1勝6敗  7位

棋譜は、CGF特別例会のページから入手できます。
http://hp.vector.co.jp/authors/VA012620/cgf2006/result2006.html    



保木さんのセミナー  投稿者:橋本@TACOS 投稿日:2006年 6月23日(金)16時27分2秒
Bonanza作者の保木さんに北陸先端大のセミナーでお話をしていただくことになりました。
7月7日(金)午後(詳しい時間は未定)に飯田研究室で行います。
参加希望の方がいらっしゃいましたらメールにて(上の投稿者:の右からどうぞ)
ご連絡ください。    



今年の岐阜チャレンジ  投稿者:山下 投稿日:2006年 7月 5日(水)13時06分49秒
今年の岐阜チャレンジは
9月30日(土)と10月1日(日)
の二日間に岐阜県大垣市のソフトピアジャパン(これまでと同じ会場)で
開催されます。    



CrazyStoneの動かし方  投稿者:山下 投稿日:2006年 7月 6日(木)17時06分16秒
Olympiadの9路盤で優勝したCrazyStoneは無料でダウンロードできて
遊ぶことができます(9路盤のみ)

まずこちらのページからCrazyStone005.exe をダウンロードします。
http://remi.coulom.free.fr/CrazyStone/

これだけだとCrazyStoneは動かせないので、GTP用の
囲碁盤クライアントの gogui をダウンロードします。
http://prdownloads.sourceforge.net/gogui/gogui-0.9.zip?use_mirror=jaist

goguiはJava 1.4以上をインストールしておく必要があります。
Javaのインストールについてはこの辺りを見てください。
http://www.okapiproject.com/java/java_tools/sdk/1_5_0_06/sdk_install1_5_0_06.htm

実行ファイルは
\gogui-0.9\lib\gogui.jar
に入ってます。
コマンドラインから以下のようにして起動します。

java -jar gogui.jar -program "C:\Go\CrazyStone\CrazyStone-0005.exe"
もしくは
java -jar C:\Go\gogui\gogui-0.9\lib\gogui.jar -program "C:\Go\CrazyStone\CrazyStone-0005.exe"


コミを設定します。(CrazyStoneは常に半目勝ちを狙ってくるのでこの設定は非常に重要です)
「Edit」「Game Info」の「Komi」で「6.5」と小数点で入力します。

またこのままだと1手に60秒考えるので、
「Setting」「Show Analyze」でGTPのAnalyze画面を出して
「Time Settings」をダブルクリックします。
入力ダイアログが出るので、「300」と入力します。
単位は秒です。300だと300秒、5分以内に打ち切るようにします。
300だと初手に22秒程度考えます。(残り時間の14分の1の時間を使う設定らしいです)

これで対戦ができます。

また、マルチスレッド対応になっているのでCPUの個数も設定できます。
Analyze画面で
「::MCSearch::Parameters」をダブルクリックして
「Processors」の欄に「2」と入力します。
これで2CPUを使う設定になります。(標準は1CPUです)    



Re:保木さんのセミナー  投稿者:橋本@TACOS 投稿日:2006年 7月10日(月)11時25分43秒
保木さんのセミナーと同時にTACOS対Bonanzaの親善試合を行いました。
棋譜を置いておきます。
http://www.jaist.ac.jp/~t-hashi/TACOS/Bonanza-Tacos.lzh
TACOSはFX55、BonanzaはCoreDuoT2600のマシンで持ち時間は40分、
切れたら60秒の秒読みです。結果は1勝1敗でした。

保木さんの話は素晴らしいものでした。さらに話をまとめてGPWで
講演されるそうですので、今から楽しみです。 
http://www.jaist.ac.jp/~t-hashi/TACOS/



木偶の坊 使い方  投稿者:fku 投稿日:2006年 7月14日(金)15時14分17秒
初めまして、コンピューター一台でCSA BONANZA 対 柿木7 の対局が上手く出来ません。
何時間も悩んでいるのですが、親切な方いらしゃいませんか?
一から教えてもらえませんか。 
http://秘密
   



Re: 木偶の坊 使い方  投稿者:山下 投稿日:2006年 7月14日(金)21時32分35秒
あまり、市販ソフト同士を対戦させるようには出来ていないのですが、
以下の手順で、
先手:柿木将棋6
後手:ボナンザ(CSA将棋)
は出来ました。(先後逆は試してません)

手順ですが、
1. Bonanzaを起動。(CSA将棋を起動)「Play」「Start」「OK」で後手番で待機。
2. 木偶の坊を起動。「対局」「対局開始」で「TCP経由」を選らんで「OK」でCSA将棋を認識。
3. 柿木将棋6を起動。 画面を小さくする(最小、の次の大きさで)
4. 「対局」「新規対局」で先手をコンピュータ、後手を人間にして「OK」柿木将棋が1手指す。
5. 新たに、木偶の坊を起動。「対局」「対局開始」で「市販ソフトが先手」をチェック。
   さらに「TCP経由」を選らんで、「Port入替」を1回押して「OK」
6. 対戦中は、画面にCSA将棋、木偶の坊、柿木将棋、木偶の坊、と4つ見えます。

注意1
木偶の坊は一つのソフトしか認識できません。
2つソフトで対戦させるときは、2つの別々の木偶の坊で、それぞれを
認識させる必要があります。

注意2
CSA将棋の画面(盤面と駒台)、柿木将棋の画面(盤面と駒台)
は完全に見えていないといけません。

注意3
認識そのものに失敗することが多いです。
失敗する場合は画面を少し小さくしたり木偶の坊のヘルプを見てください。

注意4
この1〜5の時に、CSA将棋を認識させた後に、柿木将棋を起動しますが、
この時、「CSA将棋に触ってはいけません」。
木偶の坊では、表示されているWindowの、上のWindowから将棋ソフトを
検索していきます。
画面に表示されているWindowには順番があり、後で柿木将棋を起動しても
その後、CSA将棋の画面に触ると、CSA将棋が上にきてしまい、
新規に起動した木偶の坊は、柿木将棋ではなく、CSA将棋を認識してしまいます。

木偶の坊自身は、将棋ソフト以外と重なっていても問題ありません。


参考になりそうな過去ログは以下です。

木偶の坊v0.69LAN対戦について
http://www32.ocn.ne.jp/~yss/bbs_log/bbs2004.html#bbs7
木偶の坊v.0.69 AI2004
http://www32.ocn.ne.jp/~yss/bbs_log/bbs2004.html#bbs30
Windowの順番
http://www32.ocn.ne.jp/~yss/bbs_log/bk1999-2.html#bbs119    



Re:Re: 木偶の坊 使い方  投稿者:fku amature 投稿日:2006年 7月16日(日)06時45分27秒
ご回答ありがとうございます。しかし柿木の3手目で無限ループになり必ず止まります。
CSA 柿木7の認識は出来ています。なぜでしょうか。柿木の盤面を回転させておく必要があるのかな。色々試していて、お返事遅れて申し訳ありません。 もう少し頑張ってみます。
ありがとうございました。 
http://秘密
   



棋譜コンバーター  投稿者:fku amature 投稿日:2006年 7月20日(木)13時54分36秒
AI将棋の棋譜を柿木将棋のkif形式に変換する方法、ソフトあれば教えてください。

木偶の坊苦戦中、銀星ツールで代用してます。 
http://秘密



ブログもどき 始めます  投稿者:マイムーブ西村 投稿日:2006年 7月21日(金)15時45分31秒
マイムーブの作者の西村です。
以下のURLでブログもどきを始めますので、よろしければ、ご覧下さい。 
http://chocobo.yasuda-u.ac.jp/~nisimura/mymove/
   



CrazyStoneの論文の和訳  投稿者:加藤 投稿日:2006年 7月25日(火)23時06分19秒
加藤@竹内研です.
CrazyStone の論文(CG2006.pdf)を和訳しました.著者である Remi Coulom さんの許可も得られたので公開したいと思います.つきましては,どこかアップロードできる場所はありませんでしょうか?
#まだウェブサイト等の整備まで手が回らないので...(_ _)
なお Remi さんの返事に,最近 UTC を適用してさらに強くなったからその論文も翻訳したらどうか?とあったので,
#一例を挙げると GNU Go 相手の勝率が 52.9% から 64.7% @ゲーム時間8分2.2GHz,1CPU.
#詳細は <http://computer-go.org/pipermail/computer-go/2006-July/005737.html>
こちらも近いうちに翻訳して公開したいと思います.    



CrazyStoneの論文の和訳  投稿者:加藤 投稿日:2006年 7月26日(水)17時57分54秒    
Yahoo にホームページが有るのを忘れてました.#大昔に作ったので...(汗
<http://www.geocities.jp/hideki_katoh/CG2006jp.rtf.zip>
に置きましたので,欲しい人は勝手に落として下さい (_ _).
サイズは約 250kB です.    



変形チェッカー・ラスカー  投稿者:木口公平 投稿日:2006年 7月29日(土)23時24分56秒
http://www.k4.dion.ne.jp/~basic/LASCA.htm
皆さん、はじめまして。『FreeBASIC日本支部』の木口公平と申します。
早速ですが、ラスカーも研究対象に入れていただけないでしょうか?
西洋のチェスやチェッカーが引き分けが大変多いのに対し、このラスカーは引き分けがありません。ゲーム研究家の松田道弘さんの本を読んで、自分でもプログラムを作ってみたのですが、一人だけ研究しているのではなんなので、みなさんに声を掛けてみます。
C++版とBASIC版があり、ダウンロードできるようにしておきました。ソースも公開します。よろしくお願いします。 
 
http://www.k4.dion.ne.jp/~basic/LASCA.htm
   



Crazy Stone と transposition table  投稿者:加藤 投稿日:2006年 7月31日(月)11時38分5秒    
computer-go ML を読んでる人はご存知だと思いますが,Crazy Stone の実装に関してちょっと情報がありました.論文を読んで「これは transposition table?」と思った人もいらっしゃると思いますが,ご本人が,
>> Is anyone (else) trying to incorporate a transposition table? This would
>> make the search tree into a DAG.
>That's how I store the tree in Crazy Stone. Probably all the other Monte
>Carlo programmers do that too.
と書かれています.    



山下宏さんへ、  投稿者:木口公平 投稿日:2006年 7月31日(月)19時45分57秒
相互リンクお願いしたいのですが、よろしいでしょうか?

ラスカーのC++版はソースを見て、みなさんで大爆笑してください。
今となっては自分でも解析できません。

コンピュータ将棋選手権というのは、CorC++以外の言語でも出場できるのでしょうか?ぜひ、FreeBASICで挑戦してみたいのですが。 
http://www.k4.dion.ne.jp/~basic/LASCA.htm
   



Re: 変形チェッカー・ラスカー  投稿者:山下 投稿日:2006年 8月 2日(水)18時11分13秒
木口公平 様、
ご連絡ありがとうございました。
リンクを張らせて頂きました。    



Re:山下宏さんへ、  投稿者:アベント@GA将! 投稿日:2006年 8月 2日(水)20時18分0秒
横から失礼します。
コンピュータ将棋選手権は、必要な機能さえ実装していれば言語は問いません。
(次回選手権の実施要領が未公開ですが、この点については多分変わらないと思います。)    



アベント@GA将!さんへ、  投稿者:木口公平 投稿日:2006年 8月 6日(日)07時44分54秒
お返事ありがとうございます。 
http://www.k4.dion.ne.jp/~basic/
   



詰め将棋の無駄を防ぐ方法は?  投稿者: 投稿日:2006年 8月 6日(日)18時30分38秒
詰め将棋で人間なら読まなくてももう詰まないと感覚でわかる局面、例えば玉が広すぎて捕まらないときすごい無駄になってしまう。すなわち玉もいろいろな受けがあり、攻めも持駒で四方八方から攻めれるが、どうみても詰まない。深さ15手読んでも詰まないなら止める、とプログラムしてもやっぱり無駄は省きたい。それで詰め将棋でコンピュータに「それ以上読んでも無駄だよ」と判定させるにはどうしたらいいでしょうか?    



Re: 詰め将棋の無駄を防ぐ方法は?  投稿者:山下 投稿日:2006年 8月 7日(月)02時13分27秒
絶対に詰まない、という条件でしたら盤上の自分の駒はなくて、持ち駒は歩、銀、金だけ、
などといったのが使えそうですが、あまり効果的ではないと思います。
ご指摘の王が広すぎて捕まらない、という条件でしたら
王の逃げ方が少ない変化を先に読んでいく、という手法が開発されていますので
下の文献が参考になるかと思います。

コンピュータ将棋の進歩2
http://www.amazon.co.jp/gp/product/4320028929/

最近では、王が逃げる時に、王手がかかりにくい変化を選ぶ、という手法も
組み合わせた手法が下の文献に出ています。

コンピュータ将棋の進歩4
http://www.amazon.co.jp/gp/product/4320120744/    



誰かお助け下さい。  投稿者:fku amature 投稿日:2006年 8月 9日(水)18時15分34秒
Microsoft Visual C++ 2005 Express Editionでれさぴょんがコンパイルできません。
http://homepage1.nifty.com/Ike/lesserpyon/

何が悪いのでしょうか?コンピューター将棋協会への加入を考えています。その基礎プログラムにしたいのですが。助けて下さい。 
http://秘密
   



Re:誰かお助け下さい。  投稿者:都万 投稿日:2006年 8月 9日(水)20時57分11秒
Express Editionでは、MFCはコンパイル出来ないとマイクロソフトの掲示板に書いてあったような記憶がします。
だから、正常でProfessional Editionの90日限定版(無料)とか180日限定版(\1575)を入手してやった方がいいと思う。
また、あまり言っちゃいけないとは思うけど、Professional Editionの十ん万円のを買うよりその半額くらいのUpdate版を買ってインストールすると動くらしい。
つまり、前のバージョンを買った人が持っているかどうかなんて確認してないと言う噂でこれもマイクロソフトの掲示板に書いてあった。
実際、VC6のときもVC2003のときもVC2005のときもインストールキーは聞いてくるけど前のバージョンがなくてもインストールされる。    



今試しています  投稿者:fku amature 投稿日:2006年 8月 9日(水)22時48分37秒
今試しています。マイクロソフトの掲示板ってアドレスはどこですか? 
http://秘密
   



Re:今試しています  投稿者:都万 投稿日:2006年 8月10日(木)04時50分21秒
マイクロソフトのMSDN(下記)のホームページ。
http://www.microsoft.com/japan/msdn/
ここに入ってMSDNフォーラム(右上)のタブをクリックすると掲示板が見れる。
ただ、ここは正規ユーザーじゃない人は見れるけど、書けないからライセンスに関する質問及び回答は一世代前の掲示板だったかもしれない。    



re:誰かお助け下さい。  投稿者:小宮 投稿日:2006年 8月10日(木)09時40分31秒
横からすみません

vc2005expressで「れさぴょん」がコンパイルできないとのことですが、
れさぴょんはコンソールアプリなのでMFCは使ってなかったと思います。
(もしかしたら都万さんの作られているCSA将棋向けDLLだったかな?)
工学社の「コンピュータ将棋のアルゴリズム」はお持ちですか?
そちらに収録されているれさぴょんは、BorlandC++、VC 2003 toolkit、GCCでコンパイル可能になっています。

以前までvc2003toolkitを使っていて、最近vc2005expressに移りましたが、
sprintfをsprintf_sに置き換えるなど、いくつか変更しないとワーニングのようなものがでました。
具体的には、出ているエラーが判らないのでなんともいえませんが、
多少の修正で、vc2005expressでもコンパイルできるんじゃないかと思います。    



一応分かりましたが・・・  投稿者:fku amature 投稿日:2006年 8月10日(木)10時05分3秒
コンパイルすると1errors,80warningsと出るけど、コンパイラのメッセージ通り、main.cppの361行の long tempをtime_t tempにするとコンパイルできる。そうです。出来ました。
しかしうさぴょんの2004年版のソースをビルドすると sikou - エラー 23、警告 59
どこを直せば良いのか途方にくれます。かなり直さないとビルド出来ませんね。およよ。 
http://秘密
   



YSS1.0の思考回路  投稿者:木口公平 投稿日:2006年 8月12日(土)23時01分29秒
定跡+手筋+何でしょうか?
最初はこれをF−BASICv6.3に移植しようと思ったのですが、どうしても解析できず断念しました。
コンピュータ将棋もここまで進化すると私は逆に8ビット時代の将棋ソフトに興味が出てきますね。少ないメモリと遅いCPUで必死に将棋を指させるために当時の人たちがどれだけ苦労したのやら。 
http://www.k4.dion.ne.jp/~basic/
   



Re: YSS1.0の思考回路  投稿者:山下 投稿日:2006年 8月19日(土)05時20分55秒
> 定跡+手筋+何でしょうか?

手筋以外は特に入っていないと思います。
自分でも見直して何をやってるのかよく分からないのですが・・・

当時のBASICでは局面を動かして先読みする、ということが遅すぎて不可能だったので、
利きのテーブルを作った後は、歩が取れるか?、桂のふんどしが打てるか、といった手の
集合に適当に点数をつけて一番高い手を指させる、というものだったと思います。

http://www32.ocn.ne.jp/~yss/yss100.html
ここの880行目からのコメントにあるような処理をやってるのですが
四次元配列とか多用してて読みにくいですね。    



情報処理の8月号にコンピュータ将棋のミニ特集  投稿者:山下 投稿日:2006年 8月19日(土)05時39分55秒
情報処理学会の会誌、8月号に
昨年に引き続き、コンピュータ将棋の未に特集が組まれています。
「新しい動き」とあるように、Bonanzaの登場特集となっています。

ミニ小特集 コンピュータ将棋の新しい動き : 0.編集にあたって   (久門耕一)
コンピュータ将棋の新しい動き : 1.「全幅探索」と学習による新感覚のコンピュータ将棋の成功その高速アルゴリズムの及ぼす影響   (瀧澤武信)
コンピュータ将棋の新しい動き : 2.今年の選手権を観戦した女流プロとしての戸惑い    (安食総子)
コンピュータ将棋の新しい動き : 3.コンピュータ将棋における全幅探索と futility pruning の応用   (保木邦仁)
コンピュータ将棋の新しい動き : 4.コンピュータは本当に名人を超えられるか-Bonanzaの活躍   (飯田弘之)
http://fw8.bookpark.ne.jp/cm/ipsj/mokuji.asp?category1=Magazine&vol=47&no=8

保木さんの話はかなり専門的でマニアックなものとなっています。

通常の書店には置いてないので大学の図書館などで探す必要があり、気軽に読むのは
難しいかもしれません。    



岐阜チャレンジ2006の案内ページが出来ています  投稿者:山下 投稿日:2006年 8月19日(土)05時42分42秒
開催は9月30日、10月1日の2日間で、
場所は去年と同じ、岐阜県大垣市のソフトピアです。

参加申込締切は9月6日までとなっています。
http://computer-go.softopia.or.jp/gifu2006/    



Re:Re: YSS1.0の思考回路  投稿者:木口公平 投稿日:2006年 8月20日(日)03時07分29秒
お返事ありがとうございます。
なるほど、そうでしたか。
コンピュータの後手番の思考回路は完成しました。(ルール道理指すだけのものですが)これから先手番の回路も作らなければならないのですが、アル中の治療のための睡眠薬の副作用で無気力になり、昨日は何もできませんでした。今日こそはやらなければ・・・。 
http://www.k4.dion.ne.jp/~basic/
   



(無題)  投稿者:匿名 投稿日:2006年 8月23日(水)22時01分17秒
以前に山下氏は全幅探索で指し手が解ればプログラマの必要がないと言い切られましたが、その全幅探索(ボナンザ)が先の大会で優勝してしまいました
山下氏は、どうお考えでしょうか?
昨日に出た保木氏の論文を踏まえて意見を頂きたいです
いきなりに失礼な質問ですみません    



千日手について質問  投稿者:保木 投稿日:2006年 8月23日(水)22時18分24秒
細かいことですが,千日手の意味を間違えて解釈していたことに気づきました.Kifu for Win で以下の棋譜は36手で千日手になるようです.

▲6八玉    △5二玉    ▲5八玉    △5一玉    ▲5九玉    △5二玉
▲6八玉    △5一玉    ▲5八玉    △5二玉    ▲5九玉    △5一玉
▲6八玉    △5二玉    ▲5八玉    △5一玉    ▲5九玉    △5二玉
▲6八玉    △5一玉    ▲5八玉    △5二玉    ▲5九玉    △5一玉
▲6八玉    △5二玉    ▲5八玉    △5一玉    ▲5九玉    △5二玉
▲6八玉    △5一玉    ▲5八玉    △5二玉    ▲5九玉    △5一玉

同一局面とはどういう意味なのか,どなたか教えて下さい.枡・先後駒台上の駒の種類(先手の歩,後手の歩,...)と手番が同一になることでしょうか.

チェスの three-fold repetition では手番は考慮しないようなのでうっかりしていました.ちなみに,Google で検索すると USCF Official Rules of Chess, p. 13 (1987) に次のように記述されているっぽいです."The position is considered the same if pieces of the same kind and color occupy the same squares and if the possible moves of all the pieces are the same, including the right to castle or to take a pawn en passant."    



Re: 千日手について質問  投稿者:マイムーブ西村 投稿日:2006年 8月23日(水)23時13分4秒
> 枡・先後駒台上の駒の種類(先手の歩,後手の歩,...)と手番が同一になることでしょうか.

そうです。ご提示の棋譜の場合、36手目を指した局面が4回目の同一局面になるので、その時点で千日手となります。    



(無題)  投稿者:保木 投稿日:2006年 8月23日(水)23時17分52秒
匿名さん,

全幅で指し手が解かれば簡単ですよ.しかし実際は,十数手以内で詰む等の特殊な場合以外は,解かりません.制限時間を使いきると負けなので,計算を打ち切ります.8手先しか読めない場合は,8手先なりの中途半端な状況で判断しかできません.そこらへんが,なかなか難しいところだと思っています.

それでも,選択探索よりは随分プログラミングが簡単だと思います.    



(無題)  投稿者:保木 投稿日:2006年 8月23日(水)23時19分52秒
西村さん,ありがとうございました.    



(無題)  投稿者:匿名 投稿日:2006年 8月24日(木)22時26分40秒
ある制限時間内で8手先しか読めなくても評価関数次第によっては、その制限時間内で状況によって枝狩りを行いながら12手先を読む既存のプログラムに対して十分に対応できるとお考えですか?    



(無題)  投稿者:匿名 投稿日:2006年 8月24日(木)22時29分10秒
下は保木様への質問です、すみません    



加藤桃子さん  投稿者:棚瀬 投稿日:2006年 8月25日(金)23時07分50秒
最近、女流プロを平手で破って話題になった加藤桃子さんが奨励会に合格されたそうです。
で、記事を読んでいて「静岡県出身」、「元奨励会員の父親」というのを見て急に思い出したのですが、2004年に激指、IS将棋、KCC将棋チームで遠州将棋祭りに参加した時に、チーム成績5−0でコンピューターチームともう一つのチームが並び、非公式の決定戦を行ったのですが、そのチームに強い小学生の女の子とお父さんがいて、お父さんの方は飯田さんが元奨励会員と言っていたような気がします。
彼女が件の加藤桃子さんだったのではないかと思うのですが、どなたか分かる方おられましたらフォローお願いします。

ちなみにその彼女とは私のプログラムが対戦しました。
その試合は確か15分切れ負けというかなり人間に厳しい勝負でコンピューター側の3−0だったのですが、公式戦では四、五段クラスの中で個人成績4−1と当時からかなり強かったと思われます。 
http://www.sanspo.com/sokuho/0825sokuho048.html
   



受けの通りの最大数  投稿者: 投稿日:2006年 8月27日(日)02時39分57秒
詰将棋を解くプログラムを作ろうとしています。
下の図で、玉が逃げる手と桂馬を取る手で17手になりました。
とゆうことで、ある局面で王手を受ける手は最大17通りだと思うのですが
一人では不安なので18通り以上の受けがある局面があるときは教えてください。

ーーーーーーーーー
ーーーーーーーーー
ーーーー銀金銀ーー
ーーーー金桂金ーー   ←桂馬は敵
ーーーーーー金ーー
ーーーー王ー桂ーー
ーーーーーーーーー
ー角ーーーーーーー
ーーーーー香ーーー    



(無題)  投稿者:2年目 投稿日:2006年 8月27日(日)10時30分43秒
あるマスAに移動可能な駒数は最大10,玉の動けるマスは最大8ですから,Aから王手がかかっているとすると,取る・逃げるの候補は最大17でよいのではないかと思います。飛びゴマでしたら合駒によってもう少し増えそうですね。

後手の持駒:残り全部
  9 8 7 6 5 4 3 2 1
+---------------------------+
| 銀 と 銀 ・ ・ ・ ・ ・ ・|一
| とv香 と ・ ・ ・ ・ ・ ・|二
| と ・ と ・ ・ ・ ・ ・ ・|三
| 桂 ・ 桂 ・ ・ ・ ・ ・ ・|四
| ・ ・ ・ ・ ・ ・ ・ ・ ・|五
| ・ ・ ・ ・ ・ ・ ・ ・ ・|六
| ・ ・ ・ ・ ・ ・ ・ ・ ・|七
| ・ 玉 ・ ・ ・ ・ ・ ・ ・|八
| ・ ・ ・ ・ ・ ・ ・ ・ ・|九
+---------------------------+
先手の持駒:歩
手数=0    まで    



(無題)  投稿者:保木 投稿日:2006年 8月28日(月)14時57分16秒
匿名様,

枝刈りが上手くいっていれば,12手先まで読んだ方が 8手先まで読む場合より強くなると思いますよ.    



IntelのCore2 Duo E6700がYSSベンチでトップに。  投稿者:山下 投稿日:2006年 8月28日(月)19時37分26秒
KIさんの投稿情報からですが
最新の Core2 Duo 6700 がちょっと引き離した速度を出してます。

このリストのトップが書き換わるのは2004年11月以来2年ぶりで、
IntelがAMDを抜いたのは4年ぶりくらいのような気がします。

あくまでも、単独CPUでの速度で、かつYSSベンチ、シングルスレッド、という
偏った結果ですけど。

Core2 Duo E6700   2.66GHz   7.8秒 2GB RAM, FSB 1066MHz, L2 4MB EM64T対応 KIさん情報
Athlon64 FX-55    2.6 GHz   8.8秒 ASUS A8V L2 1MB PC3200/4GB 定格動作 じいいさん情報。
Opteron 852       2.6 GHz   8.9秒 Iwill QK8S, H4103, PC3200/1GBx4 ECC Registered
Athlon64 3700+    2.4 GHz   9.3秒 L2 1MB, PC3200/512MB CL2, Windows2000sp3 Bethさん情報
Opteron 280       2.4 GHz   9.4秒 Dual Core x2/PC3200 1GBx2(128bit memory access) うさぴょんの育ての親さん情報
Athlon64 FX-53    2.4 GHz  9.4秒 L2 1MB,                 棚瀬さん情報
Athlon64 FX-53    2.4 GHz  9.5秒 L2 1MB, PC3200/512MB*2、柿木さん情報
Athlon64 X2 4800+ 2.4 GHz   9.5秒 L2 1MBx2 橋本さん情報
Opteron 250       2.4 GHz   9.5秒 K8TMaster2 1GB DDR400CL3 ECC-REG ?さん情報。
Athlon64 4000+    2.4 GHz   9.6秒 PC3200/512MB*2 ねおねお2kさん情報
Core Duo T2700    2.33GHz   9.6秒 Moeher ASUS N4L-VM DH(注BiosUp) 0.99GB RAM  KIさん情報
(オーバークロックの結果は省略しています)
http://www32.ocn.ne.jp/~yss/bench.html    



月刊「I/O」で「Javaで作るコンピュータ将棋」の連載  投稿者:山下 投稿日:2006年 9月 1日(金)19時20分57秒
月刊「I/O」で池さんの連載が掲載されています。
9月号で6回目とのことです。
http://www.kohgakusha.co.jp/io/    



岐阜チャレンジの申し込みは9月6日まで  投稿者:山下 投稿日:2006年 9月 1日(金)19時26分7秒
岐阜県大垣市での囲碁大会の申込締切は9月6日までとなっています。
http://computer-go.softopia.or.jp/gifu2006/    



合い駒について  投稿者: 投稿日:2006年 9月 2日(土)01時38分58秒
詰将棋を解くプログラムを作ろうとしています。

盤の表現などは書き終わって受けを生成する関数を作っています。
受けを生成する関数 setLegalMoves_c(int te[]) は
te[0] に移動元の数値(0x55,0x41 など玉方駒台は2)te[1] に移動先の
数値を代入し最後に0を設定することで終了を知らせます。すなわち、te[0]=0
なら受けなしで詰みです。
さて、この関数で今のところできるのは王手している駒を取る。例えば銀で王手したら玉以外の駒でその銀を取る手を生成します。次に玉が周り8マスの移動可能な場所に移動する手を生成する。今のところこの条件なら詰み/不詰みの判定ができる。

後は中合いで王手を防ぐくらいなのですが、移動による中合いはすべて生成でも問題ないと思われるのですが、詰将棋なので玉方は大抵7種類全ての駒を持っていて、持駒で防ぐと最大49通り。なのでこちらは問題あると思われる。

そこで持駒による中合いは、王手している飛び駒と玉の間で
1.自分の利きのある位置
2.相手の飛び駒が2つ以上重なる位置。
3.玉の2つ隣の位置
これで問題ないでしょうか? この条件で詰まない局面が詰みになる可能性は
ありますか?    



合い駒について  投稿者: 投稿日:2006年 9月 2日(土)01時48分17秒
     9 8 7 6 5 4 3 2 1
+---------------------------+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|一
| ・ ・ ・ ・ ・ ・ ・ ・ ・|二
| ・ ・ ・ ・ ・ ・v玉 ・ ・|三
| ・ ・ ・ ・ ・ ● ・ ・ ・|四←2.相手飛び駒が2以上重なる位置
| ・ ・ ・ ・ ● ・ ・ ・ ・|五←3.玉の2つ隣の位置
| ・v金 ・ ・ ・ ・ ・ ・ ・|六
| ・ ・ ● ・ ・ ・ ・ ・ ・|七←1.自分の利きのある位置
| ・ 角 ・ ・ ・ 飛 ・ ・ ・|八
| ・ ・ ・ ・ ・ ・ ・ ・ ・|九
+---------------------------+    



Re: 合い駒について  投稿者:山下 投稿日:2006年 9月 3日(日)09時08分0秒
以下の局面で、△42歩合、とすると唯一詰みません。

後手の持駒:角 金二 銀二 桂二 歩二
  9 8 7 6 5 4 3 2 1
+---------------------------+
| ・ ・v銀v金 ・ ・ 馬v桂v香|一
| ・ ・ ・ ・ ・ ・ ・ ・ ・|二
|v香 龍 ・ ・ ・ ・ ・ ・v歩|三
| ・v桂 ・ ・ ・ ・ ・ ・ ・|四
| ・ ・v玉 ・ ・ ・v歩 ・ ・|五
| ・ 歩 ・ ・ ・ ・ ・ ・ ・|六
| 歩 ・ ・ 歩 歩 歩 歩 ・ 歩|七
| ・ ・ 金 ・ ・ ・v龍 ・ ・|八
| 香 ・ 玉v銀vと ・ ・ ・ 香|九
+---------------------------+
先手の持駒:歩六
後手番
この局面は下のページで解説されています。
http://www.webspace-jp.com/~mozu/mozuiro/jissen/jissensol09.html

また、詰将棋で下の局面で、▲66金、と空王手をかけると、
△75桂、の中合で詰みません。

後手の持駒:角二 金三 銀四 桂三 香二 歩十二
  9 8 7 6 5 4 3 2 1
+---------------------------+
| ・ ・ ・ ・ ・ ・ ・ ・ ・|一
| ・ ・ ・ ・ ・ ・ ・ ・ ・|二
| ・ ・ ・ ・ ・v歩 歩v歩v歩|三
| ・ ・ ・ ・ ・ ・ ・ ・v桂|四
| 飛 ・ ・ 金 ・ ・ ・v玉 歩|五
| ・ 飛 ・ ・ ・ ・ ・ ・ ・|六
| ・ ・ ・ ・ ・ ・ ・ ・ ・|七
| ・ ・ ・ ・ ・ ・ ・vと ・|八
| ・ ・ ・ ・ ・ ・ 香 ・ 香|九
+---------------------------+
先手の持駒:なし
手数=4  △2五玉  まで
http://www7.plala.or.jp/tsume/mybest/hiraiy02.html

中合 絶妙 詰まない、などでGoogleで検索すると幾つか出てきます。    



岐阜チャンレンジの申し込みは今日(6日)までです。  投稿者:山下 投稿日:2006年 9月 6日(水)02時32分39秒
お忘れの方はお早めにどうぞ。
http://computer-go.softopia.or.jp/gifu2006/    



詰将棋の高速化  投稿者: 投稿日:2006年 9月15日(金)21時07分12秒
詰将棋を解くプログラムを作ろうとしています。デバッグに予想外の時間を取られましたが、とりあえずできました。実際に駒を並べてみると3手くらいなら速いです。でも9手読ますと1手返すのに2〜3分位かかります。大体の手順は次のようになってます。
初めてなので作りやすいよう縦に検索(探索)する。コンピュータが玉方。

public int nextGote(int from, int to, int nari, int depth, int ret[])
{
if(depth < 0)
{
return 0; //不明
}
depth--;

move(from, to, nari); //実際に動かす

setLegalMoves_m(te_from, te_to, te_nari);   //王手を生成

if(王手できない)
{
return -1; //不詰み
}

for(int i=0; 生成した手がある; i++)
{
switch( nextSente(移動元, 移動先, 成り/成らず, 結果) )
{
case 1: //詰み
if( 手数が同じか短い )
{
if( 持駒が少ない )
{
結果を変更
}
}
break;

case 2: //不明
不明があることを保存
break;
}
}

if( 詰む手があった )
{
return 1;
}
else
{
if( 不明の手があった )
{
return 0;
}
else
{
return -1; //不明
}
}
}


int public int nextSente(int from, int to, int nari, int depth, int ret[])
{
if( depth < 0 )
{
return 0;
}
depth--;

move(from, to, nari) //盤面を動かす

setLegalMoves_c(te_from, te_to, te_nari);   //受け手生成

if( 受け手なし )
{
ret[0] = 攻め方全ての持駒の枚数 ;
ret[1] = depth;
return 1; //詰み
}

for(int i=0; 生成した手がある; i++)
{
switch( nextGote(移動元, 移動先, 成り/成らず, 結果) )
{
case -1: //不詰み
return -1;

case 1:
if( 持駒が同じか少ない )
{
if( 手数が同じか長い )
{
結果を変更
}
}
}
}

if( 詰みの手がある )
{
return 1;
}
else
{
return 0;
}
}

攻める手と受ける手は全て生成して、攻める手は詰んだら終わりではなくより早く詰まし、より多くの
駒をもって詰ます事を考え(早く詰ます方を優先)
受ける方は相手がより少ない持駒で詰まされ、より長い手数で詰まされる事を考え(相手の持駒が
少ない方が優先)しているため結局全て読んでいます。
高速にするにはどうしたらいいですか?    



第4回コンピュータ将棋オープン戦(10/7)開催のお知らせ  投稿者:香山@CSA 投稿日:2006年 9月16日(土)01時30分48秒
 コンピュータ将棋協会理事の香山です。

 来年5月の第17回世界コンピュータ将棋選手権より、LAN対戦が必須となる予定です。

 そのテストのため、次の4回のイベントを計画しています。

10月7日(土)13:00〜 第4回コンピュータ将棋オープン戦
11月10日(金)・11日(土) GPW杯=ゲーム・プログラミング・ワークショップ会場
来年2月 第5回コンピュータ将棋オープン戦
来年4月 第6回コンピュータ将棋オープン戦

10月7日(土)のオープン戦はネット上で行われます。
指し手決定は人間でもOKです。
ふるってご参加ください。

(参加申込受付開始はもうしばらく後の予定です)    



Re:詰将棋の高速化  投稿者:都万 投稿日:2006年 9月16日(土)05時05分18秒
なぜ、そんなに計算時間がかかるのか、首をかしげるくらい遅いですね。
ロジックの意味はよくわからないけど、速くするには

先ず、王手のみを生成してるか?
特に、相手の受けが少なくなる取る手等厳しい手を優先して読ます事。
受けが重要で逃げるような手より相手の王手が少なくなる取る手等を特に読ます事。
詰み手数が長くなる場合(7手以上)は、同じ局面を再度計算する可能性が高くなるのでハッシュを利用して前の計算結果を利用する事。
詰将棋で成功された方がいるので、その方の論文等を入手して参考にする事。

そんなとこですかね。
とにかく、試行錯誤して苦労される事が大切です。    



(無題)  投稿者: 投稿日:2006年 9月16日(土)09時18分39秒
その論文はどこにありますか?

ちなみに、簡単なところで玉以外の駒が王手している駒を取る手のみ最初に生成していたのを
玉でも王手している駒を取る手を最初に生成するようにした。

1.玉以外の駒で王手している駒を取る。
2.玉で王手している駒を取る。
3.それ以外

今回使った詰将棋
  9 8 7 6 5 4 3 2 1
+---------------------------+
| ・ ・ ・ 飛 ・ ・ ・v桂v香|一
| ・ ・ ・ ・v金v金v玉 ・ ・|二
| ・ ・ ・ ・v銀v歩 ・v歩v歩|三
| ・ ・ ・ ・v歩 ・v歩 ・ ・|四
| ・ ・ ・ ・ ・ ・ ・ 歩 歩|五
| ・ ・ ・ ・ 馬 歩 ・ ・ ・|六
| ・ ・ ・ ・ ・ ・ ・ ・ ・|七
| ・ ・ ・ ・ ・ ・ ・ ・ ・|八
| ・ ・ ・ ・ ・ ・ ・ ・ ・|九
+---------------------------+
持駒 桂 銀 金

正解手順 ▲2四桂 △同歩  ▲2三銀 △同玉  ▲2一飛成
     △2二金 ▲3五桂 △3三玉 ▲2三金 △4四玉
     ▲4五馬 まで
成美堂出版 著者高橋道雄九段 新しい詰将棋より

nextSenteとnextGoteを呼び出した回数
変更前 9798602回  205秒
変更後 8610123回  181秒
約100万回減りました。
このパソコンはathlon64 3000+で結果からすると約47000局面/s
確かyssはalpha500MHzで40000局面/sなので同等のcpuを使えば確実に遅いです。
しかもこれは評価関数もないのでもし付ければyssのalpha500MHz並の速度くらいになったりする
のではないかと。。。    



(無題)  投稿者: 投稿日:2006年 9月16日(土)09時58分7秒
二項目改良しました
depth -=  te_ret[1];を追加
1て詰みで今以上に持駒があるときはすぐに終了する。
これで30秒で指すようになりました
速度は34000局面/sに落ちました。    



Re:第4回コンピュータ将棋オープン戦(10/7)開催のお知らせ  投稿者:初心者 投稿日:2006年 9月19日(火)05時39分19秒
私は、将来、大会に出てみたいと考えているのですが、
「今後の大会ではLAN対戦が必須」とのことについて教えていただきたいことがございます。

LAN関係のプログラムは作成できる自信がないのですが、たとえばCSAのホームページからリンクされている

CSA将棋 (増本智宣さん作成)

を使うことで、通信関係については新たな機能を追加することなく、大会に参加することは出来るのでしょうか?

また、オープン戦のような対戦形態では、対戦相手をどのように決定するのでしょうか?
通信対局では、相手を設定してから対局開始となると思うのですが、たとえば大会事務局があらかじめ対戦相手をメールなどで通知し、決められた時間に対局相手と対局するといった進め方なのでしょうか。
疑問に思っている点は、CSA将棋などのソフトが、たとえばサーバから指定される対局相手と自動対局を開始するような機能はないと思うので、大会では具体的にどのように対局が進められるのでしょうか?    



Re:第4回コンピュータ将棋オープン戦(10/7)開催のお知らせ  投稿者:香山@CSA 投稿日:2006年 9月19日(火)20時14分35秒
>初心者さん

通信用のサンプルプログラムはこちらにありますので、ご活用ください。
http://www.computer-shogi.org/protocol/

また、対局の進め方ですが、下の掲示板で連絡を取りつつ行います。
掲示板で組み合わせ告知→参加者がログイン→サーバから通知が来て対局開始
という手順になります。
http://cgi3.tky.3web.ne.jp/~kayaken/csabbs/06op4/
http://cgi3.tky.3web.ne.jp/~kayaken/csabbs/06op3/ (前回のもの)    



詰将棋を作らせる  投稿者: 投稿日:2006年 9月20日(水)08時47分16秒
コンピュータにランダムに詰将棋を作らせるにはどんな手順でやればいいですか?    



(無題)  投稿者:保木 投稿日:2006年 9月21日(木)09時03分19秒
俺さんのプログラムを拝見したところ,不詰みの発見も目指しているように思えます.これは難易度が高いんですよ.
depth 以内の詰み発見のみを考えると2倍程度深く探索できると思います.再帰的に呼ぶ関数の返り値は「解けた」と「解けなかった」の2つのみです.depth 以内に詰まない局面では受け手を1つだけ展開するのが理想です.
ルート局面で depth を 1, 3, 5, ... と繰り返し探索すると,無駄合いを考慮しない最短手順の詰みが見つかる筈です.    



(無題)  投稿者: 投稿日:2006年 9月21日(木)23時04分42秒
とりあえず論文を読む。読むなら長井詰めと脊尾詰めのどちらがいいですか?    



CSA例会での発表メモ  投稿者:山下 投稿日:2006年 9月24日(日)23時36分0秒
9月9日にCSAで発表したYSSの高速化に関するメモを下に置いておきます。
http://www32.ocn.ne.jp/~yss/20060909csa.txt

個人的には柿木さんに教えていただいた、WindowsXPでは
1GB以上のメモリは一括して確保できない、というのが
勉強になりました。
Windows2000(2000Serverも)だとOKなのですが、なぜか
XPだと512MB、512MBと分割してなら確保できるのですが、1GBを
直線ではmallocが失敗します。

1G確保できるように、とノートPCに1.5GBを積んでたのですが
ちょっと悲しかったですね。    



YSSの将棋倶楽部24でのレーティング  投稿者:山下 投稿日:2006年 9月24日(日)23時41分1秒
今年も将棋倶楽部24でレーティングを計ってみました。
結果は30局指して、2463点から初めて2508点で終わりました。

途中のグラフなどを見る限り去年とほとんど同じ棋力、だと思います。

対戦していただいた皆様、ありがとうございました。
http://www32.ocn.ne.jp/~yss/24rating.html    



Re:CSA例会での発表メモ  投稿者:高橋 投稿日:2006年 9月25日(月)00時19分20秒
>Windows2000(2000Serverも)だとOKなのですが、なぜか
>XPだと512MB、512MBと分割してなら確保できるのですが、1GBを
>直線ではmallocが失敗します。

ダイナミックに(malloc()でもWindowsAPIでも)確保できないので、
(第16回選手権の時、謎電はXPを使いましたが)1.5GB固定サイズ
をスタティックにプログラム上で領域定義しました。
リニアに確保出来るのか出来ないのかどっちなんだと言われれば、
スタティックなら出来る、というのが結論です。但し固定サイズになる
のでサイズを変えたい時はプログラムを書き換えた上でリビルドが
必要になるので本質的な問題解決案とは言えないでしょう。

調査中ですが、アロケイションサイズ上限がパラメタライズされていて
それを書き換えることができるかもしれないとは思っています。
例えばレジストリ書き換えとか。まだ発見できてませんが。
それが出来ないようなら、Windowsはそろそろ見切り時かも知れませんね。    



Re:CSA例会での発表メモ  投稿者:ぎずもご 投稿日:2006年 9月25日(月)17時11分21秒
>Windows2000(2000Serverも)だとOKなのですが、なぜか
>XPだと512MB、512MBと分割してなら確保できるのですが、1GBを
>直線ではmallocが失敗します。

以前、詰め将棋のプログラムを作成した時、ハッシュ用領域を1.5GB位
VirtualAllocで確保して実行できた(当然XPで)記憶があります。

VirtualAllocではダメな理由がわかりましたら教えてください。

#また今年も岐阜チャレンジに参加できません。
#来年こそは、参加したいと思います・・・    



Re:YSSの将棋倶楽部24でのレーティング  投稿者:匿名 投稿日:2006年 9月25日(月)20時04分35秒
対戦を見ていました
以前からのAI将棋と対戦して、その短所を旨く突いている人が多い様に思うのですが    



32ビットで1GBを超える配列  投稿者:通りすがり 投稿日:2006年 9月26日(火)12時04分30秒
32ビットで1GBを超える配列について、下記のプログラムを
> cl myprog.c
とコンパイルして実行すると
400000000 400000000
と表示し、正しく動いているようです。
タスクマネージャの使用メモリーも1.6GBと表示しています。
メモリーは2GB、VC++のバージョンは14(VS2005付属のもの)です。
はずしていたらすみません。
#include 
#include 
int main(void) {
int n = 400000000;
int *a, i, sum;
a = malloc(n * sizeof(int));
for (i = 0; i < n; i++) a[i] = 1;
for (sum = i = 0; i < n; i++) sum += a[i];
printf("%d %d\n", n, sum);
return 0;
}    



Re:32ビットで1GBを超える配列  投稿者:高橋 投稿日:2006年 9月26日(火)21時34分9秒
>はずしていたらすみません。

外してないですね。XP(私が試しているのはOEM版ですが)インストール直後
なら成功しますね。しかし何が原因か判りませんが、物理メモリが充分
空いていても別のマシンでは、同じXPでも失敗します(VirtualAllocでも確保失敗)。
何かしらのソフトがインストールされた時におかしくなった、としか思えないですね。    



/3GB  投稿者:まる 投稿日:2006年 9月27日(水)04時56分34秒
Windowsは通常、2GBがuser空間の限界です。(残りはkernel)
なので、同一プロセスで、どこか途中のメモリ空間中に何らかのdll等がloading
されてしまうと、途端に大きな連続領域を確保できなくなってしまうと思います。

ブートオプション"/3GB"でuser空間上限を3GBまで引き上げられるので、これで
確保可能な連続領域の最大値が上がるか、実験してみてはいかがでしょう?
http://support.microsoft.com/default.aspx?scid=kb;ja;833721    



ハッシュ値の保存方法  投稿者: 投稿日:2006年 9月30日(土)17時22分1秒
ある局面Aで指し手がb,c,dとある。
このとき局面Aは指し手が違うだけのものを3つ用意することになり、すぐにハッシュがいっぱいにならないですか?(少なくともうまい使いかたではない)
今のところ最大1048576個で行こうと思います。100万以上使った時点で解けないとゆう仕様にしようと思います。他の開発者はどうしていますか?    



(無題)  投稿者: 投稿日:2006年10月 2日(月)22時41分20秒
コンピュータ将棋の進歩4を読んだ。が、証明数と反証数の考え方がいまいちわかりません。例として下の図で説明します。
Aは玉方手番だとしてAの証明数(Pn)を求める。
Aの証明数はBとCの証明数の和なのでBとCの証明数を求めなければいけない。そこでB,Cを展開してD,E,Fが出てきた。さらにD,E,Fを展開してG,H,I.....Mと出てきた。これではきりが無いので「最終的な評価値が不明の場合」としてG,H,I,....MはPn=1とする。
そうするとDでPn=3,EでPn=3,FでPn=2 (And接点 子接点のPnの和)
BでのPn=2,CでのPn=2  (Or接点 子接点のPnの最小)
AでのPn=4
あとはDnをもとめてとりあえずPnとDnが分かったとして、これでは意味が無いと思います。なぜならAはすでに展開してしまったからです。

             A
           /   \
                    B         C
                 /   \        \
               D         E         F
            /   \    /|\    / \
           G       H  I  J   K  L     M

この本によると証明数と反証数は次のノードを検索するとき証明数、反証数が少ないものから展開するらしいのですが、証明数と反証数を知るためにはノードを展開しなければならないとゆうわけのわからないことになっています。この本の意味が分かる方教えてください。    



freeBasicによる将棋ソフト  投稿者:木口公平 投稿日:2006年10月 2日(月)23時47分50秒
ようやく、まともに指せるものができましたのでアップしました。
お暇な方、テストプレイをお願いします。 
http://www.k4.dion.ne.jp/~basic/shougi.htm
   



第4回コンピュータ将棋オープン戦(10/7)開催のお知らせ(再)  投稿者:香山@CSA 投稿日:2006年10月 3日(火)02時02分10秒
10/7(土)13:00〜より、人間も参加可能なオープン戦をネット上で行います。
多数のご参加をお待ちしております。

(申込締切は一応10/5(木)となっています)

詳しくは下のサイトをご覧ください。 
http://www.computer-shogi.org/open/open4.html
   



freeBasicによる将棋ソフト  投稿者: 投稿日:2006年10月 3日(火)20時03分2秒
王手しているのに逃げない。
ピンしてないようで、自ら王手になる手を指す。    



Re:freeBasicによる将棋ソフト  投稿者:都万 投稿日:2006年10月 4日(水)04時35分46秒
4つエントリーされているんだけど、4つとも「ページが見つかりません。」と出てダウンロード出来ないんだけど?    



Re:freeBasicによる将棋ソフト  投稿者:アベントxGA将! 投稿日:2006年10月 4日(水)20時09分49秒
私も都万さんと同じです。
ちなみに環境はWindows XP x64、IE6です。    



Re:freeBasicによる将棋ソフト  投稿者:アベントxGA将! 投稿日:2006年10月 4日(水)20時45分58秒
連投すいません。
ファイル名が日本語の様なので、ひょっとしたらその辺が関係しているのでしょうか?    



(無題)  投稿者: 投稿日:2006年10月 4日(水)21時47分28秒
IEでは32ビット、64ビットともダウンロードできない。
ので、Firefoxを使ってダウンロードする    



凍結します。  投稿者:木口公平 投稿日:2006年10月 4日(水)21時56分49秒
あららら?
なんかトンでもない物をアップしてしまったようで・・・。
ファイルが日本語だとダウンロードできない場合があるとは知りませんでした。
自分の環境ではダウンロードできるのですが(XP、SP2、IE6、ウィルコムのAir”H)

俺さん、申し訳ありません。独自ルーチンによるテストだけでアップしてしまいました。ちゃんと自分の手で確かめなくてはなりませんよね。反省しております。はい・・・。 
http://www.k4.dion.ne.jp/~basic/shougi.htm
   



修正しました。  投稿者:木口公平 投稿日:2006年10月 4日(水)22時23分27秒
修正したものをアップしてみました。『修正しました』を左クリックしてダウンロードしてみてください。

俺さん、自分では飛車・角で王手を掛けるとちゃんと(移動)合駒or逃げるのですが、どのような状態でそうなるのか教えていただけないでしょうか?(小駒による王手?) 
http://www.k4.dion.ne.jp/~basic/shougi.htm
   



(無題)  投稿者: 投稿日:2006年10月 4日(水)22時55分55秒
玉の後ろから王手すると逃げない事が多い。(大駒だけじゃなくて銀、金でも)

下の図で金は通常飛車によりピンされてるので横にしか動けないが銀を取る。
  9 8 7 6 5 4 3 2 1
+---------------------------+
| ・v玉v金・ ・ ・ ・ 飛 ・|一
| ・ ・ ・ 銀 ・ ・ ・ ・ ・|二
| ・ ・ ・ ・ ・ ・ ・ ・ ・|三
| ・ ・ ・ ・ ・ ・ ・ ・ ・|四
| ・ ・ ・ ・ ・ ・ ・ ・ ・|五
| ・ ・ ・ ・ ・ ・ ・ ・ ・|六
| ・ ・ ・ ・ ・ ・ ・ ・ ・|七
| ・ ・ ・ ・ ・ ・ ・ ・ ・|八
| ・ ・ ・ ・ ・ ・ ・ ・ ・|九
+---------------------------+    



俺さん、ありがとうございます。  投稿者:木口公平 投稿日:2006年10月 4日(水)23時25分48秒
なるほど!ピンの概念はまだ入れてなかったです。
次の課題はこれにします。 
http://www.k4.dion.ne.jp/~basic/shougi.htm
   



> (無題)  投稿者: 投稿日:2006年10月 2日(月)22時41分20秒
の投稿に関してです.コンピュータ将棋の進歩で解説されているのは df-pn 探索アルゴリズムだったと思うのですが,ひとまず証明数探索の方で説明します.

> あとはDnをもとめてとりあえずPnとDnが分かったとして、
> これでは意味が無いと思います。
> なぜならAはすでに展開してしまったからです。
これ自体は正しいです.ルートノード(この場合はノード A)の証明数や反証数自体は証明数を使った探索では使いません.

下の例で説明すると,次に展開するべきノードの候補は末端ノード G, H, I, J, K, L, M のどれか一つになります.

AND           A
           /   \
OR                  B         C
                 /   \        \
AND            D         E         F
            /   \    /|\    / \
OR         G       H  I  J   K  L     M

次に展開すべきノードを選ぶのに,A から見ていきます.
A には二つ子ノード B と C があります. A は AND ノードなので,このうち反証数が小さい方を辿る候補として選びます.
ここでは Dn(B) = 3, Dn(C) = 2 なので, C が辿られることになります.

次に C は OR ノードなので,本来は証明数が小さいノードを辿る候補にするべきところなのですが,C には子ノードが F しかないので F を辿ります.

その次の F は AND ノードで,二つの子ノード L と M があります.これらは両方反証数が 1 なので,(証明数探索としては)どちらを次に展開しても良いことになります.そこで,例えば L を展開したら子ノードが二つあったとします:

AND           A
           /   \
OR                  B         C
                 /   \        \
AND            D         E         F
            /   \    /|\    / \
OR         G       H  I  J   K  L     M
                    /\
AND                          N    O

同じような手順をふむと,次は M が展開の候補となります.

ココロとしては,OR ノードでは証明しやすそうな子ノードを,AND ノードでは反証しやすそうな子ノードを辿っていき,一番証明・反証に「ききそう」な末端ノードを選んで展開する,というのが証明数探索です.    



証明数・反証数について(1)  投稿者:SHNSK 投稿日:2006年10月 5日(木)07時55分12秒
なんか,色々盛り上がっていますね〜.


(無題)  投稿者: 投稿日:2006年10月 5日(木)19時46分53秒
ありがとう。それでプログラムしてみます。    



後ろからの王手に対する防衛ルーチン  投稿者:木口公平 投稿日:2006年10月 5日(木)21時29分14秒
修正したものをアップしました。『Ver0.3』からダウンロードできます。
下からの攻撃をー15(左下)、−16(真下)、−17(右下)として計算していたのですが、マイナスなのを認識させていませんでした。ピンの概念はまだいれていません。

あまのさん、面白いプログラムですね。ホームページをもっていらっしゃるなら相互リンクをお願いしようと思ったのですが、ちょっと変わったホームページらしい(個人では無く法人らしい)のでどうしましょうか?
現在は将棋プログラムの開発は為されていないのでしょうか。 
http://www.k4.dion.ne.jp/~basic/shougi.htm
   



Re: 後ろからの王手に対する防衛ルーチン  投稿者:あまの 投稿日:2006年10月 6日(金)19時02分6秒
>木口さん
ありがとうございます。

ただプログラムの方は一時的に置いているだけで
すぐにでも消すつもりなので(というかついでに今消しました。。。)
申し訳ありませんがリンクの方はご遠慮いただけますでしょうか。
すいません。。。

ちなみにBASIC系で最強の将棋ソフトは
きっと椿原将棋さんになるんでしょうね。    



Re:Re: 後ろからの王手に対する防衛ルーチン  投稿者:木口公平 投稿日:2006年10月 6日(金)19時20分29秒
>あまのさん
了解しました。 
http://www.k4.dion.ne.jp/~basic/
   



彩が、内部エラーで、ほんまかいなー  投稿者:tss 投稿日:2006年10月 8日(日)02時03分35秒
さっそくaya586をダウンロードしました。
が、Win9X系では「内部エラーで停止しました」の表示で、
起動できません。(--;

私だけの環境だけなのかも、知れませんけど・・・。

ほんまかいなー(^^A    



Re: 彩が、内部エラーで、ほんまかいなー  投稿者:山下 投稿日:2006年10月 8日(日)05時22分51秒
メモリが128MB以下だとメモリ確保に失敗してエラーになるようになっていました。
近いうちに修正します。    



そうぢゃったんかいなー(^^A  投稿者:tss 投稿日:2006年10月 8日(日)18時39分23秒
>メモリが128MB以下だとメモリ確保に失敗してエラーになるようになっていました。
>近いうちに修正します。

128MB以上での動作確認はしています。

しかし、修正するのは、どうなんでしょうか。
修正する事によって、128MB以上と以下での棋力(勝率)はどのくらい変わるものなのでしょうか?

それにより、128MB以下の利用者からの批評(実際の棋力以下)は面白くないでしょうから。
aya586は、メモリ128MB以上を動作条件とし、
旧ayaをメモリ128MB以下用に公開するのも手かもしれません。

「内部エラーで停止しました」を「メモリ確保に失敗しました」に、
修正する必要はあるけどねー(^^;    



(無題)  投稿者: 投稿日:2006年10月 8日(日)22時11分28秒
囲碁はあまり興味ないですがyssと違ってaya586はビックリするほど弱いように感じますが?(適当に大きく囲めば勝てる)    



バグを取ったものをアップ。  投稿者:木口公平 投稿日:2006年10月10日(火)02時09分46秒
持ち駒の香車が打てないバグを修正しました。
ちょっと掲示板を荒らしてしまったようで申し訳ないです。
編集、削除ができるんですね。
後は、池泰弘『コンピュータ将棋のアルゴリズム』p135の金銀・成り駒の価値について相手の玉の位置関係、自分の玉との位置関係によって、評価点を調整する手法を取り入れれば、0手読み版は完成です。 
http://www.k4.dion.ne.jp/~basic/shougi.htm
   



7路盤では、コンピュータは鬼のように強いらしいです  投稿者:山下 投稿日:2006年10月11日(水)05時01分59秒
コンピュータ碁のメーリングリストで話題になってますが、
CrazyStoneとかのモンテカルロ法ベースのプログラムを7路盤で動かすと
かなり強いそうです。
http://computer-go.org/pipermail/computer-go/2006-October/006890.html

Akebonoの美添さんもそんなことをおっしゃてましたし、
Valkyriaの作者(Vikingのモンテカルロ版)も、序盤の定跡を
少し追加すればほとんどパーフェクトにプレイできるのでは、
とかチャットで言ってました。
CrazyStoneはKGSで5段の人と互角、とのこと。

MLによるとコミは7.5目では明らかに小さくて9目ぐらいだろう、とのことです。
ちなみに人間による解析では黒9目勝ちです(日本ルールで)    



Re:7路盤では、コンピュータは鬼のように強いらしいです  投稿者:高橋 投稿日:2006年10月12日(木)13時54分58秒
>序盤の定跡を

本題と関係がないのですが、素朴なツッコミを入れさせてください:-)

http://gogen-allguide.com/si/jyouseki.html

多分、これは山下さんなら百も承知でしょう。ですので変換ミスであることは
こちらも百も承知の上です。ですが、山下さんだからこそ安易に誤った使い方を
されると他への影響が大きいと思いますので、敢えて。    



Re:7路盤では、コンピュータは鬼のように強いらしいです  投稿者:山下 投稿日:2006年10月12日(木)17時58分25秒
ですね。
失礼しました。

余談ですが、MoGoは9路ではGnuGo3.6相手に9割以上、13路でも25%は勝つそうです。
囲碁知識を使って、手を枝刈すると、13路でも50%近く勝つそうです。
ただし、19路では一回も勝てない、とのこと。(ちょっと安心ですが)

彩も13路で全幅探索のαβを試してみたら、意外にも出入り計算よりも勝率が
上がりました。(といっても2割が3割ですが)
13路ぐらいまでは全幅探索が優位に立ちそうな気がします。    



ひとまず完成。  投稿者:木口公平 投稿日:2006年10月13日(金)01時38分59秒
池泰弘『コンピュータ将棋のアルゴリズム』p135の金銀・成り駒の価値について相手の玉の位置関係、自分の玉との位置関係によって、評価点を調整する手法を取り入れました。
0手読み版はひとます完成です。 
http://www.k4.dion.ne.jp/~basic/shougi.htm



一手読み版をアップしました。  投稿者:木口公平 投稿日:2006年10月18日(水)23時51分14秒
いかがでしょうか? 
http://www.k4.dion.ne.jp/~basic/shougi.htm



朝日新聞の日曜版  投稿者:山下 投稿日:2006年10月19日(木)15時52分29秒
22日の朝日新聞の日曜版のbeにコンピュータ将棋関係の記事が載る予定、とのことです。    



Re: 朝日新聞の日曜版  投稿者:山下 投稿日:2006年10月23日(月)07時21分36秒
ネットで記事が読めます。

プロにもびびらず
http://www.be.asahi.com/be_s/20061022/20061006TSUN0001A.html    



2つの囲碁プログラムをLAN経由で対戦させる方法  投稿者:山下 投稿日:2006年10月27日(金)04時10分17秒
GTPに対応している囲碁プログラム同士をWindows上でLAN経由で対戦させる場合です。
まずgoguiをインストールします。Java1.4以上の環境が必要です。
http://gogui.sourceforge.net/

DOSプロンプトを起動して、解凍した gogui-0.9.1\lib\ の下に移動します。

取り合えず、彩とgnugoを同一マシンで対戦させる場合は、
下のようにします。10試合を白黒交互に。棋譜の名前は ayagnugo で。
java -jar twogtp.jar -black "c:\aya\release\aya.exe --mode gtp" -white "c:\go\gnugo\gnugo.exe --mode gtp" -games 10 -size 9 -alternate -sgffile ayagnugo -auto

別のマシンで立ち上げたプログラムと対戦させるときは、
まず、片方のマシンでGTP対応のプログラムを gtpserver を使って起動させます。
java -jar gtpserver.jar "c:\aya\release\aya --mode gtp" -port 5555

次に、もう片方のマシンで対戦相手を起動します。(ここでは同一のマシンのIPを指定してます)
java -jar twogtp.jar -black "java -jar netgtp.jar 127.0.0.1 5555" -white "c:\go\gnugo\gnugo.exe --mode gtp" -games 10 -size 9 -alternate -sgffile ayagnugo -auto

しかし、これだと対戦中の画面を見ることが出来ません。
そこで下の内容の twolan.bat というバッチファイルを作って起動します。
------------------------------------------------------------------------------------
REM 2つのプログラムをLAN経由で対戦
set TWOGTP=java -jar twogtp.jar -black """java -jar netgtp.jar 127.0.0.1 5555""" -white """c:\go\gnugo\gnugo.exe --mode gtp""" -games 10 -size 9 -alternate -sgffile ayagnugo
java -jar gogui.jar -size 9 -program "%TWOGTP%" -computer-both -auto
------------------------------------------------------------------------------------

単に同じマシン上で対戦させる場合はこうなります。
------------------------------------------------------------------------------------
REM 2つのプログラムを同じマシンで対戦。goguiで観戦。
set TWOGTP=java -jar twogtp.jar -black """c:\aya\release\aya.exe --mode gtp""" -white """c:\go\gnugo\gnugo.exe --mode gtp""" -games 10 -size 9 -alternate -sgffile ayagnugo
java -jar gogui.jar -size 9 -program "%TWOGTP%" -computer-both -auto
------------------------------------------------------------------------------------

DOSプロンプトで引用符(ダブルクォーテーション)の中で引用符を使う場合は
3つ付けないと動かない、というのが難解でした。(OSはWindowsXPでのみ確認)    



証明数・反証数の効果  投稿者: 投稿日:2006年11月 3日(金)00時11分52秒
証明数/反証数を使うプログラムができたのでとりあえず下の問題を解かせてみた。
特に同一局面のチェックや証明駒の概念はいれていない。単純に証明数/反証数が小さい値を検索するだけのプログラム。
結果からゆうと解けず。

  9 8 7 6 5 4 3 2 1
+---------------------------+
| ・ ・ ・ ・ ・v金v角v桂v香|一
| ・ ・ ・ ・ 角v金v玉・ ・|二
| ・ ・ ・ ・ ・ ・ ・ ・ ・|三
| ・ ・ ・ ・ ・v歩v桂v歩v歩|四
| ・ ・ ・ ・ ・ ・ ・ ・ ・|五
| ・ ・ ・ ・ ・ ・ ・ ・ ・|六
| ・ ・ ・ ・ ・ ・ ・ ・ ・|七
| ・ ・ ・ ・ ・ ・ ・ ・ ・|八
| ・ ・ ・ ・ ・ ・ ・ ・ ・|九
+---------------------------+

持駒 飛 銀 桂  問題:聖美堂出版 新しい詰将棋(著者 高橋道雄)

バグかと思って下の問題をやらせたところ第1問が4秒、第二問が2秒ほどで解けた。もともと各種の関数が遅いようなので一瞬とまではいかないようだ。
ttp://www.shogitown.com/book/consi/soft/09geki2_tume-2.html

普通にやれば図の問題も数秒で解けるものですか?    



Re:証明数・反証数の効果  投稿者:高橋 投稿日:2006年11月 3日(金)21時47分27秒
>普通にやれば図の問題も数秒で解けるものですか?

このくらいの手数の詰物は、現行のプロセッサなら一千分の数秒、
即ち数ミリ秒で解けるのが普通だと思います。付け加えて、PNを
使って効果が出るのは、長手数の詰物に対してでしょう。
余談ですが、

>問題:聖美堂出版 新しい詰将棋(著者 高橋道雄)

この詰棋本は、55番(作意は13手詰)、89番(作意は19手詰)の2問が
不詰物なので、プログラムの試験用には使われない方がよいでしょう。    



MINMAX-αβ法完成  投稿者:木口公平 投稿日:2006年11月 4日(土)21時45分3秒
2手先(コンピュータ→プレイヤー→コンピュータ)まで読めるようになりました。
池泰弘『コンピュータ将棋のアルゴリズム』のP85まで来たことになります。
だいぶ将棋らしくなってきた(?)と思います。しかし、これ以上はどうしたらよいのやら・・・。ハッシュなんてBasicで出来るかな? 
http://www.k4.dion.ne.jp/~basic/shougi.htm
   



碁盤に置ける連の最大数  投稿者:山下 投稿日:2006年11月13日(月)13時01分14秒
GPWで電通大の矢野さんによる碁盤に置ける連の最大数、という
発表があったのですが、
その局面を手持ちの囲碁ソフトに読み込ませてみると、見事なほどに!
全てのソフトが落ちました。
棋譜を読み込ませた瞬間に落ちたり、思考させた瞬間に落ちる、などです。

試したソフトは
GnuGo、銀星囲碁5(KCC)、AI囲碁2004(MFG)、はるか、お父さんの強い囲碁4(Go4++)、
手談対局3(Handtalk)、FunGo、
の7つです。
ちなみに私の彩も落ちました。256あれば十分かと思ってたのですが甘かったですね。

最大の局面は下で、連が277個あります。

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

(;GM[1]SZ[19]
;B[da];W[aa];B[ha];W[ca];B[la];W[ea];B[pa];W[ga];B[ab];W[ia];B[cb];W[ka]
;B[eb];W[ma];B[gb];W[oa];B[ib];W[qa];B[kb];W[sa];B[mb];W[bb];B[ob];W[fb]
;B[qb];W[jb];B[sb];W[nb];B[bc];W[rb];B[dc];W[cc];B[hc];W[ec];B[jc];W[gc]
;B[lc];W[kc];B[pc];W[mc];B[rc];W[oc];B[ad];W[qc];B[ed];W[bd];B[gd];W[dd]
;B[id];W[hd];B[md];W[jd];B[od];W[ld];B[sd];W[nd];B[be];W[pd];B[de];W[rd]
;B[fe];W[ae];B[je];W[ee];B[le];W[ge];B[ne];W[ie];B[pe];W[ke];B[re];W[qe]
;B[cf];W[bf];B[gf];W[df];B[if];W[ff];B[kf];W[hf];B[mf];W[lf];B[of];W[nf]
;B[qf];W[rf];B[sf];W[ag];B[bg];W[cg];B[fg];W[eg];B[hg];W[ig];B[jg];W[kg]
;B[pg];W[mg];B[ah];W[og];B[ch];W[qg];B[eh];W[sg];B[gh];W[dh];B[kh];W[fh]
;B[mh];W[hh];B[oh];W[jh];B[qh];W[lh];B[sh];W[ph];B[bi];W[ai];B[di];W[ci]
;B[hi];W[gi];B[ji];W[ii];B[li];W[mi];B[ni];W[oi];B[ri];W[qi];B[ej];W[si]
;B[gj];W[bj];B[ij];W[dj];B[kj];W[fj];B[oj];W[jj];B[qj];W[lj];B[bk];W[nj]
;B[dk];W[pj];B[fk];W[rj];B[hk];W[ak];B[lk];W[ck];B[nk];W[gk];B[pk];W[ik]
;B[rk];W[kk];B[al];W[mk];B[cl];W[sk];B[el];W[dl];B[il];W[fl];B[kl];W[hl]
;B[ml];W[jl];B[ol];W[nl];B[sl];W[pl];B[bm];W[rl];B[fm];W[am];B[hm];W[cm]
;B[jm];W[em];B[lm];W[gm];B[pm];W[km];B[rm];W[mm];B[cn];W[om];B[en];W[qm]
;B[gn];W[bn];B[in];W[dn];B[mn];W[hn];B[on];W[jn];B[qn];W[ln];B[sn];W[nn]
;B[bo];W[rn];B[do];W[ao];B[fo];W[eo];B[jo];W[go];B[lo];W[io];B[no];W[ko]
;B[po];W[oo];B[ap];W[qo];B[gp];W[so];B[ip];W[bp];B[kp];W[dp];B[mp];W[fp]
;B[sp];W[hp];B[bq];W[lp];B[dq];W[np];B[fq];W[pp];B[hq];W[rp];B[jq];W[cq]
;B[nq];W[eq];B[pq];W[iq];B[rq];W[kq];B[ar];W[oq];B[cr];W[qq];B[er];W[br]
;B[gr];W[fr];B[kr];W[hr];B[mr];W[jr];B[or];W[lr];B[qr];W[nr];B[sr];W[rr]
;B[ds];W[as];B[hs];W[cs];B[js];W[es];B[ls];W[gs];B[ps];W[ms];B[tt];W[os]
;B[tt];W[qs];B[tt];W[ss])    



Re: 碁盤に置ける連の最大数  投稿者:tomo 投稿日:2006年11月13日(月)17時05分26秒
> 最大の局面は下で、連が277個あります。

すごいですね!!これは新発見かと思います。
(うちのプログラムもあえなく落ちました)    



GTP機能について  投稿者:tomo 投稿日:2006年11月13日(月)17時15分57秒
お世話になっています。
「CgfGoban」のソースを参考に、自作プログラムの中にPipe経由のGTP通信で「GunGo」、「彩」と自動対戦ができるようになりました。感激です。どうも有難うございます。

それで、自作プログラムにもGTPクライアント機能を加えたいと思いますが、普通のウインドウありのWindows-GUIアプリですので、コンソール入出力へのアクセスはうまく行きません。これは ::AllocConsole() を使うのでしょうか?

「CgfGoban」では関連ソースがコメントアウトされて、GTPクライアント機能を持たせていないようですね。
宜しくお願い致します。    



GPWの写真  投稿者:山下 投稿日:2006年11月13日(月)19時10分27秒
GPWの写真を下に置きました。
http://www.yss-aya.com/photo/20061112gpw/gpw2006.html    



Re: GTP機能について  投稿者:山下 投稿日:2006年11月13日(月)19時35分39秒
GTPで他のGUIで動かす場合にも
同じようにWindowsのAPIでパイプを作ります。
詳しくは下をご覧下さい。
http://www32.ocn.ne.jp/~yss/cgf_gtp.lzh    



GPWでの保木さんの発表  投稿者:山下 投稿日:2006年11月14日(火)08時40分0秒
Bonanzaの保木さんのページでGPWで使われた資料が公開されています。
http://www.geocities.jp/bonanza_shogi/
http://www.geocities.jp/bonanza_shogi/gpw2006.pdf    



Re: GTP機能について  投稿者:tomo 投稿日:2006年11月14日(火)10時23分39秒
早速 cgf_gtp.cpp を参考にしてテストし、自作プログラムがパイプ経由のGTP対戦が出来たのを確認しました!チョー嬉しい!(^^;

GetStdHandle() してから、fgets()とWriteFile()を使うわけですね。目からうろこです。

本当にどうもありがとうございました。    



連の多い局面  投稿者:善勝寺 投稿日:2006年11月15日(水)01時27分10秒
 おおっ、Myソフトは黒S19、3子ポン抜きと打ち返してきました!
低級ソフトが高級ソフトに勝つ局面もあるんやなぁと笑わせて
頂きました(^^)

 ところで正着はどこなんでしょう?    



クアッドコアCPU  投稿者:山下 投稿日:2006年11月15日(水)12時22分4秒
Quad CoreのCPUって、もう発売されたんですね。
来年の選手権は下のQuadのDualで8CPU、で参戦することになりそうです。

x86初のクアッドコアCPU、Core 2 Extreme QX6700が発売される、デモも開始
http://www.watch.impress.co.jp/akiba/hotline/20061118/etc_qx67.html

クアッドコア×デュアルCPUで“8コア環境”を実現する「Xeon 5300」
http://pc.watch.impress.co.jp/docs/2006/1115/tawada90.htm    



証明数・反証数の効果  投稿者: 投稿日:2006年11月16日(木)00時37分59秒
やはりプログラムは間違っていました。(変数iが1になっていた)
図の問題も約1.3秒でといた。
あとは千日手のチェックと64手以上は読まないようにして(配列オーバー)
その他諸々で完成です。
ちなみにハッシュは11手詰めで大体17000くらいしか使ってないので100万個は多すぎでした。    



Re:GPWでの保木さんの発表  投稿者: 投稿日:2006年11月16日(木)07時46分32秒
GPWでの保木さんの発表、興味深く拝見させていただきました。

ところで、評価値はプロの棋譜などから学習させるということで、
同じような手法でプログラムを開発する場合多くの棋譜が必要だと思いますが、
たくさんのプロの棋譜が電子データでおさめられたような文献やサイトはあるのでしょうか?
将棋の世界をあまり知らず、ご迷惑な質問かもしれませんが教えていただけると幸いです。    



Re: 連の多い局面  投稿者:tomo 投稿日:2006年11月16日(木)22時22分18秒
> おおっ、Myソフトは黒S19、3子ポン抜きと打ち返してきました!低級ソフトが高級ソフトに勝つ局面もあるんやなぁと笑わせて頂きました(^^)

おおお!落ちずにイイ手を打ち返せるのはすごい!
容量一定の配列の代わりに、std:vector等を使われたでしょうね。先見の明がありますね。そういえば一局の手数が5百手を超えた場合、ウチのヤツも落ちるのです。(|\|)
囲碁ソフトに固定の配列を使うのは拙い設計ですね。

> ところで正着はどこなんでしょう?

盤上アタリだらけで、正着は複数あるかと思います。
でも空点は未だ84個もありますから、シラミツブシで正解を出すのは至難のワザですね。    



Re:GPWでの保木さんの発表  投稿者:匿名希望 投稿日:2006年11月16日(木)23時38分35秒
>たくさんのプロの棋譜が電子データでおさめられたような文献やサイトはあるのでしょうか? 
http://www.geocities.jp/rysyy913/
   



大和証券杯ネット将棋棋戦で、渡辺竜王−Bonanza戦  投稿者:山下 投稿日:2006年11月17日(金)17時05分47秒
連盟のページによると、
来年4月から「大和証券杯ネット将棋棋戦」が開催されて、そのオープニングイベントとして
渡辺竜王−Bonanza戦(平手)が行われるそうです。

2007年3月21日 品川プリンスホテル、持時間2時間、秒読み1分。

http://www.shogi.or.jp/osirase/061117_daiwa.pdf    



清水上さんと加藤さんがBonanzaと対戦  投稿者:山下 投稿日:2006年11月18日(土)13時32分25秒  
本日、午後2時から、近将道場で清水上
Bonanzaが清水上徹さん、加藤幸男さんと対局します。

近将道場でネット観戦できるとのことです。
http://www.kinsho.net/dojo/

近代将棋のページ「ボナンザ新発売イベント」
http://www.kinsho.net/dojo/event/bonanza.htm

マグノリアのページ
http://www.magnolia.co.jp/bonanza.html
http://www.magnolia.co.jp/bona/Bonanza_release.pdf    



Re: 清水上さんと加藤さんがBonanzaと対戦  投稿者:山下 投稿日:2006年11月19日(日)17時54分28秒
結果はややBonanzaにとっては不出来の2連敗でした。
写真を下に置いておきます。
http://www.yss-aya.com/photo/20061118bona/index01.html    



Re: 清水上さんと加藤さんがBonanzaと対戦  投稿者:山田 剛@対局サーバ担当 投稿日:2006年11月21日(火)01時07分47秒
PC Watchで詳しく紹介されています。

http://pc.watch.impress.co.jp/docs/2006/1120/bonanza.htm

一時、Impress Watchのトップニュースにもなっていました。
インプレスの人も取材に来ていたのですね。

PC情報のサイトに将棋の対局の内容が詳しく載っているのが驚きです。
会場では、2局ともあまりにBonanzaがいいところなく負けたのでは、
との声も聞かれましたが、勝又先生の解説つきで紹介されるインパクトの
前では些細なことと思います。    



読む手の順番で枝刈するRankCut  投稿者:山下 投稿日:2006年11月21日(火)20時05分44秒
GPWでLines of Actionの発表でちらっと言ってたような気がするのですが
RankCutという手法があって、Craftyでは結構効果的だったとのことです。
http://www.comp.nus.edu.sg/~leews/publications/AAAI06-161.pdf

RankCutを実装したCraftyが通常版に比べて62%勝ち越した、とことでかなりの
高勝率です。
(124試合で40勝10敗74引、引分を0.5勝扱いで40+37=77勝 10+37=47敗、勝率0.62)

ただ、これは自己対戦の結果で、Fruitと対戦させた場合は
通常版  11勝39敗14引 勝率 28.1%
RankCut 15勝40敗 9引 勝率 30.5%
とほとんど差異はありません。対局数がちょっと少ないのですが。

手法は、読む順番が後の手ほど、最善手を更新する確率は低い、
という現象を使ったものです。

例えばrootでは、1番目に読む手は取り合えずの最善手となり、
2番目に読む手が最善手になるのはそれほど多くありません。
3番目に読む手が最善手になるのは少なく、25番目とかはめったにありません。

そこで、前もって、n 番目の手が最善手になった回数、を
自己対戦で統計を取っておいて、最善手になる確率が0.75%以下の場合は
読む深さを1手浅くして探索する、という手法です。

実際はHashの手、駒取りの手、Killer手、などを読んだ後のHistoryの手から
適応させています。
また統計を取る条件も手の順番の他に、
探索深さ、王手されてるか、最善手が入れ替わった回数、現在の値とα値との差(7段階)
とかの条件を使ってます。

int RankCut(int alpha, int beta, int depth)
{
    if ( depth == 0 ) return Evaluation();
    bool fPruneRest = false;    // 残りの手を短い深さで読むか?
    while ( 次の手があるなら ) {
        int r = 0;      // 短く読む深さ。0なら通常の深さで読む。
        Compute(Fi);    // i 番目の手の手の特徴を調べる。後何手読むか、とか王手かどうかなど。
        if ( fPruneRest || Π(Fi) < t ) {    // 最善手になる確率が低い(0.75%以下)なら浅く読む
            r = DepthReduction();            // 浅く読む深さ。実験では r=1
            fPruneRest = true;
        }
        int score = -RankCut(-beta, -alpha, depth-1-r);
        if ( socre > alpha ) {
            fPruneRest = false;        // 最善手が更新されたのでリセット
            alpha = score;
        }
        if ( score >= beta ) return score;
    }
    return score;        // ?、alpha の間違いと思われる
}

他にデバッグツールの発表で、MultiCutというのがちらっと出てたのですが、
これはCG98(Computer and Games 1998)に出ている手法で、
Null Window探索のCUTノードでだけ2手読みを浅くして読み、最初の10手を調べて
3手以上枝刈されるなら枝刈、という手法ですが、自己対戦でも52%ぐらいの勝率で
あまり効果はなさそうでした。    



Re: 清水上さんと加藤さんがBonanzaと対戦  投稿者:山田 剛@対局サーバ担当 投稿日:2006年11月25日(土)21時50分9秒
BIGLOBEストリーム「将棋ニュースプラス」で当日の様子が見られます。
http://broadband.biglobe.ne.jp/program/index_shougi.html

将棋ニュースプラスでコンピュータ将棋も取り上げてほしい、と
かねてから要望していましたが、応えていただいたということでしょうか。    



Kramnik - Fritz  投稿者:棚瀬 投稿日:2006年11月28日(火)14時19分23秒
現在、人間の世界チャンピオンのKramnikと強豪ソフトFritzの対戦が行われています。
1試合目はドロー、2試合目はドローが確実と見られた局面で、なんとKramnikが将棋で言うと頭金のような1手詰を見逃して敗北しました。 
http://www.sanspo.com/sokuho/0825sokuho048.html
   



失礼  投稿者:棚瀬 投稿日:2006年11月28日(火)14時21分4秒
クッキーのせいで関係のないリンクが張られてしまいました。 
http://www.chessbase.com/newsdetail.asp?newsid=3509



Re: Kramnik - Fritz  投稿者:山下 投稿日:2006年11月28日(火)21時56分32秒
クイーンが入っての1手詰の見逃しですか。
これはひどいですね。
Fritzのマシンは何を使ってるか分からなかったのですが、毎秒900万局面を
読む、とのことです。
2002年のクラムニクとの対戦の時で、Xeon900MHz x 8で600万局面を
読んでいたそうですから、そんなに速くなってないですね。

しかし、最強じゃないFritzが対戦するのは少し違和感があるのですが。    



Re: GTP機能について  投稿者:tomo 投稿日:2006年11月30日(木)11時39分14秒
こんにちは。
あれから自作プログラムにPipeGtp、Sgmp、Nngsをそれぞれ実装し、自動通信対戦ができるようになりました。どうもありがとうございます。「彩」の多彩な通信対戦機能は素晴らしいです!

ところでその中のTCP経由の通信対戦についてですが、これはGTPで通信しているでしょうか?
またそのTCP接続について、nngs_tryソース中のTCP関連コードを使えば出来そうでしょうか?

宜しくお願いいたします。    



Re: GTP機能について  投稿者:山下 投稿日:2006年12月 1日(金)14時21分42秒
参考にしていただいてありがとうございます。
彩についているTCP経由の通信、というのは完全な独自仕様で、
SGMPで流している内容をそのままLANに流しているものです。
対局ごとにサーバになったりクライアントになったりする
仕様になっていています。

彩同士の自動対戦でしか使ってないので、あまり対応されるメリットはないかと思います。
一応、関連ソースはこちらです。
http://www.yss-aya.com/Aya_wsk.lzh    



KGSでの彩の級位  投稿者:山下 投稿日:2006年12月 1日(金)14時32分27秒
ネット上の無料囲碁対局サーバのKGSで彩を走らせて見ました。
棋力は9k(9級)で落ち着いたようです。
GnuGoは6k(6級)なので3級差あります。彩のGnuGoに対する勝率は1割程度なので
こんなものでしょう。
日本の段級位はこれより2,3級甘いので、日本の級に直すと彩は7級程度なのかも
しれません。

彩の棋譜
http://www.gokgs.com/gameArchives.jsp?user=AyaBot
彩のレーティングの推移
http://www.gokgs.com/graphPage.jsp?user=AyaBot
GnuGoのレーティングの推移
http://www.gokgs.com/graphPage.jsp?user=GNU    



Re: GTP機能について  投稿者:tomo 投稿日:2006年12月 2日(土)10時20分37秒
さっそくソース付きで教えて頂きまして、ありがとうございます。

サーバ・クライアント方式でSGMPを使って、後着の人がサーバになって対局待ちするいう仕様なんですね。面白そうでこれからトライして見ます。

> 彩同士の自動対戦でしか使ってないので、あまり対応されるメリットはないかと思います。

通常のSGMPは2台のPCを近距離にしてケーブルで繋ぐ必要がありますし、NNGSはネットに接続して、特定のサーバ(NNGS)に従って、通信する必要があります。「彩」発明のTCP対局はLANさえあれば手軽に対局できて、中の通信規格はSGMPにしてもGTPにしても簡単に変更できますので、将来の標準対戦形式になるのを予想します。(敬服)    



新桃花源: 続報  投稿者:山田 剛@対局サーバ担当 投稿日:2006年12月 6日(水)00時26分5秒
詰将棋パラダイス12月号に、『新桃花源』の結果発表が行われています。
私がGPWで話題にした通り、1,205手詰でした(一番難しい変化は読んでませんでしたが(笑))。
結果発表によると、「パソコンでは解けない」そうです。
これは、本格的な証明数2重計上対策を備えた市販ソフトがない、ということなんでしょうか?
そのことを除けば、コンピュータにとって難しい要素はなさそうに思われますので。

http://www005.upp.so-net.ne.jp/tsumepara/contents/6info/info.htm

不完全の指摘もありませんでしたので、晴れて史上2位の長手数詰将棋の誕生ということになります。
詰将棋を解くアルゴリズムを研究されている方はチェックをよろしく。    



Re: 新桃花源: 続報  投稿者:山下 投稿日:2006年12月 6日(水)13時44分52秒
問題図はWebでは見れませんか?    



Re: 新桃花源: 続報  投稿者:山田 剛@対局サーバ担当 投稿日:2006年12月 7日(木)01時56分27秒
近いうちにこちらに載ると思います。
http://www.ne.jp/asahi/tetsu/toybox/kenkyu/cholist.htm

ここに載せても多分怒られないとは思いますが、一応最新号コンテンツですので、前の投稿に掲載した詰パラへのリンクからご注文を、と宣伝しておきます。

1月のCSA例会で個人的にお見せしますよ。    



(無題)  投稿者:ソフト好き 投稿日:2006年12月 9日(土)10時59分7秒
http://www.itmedia.co.jp/news/articles/0612/06/news068.html
チェス名人、コンピュータに敗北

将棋はもうすこしかかりますね。。    



人工知能VSプロ棋士の闘いを描いたSF小説が出た  投稿者:タマ 投稿日:2006年12月16日(土)12時53分3秒
人工知能VSプロ棋士の闘いを描いたSF小説が出た。
http://www.yuzuki.biz-web.jp/
2チャンの将棋板でも作品を公開してるよ。
http://game9.2ch.net/test/read.cgi/bgame/1165706999/    



モンテカルロ法が19路盤でGnuGo(SlugGo)を破り優勝  投稿者:山下 投稿日:2006年12月23日(土)12時17分55秒
KGSで行われていたソフト同士の大会で、モンテカルロ法を利用した
MoGoがGnuGo、slugGoを押さえて4勝1敗で優勝しました。

この大会は1局に1日(双方の持時間は12時間)を使い、5日間で5局を
行うというもので、8ソフトが参加し、18日から22日までネット上の囲碁サーバ
であるKGSで行われていました。

最終戦で、MoGoBot19がslugGoを破った1局が印象的でした。
MoGoBot19とslogGoの棋譜
http://files.gokgs.com/games/2006/12/21/MoGoBot19-slugGo.sgf

slugGoは22台のマシンを使って、GnuGoの候補手を直線的に読む、というもので
GnuGoよりは若干強いとされています。
モンテカルロ法のプログラムがGnuGoを19路で倒したのは初めてのことです。

優勝したMoGoBot19は1手に5分ほどかけています。
同じく、MoGoBotというソフトも参加していますが、
違いは、MoGoBot19は局所的にだけ探索し、MoGoBotは盤面全体を探索するそうです。
(MoGoBotは手抜きができるのが特徴だそうです)

MoGoの詳細はこちらのページでPDFで読めます。
http://hal.inria.fr/inria-00117266
特徴は局面評価に使う乱数対局では、完全にランダムに手を選ぶのでではなく、
直前に打たれた手がアタリなら逃げる手しか読まない。
アタリじゃなければ、ハネ、キリ、などの3x3の好形があればそのなかから、
といった感じで、囲碁っぽい手順を読んでいく工夫をしています。

探索にはUCT(Upper Confidence bound extended for Trees)
と呼ばれる手法を使っています。
これは手の選択を、その局面の点数(平均値)と、乱数対局を行った回数、とで
選ぶ手法です。対局が少ないうちは点数の低い手が選ばれやすく、対局が増えるにほど
点数の高い手が選ばれるようになります。

雰囲気は、10台のスロットマシーンがあって、どれが一番出やすいか、
を調べるのに、何度か、それぞれのマシンを試してみる。で、一番出そうなのが
分かったら、それだけを集中して試す、というのに似ています。
これを各深さで行うわけです。
http://senseis.xmp.net/?UCT
Bandit based Monte-Carlo Planning
http://zaphod.aml.sztaki.hu/papers/ecml06.pdf

ちなみに彩も参加したのですが5戦全敗で最下位でした。(1勝は終局判定のミスです)

大会結果
http://www.gokgs.com/tournEntrants.jsp?sort=s&id=255    



Re: モンテカルロ法が19路盤でGnuGo(SlugGo)を破り優勝  投稿者:加藤 投稿日:2006年12月24日(日)00時05分31秒
>MoGoの詳細はこちらのページでPDFで読めます。
>http://hal.inria.fr/inria-00117266
これは < http://hal.archives-ouvertes.fr/view_by_stamp.php?label=INRIA&action_todo=view&langue=en&id=inria-00117266&version=1# >にあるMoGoReport.pdfの改訂版で,ミスの修正とデータの更新が主なようです.
初版の翻訳がほぼ完了したところをまるで計ったかの様に改訂版を出すとは中々...
まぁ大きな変更は無い様なので,改訂版の方の和訳をまもなく公開できるものと思います.
試合の方は,持ち時間がとんでもないのとGNUとの直接対決が無かったのでまだ何とも...
#いずれにせよKCCには勝てないでしょうねぇ...    



Re: 新桃花源: 続報  投稿者:山田 剛@対局サーバ担当 投稿日:2006年12月24日(日)02時42分1秒
> 近いうちにこちらに載ると思います。
載りました。
http://toybox.tea-nifty.com/memo/2006/07/post_9839.html

これがコンピュータで解けた、との報告をお待ちしたいと思います。
たとえば、GPW2005にて岡部文洋さんが発表されたBNSであれば、解けるのではないかと思います。
岡部さんは超難解作のページですでに大活躍されていますね。
http://toybox.tea-nifty.com/memo/2005/05/post_3535.html#nankai    



第17回世界コンピュータ将棋選手権 参加者募集のお知らせ  投稿者:香山@CSA 投稿日:2006年12月25日(月)06時37分41秒
 来年のコンピュータ将棋選手権の参加者募集を開始しました。
皆様、よろしくお願いいたします。


   第17回世界コンピュータ将棋選手権 参加者募集のお知らせ


 最強を競う将棋プログラム同士による「第17回世界コンピュータ将棋選手権」を
下記のように開催いたします。主催のCSAは非営利団体であり、この大会はコン
ピュータ将棋の進歩を目的としたものです。
 参加者を募集しますので、ふるってご応募下さい。

1.日程 2007年5月3日(木)〜5日(土)
2.場所 〒292-0812 千葉県木更津市かずさ鎌足2-3-9
     かずさアーク http://www.kap.co.jp/
3.主催 コンピュータ将棋協会(CSA)
          http://www.computer-shogi.org/
4.協力 社団法人日本将棋連盟(予定)     http://www.shogi.or.jp/
5.協賛 日本AMD株式会社(予定)    http://www.amd.com/jp-ja/
     株式会社毎日コミュニケーションズ(予定) http://www.mycom.co.jp/
     株式会社アイフォー(予定)       http://www.ifour.co.jp/
     富士通株式会社(予定)           http://jp.fujitsu.com/
6.後援  経済産業省(予定)               http://www.meti.go.jp/
          社団法人情報処理学会(予定)     http://www.ipsj.or.jp/
7.賞品 優勝副賞:ノートパソコン(予定)
8.主な参加資格
     自作のプログラム1つ。機種は問わない(原則として持ち込み)。
     思考部にはオリジナリティがあること。
     (詳細はCSAのWebサイトに掲載されている大会ルールをご覧ください)
9.参加費 1万円(申し込み時、郵便振替)
     送金後、不参加となっても返金しませんのでご注意ください。
     送金方法は申込時の通知メールをご覧ください。
10.申し込み、問い合わせ
 ・申し込み期限 2007年1月31日(水)
 ・申し込み先
     次のURIにアクセスし、まずID登録をしてそのIDでログインしてください。
     その画面で参加申込を行ってください。
          https://www.computer-shogi.org/cgi-bin/wcsc17/apply.cgi
          https://www.computer-shogi.org/cgi-bin/wcsc17/apply-e.cgi (English)

  ・問い合わせ先
          電子メールで
         applyxcomputer-shogi.org (担当:香山 健太郎)まで
         (ここでは申込は受け付けません)

 CSAのサイトにて、大会ルール・実施要項や過去の選手権の結果・棋譜を掲載しています。
        http://www.computer-shogi.org/

-------------------------------------------------------------------------------- 
http://www.computer-shogi.org/wcsc17/
   



VisualBasic6.0に移植してみました。  投稿者:木口公平 投稿日:2006年12月26日(火)22時35分7秒
反復深化を入れると、FreeBasicでは画面が表示されないバグが出るので、VB6.0に移植してみました。反復深化を入れても2手読むのがせいいっぱいです。 
http://www.k4.dion.ne.jp/~basic/shougi.htm
   



連の最大数問題、23路まで解かれる  投稿者:山下 投稿日:2006年12月27日(水)18時18分21秒
盤上に置ける石の最大はいくつか、という話がGPWであったのですが、
その後、Computer GoのMLで報告があり、John Tromp とGunnar Farneback が
専用のプログラムを書いて23路まで解けたそうです。

1   1 -   1 = 0
2   4 -   2 = 2
3   9 -   3 = 6
4  16 -   4= 12
5  25 -   7= 18
6  36 -  10= 26
7  49 -  12= 37
8  64 -  16= 48
9  81 -  20= 61
10 100 -  24= 76
11 121 -  29= 92
12 144 -  35=109
13 169 -  40=129
14 196 -  47=149
15 225 -  53=172
16 256 -  60=196
17 289 -  68=221
18 324 -  76=248
19 361 -  84=277
20 400 -  92=308
21 441 - 101=340
22 484 - 111=373
23 529 - 121=408 (1.4GHzのOpteron、13GBのメモリで1週間かかったそうです)
http://computer-go.org/pipermail/computer-go/2006-December/007398.html

最大数は盤サイズを n として、 floor(4n(n-1)/5+4) という式になるそうです。
floorは小数点以下は切り捨て、という意味です。