俺主催囲碁プログラミングコンテスト
■ このスレッドは過去ログ倉庫に格納されています
:::::::::::::::::::/ ,r:::::::::::.:::::::::.:: : :::::::::::::::/ /::::::::::::: : ,ヘ ::::::::::::::::::::::: : ヽ :::::::::::/ /::::::::::::::::::: ● ::::::::::::::::: : : :,/ ::::::::/ /:::::::::::r(:::::::::`'::::::::::::::::::::::く :::::/ /::::::::::::::`(::::::: ,ヘ:::::::::::::::::::::: ヽ ::::::し ::::::::::::::::::::::::: :●::::::::::::::::::::::: : : :_> :::::::::::::::::::::::::::::::::::::: `' ::::::::::::-‐ ´ もうだめぽ おれ囲碁をプログラムした事あるけど 全く強くならなかった。 むしろ、弱くなったというか・・・ 最強といわれるhandtalkが3級らしいよ 作ったのは北朝鮮だっけ? http://plaza15.mbn.or.jp/ ~yss/goplayer.html とりあえず、何か面白そうなのある? MFG強いよ・・・・ こいつに勝てない漏れは3級以下なのか? ほとんどの優秀なプログラマーは 囲碁か楽器をやるらしい お茶目な子さんバカなスレをたてるのはやめてください。 とりあえず、だれかGNU Goのソースを解説してくれ。 >>17 すげーな 楽器できる奴はちょっと尊敬するよ。 ところで、 ゲームが終わった後の地の計算(死石の判定) をするアルゴリズムが思いつかないんだけど、 いいアイディアある? >>18 ttp://plaza15.mbn.or.jp/~yss/mfg_trn.txt これは? >>20 それどんな内容? 面白そう。 買ってみようかな。 http://www.labnet.or.jp/ ~jcga/igokouza.htm あと、このページのリンク先ないのかな? 君が今僕を支えて 僕が今君を支える だから迷いながらも共に生きていこうよ 未来へと 仲間と戯れ それなりで居ても もの足りなさを感じてしまう 冷めた目で見られて 乾いた時代の風に吹かれている 諦めきれるモノならば 最初から興味持たない 忘れられるモノなら 必要さも感じないから 不安な心と勇気が背中合わせになっている だけど今なら夢をこの手で叶えてみせるよ 傷ついて壊れそうな日も 涙して困らせる日もあるけれど 僕達はそれを超えていくんだ 誰より上を目指して >>12 5級くらいゲタをはいてる気がする。人とほとんど対戦したことの無い おれでも2子置かせて勝つこともあるくらいだから。 >>21 訳本はこれ。でも絶版 (w http://www.cbook24.com/bm_detail.asp?sku=99902081 吉川さんのはリンクがボロボロだね。かろうじて、 ttp://www.labnet.or.jp/~jcga/CG15.HTM あたりは読める。おれは本を買ったけど。 でもあの本、読みにくすぎ。 >>24 igowin のフリーのやつなんで9路盤しかやっていない。 >>26 2子置いて勝てるなんてすごいよ。 >>25 吉川さんは有名人? 25は結構すごい人っぽいね。 興味がわいたので、英語の方を注文してみます。 yahooでオンライン対戦できたよ。 それにしても、人が多いねー。 仕様とか公開されてる? 囲碁に限った事なら、SGFじゃなくてもいいの? これから囲碁アプリでも作ろうと思ってるんだけど、 棋譜はSGFの方がいいのか、独自のがいいのか? 検索してみ。 仕様は後悔されてる。FF[4]が最新かな。 独自の棋譜を使うのはお勧めできない。 分岐のある棋譜も対応しているし、盤面上のマークも充実している。 どうしても必要なら独自の棋譜ファイルをつくったら? 後悔じゃねぇ、公開だ。 sgfは、様々なゲームの棋譜の記載が可能って事になっているけど、 実質囲碁がメイン。 誰か、将棋とチェスのSGFでの記法をはっきりさせてくれ。 FOST (優勝賞金100万円) は中止。 SNU (15,00万ウォン) は第二回をやる気配無し。 21世紀杯は第一回は優勝賞金$5000だったのが今年は$500。 悲しすぎ。 >>27 http://www.labnet.or.jp/ ~jcga/yoshikawa/ 吉川さんの著作や顔や core (笑) を見れます。 >>21 世紀杯は第一回は優勝賞金$5000だったのが今年は$500。 そうなんだ。 研究者が少ないって事なのかな? それとも、進歩があまり無いって事なのかな・・・ んー それは悲しいな。 >>6 SNUで優勝したプログラムが韓国の九段に8級って言われてたような。 >>40 のリンク先にある 対局プロトコルってプロセス間通信じゃないの(w そんなんじゃ誰も参加しない気が・・・・ >>42 スポンサーが降りたんじゃないかと思ってたんだけど、 http://www.intelligentgo.org/en/igf/research.html こっちは続いてるのね。 Myers さんの自腹なのかな。 http://www.inventivity.com/OpenGo/ 碁プログラムのためのフレームワークを提供してくれるみたい。以下、readme より。 I designed OpenGo to support Go engines in general. The idea is to share the following things (at least): + user interfaces, + program-to-program communication (go modem protocol, igs, etc), + common algorithms (e.g. zobrist hashing) + multiple-simultaneous games (multi-threading of engines & interfaces) + repeated play and evaluation of engines + machine learning support + reading & writing common go file formats (ishi, sgf, etc.) + common rule systems + common go opponents for testing (e.g. wally) >>47-48 どもです。 ちょっと、48の方読んでみます。 + machine learning support 機械学習をサポートするってどういう意味だろ・・・ >>48 のは読んだけど、 具体的に何が実装されてるかとかは書いてない。 >>18 囲碁・将棋板でも質問していた人かな。 「無条件活き」についての基本的な論文は、Benson による "Life in the Game of Go" だと思う。これがそのまま実戦に使えるか どうかはわからないけど、一読の価値はある。以下に論文をスキャンした やつが置いてある。 ttp://www.chapman.edu/students/phil/benson.zip >>51 どもです。 ところで、こんなリンクはどうやって見つけたんですか? >>52 私も最近コンピュータ囲碁に興味を持ったんだけど、始まりはこれ。 http://www.csl.sony.co.jp/jsai/cdrom/articles/titles/a10-6-5.html この中で Benson の論文が紹介されていて、Google を使って探し出した。 benson.zip へのリンクは computer-go ML の過去ログから張られていた。 コンピュータ囲碁をやるなら、computer-go ML には入っていたほうが よいと思う。 >>53 そのリンク先すごく面白いですね。 >computer-go ML には入っていたほうが 入ってみます。 囲碁って、 相手が指した瞬間次の手はこれしかないってシーンが多いよね。 でも、なんで次の手はこれしかないってわかるのかが謎 詰碁は、ひらめきが重要 そのひらめきのアルゴリズムさえわかればね(w 2chだと、囲碁人気ないね 社会的引き篭もりが多そうだからね 囲碁は面白くていいと思うけど、 プログラムしろと言われてはいそうですねとは言えないって。 死活判定については、以下が参考になる ttp://www.labnet.or.jp/~jcga/yoshikawa/greatbook.htm ……のかな? 私は本を買って読んだけど、正直、サパーリだったよ。 http://homepage1.nifty.com/Ike/katsunari/ ここにちょっと作り方が載ってます。 これを読めば、簡単なのができそうですね。 置ける場所の判定方法はなるほどって感じです。 bensonの論文はめちゃくちゃ難しいですね。 >>62 のPDFって・・・いいんですかね? 本はもう絶版なんでしょうか? でも、JAVAのコードが載ってるあたりから、それなりに新しそうな・・・ 基本的なことから書いてあるので、かなりためになりそうですね。 >>66 「勝也」の作者、清さんは、5Gの「碁世代」をやってた方なんですね。今、 http://www.icot.or.jp/cgi-bin/trread.sh?TRNAME=tr0837 を読んでます。これまでに見つけた中では、一番詳しい論文。 >>71 見れるよ gifってのが痛いですね(w 69のサイトも結構役に立ちますね。 >>72 いま見たら見れました。 不思議。 学術系、画像でうpする人多いよね。 なんでだろう。 >学術系、画像でうpする人多いよね。 そうなんだ。 でも、明らかにtexだからpdfにするのも簡単なのにね。 データサイズの問題かな?(PDFがなかった時代) Javaで書かれた囲碁のプログラムで 著作権フリーの物ってありますか? >>75 >>62 にじゃばで書いたサンプルがあったと思うけどどうよ? >>77 ?? 文章が理解しづらい、というのなら同意だが。 どうでもいいけど、人間より強い囲碁プログラムができて なんか意味あるの? >>80 いろいろと。 とりあえず強い圍碁プログラムがあるなら、練習相手にもなるし研究にも使えるし。 >とりあえず強い圍碁プログラムがあるなら、練習相手にもなるし研究にも使えるし。 金にはならないのか(ボソ >>82 数年前だったか物凄い金額の賞金がかけられていたよ。 最近は賞金規模が縮小した(1/10くらい)っていうニュースを読んだ気がする。 それだけのプログラムを作れる技術なら売り込み可能だと考えれば 結果的には金になるんじゃない? 強い囲碁プログラムの技術が売り込み可能か? 単に定石データベースの検索が速いとか、 評価関数が新しいとか優秀だなんていうのは、 いくらでも既製のものがあるから売れないよ それらをいかにまとめて囲碁に使うかというまとめる技術はありだろうけど、 それだって囲碁を強くしただけの実績だったらやっぱ売れない まったく新しい方法論で思考させるならあるいは ノーベル賞とかありかも知んないけど、それだってどうよ 見つけたのを片っ端から特許で固めていかないと利益には繋がらなさそう >強い囲碁プログラムの技術が売り込み可能か? 強いの程度がはっきりしないとなぁ。 今最強の囲碁プログラムは1級くらいなのかな? はっきり言って、人間から見ればクソ。 >単に定石データベースの検索が速いとか、 これじゃ強くならないし >評価関数が新しいとか優秀だなんていうのは、 最適な物が見つかれば、即チャンピオンだよ。 どこに価値基準があるのか、俺もよくわからないから 売れる気はしないな。 一番儲かりそうなのは、 「最強のコンピューターと対局できます。 勝てば対局料はただ。負けたら1万円」 という広告で、ビジネスするのがいいんじゃない? トッププロ棋士と僅差であれば、トーナメントに出場すると、賞金がもらえたり するのかも。 そうなると年収1億くらい? >>80 金はともかく、研究者がよく言う考えは… 強い囲碁ソフトを作るのは面白いが、研究者は囲碁の分野だけ見てるわけではない。 航空管制だの電子部品の設計だの、探索問題と呼ばれる問題は実社会に山ほどあって、 チェスなんかの研究から応用されたこともいっぱいある。 だから囲碁を研究するのはいろんな人にとってうれしいこと。 >>85 > 評価関数が新しいとか優秀だなんていうのは、 > いくらでも既製のものがあるから売れないよ なんで? いま強いといわれているのは、Go4++, Handtalk, 銀星, MFG, Haruka あたりだけど、これらを越えるやつを作れば、 既存メーカからいくらでも引き合いがあると思うけど。 >既存メーカからいくらでも引き合いがあると思うけど。 実際にはいくらくらいで取引してるんだろうね? >>91 囲碁とは全然関係ないけど、とあるパソコンソフトのエンジン部分の OEM 価格は、 出荷価格の 10% 前後が多かった。だから、高くても 20% まではいかないのでは。 メーカーの出荷価格が 3000円でロイヤルティが15%だと仮定すると、1本あたり 450円。1万本出荷して450万円だね。まあ、まじめに働いたほうが収入は多いと 思う (w >450円。1万本出荷して450万円だね。まあ、まじめに働いたほうが収入は多いと >思う (w おいしい話はないんだなぁ >>92 囲碁のソフトは世界的に売れてるから、 画期的な強さを誇る囲碁ソフトなら、30万本くらいは売れるのでは? だから、単に金がほしいんなら素直に働けっての。 圍碁のプログラムをするのは、儲かるかどうかよりゃ、 面白いかどうかが主眼だと思うぞ。 >だから、単に金がほしいんなら素直に働けっての。 普通に働いても大金は手に入らないという罠 実力で一攫千金というんは夢があっていいな。 誰か挑戦しる! >>96 世界トップレベルの囲碁ソフトを作れる人は普通に業務系のソフトでも 作ってればその方がずっと簡単に儲かると言う罠。 アマ3段だけど何か? 俺に勝ったら、余ってるPCを2つ贈呈するよ >>98 業務系のソフトでは囲碁を作るのとはまったく方向の違う能力が要求される罠。 >>1 効果的な囲碁の勉強方法を教えてくれさい。 プログラマー的な発想が役に立ったりするものでしょうか? プログラマーじゃないんで(w >>104 詰碁とプロの棋譜を並べる事 >プログラマー的な発想が役に立ったりするものでしょうか? プログラム全くわからないんで >>104 上達の近道はよい盤石を持つことです 碁盤・将棋盤棋具一式製造卸轄イ藤敬商店 03-625-4561〜3 >>107 偽1だ・・・・ 俺に勝ったら、余ってるPCを2つ贈呈するよ 5路盤で、先番で打たせてもらえるならば挑戦したいが…。 >>110-111 ダメ ところで、囲碁のプログラムって人工知能って言うの? ドラクエの戦闘があれでAIだってんなら、 囲碁のプログラムだって立派にそうだろ。 現状レベルはエキスパートシステム、と呼んで欲しい。 ]==========2==C==H====================================================== 2ちゃんねるのお勧めな話題と ネットでの面白い出来事を配送したいと思ってます。。。 ===============================読者数:123453人 発行日:2002/07/01 最近、PSワンを知人から頂きまして、 囲碁ゲームでもやってみようかと思ってる昨今のひろゆきです。 最近、ヒカルの碁の影響やらで、碁とか将棋が流行ってるみたいですね。 2ch棋院 http://www.2chkiin.ne.nu/ 2ちゃんねら将棋サークルz2 http://members6.tsukaeru.net/z2ch/ 最近、テレビゲームが売れなくなって、 ベイブレード(ベーごま)とか囲碁が流行ってるってのを見ると、 時代は進化していくだけではないのだなぁ、、と感慨も朝潮です。 というわけで、「PSワンもらちゃったよ自慢」特別配信はこれにて、、 んじゃ! http://turedure.s8.xrea.com/ocello.txt こんな遊びをしたいんですが。 賛成が多ければマネージャの開発進めようと思います。 >>115 エキスパートシステムはAIだと思うが。 ちょっと複雑な判断してればなんでもAIだろ。 >>118 頼むからTCP/IP(ソケット)でやってくれ >118 FIELDを0 1 2で表現していること時点で.... 今週は棋譜の保存とクリップボードに書き出し、そして読み込み。 一応SGFデータの読み書きができるように。 エラーチェックとかかなりいい加減なので読めないファイルがたぶんある。 >>130 まだまだです。 これから終局処理(死活の判定、地の計算)に入るので、それが評価関数の下敷きになる予定。 >>131 SGFを処理するプログラムでソースが公開されてるものが あった気がする。 大会は終了したようです。とりあえず順位だけ。 1位 MFG 2位 Go4++ 3位 Go Intellect 4位 Katsunari 5位 Aya 以下略。 ニューラルネットを使って自己学習をするらしい (かつ、先読みは ほとんどしないらしい) Neuro Go ってのが 6位に入ってるのが 印象的だと、Fotland 氏が書いてます。 Katsunari、Aya の他に、GREAT 5、Hiratsuka というのがありました。 これも作者は日本人かな? あと Haruka にも参加してほしかったですね。 13行。 思考ルーチンを削っても10行にしかならん・・・。 #include <stdio.h> int w[4]={1,-1,12,-12},s,d,h[3],b[132];r(int a, int c){int z,i;b[a]|=8;s++;for (i=0;i<4;i++){z=a+w[i];if(b[z]==0)d++;if(b[z]==c)r(z,c);}b[a]&=3;}v(int a,int c){int z,i;b[a]=0;for(i=0;i<4;i++){z=a+w[i];if(b[z]==c)v(z,c);}}int t(int u){ int m,e,g,z,i,k;m=e=0;for(z=0;z<132;z++){k=g=0;if(b[z])continue;for(i=0;i<4;i++ ){if(b[z+w[i]]==u){d=s=0;r(z+w[i],1);k+=(d==1)*s*300+(d==2)*s*300+(d==3)*s*20; }if(b[z+w[i]]==0)k+=10;else g++;}if(g==4)continue;if(k>m){m=k;e=z;}}return e;} char *p="・○● \n";int main(){int c=1,u=2,z,x,y,i;for(i=0;i<132;i++){if((i+1 )%12==0)b[i]=4;else if(i%12==0||i<12||(i+2)%12==0||i>120)b[i]=3;}for(;;){for(i =0;i<132;i++)printf("%.2s",&p[b[i]*2]);if(c==1){scanf("%d %d",&x,&y);z=y*12+x; if(b[z]){printf("Err\n");continue;}}else{if((z=t(u))==0){printf("ps\n");break; }}b[z]=c;for(i=0;i<4;i++){if(b[z+w[i]]==u){d=s=0;r(z+w[i],u);if(d==0){h[c]+=s; v(z+w[i],u);}}}d=0;r(z,c);if(d==0)break;u=c;c=3-c;}return 0;} >>136 #include <stdio.h>を消してプロトタイプ宣言やマクロの定義は自分でする。 マクロの定義をしたら一行使うか・・・じゃあグローバル変数で。 >>139 動くよ。 9路盤だけどね。 x yを 3 3[return] で入れてくだけ。 思考はおばかです。 ルールは理解してるがコウを打たないようにしたらダメ詰をしなく なってしまった。 参考にした7行オセロはこれ。リンク先が見れないので。 神業に近い。 #include <stdio.h> int p,t,a,d,c,v,i,m[90]={0},s,r[]={-10,-9,-8,-1,1,8,9,10};void k(){if(m[p]==0) for(i=0;i<8;i++){for(c=0,v=p+r[i];m[v]==3-t;v+=r[i])c++;if(c&&m[v]==t){a+=c;v= p;if(d)do m[v]=t,v+=r[i];while(m[v]!=t);}}}char*h="・○●\n";int main(){for(i= 1,m[41]=m[49]=2;i<10;m[i++*9]=3)m[40]=m[50]=t=s=1;for(;;a=d=0){for(p=9;p<82;++ p)k(),printf("%.2s",&h[m[p]*2]);if(a)for(d=a=s=p=8;a==8;k())t-2?(scanf("%d %d" ,&p,&i),p+=i*9):++p;else if(s)s=0,printf("pass");else break;t=3-t;}return 0;} え、コンピューターの思考ルーチンも組み込んであるの。 すげー・・・ 自殺手とか打った? あんまり検証してないんでスマソ >>136 http://pc3.2ch.net/test/read.cgi/tech/1018840143/757- 9行になってるよ!しかも7行も何とかなりそうだって!びっくりした ------------------------------------------------------------- 俺主催囲碁プログラミングコンテスト スレより、13行囲碁 http://pc3.2ch.net/test/read.cgi/tech/1024024666/136- おいお前ら、これを7行に縮めてください。 すごいが これ本当に強いのか疑問 後 言語はなにかな Yahoo碁で遊んでみるからさ。 行数減らすよかわかりやすくて強いの頼みます。 >>146 >>147 普通のC言語です。ANSI C対応コンパイラがあれば動作します。OSは問わず。 >>149 プロンプトからうごかすんですよね。動くには動いたんですけど 石の置き方がよくわからないんですけど。 >>151 やってみました。 でも、碁石が表示されないんです。置けども置けども、点が最初の 状態で並んでるだけ。 仕様でしょうか? 3 3 とスペース入れるのですね、間違ってました。ちゃんとできました。 できたもののゲームが終わらないので困りました。 まだ、Yahoo碁で遊べないと思いました。 たしかに強いプログラムを使って YAHOOの囲碁で戦わせてみたい >>156 9路盤ならなんとかできそうな気がする。けどどうかな。 >>161 時間がかかってもいいから簡潔に書ける強いロジック・・・があれば(ないない)。 自分のダメを増やして相手のダメを減らし、石が多くつながった方が有利、 とかどうよ? 将棋はいろいろ話が出たけど、 囲碁はないね。 やっぱり囲碁は難しいのかね。 囲碁と思って作っていたものが実はオセロだったと気づいた だれか囲碁の強いプログラムアップしないかな 正直GNUGOはわからん むかしMSXで9路の囲碁ソフトがあったじゃん。 今のマシンで作れば、けっこう強いのができるんじゃないの? JAVAで囲碁ソフトを作っているのですがなかなか難しいですね。 GUIの部分は作るので、誰かコンピュータの思考部分を作ってもらえないでしょうか? >>170 俺コンピューターの部分作ります。 コンピューターのインターフェース教えて。 >囲碁って終盤になっても、全検索できないじゃん そういう意味では、チェスとかオセロって簡単だよね 思考ルーチンかー せめてアタリの時は逃げてほしいよね 一番問題なのは死石を判断することだよね あたりの時に逃げるのは簡単だろ 一番問題って・・・ 問題なんていっぱいあるよ あたりを逃げるのは>>136 の13行プログラムでも簡単に実現してるよ。 うちのゲームは3間とびをやっても間を切って来ないから余裕で地を稼げる。 あと、当てさせといて、取ってる間に大模様をつくると勝てる。 αβ枝かりって、囲碁でもできるの? コードまで書けちゃう人いる? 複雑すぎてわけわかめ そりゃできますがな。 そりゃいるでしょー。 複雑なのは同意だけど。 別にアルファベータじゃなくても min-maxが作れりゃ、 ちょっと改造するだけでしょ。 でも、評価関数が難しいし 終盤じゃ評価関数なんて作れなさそうだ。 終盤はベンソンの絶対生きアルゴリズムで簡単に作れる、 とか書いてみるテスト Benson による無条件活きの定式化とアルゴリズム http://www.fides.dti.ne.jp/ ~oka-t/benson-algorithm.html どっかの大学の卒論検索せー。囲碁の評価関数etc. >>184 市販ソフトに対抗できるソフトを作ろうと思ったら、 最低でもこのくらいは読めなきゃだめってことか。 だれか、これに参加して来い。 http://minerva.cs.uec.ac.jp/ ~ta-ito/GPW02-top.htm 僕はC言語初心者のガキです。141さんのオセロプログラムにおいて 疑問があります。誰か教えてください #include <stdio.h> int p,t,a,d,c,v,i,m[90]={0},s,r[]={-10,-9,-8,-1,1,8,9,10};void k(){if(m[p]==0) for(i=0;i<8;i++){for(c=0,v=p+r[i];m[v]==3-t;v+=r[i])c++;if(c&&m[v]==t){a+=c;v= p;if(d)do m[v]=t,v+=r[i];while(m[v]!=t);}}}char*h="・○●\n";int main(){for(i= 1,m[41]=m[49]=2;i<10;m[i++*9]=3)m[40]=m[50]=t=s=1;for(;;a=d=0){for(p=9;p<82;++ p)k(),printf("%.2s",&h[m[p]*2]);if(a)for(d=a=s=p=8;a==8;k())t-2?(scanf("%d %d" ,&p,&i),p+=i*9):++p;else if(s)s=0,printf("pass");else break;t=3-t;}return 0;} 1.for(c=0,v=p+r[i];m[v]==3-t;v+=r[i])c++;これはどういう意味ですか?全くわかりません 2.printf("%.2s",&h[m[p]*2])%.2sってなんですか僕の持っている本にはのっていません 3.if(a)for(d=a=s=p=8;a==8;k())t-2?(scanf("%d %d",&p,&i),p+=i*9):++p; if(a)ってどういう意味ですか?またt-2?というのは全く理解できません 面倒をお掛けしますがどなたかこれらの質問の答えをください、おねがいします >>192 すれ違い。C言語質問スレで聞け。 といいたいところだが、 1.for(c=0,v=p+r[i];m[v]==3-t;v+=r[i])c++; c=0,v=p+r[i]; コンマは単なる区切り。 2.%.2sって 2文字までってことだ。 3.if(a) aが0以外なら真になる。 ついでに持ってる本が初心者すぎる。K&Rを買え。 k()は評価関数 t=1 先手 t=2 後手 3-tは相手の駒 m[]は一次元配列に納めた盤 r[i]は8方向の隣接マスの位置の差分テーブル for(c=0,v=p+r[i];m[v]==3-t;v+=r[i])c++;は一方向の取れる数 aは8方向の取れる数 if(a) は「取れる数が0でなければ真」 193さん、194さん親切なレスありがとうございます またかなりのスレ違い申し訳ありませんでした >>190 俺参加します。 ただ、アホな大学からの参加者が多いのでレベルが低い。 198のリンク先面白いね。 笑ってしまった。 おまえら釣られすぎと。 2chのレベルが高いと思ってる時点でアイタタタだね。 最初に高圧的に話を進めて行った奴は頭いいよ。 たぶん最後まで煽り誘導で持っていってると思われ。 結局のところ、奴と同レベルで話できる奴はいなかった事を 悟って消えていったんだろうね。 俺もあの話に参加したかったよ。 レポートは面白いものがあれば。 というか、どういうのに興味があるの? >>199 2chでの優劣を競ってどうするんだ(藁 まぁ、ちょっとディベートとかかじってみた学生な感じだな。 MLとかnewsには昔から多くいるけどね。 >2chでの優劣を競ってどうするんだ(藁 確かにそうだった。 首つって・・・ 論理展開が確かにディベートっぽいね。 >>199 あれのどこが頭いいんだ? 稀にああいうやついるけど、まともなレスが帰ってくるわけがない。 自分は実力があるということを示すためにむきになって 教えるようなバカいないだろうし。 何のアドバイスが欲しいのかさえ全く書いてないし。 ところで、本人なの? そのスレの1、人間を相手にしたことないみたいだけど それで初段って・・ >>199 >レポートは面白いものがあれば。 >というか、どういうのに興味があるの? 単純に、「強い囲碁プログラムの作り方」が知りたいだけです。 自已学習させる仕組みなんかも面白いのがあれば。 逆に、認知科学的アプローチみたいのにはあまり興味はない。 時間があればオレも行きたいんだけどねー。 自分でも作りかけたことがあるんだけど、連の認定と呼吸点の 検出までやって、放ったらかしになってる (w >>202 ん? 違うけど。 俺から見たら、5人くらいが釣られて遊ばれてるように見えるけどね。 知識の差も一目瞭然だと思うんだけど、そう見えない人もいるのかね。 俺に言わせれば、2chで(しかも囲碁板で) NNだのGAだのの話してる時点で煽りでしょ。 >>204 >単純に、「強い囲碁プログラムの作り方」が知りたいだけです。 WEB見た? こうしたら強くなるっていう新しい手法の発表はないみたい。 2日目はゲーム木探索の話だけだし。 1日目には ニューラルネットワークによる詰碁プログラムの研究 こんなのがあるね。 >>197 おまえ、ほんと……ごるごるもあ並に痛いな。 202=206は あのスレで釣られて、論破されたかわいそうな厨房でした(プ 粘着君の反応が楽しみ。 論破だって (プ ここで粘着な議論して論破するかい? >>207 >>205 そんなに頭いいのなら、IPDくらい知ってるよな? >>207 あのスレってどのスレ?教えてくだちい。 ちなみにおれは202ではない(証明する手段はないが)。 IPDだって(ププ 理系についていけなくて、 文転した人ですか? マジな話、研究者みてるとかわいそうになってくるよ。 数式化した結果わかった事が、IPDなんて研究対象になりません だもんな。 複雑系専門の人に言わせると、単純化しすぎとの事。 心理学の人に言わせると、複雑化しすぎとの事。 ようするに、ミクロな系とマクロな系の 中間で物事をみてしまったために(略 >>197 =>>207 =>>212 俺は>>206 じゃないんだけど。 自作自演なんてやっても意味ないだろ。 ちなみに、俺は全く囲碁の知識ないよ。 なんとなくこのスレが目についたから見てみただけ。 それと、あのスレで何か専門的なこと書いてたか? 誰も専門的なことを話してないのに、どうやって知識の差なんてわかるんだ? 文面からして本人なのがミエミエなんだけど。 ニューラルネットって専門的だよな。 俺には未知の世界 >>215 別にメール欄に書かなくてもいいんじゃないの? 囲碁は知らないけど、全く興味がないわけではないよ。 囲碁を知らないからこのスレを見てはいけないというわけではないし。 スレタイを見て、何か面白いプログラムがあったりするかなとか思っただけだから。 >>216 興味を広げる事はいいことだ。 囲碁のルールをまず覚えよう。 ところで、ニューラルネットは専門的じゃない? 俺も勉強しないとな。 囲碁を知らない人はこちらへ。 10分で40級になれます。 インタラクティブ囲碁入門 http://playgo.to/interactive/index-j.html ikuo タンか shigekiタン て、それ目指してなかったっけ >ここで粘着な議論して論破するかい? >>207 論破したいけど、なんの議論する? 粘着とか言ってるびびり君が多くて 最近議論してないからな。 >>202 >文面からして本人なのがミエミエなんだけど。 負け犬の遠吠えかぁ・・・・ しかも、俺197になってるし(嘲笑 >>217 なにそれ? >>218 >>219 のサイトで囲碁覚えてみようかな。 ニューラルネットって脳のシステムをコンピュータで再現するんだっけ? 専門的だし、面白そう。 >>222 違っているとしたら、全く同じ性格の人が2人いるってことか? だいたい、ちょっとした雑談に勝ち負けなんてないだろ。 自分に否定的なレスをした人は即負けということか? 普段から自分にレスした人全てにそうしてるの? 釣り師ならともかく、違うならそういうけんか腰のレスはやめようよ。 俺は囲碁知らないからあなたに役立つレスはできないけど。 それと、>>202 の発言訂正するけど、何のアドバイスが欲しいかきちんと書いてたね。 >>222 おいおい、議論という狭い世界に引き籠って勝ったとか負けたとか騒いでるの はごく一部の人間だということにまだ気付かないのか? 誰も専門的なことを話してないのに、どうやって知識の差なんてわかるんだ? >>225 なぜ>>215 が何度もニューラルネットとかいっているのかと思ってたんだけど、 もしかしてその部分を>>197 に対してのものだと思ったから? そうじゃなくて、あのスレの164-207ではってことだよ。 そう思っているんならはっきりと言ってくれればいいのに。 俺、鈍感だったな(w 煽りにマジレスですか? 論破された厨房は粘着ですた、と。 >文面からして本人なのがミエミエなんだけど。 本人って誰? なんで202は164にコンプレックス持ってるんだ? >>234 テレビと実況スレ見ながら、ちょくちょくこのスレを確認しているから(w >>235 別にコンプレックスなんて持ってないよ。 持ちようがないし。 >>237 なんだかんだいって、楽しんでいる面もあるし 別に論破されたっていいじゃん>202 次回勝てばいいんだよ。 って、ココ何のスレ? >そう思っているんならはっきりと言ってくれればいいのに。 言語障害? おまえバカだろ? どう読んでも、失礼な態度でせまって行ったのは お前だと思うが。 最後に囲碁わかりませんと、ネタか? なんでそんなに反応してるんだ? やっぱり、コンプレックスか論破なのか? >>247 テレビと実況スレ見ながらちょくちょく確認して、俺にレスがあれば返しているだけだよ。 それに>>202 は失礼だとは思わないけど。 ようするに手を全部データベース化して1手づつ検索かければ必勝なんだろ。 全部の手をデータベースにすんのって何バイト必要なんだろ? 20*20*〜〜〜〜〜〜???わかんね 3^(19*19) > 2^400 = 1024^390 > 10^(3*390) 単純計算すると 0が1000個くらいつくのかな? 囲碁ってルールの実装がめちゃムズ コウが組み込めない。 コウ:その手でバンメンが前と同じになったら打てない。 簡単そうだが。 全部記録しておけばいいの? それって非効率的な気がして。 コウは日本ルールとスーパーコウルールなら読む深さが違うし、 スピードアップにどんなアルゴリズムを使うかで議論があるでしょう。 AI囲碁のDavid Fotlandはシンプルコウルール判断(日本/韓国?)で充分といっていますが。 普通はHashで保存した局面をさかのぼり同一局面をチェックかな? 場所とか1個取ったとかの条件判断はこんがらがりますね。 >>262 ハッシュ関数はどんなのを使えばいいの? スピードアップにどんな意味があるんだろうか・・・・ 評価関数+αβ探索だけでやっても ほとんど何も上手くいかない・・・ なんで? 評価関数がダメなのかな。 日本ルールに限定するなら、 抜いた石が一個の時にコウフラグを立てて位置を記憶すればいいのでは。 http://www.google.co.jp/search?q=cache:m1o_rVb098YC:www.edu.ipc.hiroshima-cu.ac.jp/ ~f23006/SOTAGE/5/game.html+%CE%B1%CE%B2%E6%8E%A2%E7%B4%A2%E3%80%80%E5%9B%B2%E7%A2%81&hl=ja&ie=UTF-8 との事。 1.最初にランダム数(32ビットか64ビット)を決め、着手(整数)とXOR で次局面、戻るにはまたXORで戻る。チェスプログラマーの良くやる手です。 コウフラグ等よりも早いでしょう。コンピュータ囲碁の初期にZobristが 提唱しました。英文が各所にあります。検索はzobrisy keyで。 ただし、私は使っていませんが。 局所的にαβ探索、例えば詰め碁をやれば1命令でも早くしたいものです。 局面記憶もXORで簡単ですね。グラフィックの重ね合わせと同じでしょう。 私も10数年ぶりに囲碁プログラム再開しましたのでよろしく。 269です。書き忘れましたが、5*5は完全読みで黒25目勝ちが読みきれたそうです。 次は7*7か?もちろん枝はうまく刈りますが。 すみません。タイプミスです。 Zobristが正解。 >>269 なんかできそうな、できなさそうな。 少し考えないと理解できなさそうです。 何も打たれていない状態のハッシュコードをSとして、 次局面のハッシュコードS'を、打たれた手をAとして S' = S xor A とするわけですね。 でも、石の配置が同じ局面でも 異なったハッシュコードを持ちそうな気がするのですが、 どうでしょうか? 石が一度も取られなければ、 S→A→S'→A'→S'' S''=S xor A xor A'=S xor A' xor A という事は理解できますが。 自分は使っていないが、コードの衝突は起こらないはず。 同一ゲームなら同じコードになります。あくまでそのゲーム のチェック用ということで、新たなゲームでは最初の乱数が違うから コードももちろん違う。3コウでも6手さかのぼるだけかな? とにかくコウの場所、フラグ等は先読みからの手戻りで単純化できないから 不利と思います。 ボクもルールは自殺手などややこしいので日本ルールのみ考えています。 それから配列は1次元がたやすいですね。 >>273 とりあえず勘違いしてるかも。 そのやり方で作るのはハッシュコード。 使い方は、 ある時点までの局面をすべて保存しておく際に ハッシュコードで区別しながら保存する。 history[board.getHashcode()%HASHSIZE].add(board) で、次の一手を指した後の局面のハッシュコードを計算して そこの配列?の中に同一局面があるかどうかを調べる。 あれば同型反復禁止で、そこには置けない。 xorは a xor b xor c.... = b xor a xor c.... なので おそらく 石を取り除く時もxorをするのだと思う。 そうするると 同じ盤面であれば同じハッシュコードが作れる。 まあ、要するに int getHashcode(int board[][]){ int start=0; for(int i=0;i<board.length;i++){ for(int j=0;j<board[i].length;j++){ if(board[i][j]==black)start=start xor (i*j); else if(board[i][j]==white)start = start xor (-i*j); } } return start; } って事なんだけどね。 i*jの部分は工夫して作らないとだめだけど。 コードと書いてあるので別に勘違いはしていません、と思います。 その後比較するのは当然。焦点はコードの出し方。 テーブルの保存方法やルールで後戻りが違ってくるのはプログラムで 変わる。言いたいのは別にXOR使わなくても局面を表現できる 整数値が違えばいいということ。もっといい方法があるかもね。 自分も最初は1個取ったとか場所がどうとか考えたがこれが最速で 簡単。自分はパターン照合の関係でつかっていない。 XORといえば 手番=手番 XOR 3ででる。黒1白2の場合。 手番=3−手番でも可だが。 もっといろいろ話しましょう。 追加です。 274のコ−ドで気が付いたがgetHashcodeは盤面を全走査 していますが、現局面と現着手のXORだけでいいのでは? 最初に配列の位置に乱数を割り当てて1手(位置、石)のみXORをとる。 もう一度着手(位置、石)XORで前局面に戻る。 アゲ石処理でXOR消去はもちろん必要だが。XOR 1命令で再走査がいらないところに 値打ちがあるように思います。 コード書いていないだけに間違っていたらスマン。 >コードと書いてあるので別に勘違いはしていません、と思います。 了解 >>274のコ−ドで気が付いたがgetHashcodeは盤面を全走査 結局のところは全走査する事で実現できる=手順によらない という事を言いたかった。 実際は、 すべての局面を記録していくわけだけど、 その際、同時にhashcodeを生成してしまえばいいわけだよね。 石がとられたら、その分もxorで。 自分のは今のところ速度にこだわっていないので これを実装するかどうかは未定かな。 今、考えてる事は、 探索の打ち切りとか、もっと深く読むとか。 囲碁のプログラムをやっとの事で完成させて 19*19で動かしてみると その大きさに愕然とする。 そして、ほとんどの人がやめていく。 局地戦ならともかく、布石とかは相当厄介だと思われ。 布石ぐらいだったらデータベースで何とかできそうな気はするけど。 やっぱり死活でしょう。 攻め合いとかコウとか。 >>281 それはかなり高度な部類に入るかと・・・。 実際、それを生かすだけの棋力を持つプログラムは存在しないと思われ。 定石データベース+αβ探索だけで囲碁を作って見て思ったんだけど、 人間の脳ってなんであんなにすごいんだ? 囲碁は特に画面認識とか、人間の脳に向いている作業が多いからね。 しかし、αβということはまともに探索してるの? それはすごいね。 学習して、自ら改善するっていうプログラムじゃないんだよねぇ。 なら、実際に打ってみて足りない点を逐一カバーしていくってのが いいと思うよ。 つーわけで、遊ばせてくださイ。ちゃんと報告するから。 よろしく。 2chネラーだという事がばれると なんか恥ずかしいのでそれは勘弁して>>285 それに、弱すぎてやっても意味ない。 αβに関してだけど、現状の評価関数だとほとんどやっても意味ないかも。 コンピューター同士で対戦させて どのくらい読みが的中するのかを調べたところ 打つ場所の残りが10箇所くらいになって 当たりだすくらい。 それに19*19だと 最初の幅優先探索がえらく時間がかかる。 それをふまえて、自分がどうやっているのか 検証してみたんだけど・・・・ 無料の囲碁のフレームワークってないですかねぇ。 ルールを組み込むのがすごく大変で。 >>288 ありがと。 これでAI作りに専念できそうです。 まずは探索から実装してみます。 ルールは狭義には、コウと自殺手判断ぐらい。厳密には終局計算を含む。 昔アップルIIの囲碁ソフトはウッテガエシが打てなかったよ。 返品しようとおもったがそれ以外なかった。 どのルールも1石の自殺手はできないがSSTルールやニュージーランドルール は認めている。 日本ルールではセキは地にならないが、中国ルールではなる。 とにかく市販ソフトでもセキ判断は完全でないのでルールが完璧とは いえないのでこちらまかせ。 でもルール作りのハードルが高いならシチョウ、ゲタなんてもっと大変よ。 がんばってください。 >>どのルールも1石の自殺手はできないがSSTルールやニュージーランドルール は認めている。 スマン。表現がおかしい。 多石の自殺手を認めているという意味。 パターンが楽なんじゃないの? こんな形は1間で、これは2間、ケイマ、とか色々。 候補手列挙を学習する方法ってない? 例えば、パターンだったら 探索した結果良いものを集めてデータベース化していくと。 でも、パターンだとマッチングが大変じゃない? ある点が候補としてあげられるかは その点の付近のパターンを、データベースで比較しなくてはならない。 ハッシュを使えばいいのかな。 学習だったらプロ棋士の棋譜を使えばいいんじゃない? たしか公開されてたはずだしね。 パターンマッチングの高速化はどうするんだろうね。 データベースをハッシュでまとめてしまえば高速で可能なような気もする。 完全一致から似ている形まで、とかなると難しそうだけど。 あと、単純なパターンだとうまくいかないかもね。 この石はシチョウで取られる、とか、ダメが2以上ある、とか 色々な情報をパターンの中に組み込む必要があるかも。 ここに打った場合の手順とかも。 データがあっても、アルゴリズムがないとね(藁 似ている物まで探してくるのは無理だと思うなぁ。 似ているの基準から定義しないとわからんけど。 >あと、単純なパターンだとうまくいかないかもね。 候補を列挙するだけだからいいんじゃない? あとは、それを探索するだけ。 ハッシュよりも実プログラムでは2分木探索が速いという報告もありムヅ。 普通に照合するよりは何十倍か早いだろうけど。 パターンは骨格と肉付けがあり、20年前の同級生で様子が違ってもある程度 認識できるのと似ている。黒、白、空点と、黒白空点どちらでもいいというのが厄介。 rotationで8種類、反転で16種類ある。広さの問題もあるなあ。 人間は碁をやって入ればますます、パターン認識は早くなるが、機械は照合に ドンドン時間が食われる。ここに根本的な問題ありだろ。 AI囲碁で2000くらい。最初手入力してたらしいが途中からBITMAPにして グラフィックエディターで入力したらしい。うまいね。 学習のアルゴリズムかぁ。 分からんね(w 完全一致で出現した回数とかなら簡単だけど。 大量の棋譜から学習で楽をしよう、というのは誰もが誘われる麻薬みたいな もの?だが実際は少数のパターンを人間が自分で判断して打ち込んだほうが 精度の高いものが出来そうな気もする。 何より、プログラムがその手をなぜ打ったかを推理できるからね。 >ハッシュよりも実プログラムでは2分木探索が速いという報告もありムヅ。 2分木にする時のキーとして、何を使うの? それがハッシュコードなら ハッシュテーブルの大きさによると思うよ。 似てる物を集めてくるのはちょっとつらいよね。 >だが実際は少数のパターンを人間が自分で判断して打ち込んだほうが >精度の高いものが出来そうな気もする。 おそらくそうだと思う。 だから、外からのデータを与えるんじゃなくて 自分でデータを生成検証して、候補手を生成するアルゴリズムを 学習するようなものがいいね。 あらかじめ、全ての手を計算しておいて、データベース化しておく。 データベースの構築には、膨大な計算力とディスクスペースが必要なので、 SETIのように分散処理で解決。 データベースができた後は、最善手のみが打てる。 一度プロジェクト起こしてみては? それなりに金になると思うぞ。 あと、首謀者は地位と名誉も得られる。 もし、それで碁の必勝法がみつかれば、歴史に名が残るね。 少ない資金で多大な効果が得られる、数少ないプロジェクト。 早い者勝ちだぞ。 お前ら・・・囲碁の可能な局面の数は 3^19^2 = 10^230 にもなるんだぞっと。 3^19^2 = 1350851717672992089 ≒ 10^18 1千万台(10^7台)のコンピュータを使えば、10^11回の演算で済む。 1台のコンピュータが1秒に3170回の演算が行えるとして、10年間。 現行の性能では難しいが、将来は可能になるかもしれない。 可能になった時点で、誰が先に演算を終えるか? 先に演算を始めた者に決まってる。 オセロならもっと早く演算が終了する。 早い者勝ちだぞ。 ゲームを消滅させろ。 >>2分木にする時のキーとして、何を使うの? パターンをbit化すればいいのと違うかな? >>ハッシュテーブルの大きさによると思うよ。 そうだね。やって見ないとわからない。ハッシュの計算や衝突の際の探索も時間がかかるし。 でも2,3千のパターンではアマ初段には間に合わない。 瀬越の手筋辞典や官子譜見たらとんでもない筋やパターンがでている。 NHK囲碁の解説聞いていても「これは筋ですねえ」といわれても、知らない、わからない のが結構多い。筋の定義もムズだが、パターンとも共通性があるし。 コスミ自体は1種類しかないが、周りの状況でヨセからワタリ等等役目はゴマンと ある。要するにパターンは目的を入れないと絵に描いたモチ。 分散処理で計算する方法は考えたんだけどさ、 黒(自分)が最善手を常に打つとして、 白(敵)が最善かどうかわからない手を打つとすると 19*19では (19*19-1)*(19*19-3)*(19*19-5)....となる。 これを300*300*300......(19*19-100) と近似しても激しい値になる。 コレをどこへ保存すればいいのだろうか? 地球上のコンピューターをすべて集めてきても 保存できない。 >3^19^2 = 1350851717672992089 ≒ 10^18 コレ間違ってるよ。 3^(19*19) > 2^400 log10 2^10=3 log10 2^400 =120 まあ120桁はあるな。 >>311 候補手といっても、いろいろなレベルがあると思う。 例えば、どの手を選んでも悪手にはならない 候補手の列挙から どの手を選んでも良い手であるような 候補手の列挙から・・・ あるいは攻撃的な手だけを列挙できるようになるのも 有効だし 守備的な手だけを列挙できるようになるのも有効だね。 候補手が列挙できたら、あとは探索するのみ。 今考えてるのは 精度の粗い候補手列挙システム (つまり、悪手は切り捨てるけど良手は絶対に切り捨ててはいけない。 判定不能の物は残す) と 高機能なαβサーチの組み合わせでの アルゴリズムを作ろうと思ってる。 候補手列挙は、やっぱり周辺パターンのデータベースしか ないのかな。 候補手列挙で一つ思いついたのは、 応手作成アルゴリズム。 相手の手を、どんな手なのか予測分類して (2つに分類するなら、攻撃的か守備的か) 候補手を列挙する。 まあ、まだアイディアを練ってる段階だけど 絶妙手をも切り落とさないシステムだと大変かもね。 そういう手は弱いレベルには悪手だから。 プログラムの棋力にふさわしい普通の手が10手から20手程度抽出できれば 十分じゃないかな。 囲碁はまだそれほど深く読めないので(シチョウは除いて) 探索手法自体の重要性は低いと思われ。 やはり最大の難関は評価関数かと。 地の判定から、石の連絡、強弱、空間の支配力、 この辺を適当に数値化しないといけないからね。 >>317 俺は(中盤の)評価関数の作成が無理だと思うんだよね。 評価関数の作成が将棋と同程度の難しさなら、 現状のルールベースの候補手生成アルゴリズムと組み合わせれば きっと将棋と同程度の強さになってると思うんだ。 探索空間の広さが同程度になると思うから。 囲碁は、終盤に近づくほど評価関数が正確な値を示すようになってくる(気がする)が 序盤では定石に頼らないとまったく打てない(はず)。 それは定石データベースを持たない囲碁プログラムを作れば おのずとわかると思う。 という事は、評価関数の精度をあげるには深く読んでみる事が 一つの方法であると思う。 そこで、いかに有効な手を深く読むかが重要だと思う。 評価関数が曖昧と仮定している以上、αβサーチは使えない。 じゃあ、どうするかというと、深く読む。 どうやって幅を絞るかというと・・・ アイディアはあるけど今は暖め中という事で。 >そういう手は弱いレベルには悪手だから。 絶対評価と相対評価がメチャクチャになってるかもね。 人間にとって一見悪手にみえるが良い手である手を妙手という?から それがコンピューターにとって妙手かといえば、違うと思う。 目指すは”最強”なのでw 例えば、10年くらい前の棋道で趙治勲の読みの内容に関するする連載があったが、 プロでも驚くところまで読んでいる。多分、プロの頭には過去の膨大な筋や パターンと、ものすごい読む力が備わっている。全部の可能着手数なんて考える必要ないんだ。 反面、故岩本九段のようにパラパラ打って碁にする棋風もあるが。それは一言で言えば、バランス。 理論でもいいから趙さんの読みの深さまで深化できるアルゴリズムでなければ 先の見通しは暗い。 評価関数でいえば、人間は盤面計算や評価を毎着手やっていないでしょ。 一段落したところでやる。それまでは手順をつくすか、ある死活なら死活に集中する。 その意味でプログラムは人間を徹底的に模倣し、攻めあいや終盤計算等の得意分野で人間を追い越さ なければいつまでたっても初心者レベル。と思う。 それから今のプログラムはエントロピーが低い。着手に多様性がないからプログラムは かならずこう来るんだ。とか読まれてしまう。ノゾキにいつもツグぐようなものやね。 プロでも道策にケイマにカケられて安井家はいつも下うけでこなされる。 道策の深読みと多様性についていけない。この2点をどう表現するか。 多様性に関しては学習なのかな。 負けたゲームから何かを学ぶ。 少なくても、相手が同じ事をしてきたら それに対して何か別の策をこうじるようにならないと。 まあ、それができるなら 永遠とコンピューター同士で学習すると 最強になってしまうんだけど。 深く読むかぁ。 何手ぐらい読めば妥当なんだろうね。 >>319 さんの言うように当然の手順、というのを抽出できれば それに沿って読みさえすれば5手、10手、20手先の局面でも 正確に読めそうな気もする。 この場合、地合でなく、戦いを重視したプログラム、ということになるのかな。 実際に人間は何手くらい読んでるのかな? 俺は囲碁初心者だけど ぱっとみで候補が5くらいあがって そして7手先くらいは読んでるね。 確かに、読みっていうのは そこへ打っても大丈夫かといった チェックをしているような気がする。 つまり、感覚だけである種の最善手がはじき出されている。 >この場合、地合でなく、戦いを重視したプログラム、ということになるのかな。 それは、当然の手順=最適な手順がなんなのかによりそう。 将棋や囲碁では、状態をイメージ(画像)として捕らえるような作業を 人間は行っているだろうね。陣形とか、血合とか。 以前ちょっと考えたことがあるのが、上記の考えを元に、 盤面を白黒で2分割、4分割・・・16分割くらいして、 (分割はそれぞれが優勢な部分を中心とする) そのそれぞれのブロックで、細かい判定を行うというもの。 でも、すでに他の人が同じような研究を行っていたという罠。 >>324 白黒で・・・ってどういう意味ですか? これだけだと実装の仕方だけでもいろいろあると思うから 他の人が研究してようが問題ないのでは? たとえば、優勢な部分を判定するアルゴリズムが大きく効いてそうだし 細かい判定で何を判定するのかによっても全然違うものが でき上がると思うよ。 俺には作れなさそうだ。 囲碁の場合、アバウトなイメージだから難しい。 将棋の場合は、駒がぶつかったら「取る」ことを考えるし 王手をかけられたら「避ける」しかないので必然の手がある 囲碁の場合は1マスぐらいずらして打っても構わないので これをプログラミングするのは難しいだろうな 学習といえば、ニューラルネット使った奴が けっこういい成績残したね。 俺にはサパーリなんですが。 結局、俺に勝てる囲碁プログラムを作れた奴はいないのか。 2chってバカばっか。 >>332 結局、自分に勝てる囲碁プログラムを作れた1はいないのか。 2chってバカばっか。 厳しい事言うね。 プログラムの中でも囲碁は難しいほうだよ。 日本中探し回っても、囲碁の思考の部分をプログラムできる人は 数えるほどしかいないと思うけど。 囲碁の評価関数の話をしませんか? 思うに、評価関数自体で再帰的に探索するような仕組みを作れば いいような気がする。 石の死活はこの石を殺すには先にこの石を殺して、その前に・・・と 延々続いていくので、この部分を上手に再帰的に処理できれば 石の死活に関してはかなり強くなるのでは。 とか書いてみる。もちろんアイデアだけで実現できてません。 >>336 提案してるのは「再帰」なわけ? ぶっちゃけ、君相当レベル低いかも。 MiniMaxとか知ってる? 木構造=再帰で処理できる 再帰的に処理できる事のメリットはコーディングが容易なだけだけど。 評価関数の話で一つ問題を提起すれば 状況に応じて評価関数を切り替えるという方法は 一般的な方法だけれど、 では、状況というものをどう定義するか。 つまり、どういう状況に振り分けるか。 序盤、中盤、終盤に分ける方法が一番短絡的かもしれない。 他にもコウの時は別の評価関数を用意できるかもしれない。 評価関数の中身は別として、 どれくらいの状況に分けられるのか? 振り分けるアルゴリズムがあるかどうかはまた別の問題だと思う。 まあ、囲碁に限った話ではないんだが。 再帰という言葉を覚えたから使ってみたかったんだろ。 盤の端っこでの死活の問題はさ、強い人ほど先を読まずに形を暗記して うってるんですよ。 というわけで、死活はデータベースを作ればよろしい。 今なら10万件くらいは余裕で処理できそうだから・・・ log3 100000 =10 よって3*3の範囲なら全部覚えられる。 マス目の数*0.477=必要なレコードの桁数 16マスなら7桁、つまり100万レコードだ。 >>340 とりあえず、死活100選とかそういう本をざっと眺めてみる ことをお勧めする。 >>341 たしかに、すべてのパターンは必要にならないけど 相手が常に最善を打ってくるとは限らないので 340に出てる数字と大差ないというか。 一マス増やしただけで、桁数が0.5桁増えるというのは 恐ろしい事だよ。 まあ、実際のプログラムでは 眼形データベースと演繹的な処理で判定するわけだけど。 詰め碁がデータベースでできたら、学会誌には出てこないよ。 盤のはしっこのデータベースつっても3*3じゃ正直狭すぎでわ? 5目中手ですら3*4の大きさは必要だし。 外側の石の状態とかも必要と思われ(安全、攻め合いになってる、とか) >1に勝ったら賞金が出力されるロジックが必要なんだと思ってた・・ 2*2でも、完全読みをするのはめちゃくちゃ時間がかかる 3x3が何とかなるレベル。 4は、今のPCだと辛すぎる。 5以上は間に睡眠や人生をはさまないと無理。 それは完全読みじゃなくて、 ヒューリスティックを使ってるんじゃなかったっけ? 10/21のメールから。 天元に打って黒25目勝ち。 4時間で解いたとか書いてるな。 Yesterday my program solved 5x5 Go starting with the first move in the centre. As was expected it is a win for the first player with 25 points (the whole board belongs to black). I used an iterative deepening Alpha-beta search (PVS) with: - Transposition tables (2-deep replacement scheme, 2 x 2^24 entries) - Enhanced transposition cut-offs - Symmetry lookups in the Transposition table - 2 killer moves - History heuristic - Benson's algorithm for unconditional live (extended with unconditional territory) - Heuristic evaluation for positions that are not fixed by benson The solution was found at 22 ply deep (23 for the empty board).(searching 4.472.000.000 nodes in about 4 hours on a P4 2.0Ghz) The main reason why my search was able to solve 5x5 is Benson's algorithm which reduced the depth where a proven full-board-win is detected by at least 6 plies (compared to by old implementation which had to play many things out). Only the simple (japanese) ko-rule was used, so the result is independent of any superko-rule. This does not mean that super-ko is irrelevant, just that from the empty 5x5 board there is a forced line that avoids all long cycles. This does not mean that super-ko is irrelevant, just that from the empty 5x5 board there is a forced line that avoids all long cycles. 誰かここ訳して As was expected って書いてあるから、完全読みではないんだよね? >>356 日本ルールの単純なコウだけを考えていて、3コウとか長生とかの無限手順は 考慮していない、ってことでしょ。 3コウとかを軽視したわけではなく、5x5の盤では3コウとかになるのを 防ぐ強制的な手が存在するから、ということかな。 >>356 As was expected それは、予期していた通り、という意味だと思う。 完全読みしてるんじゃないかな。 拙訳です。用語、意味で間違ってたら直してください。 昨日、私のプログラムは初手天元の手から5路盤を解決しました。 予想通り、先番25目勝ち(全盤面が黒に属す) 反復アルファーベータ探索(PVS)を使用して: -移項テーブル(2手先置換計画、 2 x 2^24 候補手) -改良置換枝狩り -対称置き換えテーブル -2キラームーブ -ヒューリスティック -無条件生きのベンソンのアルゴリズム(無条件地に拡張された) -ベンソンのアルゴリズムに用意されていない盤面のヒューリスティック評価 22手の深さで解答が見つかったが(空の盤からは23手) (探索ノード数4,472,000、ペンティアム4の2Ghzで4時間) 私の探索が5路盤を解決できた主たる理由は、ベンソンのアルゴリズムが、少なくとも 6手必要なと思われる証明すべき全面勝ちの深さを、減らしてくれるからです。 (多くのことをやらねばならない従来の方法に比べて) 日本の単純コウルールだけを使用したので、結果はいかなるスパーコウルール(使用条件) からも独立していると考える。これはスーパーコウルールが不適切という意味ではなく すべての長い循環を避けるための、5路盤に限定された結果です。 >>359 グッジョブ でも、完全読みかどうはうよくわからないね。 >>360 そうとは書いてないから完全読でしょう。 でなければ解いたとは言わないだろうし。 すまん 探索ノード数は0が3つ足りません。(間違い) これの意味がわからないと、完全読みかどうかもよくわからないね。 -移項テーブル(2手先置換計画、 2 x 2^24 候補手) -改良置換枝狩り -対称置き換えテーブル -2キラームーブ -ヒューリスティック -無条件生きのベンソンのアルゴリズム(無条件地に拡張された) -ベンソンのアルゴリズムに用意されていない盤面のヒューリスティック評価 で、俺は囲碁プログラミングに少しは詳しいつもりだったけど 一つもわからないよ。 誰か、ここら辺の説明が書いてある論文でも本でもWEBでも なんでもいいので教えてください。 6x6のオセロが解けたぐらいだから6x6までは 囲碁も解かれそうな気がするがどうよ? >>363 -移項テーブル(2手先置換計画、 2 x 2^24 候補手) ハッシュ表のことですな。1677万局面記憶可能。(おそらく)2手以上の探索結果のみを保存 -改良置換枝狩り ハッシュ表で -対称置き換えテーブル ハッシュを見る場合に、局面の対称性も同時にチェック -2キラームーブ ある局面で有力な手があった場合、その手を兄弟局面でも先に試す。これを2手まで。 -ヒューリスティック History ヒューリスティック。例えば、(2,2)に置いて場合の最善手が(2,3)だった場合、 その場所での回数を記憶しておき、他の局面での手の生成で先にそれを読む。 -無条件生きのベンソンのアルゴリズム(無条件地に拡張された) ダメを詰めまくっても取られないので、この石は活き、という判定条件 -ベンソンのアルゴリズムに用意されていない盤面のヒューリスティック評価 適当に無条件活きの条件をでっちあげた、ということでしょう。 ベンソンのアルゴリズムはあまりに低レベルな判定をしているから。 だいたいチェスで開発された技法なのでコンピュータチェス関係の 本を読むといいよ。 Webだとこことか。 http://www.xs4all.nl/ ~verhelst/chess/programming.html 完全読みの定義だけど いかなる局面からも結果がわかる意味. と我思う。 全ては読めん、よって皆頭を悩ます DataBase作っているようなので、完全読みといっていいと思う。 Transpositon Table でハッシュと呼んでないのは 最善手やスコアーや深さを含んだ複合的なものだからだろう。 *David LevyのGamesmanshipはお勧め(将棋もあるでよ) 何×何路までだったら読み切れるのだろう? 5×5路までかな? 6x6ぐらいまでは読みきれるんじゃないか? とかてきとーな事を書いてみる。 9路が読み切れたらすごいだろうけど。 完璧なコミが分かるし(w >>371 4x4は日本の清 愼一さん(囲碁プログラム勝也の作者)が最初にコンピュータで 完全読みをした。これが2000年のこと。 5x5は、今年、完全読みがされた。 >>365 では、 >-ベンソンのアルゴリズムに用意されていない盤面のヒューリスティック評価 >適当に無条件活きの条件をでっちあげた、ということでしょう。 >ベンソンのアルゴリズムはあまりに低レベルな判定をしているから。 と言っているみたいだが、無条件活きの条件をでっちあげているのではなく、 この先、どう指せば活きになりやすそうか?という判定に用いているように 読めた。(英語力が足りんので間違ってたらスマソ) つまり、いい加減なことはせずに、きっちり最後まで読みきった、ということ。 さて、論文を見る感じでは、4x4は実はかなり力技(^^;で解いたようだが、 5x5は、やはりずいぶん工夫をしてやっと解けたということのようだ。 単純に考えて、6x6は、36*35*34*33*32*31*30*29*28*27*26倍、5x5よりも 難しいので、(実際には対称形があるのでもっと減るけど)すぐに完全読み されるとは思えない。 …もっとも、この程度なら時間の問題かな。 中山典之プロの古い著作より。 岩波新書 囲碁の世界 1986年初印刷 コンピュータ碁や五路盤について言及している。 P198より抜粋 ところで、25の階乗は...26ケタと言う長いものとなったが、 ... ただし、コンピュータ君は、油汗をながしてでもこの程度のことは 読みきるだろうが、人間さまというのは偉いもの(?)で、もし、あなたが幸いにして アマチュア初段くらいの力があれば.....。 黒1の手で、右上の図に示したように天元(盤の中央)に打ち、黒が24目勝にな ることをタッタの1秒で読み切れるであろう。こうしてみると、われわれも頭の中にも のすごく高度なコンピュータを持っているとも言えそうである。 そうですね中山先生。でも、ゆっくりですけど進歩してます。 長生きして待っててください。 中山典之プロの古い著作より。 岩波新書 囲碁の世界 1986年初印刷 コンピュータ碁や五路盤について言及している。 P198より抜粋 ところで、25の階乗は...26ケタと言う長いものとなったが、 ... ただし、コンピュータ君は、油汗をながしてでもこの程度のことは 読みきるだろうが、人間さまというのは偉いもの(?)で、もし、あなたが幸いにして アマチュア初段くらいの力があれば.....。 黒1の手で、右上の図に示したように天元(盤の中央)に打ち、黒が24目勝にな ることをタッタの1秒で読み切れるであろう。こうしてみると、われわれも頭の中にも のすごく高度なコンピュータを持っているとも言えそうである。 そうですね中山先生。でも、ゆっくりですけど進歩してます。 ベンソンのアルゴリズムについての解説ってありますか? >>376 ここ。 http://www.fides.dti.ne.jp/ ~oka-t/benson-algorithm.html 質問。 読み切れたら正当なコミがいくつか解るんですか? たとえば、4×4路と5×5路はコミいくつが適正とか解ってるんでしょうか? >>378 4路盤のコミは15目で、5路盤のコミは24目が適正です。 1路盤だと、呼吸点がないので先手も後手も盤に石を置けない。 引き分け…というのかな…。 初心者大歓迎の2chの囲碁サークル【2ch棋院】 http://www.2chkiin.ne.nu/ ってのはあるけど。 囲碁将棋版住人なんだけど、素人考えで悪いけど 読みきりとかいいから、頼むからもちーと強い囲碁ソフトつくれないもんでつか? 将棋だって読みきりなんかできんが囲碁ほどひどくはない・・・ IP記録実験 http://qb.2ch.net/test/read.cgi/accuse/1042013605/ 1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:??? そんなわけで、qbサーバでIPの記録実験をはじめましたー。 27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc SETTING.TXT管轄でないということは全鯖導入を視野に、か? 38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l >>27 鋭いです。 73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l >ところで、IPが抜かれて何か今までと変わることってあるのでしょうか? ・今までより、サーバが重くなる。 ・裁判所や警察からの照会があった場合にはIPを提出することがある。 んなもん沢山金があれば問題なかったことだろ ぴろいき働けばいいじゃん。 負け犬は現実社会ではなにもできない奴ばっかだから間に受けない方がいい負け犬=俺以外のやつ これからは馬鹿って書いただけで訴えられる可能性がでてきたわけで ======2==C==H====================================================== 2ちゃんねるのお勧めな話題と ネットでの面白い出来事を配送したいと思ってます。。。 ===============================読者数: 138720人 発行日:2003/1/9 年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。 そんなわけで、年末に予告したIP記録ですが実験を開始しています。 「2ちゃんねる20030107」 こんな感じで各掲示板の最下部に日付が入ってるんですが、 20030107以降になってるところはログ記録実験中ですー。 んじゃ! ────────────────────────Age2ch─ ■この書き込みは、Age2chを使って配信されています。 ──────────────────────────── Keep your thread alive ! http://pc3.2ch.net/test/read.cgi/software/1041952901/l50 ──────────────────────────── 糞スレ立てたやつもIP抜かれてアク禁 串使っても意味なし >>24 じゃ、いつ作為義務が発生したと判決は言っているというのでしょうか? 最高裁への上告は認められなくなったから、これで事実上判決確定だよ。 逆転も何もないって。 勢いで上告なんかしても一発で上告却下(門前払い)だよ。 二審も一審を支持。これに対して上告しようにも、 刑事訴訟と同様、自由に上告できるってもんでもないのです。 民事訴訟法312条 (上告の理由) 1項 「上告は、判決に憲法の解釈の誤りがあること その他憲法の違反があることを理由とするときに、することができる。」 http://www.m-net.ne.jp/ ~doba/goto/hon.htm ようするに上告しても今の制度では100%無駄。 これで完全終了ってことか。 語尾に「・・という夢をみた。」をつければいいんじゃねーの? >>720 一般人はどうやってみるんだ? 掲示板といえるのか。 場所によるよね。 匿名重視の板では厨房どころか普通の客まで帰っちゃうという罠。 実況なんかだと逆に非常に便利(荒らしの特定)だろうけど。 さりげなく自スレの宣伝するんじゃねー でも、良かったらさんもさんもマァヴさんも おいらの立てたスレに遊びに来てね。 どうせIP記録されるんならふしあなさんしようぜ http://live.2ch.net/test/read.cgi/festival/1042199282/l50 携帯電話からだとIPがかぶることあるけど その時はどうすんの? ======2==C==H====================================================== 2ちゃんねるのお勧めな話題と ネットでの面白い出来事を配送したいと思ってます。。。 ===============================読者数: 139038人 発行日:2003/1/10 なにやら、連日メルマガだしてるひろゆきです。 そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、 全部のサーバに入れてみました。 重くなって落ちたりしてもご愛嬌ってことで。。。 んじゃ! ────────────────────────Age2ch─ ■この書き込みは、Age2chを使って配信されています。 ──────────────────────────── Keep your thread alive ! http://pc3.2ch.net/test/read.cgi/software/1041952901/l50 ──────────────────────────── これからは自分が思った事や感じた事をそのまま書き込めないということか? ネオむぎを超えるわけない 犯人が17歳以下なら話は別だが それ個人情報でもなんでもない つーか共通情報じゃけん 白白白 発発発 厨厨厨 東東東 776 待ち盃7 リーチ IPとるからいうだけで怖がるやつが多いということに2chの本性を見た。俺は『マンコ』とかくのに『ためらいなど無い』 ヌヒ等よ、囲碁のルールはな、はさみ将棋と似ていてな、囲んだら相手の石を取れるのよ。 その囲み方はな、たてとよこで囲むのよ。ななめは囲んでなくてもいいよ。 ただ相手が石を並べてその中に空白を2つ以上つくっていたら、囲んでも取れないのよ。この場合陣地がいきているというのよ。 最後はその生きた陣地の数で勝敗を決めるのよ。 取った石は最後に計算するとき、相手の生きた陣地に埋めていって陣地を減らすのに使うわけよ。 囲碁のルールはたったこれだけよ。将棋よりずっと単純だよ。 ヌヒ等よ、囲碁を知らないヌヒ等よ、囲碁のルールがわかったかな? メルマガきたけど、IPを保存したとことで何もかわないよ。 IPを保存することで書き込んだ人に 責任を擦り付けられるとでも思ってんのか? 関係無いぜ。 警察の捜査はしやすくなるかもしれんが、公開責任は依然ひろゆき。 いい加減理解しろや。 日本生命の時から言われてるぜ。 判決もこれに沿ったものだったしな。 日本生命 http://www.geocities.co.jp/Technopolis-Mars/6820/hoken/ >>438 ひろゆきひろゆきひろゆきひろゆきひろゆきひろゆきひろゆきひろゆきひろゆき ひろゆきひろゆきひろゆきひろゆきひろゆきひろゆきひろゆきひろゆきひろゆき ひろゆきひろゆきひろゆきひろゆきひろゆきひろゆきひろゆきひろゆきひろゆき ひろゆきひろゆきひろゆきひろゆきひろゆきひろゆきひろゆきひろゆきひろゆき ひろゆきひろゆきひろゆきひろゆきひろゆきひろゆきひろゆきひろゆきひろゆき ああ〜ひろゆき〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜ってか? ヌヒはひろゆきと寝ろ!!! 生きた陣地の計算方法がコンピューターだと難しいんだよね。 IPは最初から抜いてたさ・・・ でもな、ひろゆきがIPを保存してないフリをして 俺達を警視庁から守ってくれてきたんだ――― 結局、獣医本人の閲覧は不要ということに、少なくともなると思うが? 最新のGNU碁は十分強いよ。 市販の最強に4子ぐらいか。 久々にあげてみる。 European Computer Go Championship というのがあるらしい。 ロシアのペテルブルグで今年の7月19日から8月2日にかけて。 http://www.egc2003.spb.ru/pages/program.htm 世界コンピュータ囲碁大会 岐阜チャレンジ2003 http://www.gifuit.com/igo2003/ お前ら参加しる! ∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉 結局、獣医本人の閲覧は不要ということに、少なくともなると思うが? 今週は棋譜の保存とクリップボードに書き出し、そして読み込み。 __∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄ __∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄ (⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン アルゴリズムとはあんま関係ないけどさ、 相手の手を待っている間って考えちゃいけないわけ? >>451 俺も GNU碁なんて、って鼻糞ほじりながらやってたら 負けたよ。 Emacs Frontend だったから UIがわるかった、っていいわけしながらな。 と、半年以上前のにレスしてみる一手。 試しにGNU碁を入れてコマンドラインで走らせてみた。 序盤は平凡な優等生。 中盤は時々謎な手。 次第に悪手が増え、ことごとく死亡。 一ヶ所を除いて全て殺せた。弱すぎる。 5級すら届かないと思われる。 >>468 Jago(Client)で 碁モデムプロトコル(GMP)で対戦の碁プロトコルサーバーに gnugo.exe --quiet --mode gmp とすればGUIで対戦できるよ。 >>477 難しいのは、囲碁じゃなくて囲碁ソフト。 数千億円つぎこんだ日本の一大国家プロジェクトの柱の一つだったが あえなく失敗。 gnu碁に井目おかせて全滅されると悲しいもんがある。 やっと見つけたが、このスレは活きてるの? コンピュータで解決された5路盤の最強アルゴリズムって どうやって調べたら良い? 日本語でGMPについてわかりやすく説明されてるサイトない? 自分のプログラムをgnuと対戦させたいけどGMPがよくわからん。 つーか、みんながコンテストに参加しやすいように 候補手作るプログラムだけ作ればいいようにGUI作って。 >482 岐阜チャレンジに通信対戦用のサンプルプログラムがあったぞ。 >>480 http://www32.ocn.ne.jp/ ~yss/index_j.html の真ん中よりやや下 >>482 も↑見るヨロシ CgfGoBanで可能(思考ルーチンだけDLLで) 再帰関数を使わないでmain関数のみで囲碁プログラムを作る 「コンピュータ囲碁の入門」出た ttp://www.kyoritsu-pub.co.jp/shinkan/shin0511_02.html やってみようと思ったのですが、そもそも囲碁の終局条件というのがよくわかりません。 両対局者がパスしたら終局 つまりどちらももう儲かる手が無いと判断した時 おまいら囲碁板見てるか? お勧めのスレは? 二桁の俺に勧めるならどのスレ? TextSS のWindowsXP(Professional)64bit対応化おながいします もしくは64bitにネイティブ対応したテキスト置換ソフトありますか? そういや64bitにネイティブ対応している2chブラウザてありましたっけ? 囲碁にパスはないよ。 ムが判断しないから終局教えるためにパス押すだけだ >>497 囲連星スレは見てるよ。たまに打つよ。 コツコツ棋譜並べと詰碁するしかないか。 将棋板と分かれてから、盛り下がってない? >>500 KGSで夜に”初心者の間”ってのがあるから来てみて。 死活判定、終局判定してくれるフリーなソースどこかに落ちてませんか? 厚いとか薄いとか軽いとか重いとか、どんなデータ構造であらわせばいいの? NHK-BSで先週やった本因坊秀策の特集で囲碁に興味を持って 勢いで「コンピュータ囲碁の入門」を買ってしまいました これから読んでみます 誰か囲連星の強いプログラム作ってくれ。 公式HPからソフトダウンロードできるから C書ける人なら強いの作れるんじゃないか? C書けてもゲームのプログラムはちょっと違うからね。 ただ囲連星は今の段階でAIちょっと弱いからあれより強いのは比較的容易? とりあえず9路のAIでも作ってみようかな。 GTPとかいうプロトコルに従えばGUIは既存のものが使えるんだよね? とりあえず囲碁のルールをコーディングしてみた。 AIはどうやって作ればいいかわからんが学習機能とかあって 打つたびに強くなっていくとかあるといいかも。 >>515 それはさすがにないだろ。 ただし今の段階で完成すれば100%1万は貰えるな。 現状のソフトの強さなら 囲碁のプログラムを書くのに一番適した言語って何よ? 実行速度が速くて、コレクションが充実してる言語。 C++でいいんじゃね。 9路なら巨大データベースを使えばイイ線行くんジャマイカ。 2007年01月05日 人間に勝つ囲碁ソフトウェアの開発を計画 「われわれの目標は、人間に勝つ囲碁プログラムを開発することです」 北朝鮮情報技術分野の尖兵である三日浦情報センターの囲碁プログラム開発チームが、新年でも最新プログラムを開発するための研究に没頭している、と在日本朝鮮人総聯合会機関紙の朝鮮新報インターネット紙が5日に紹介した。 新聞によれば、このセンターはゲームプログラムのうち唯一、人間に勝つことができない分野として選ばれるコンピューター囲碁プログラム開発の分野で世界的な実力と技術を持つところ。 昨年、日本で開かれた「世界囲碁(プログラム)挑戦者大会」で優勝して6連覇の偉業を達成し、今年は7連覇を狙っている。 開発チーム全員が英才教育機関である平壌第1中学校卒業生であり、金日成綜合大学や金策工業大学にて秀才教育を受けてきた。平均年令も25歳と、若年層から構成されている。 開発チームの責任者であるチョ・サンヒョン(30)技師は「国家はコンピューター科学部門に多くの関心を傾けている」とし「祖国の栄誉を輝かせるために、今年も必ず優勝する」と語った。 彼はこれとともに「今年の大会では以前の枠組みから完全に抜け出した、最強のプログラムを出す」と付け加えた。 開発チームには試練もあったという。協力事業を推進したカナダの企業が米国の制裁によりコンピューター設備を北へ搬入できないため事業が水泡に帰し、特に昨年、日本で開かれた大会ではプログラム開発者の入国が拒絶される困難をも経験した。 開発チームの李イルジン技師は「われわれが大会で優勝することは、すなわち制裁の圧力に屈しない朝鮮の気性を誇示することだ」と述べ、「大会に参加するその都度、常に優勝を狙ってはいるが、単純な優勝ではなく百戦百勝がわれわれの目標だ」と力説した。 http://nk.chosun.co.kr/news/news.html? (Mar 26, 2007 11:18:22 PM) 軍部や指導部はともかく、こういった下のほうで頑張っている人は応援したい。 とはいえ入国は勘弁。どうせ余計な人を連れてきたり連れて帰ったりするんだろ。 おれ最近ソフト作ってます。 なのでSGFファイルが大量にいるんだけど、どこでとってきたらいいのでしょうか教えてください。 棋譜でーたべーすでは一個ずつしか落とせないし、MOYOGOSTUDIOではSGFの配布をやめてしまったようです。 囲碁板で聞いてみたら? ttp://game12.2ch.net/gamestones/subback.html >>526 ttp://wiki.optus.nu/igo/ >>528 >526自身が >棋譜でーたべーすでは一個ずつしか落とせないし ってかいてますが >>512 >>513 >>514 この辺で話題だった囲連星に強いAIが新しく出来てる これは5万円は確実か GNU Goのソースすら理解できない俺にいったい何が作れると言うのだろう 囲連星にHSPでプログラム HSP(スクリプト言語)でプログラムするサンプル があるからHSPでがんばっちゃうぞ 10万円GETだぜい ソースはあきらめて、とりあえずGNU Goのドキュメント読んでみることにしました play_ascii.cとかは結構読める、なんかここにある printf("○○○") を日本語に訳せばHELPとか終局したあとに出るメッセージ、表示が日本語化できるじってことに気づきました GNU Goとかほかの囲碁AIって相手が思考中のときはなにもしちゃいけない、みたいなルールがあるの? ない.強いプログラムは相手が考えてる間も動いてる. 例えば MoGo には --pondering ってオプションで指定できる. >例えば MoGo には 例えば MoGo は だった ponderingが出来るMoGoと比べると、熟考できないプログラムはなんかかわいそうですね 地の数と大きさ、位置が決まってる単純なモデルを幾つか用意しておいて それに沿うように着手を選んでいくようなのは既出? このスレにあった10行囲碁ソースを元に作ってみようかな。 展開して調べたら、あれに入ってる評価関数は 石数に比例するもの ・石が取れる ・アタリにいける ・囲いにいける ・隣接させる しないもの ・自殺打はしない ・息ができる くらいだった。 アタリされても逃げないから超弱いけど、そのくらいならすぐ追加できそう。 あとはコウ、ウッテガエシ、シチョウの認識とか、生き死に判定とか…… まずは5路盤、9路盤で開発中。互いにランダムに打っていくAIと簡単なルールベースのAIをテスト中。 呼吸点と石取りを実装。コウ判定や生死判定は未実装。 とりあえず最後までダメを打たせているので、 勝ち負けの判定、生死判定は実装できるはず。 この段階でも一応終局まで打てるようなので、モンテカルロ法を試してみる。 当初の予想通り、大量の終局図の平均値は石の利きを反映した結果になっているようだ。 これをAIの大局観として利用していきたい。 ルールの作り込み、アルゴリズムの作り込みが終わり、9路盤で局面に対する評価が行えるようになった。 勝ち負け判定も実装したが、これはあくまでモンテカルロの結果判定用なので 最後までバカ正直にダメを埋めまくってくれないと判定できない。 とはいえ、局面の評価を画面表示し、デバッグできるところまで作り終わったのでよしとする。 まだアイデアはあるので、現状よりもう少し強くなるはずだ。 まだ全自動対局はできないが、人が評価関数が最大になっているところに石を置いていってやれば 対人対局、対別アプリ対局は可能。基本的な動きは確認できたので、あとはI/Fの問題になる。 手動対戦でそこそこ戦えるレベルになったら、通信対戦機能やCへの移植を検討しようと思う。 ・画面表示のバグ取り、改善 ・モンテカルロする際、初手はランダムではなく合法手を走査するようにした (試行回数の偏りを減らし、評価値を安定させるため) 2手〜4手まで打って3〜5手目を探索させてみると、9路盤のいくつかの定石が浮かび上がってきて面白い。 しかしランダム打ちという性質上、石の取り合いや優先順位がある打ち回しはヘタクソだ。 明日は手の前後関係に関する新たなアルゴリズムを検証するつもり。 最近興味を持ち勉強中。 が、なかなか手強いぜ^^; >>136 はほとんどネ申だな・・・ 参考スレ ttp://schiphol.2ch.net/test/read.cgi/gamestones/1226374895/ 一二三四五六七八九 1┌┬┬┬┬┬┬┬┬ 2├┼┼┼┼┼┼┼┼ 3├┼┼┼┼●┼┼┼ 4├┼┼ ・ ┼┼┼┼┼ 5├┼┼┼┼┼┼┼┼ 6├┼○┼┼┼┼┼┼ 7├┼┼┼┼┼┼┼┼ 8├┼┼┼┼┼┼┼┼ C言語でこういう碁盤表示させる関数だけ書いて開発終了した でるかコンピューター名人 囲碁に確率重視の「モンテカルロ法」 ttp://www.asahi.com/igo/topics/TKY200904080214.html ttp://gimpo.2ch.net/test/read.cgi/scienceplus/1260515613/ こんなスレが無くなったところで別に寂しくなんかないから保守なんてしない。 >315 :デフォルトの名無しさん:2009/02/12(木) 18:34:06 アホスwww 5路盤て完全解析されたんだね 159 名前:名無し名人[sage] 投稿日:2012/02/10(金) 05:47:57.49 ID:BUw+wAAO 完全解析をするには従来の探索手法の他に、 数学的証明によって探索する必要の無い局面や手の相当なパターンが発見されないとな 囲碁ではベンソンが発明したアルゴリズムによって必要な探索局面数を大幅に削減し、完全解析を可能にした 5路盤の bensonのアルゴリズムってこれかな? 全然理解できねえw http://www.fides.dti.ne.jp/ ~oka-t/benson-algorithm.html >>568 難解すぎるw 要は「何回パスしても取れない石は無条件活」てことかな? 昔囲碁の思考ルーチンをjavaで書いたんだけど、盤面認識と役に立たないαβ法で終了したな zenが最近頑張ってるし、俺もまた書いてみるかな 機械学習勉強したから、今度はマルコフ連鎖モンテカルロ法入れた方法でgnugo倒す!! 囲碁の論文ってどこでダウンロード出来るんですか? 有料しかないですか? 第二種超伝導体において、外部磁場が臨界磁場Hc1とHc2の間にあるときに起こる。 >>576 その質問をそのまま Google にぶち込むだけで解決するのに、よりによって 2ch で質問するから罵倒されるんだぞ? 恥知らずめ。 GTPを使う思考エンジンを作る時は GNU Goがリファレンス実装だから参考に 記譜再生アプリがjavaアプレットばっかりだけど 正直今更javaとか使えないよね そっち系の話はどっかでやってる? fuegoをubuntu 13.10でコンパイルすると、 /usr/bin/ld: ../smartgame/libfuego_smartgame.a(libfuego_smartgame_a-SgUctSearch.o): シンボル 'pthread_mutexattr_settype@@GLIBC_2.2.5' への未定義参照です というエラーが出て終了してしまう。 どうも、 -lpthread が認識されていないようだ。 Makefileに、片端から LIBS= -lpthread をいれたら fuegomainフォルダーのMakefile に LIBS= -lpthread としたら コンパイルが通った。 正式には、どこを修正すれば良かったのでしょうか。 囲碁は盤が広すぎていやになる。 あれどうやって管理すんの? 二次元配列? ★2ch勢いランキングサイトリスト★ ◎ +ニュース ・ 2NN ・ 2chTimes ◎ +ニュース新着 ・ 2NN新着 ・ Headline BBY ◎ +ニュース他 ・ Desktop2ch ・ 記者別一覧 ◎ 全板 ・ 全板縦断勢いランキング ・ スレッドランキング総合ランキング ◎ 実況込み ・ 2勢 ・ READ2CH ・ i-ikioi ※ 要サイト名検索 >>109 余ってるPCとはMSX1とかでしょう? N次元囲碁 まず石で囲った2次元の地(面)を作る その面で囲った3次元の地(立体)を作る その立体で囲った4次元の地(超立体)を作る 以下、同様 とりあえず、みんなで九路盤でも打ってみない? ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼┼┼┼┼┼┼┤ 04├┼┼┼┼★┼┼┤ 05├┼┼┼┼┼┼┼┤ 06├┼┼┼┼┼┼┼┤ 07├┼┼┼┼┼┼┼┤ 08├┼┼┼┼┼┼┼┤ 09└┴┴┴┴┴┴┴┘ ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼┼┼┼┼┼┼┤ 04├┼┼┼┼★┼┼┤ 05├┼┼┼☆┼┼┼┤ 06├┼┼┼┼┼┼┼┤ 07├┼┼┼┼┼┼┼┤ 08├┼┼┼┼┼┼┼┤ 09└┴┴┴┴┴┴┴┘ ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼┼┼┼┼┼┼┤ 04├┼┼┼┼●┼┼┤ 05├┼┼┼○★┼┼┤ 06├┼┼┼┼┼┼┼┤ 07├┼┼┼┼┼┼┼┤ 08├┼┼┼┼┼┼┼┤ 09└┴┴┴┴┴┴┴┘ 出そうにないな ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼┼┼┼┼☆┼┤ 04├┼┼┼┼○┼┼┤ 05├┼┼┼○●┼┼┤ 06├┼┼┼┼┼┼┼┤ 07├┼┼┼┼┼┼┼┤ 08├┼┼┼┼┼┼┼┤ 09└┴┴┴┴┴┴┴┘ ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼┼┼┼┼○┼┤ 04├┼┼┼┼○┼┼┤ 05├┼┼●●●┼┼┤ 06├┼┼┼┼┼┼┼┤ 07├┼┼┼┼┼┼┼┤ 08├┼┼┼┼┼┼┼┤ 09└┴┴┴┴┴┴┴┘ ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼┼┼┼┼○┼┤ 04├┼┼┼┼○┼┼┤ 05├┼┼●●○┼┼┤ 06├┼┼┼┼☆┼┼┤ 07├┼┼┼┼┼┼┼┤ 08├┼┼┼┼┼┼┼┤ 09└┴┴┴┴┴┴┴┘ ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼┼┼┼┼○┼┤ 04├┼┼┼┼○┼┼┤ 05├┼┼●●●★┼┤ 06├┼┼┼┼○┼┼┤ 07├┼┼┼┼┼┼┼┤ 08├┼┼┼┼┼┼┼┤ 09└┴┴┴┴┴┴┴┘ ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼┼┼┼┼○┼┤ 04├┼┼┼┼○┼┼┤ 05├┼┼●○●●┼┤ 06├┼┼☆┼○┼┼┤ 07├┼┼┼┼┼┼┼┤ 08├┼┼┼┼┼┼┼┤ 09└┴┴┴┴┴┴┴┘ ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼┼┼┼┼○┼┤ 04├┼┼┼┼○┼┼┤ 05├┼┼●○●●┼┤ 06├┼┼○┼●┼┼┤ 07├┼┼┼┼★┼┼┤ 08├┼┼┼┼┼┼┼┤ 09└┴┴┴┴┴┴┴┘ ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼┼┼┼┼○┼┤ 04├┼┼┼┼○┼┼┤ 05├┼┼●○○●┼┤ 06├┼┼○┼○┼┼┤ 07├┼┼┼┼○┼┼┤ 08├┼┼┼┼☆┼┼┤ 09└┴┴┴┴┴┴┴┘ ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼┼┼┼┼○┼┤ 04├┼┼┼┼○┼┼┤ 05├┼┼●○○●┼┤ 06├┼┼○┼○┼┼┤ 07├┼┼┼┼○┼┼┤ 08├┼┼┼┼○┼┼┤ 09└┴┴┴┴★┴┴┘ ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼┼┼┼┼○┼┤ 04├┼┼┼┼○┼┼┤ 05├┼☆○○○●┼┤ 06├┼┼○┼○┼┼┤ 07├┼┼┼┼○┼┼┤ 08├┼┼┼┼○┼┼┤ 09└┴┴┴┴●┴┴┘ ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼┼┼┼★○┼┤ 04├┼┼┼┼●┼┼┤ 05├┼○○○●●┼┤ 06├┼┼○┼●┼┼┤ 07├┼┼┼┼●┼┼┤ 08├┼┼┼┼●┼┼┤ 09└┴┴┴┴●┴┴┘ ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼┼┼☆○○┼┤ 04├┼┼┼┼●┼┼┤ 05├┼○○○●●┼┤ 06├┼┼○┼●┼┼┤ 07├┼┼┼┼●┼┼┤ 08├┼┼┼┼●┼┼┤ 09└┴┴┴┴●┴┴┘ ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼┼┼○○○┼┤ 04├┼┼┼┼●┼┼┤ 05├★●●●●●┼┤ 06├┼┼○┼●┼┼┤ 07├┼┼┼┼●┼┼┤ 08├┼┼┼┼●┼┼┤ 09└┴┴┴┴●┴┴┘ ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼┼┼○○○┼┤ 04├┼┼☆┼●┼┼┤ 05├●●○●●●┼┤ 06├┼┼○┼●┼┼┤ 07├┼┼┼┼●┼┼┤ 08├┼┼┼┼●┼┼┤ 09└┴┴┴┴●┴┴┘ ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼★┼○○○┼┤ 04├┼┼●┼●┼┼┤ 05├●●○●●●┼┤ 06├┼┼○┼●┼┼┤ 07├┼┼┼┼●┼┼┤ 08├┼┼┼┼●┼┼┤ 09└┴┴┴┴●┴┴┘ ※一二三四五六七八九 01┌┬┬┬┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼●☆○○○┼┤ 04├┼┼○┼●┼┼┤ 05├●●○●●●┼┤ 06├┼┼○┼●┼┼┤ 07├┼┼┼┼●┼┼┤ 08├┼┼┼┼●┼┼┤ 09└┴┴┴┴●┴┴┘ ※一二三四五六七八九 01┌┬┬★┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼●○○○○┼┤ 04├┼┼○┼●┼┼┤ 05├●●○●●●┼┤ 06├┼┼○┼●┼┼┤ 07├┼┼┼┼●┼┼┤ 08├┼┼┼┼●┼┼┤ 09└┴┴┴┴●┴┴┘ ※一二三四五六七八九 01┌┬┬●┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼●○○○○┼┤ 04├┼┼○┼●┼┼┤ 05☆○○○●●●┼┤ 06├┼┼○┼●┼┼┤ 07├┼┼┼┼●┼┼┤ 08├┼┼┼┼●┼┼┤ 09└┴┴┴┴●┴┴┘ ※一二三四五六七八九 01┌┬┬●┬┬┬┬┐ 02├┼┼┼┼┼┼┼┤ 03├┼●○○○○┼┤ 04├┼┼○┼●┼┼┤ 05○○○○●●●┼┤ 06├┼┼○┼●┼┼┤ 07├┼┼★┼●┼┼┤ 08├┼┼┼┼●┼┼┤ 09└┴┴┴┴●┴┴┘ ※一二三四五六七八九 01┌┬┬●┬┬┬┬┐ 02├┼┼☆┼┼┼┼┤ 03├┼●○○○○┼┤ 04├┼┼○┼●┼┼┤ 05○○○○●●●┼┤ 06├┼┼○┼●┼┼┤ 07├┼┼●┼●┼┼┤ 08├┼┼┼┼●┼┼┤ 09└┴┴┴┴●┴┴┘ ※一二三四五六七八九 01┌┬┬●★┬┬┬┐ 02├┼┼●┼┼┼┼┤ 03├┼●○○○○┼┤ 04├┼┼○┼●┼┼┤ 05○○○○●●●┼┤ 06├┼┼○┼●┼┼┤ 07├┼┼●┼●┼┼┤ 08├┼┼┼┼●┼┼┤ 09└┴┴┴┴●┴┴┘ ※一二三四五六七八九 01┌┬┬●●┬┬┬┐ 02├┼┼●┼┼┼┼┤ 03├┼●○○○○┼┤ 04├┼┼○┼●┼┼┤ 05○○○○○○○☆┤ 06├┼┼○┼●┼┼┤ 07├┼┼●┼●┼┼┤ 08├┼┼┼┼●┼┼┤ 09└┴┴┴┴●┴┴┘ ※一二三四五六七八九 01┌┬┬●●┬┬┬┐ 02├┼┼●┼┼┼┼┤ 03├┼●○○○○┼┤ 04├┼┼○┼●┼┼┤ 05○○○○●○○☆┤ 06├┼┼●┼●┼┼┤ 07├┼★●┼●┼┼┤ 08├┼┼┼┼●┼┼┤ 09└┴┴┴┴●┴┴┘ ※一二三四五六七八九 01┌┬┬●●┬┬┬┐ 02├┼┼●┼┼┼┼┤ 03├┼●○○○○┼┤ 04├┼┼○┼●┼┼┤ 05○○○○●○○○☆ 06├┼┼●┼●┼┼┤ 07├┼●●┼●┼┼┤ 08├┼┼┼┼●┼┼┤ 09└┴┴┴┴●┴┴┘ ※一二三四五六七八九 01┌┬┬●●┬┬┬┐ 02├┼┼●┼┼┼┼┤ 03├┼●○○○○┼┤ 04├┼┼○┼●★┼┤ 05○○○○●○○○○ 06├┼┼●┼●┼┼┤ 07├┼●●┼●┼┼┤ 08├┼┼┼┼●┼┼┤ 09└┴┴┴┴●┴┴┘ ※一二三四五六七八九 01┌┬┬●●┬┬┬┐ 02├┼┼●┼┼┼┼┤ 03├┼●○○○○┼┤ 04├┼┼○┼●●┼┤ 05○○○○●○○○○ 06├┼┼●┼●┼┼┤ 07├┼●●┼●┼┼┤ 08├┼┼┼┼●┼┼┤ 09☆┴┴┴┴●┴┴┘ 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 JJ4K2 DeepZeroとかあるんだからもっと盛り上がって行こうぜ! もう人間は相手にならないww ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる