探検
俺主催囲碁プログラミングコンテスト
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
NGNG 俺に勝てたら、賞金が出ます
177デフォルトの名無しさん
NGNG あたりの時に逃げるのは簡単だろ
一番問題って・・・
問題なんていっぱいあるよ
一番問題って・・・
問題なんていっぱいあるよ
178デフォルトの名無しさん
NGNG あたりを逃げるのは>>136の13行プログラムでも簡単に実現してるよ。
179デフォルトの名無しさん
NGNG 13行ってすごいな
180デフォルトの名無しさん
NGNG うちのゲームは3間とびをやっても間を切って来ないから余裕で地を稼げる。
あと、当てさせといて、取ってる間に大模様をつくると勝てる。
あと、当てさせといて、取ってる間に大模様をつくると勝てる。
181デフォルトの名無しさん
NGNG αβ枝かりって、囲碁でもできるの?
コードまで書けちゃう人いる?
複雑すぎてわけわかめ
コードまで書けちゃう人いる?
複雑すぎてわけわかめ
182デフォルトの名無しさん
NGNG そりゃできますがな。
そりゃいるでしょー。
複雑なのは同意だけど。
そりゃいるでしょー。
複雑なのは同意だけど。
183デフォルトの名無しさん
NGNG 別にアルファベータじゃなくても
min-maxが作れりゃ、
ちょっと改造するだけでしょ。
でも、評価関数が難しいし
終盤じゃ評価関数なんて作れなさそうだ。
min-maxが作れりゃ、
ちょっと改造するだけでしょ。
でも、評価関数が難しいし
終盤じゃ評価関数なんて作れなさそうだ。
184デフォルトの名無しさん
NGNG 終盤はベンソンの絶対生きアルゴリズムで簡単に作れる、
とか書いてみるテスト
Benson による無条件活きの定式化とアルゴリズム
http://www.fides.dti.ne.jp/~oka-t/benson-algorithm.html
とか書いてみるテスト
Benson による無条件活きの定式化とアルゴリズム
http://www.fides.dti.ne.jp/~oka-t/benson-algorithm.html
185デフォルトの名無しさん
NGNG 難しくて意味わからない
186デフォルトの名無しさん
NGNG どっかの大学の卒論検索せー。囲碁の評価関数etc.
187デフォルトの名無しさん
NGNG ネットで探せるか?
188デフォルトの名無しさん
NGNG189デフォルトの名無しさん
NGNG 公開されてるの定石データってあるの?
190デフォルトの名無しさん
NGNG191デフォルトの名無しさん
NGNG 参加したいけど4万って高すぎる
192デフォルトの名無しさん
NGNG 僕は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?というのは全く理解できません
面倒をお掛けしますがどなたかこれらの質問の答えをください、おねがいします
疑問があります。誰か教えてください
#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?というのは全く理解できません
面倒をお掛けしますがどなたかこれらの質問の答えをください、おねがいします
193デフォルトの名無しさん
NGNG >>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を買え。
すれ違い。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を買え。
194プロの逝って良しの1 ◆MvRbZL6NeQ
NGNG 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でなければ真」
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でなければ真」
195デフォルトの名無しさん
NGNG 193さん、194さん親切なレスありがとうございます
またかなりのスレ違い申し訳ありませんでした
またかなりのスレ違い申し訳ありませんでした
196デフォルトの名無しさん
NGNG197デフォルトの名無しさん
NGNG198デフォルトの名無しさん
NGNG199197
NGNG 198のリンク先面白いね。
笑ってしまった。
おまえら釣られすぎと。
2chのレベルが高いと思ってる時点でアイタタタだね。
最初に高圧的に話を進めて行った奴は頭いいよ。
たぶん最後まで煽り誘導で持っていってると思われ。
結局のところ、奴と同レベルで話できる奴はいなかった事を
悟って消えていったんだろうね。
俺もあの話に参加したかったよ。
レポートは面白いものがあれば。
というか、どういうのに興味があるの?
笑ってしまった。
おまえら釣られすぎと。
2chのレベルが高いと思ってる時点でアイタタタだね。
最初に高圧的に話を進めて行った奴は頭いいよ。
たぶん最後まで煽り誘導で持っていってると思われ。
結局のところ、奴と同レベルで話できる奴はいなかった事を
悟って消えていったんだろうね。
俺もあの話に参加したかったよ。
レポートは面白いものがあれば。
というか、どういうのに興味があるの?
200デフォルトの名無しさん
NGNG201197
NGNG >2chでの優劣を競ってどうするんだ(藁
確かにそうだった。
首つって・・・
論理展開が確かにディベートっぽいね。
確かにそうだった。
首つって・・・
論理展開が確かにディベートっぽいね。
202デフォルトの名無しさん
NGNG >>199
あれのどこが頭いいんだ?
稀にああいうやついるけど、まともなレスが帰ってくるわけがない。
自分は実力があるということを示すためにむきになって
教えるようなバカいないだろうし。
何のアドバイスが欲しいのかさえ全く書いてないし。
ところで、本人なの?
あれのどこが頭いいんだ?
稀にああいうやついるけど、まともなレスが帰ってくるわけがない。
自分は実力があるということを示すためにむきになって
教えるようなバカいないだろうし。
何のアドバイスが欲しいのかさえ全く書いてないし。
ところで、本人なの?
203デフォルトの名無しさん
NGNG そのスレの1、人間を相手にしたことないみたいだけど それで初段って・・
204デフォルトの名無しさん
NGNG >>199
>レポートは面白いものがあれば。
>というか、どういうのに興味があるの?
単純に、「強い囲碁プログラムの作り方」が知りたいだけです。
自已学習させる仕組みなんかも面白いのがあれば。
逆に、認知科学的アプローチみたいのにはあまり興味はない。
時間があればオレも行きたいんだけどねー。
自分でも作りかけたことがあるんだけど、連の認定と呼吸点の
検出までやって、放ったらかしになってる (w
>レポートは面白いものがあれば。
>というか、どういうのに興味があるの?
単純に、「強い囲碁プログラムの作り方」が知りたいだけです。
自已学習させる仕組みなんかも面白いのがあれば。
逆に、認知科学的アプローチみたいのにはあまり興味はない。
時間があればオレも行きたいんだけどねー。
自分でも作りかけたことがあるんだけど、連の認定と呼吸点の
検出までやって、放ったらかしになってる (w
205197
NGNG206デフォルトの名無しさん
NGNG >>197
おまえ、ほんと……ごるごるもあ並に痛いな。
おまえ、ほんと……ごるごるもあ並に痛いな。
207デフォルトの名無しさん
NGNG 202=206は
あのスレで釣られて、論破されたかわいそうな厨房でした(プ
粘着君の反応が楽しみ。
あのスレで釣られて、論破されたかわいそうな厨房でした(プ
粘着君の反応が楽しみ。
208デフォルトの名無しさん
NGNG209デフォルトの名無しさん
NGNG >>205
そんなに頭いいのなら、IPDくらい知ってるよな?
そんなに頭いいのなら、IPDくらい知ってるよな?
210デフォルトの名無しさん
NGNG >>209
頭がいいのと知識があるのとは別
頭がいいのと知識があるのとは別
212デフォルトの名無しさん
NGNG IPDだって(ププ
理系についていけなくて、
文転した人ですか?
マジな話、研究者みてるとかわいそうになってくるよ。
数式化した結果わかった事が、IPDなんて研究対象になりません
だもんな。
複雑系専門の人に言わせると、単純化しすぎとの事。
心理学の人に言わせると、複雑化しすぎとの事。
ようするに、ミクロな系とマクロな系の
中間で物事をみてしまったために(略
理系についていけなくて、
文転した人ですか?
マジな話、研究者みてるとかわいそうになってくるよ。
数式化した結果わかった事が、IPDなんて研究対象になりません
だもんな。
複雑系専門の人に言わせると、単純化しすぎとの事。
心理学の人に言わせると、複雑化しすぎとの事。
ようするに、ミクロな系とマクロな系の
中間で物事をみてしまったために(略
213202
NGNG214デフォルトの名無しさん
NGNG215デフォルトの名無しさん
NGNG ニューラルネットって専門的だよな。
俺には未知の世界
俺には未知の世界
216202
NGNG >>215
別にメール欄に書かなくてもいいんじゃないの?
囲碁は知らないけど、全く興味がないわけではないよ。
囲碁を知らないからこのスレを見てはいけないというわけではないし。
スレタイを見て、何か面白いプログラムがあったりするかなとか思っただけだから。
別にメール欄に書かなくてもいいんじゃないの?
囲碁は知らないけど、全く興味がないわけではないよ。
囲碁を知らないからこのスレを見てはいけないというわけではないし。
スレタイを見て、何か面白いプログラムがあったりするかなとか思っただけだから。
217デフォルトの名無しさん
NGNG218デフォルトの名無しさん
NGNG219デフォルトの名無しさん
NGNG220ikuoに「変な奴」いわれましたけど
NGNG ikuo タンか shigekiタン て、それ目指してなかったっけ
221ikuoに「変な奴」いわれましたけど
NGNG toshioタンも囲碁好きだったとか聞いたな
222207
NGNG223202
NGNG224デフォルトの名無しさん
NGNG225デフォルトの名無しさん
NGNG 誰も専門的なことを話してないのに、どうやって知識の差なんてわかるんだ?
226デフォルトの名無しさん
NGNG 厨房晒しageして面白いか?
227202
NGNG228デフォルトの名無しさん
NGNG なんだ202がアホなんだね
俺、鈍感だったな(w
俺、鈍感だったな(w
229202
NGNG >>228
オウム返ししかできないの?
オウム返ししかできないの?
230デフォルトの名無しさん
NGNG 煽りにマジレスですか?
論破された厨房は粘着ですた、と。
論破された厨房は粘着ですた、と。
231デフォルトの名無しさん
NGNG >文面からして本人なのがミエミエなんだけど。
本人って誰?
本人って誰?
232202
NGNG >>230
それは煽ってるの?
それは煽ってるの?
233202
NGNG >>231
あのスレの164
あのスレの164
234デフォルトの名無しさん
NGNG 反応はや(藁
235デフォルトの名無しさん
NGNG なんで202は164にコンプレックス持ってるんだ?
236デフォルトの名無しさん
NGNG 論破(プ
237デフォルトの名無しさん
NGNG ネタにマジレスカコワルイ
238202
NGNG >>234
テレビと実況スレ見ながら、ちょくちょくこのスレを確認しているから(w
テレビと実況スレ見ながら、ちょくちょくこのスレを確認しているから(w
239202
NGNG240202
NGNG >>237
なんだかんだいって、楽しんでいる面もあるし
なんだかんだいって、楽しんでいる面もあるし
241デフォルトの名無しさん
NGNG 別に論破されたっていいじゃん>202
次回勝てばいいんだよ。
って、ココ何のスレ?
次回勝てばいいんだよ。
って、ココ何のスレ?
242デフォルトの名無しさん
NGNG >そう思っているんならはっきりと言ってくれればいいのに。
言語障害?
言語障害?
243202
NGNG >>241
囲碁プログラミングスレらしいけど(w
囲碁プログラミングスレらしいけど(w
244202
NGNG >>242
どうして?
どうして?
245デフォルトの名無しさん
NGNG 糞スレあげるなバカ
247デフォルトの名無しさん
NGNG おまえバカだろ?
どう読んでも、失礼な態度でせまって行ったのは
お前だと思うが。
最後に囲碁わかりませんと、ネタか?
なんでそんなに反応してるんだ?
やっぱり、コンプレックスか論破なのか?
どう読んでも、失礼な態度でせまって行ったのは
お前だと思うが。
最後に囲碁わかりませんと、ネタか?
なんでそんなに反応してるんだ?
やっぱり、コンプレックスか論破なのか?
249デフォルトの名無しさん
NGNG コンプレックスアゲ
250デフォルトの名無しさん
NGNG 202あげ
251デフォルトの名無しさん
NGNG だれか囲碁作ってみてよ
252デフォルトの名無しさん
NGNG 保守
253プロの逝って良しの1 ◆MvRbZL6NeQ
NGNG 評価関数難し過ぎ
254デフォルトの名無しさん
NGNG 難しいというより、無理
255デフォルトの名無しさん
NGNG ようするに手を全部データベース化して1手づつ検索かければ必勝なんだろ。
全部の手をデータベースにすんのって何バイト必要なんだろ?
20*20*〜〜〜〜〜〜???わかんね
全部の手をデータベースにすんのって何バイト必要なんだろ?
20*20*〜〜〜〜〜〜???わかんね
256デフォルトの名無しさん
NGNG 3^(19*19) > 2^400 = 1024^390 > 10^(3*390)
単純計算すると
0が1000個くらいつくのかな?
単純計算すると
0が1000個くらいつくのかな?
257デフォルトの名無しさん
NGNG 囲碁ってルールの実装がめちゃムズ
コウが組み込めない。
コウが組み込めない。
258デフォルトの名無しさん
NGNG コウ:その手でバンメンが前と同じになったら打てない。
簡単そうだが。
簡単そうだが。
259デフォルトの名無しさん
NGNG 全部記録しておけばいいの?
それって非効率的な気がして。
それって非効率的な気がして。
260デフォルトの名無しさん
NGNG 石を置いた付近に限定して記憶すればいいのでは?
261デフォルトの名無しさん
NGNG 置いた石から上下左右一目の石の配置を記憶。
262minikat
NGNG コウは日本ルールとスーパーコウルールなら読む深さが違うし、
スピードアップにどんなアルゴリズムを使うかで議論があるでしょう。
AI囲碁のDavid Fotlandはシンプルコウルール判断(日本/韓国?)で充分といっていますが。
普通はHashで保存した局面をさかのぼり同一局面をチェックかな?
場所とか1個取ったとかの条件判断はこんがらがりますね。
スピードアップにどんなアルゴリズムを使うかで議論があるでしょう。
AI囲碁のDavid Fotlandはシンプルコウルール判断(日本/韓国?)で充分といっていますが。
普通はHashで保存した局面をさかのぼり同一局面をチェックかな?
場所とか1個取ったとかの条件判断はこんがらがりますね。
263デフォルトの名無しさん
NGNG >>262
ハッシュ関数はどんなのを使えばいいの?
ハッシュ関数はどんなのを使えばいいの?
264デフォルトの名無しさん
NGNG スピードアップにどんな意味があるんだろうか・・・・
265デフォルトの名無しさん
NGNG CPUの思考速度。
266デフォルトの名無しさん
NGNG 評価関数+αβ探索だけでやっても
ほとんど何も上手くいかない・・・
なんで?
評価関数がダメなのかな。
ほとんど何も上手くいかない・・・
なんで?
評価関数がダメなのかな。
267デフォルトの名無しさん
NGNG 日本ルールに限定するなら、
抜いた石が一個の時にコウフラグを立てて位置を記憶すればいいのでは。
抜いた石が一個の時にコウフラグを立てて位置を記憶すればいいのでは。
268デフォルトの名無しさん
NGNG 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
との事。
との事。
269デフォルトの名無しさん
NGNG 1.最初にランダム数(32ビットか64ビット)を決め、着手(整数)とXOR
で次局面、戻るにはまたXORで戻る。チェスプログラマーの良くやる手です。
コウフラグ等よりも早いでしょう。コンピュータ囲碁の初期にZobristが
提唱しました。英文が各所にあります。検索はzobrisy keyで。
ただし、私は使っていませんが。
局所的にαβ探索、例えば詰め碁をやれば1命令でも早くしたいものです。
局面記憶もXORで簡単ですね。グラフィックの重ね合わせと同じでしょう。
私も10数年ぶりに囲碁プログラム再開しましたのでよろしく。
で次局面、戻るにはまたXORで戻る。チェスプログラマーの良くやる手です。
コウフラグ等よりも早いでしょう。コンピュータ囲碁の初期にZobristが
提唱しました。英文が各所にあります。検索はzobrisy keyで。
ただし、私は使っていませんが。
局所的にαβ探索、例えば詰め碁をやれば1命令でも早くしたいものです。
局面記憶もXORで簡単ですね。グラフィックの重ね合わせと同じでしょう。
私も10数年ぶりに囲碁プログラム再開しましたのでよろしく。
270minikat
NGNG 269です。書き忘れましたが、5*5は完全読みで黒25目勝ちが読みきれたそうです。
次は7*7か?もちろん枝はうまく刈りますが。
次は7*7か?もちろん枝はうまく刈りますが。
271minikat
NGNG すみません。タイプミスです。
Zobristが正解。
Zobristが正解。
272デフォルトの名無しさん
NGNG >>269
なんかできそうな、できなさそうな。
少し考えないと理解できなさそうです。
何も打たれていない状態のハッシュコードをSとして、
次局面のハッシュコードS'を、打たれた手をAとして
S' = S xor A
とするわけですね。
でも、石の配置が同じ局面でも
異なったハッシュコードを持ちそうな気がするのですが、
どうでしょうか?
石が一度も取られなければ、
S→A→S'→A'→S''
S''=S xor A xor A'=S xor A' xor A
という事は理解できますが。
なんかできそうな、できなさそうな。
少し考えないと理解できなさそうです。
何も打たれていない状態のハッシュコードをSとして、
次局面のハッシュコードS'を、打たれた手をAとして
S' = S xor A
とするわけですね。
でも、石の配置が同じ局面でも
異なったハッシュコードを持ちそうな気がするのですが、
どうでしょうか?
石が一度も取られなければ、
S→A→S'→A'→S''
S''=S xor A xor A'=S xor A' xor A
という事は理解できますが。
273minikat
NGNG 自分は使っていないが、コードの衝突は起こらないはず。
同一ゲームなら同じコードになります。あくまでそのゲーム
のチェック用ということで、新たなゲームでは最初の乱数が違うから
コードももちろん違う。3コウでも6手さかのぼるだけかな?
とにかくコウの場所、フラグ等は先読みからの手戻りで単純化できないから
不利と思います。
ボクもルールは自殺手などややこしいので日本ルールのみ考えています。
それから配列は1次元がたやすいですね。
同一ゲームなら同じコードになります。あくまでそのゲーム
のチェック用ということで、新たなゲームでは最初の乱数が違うから
コードももちろん違う。3コウでも6手さかのぼるだけかな?
とにかくコウの場所、フラグ等は先読みからの手戻りで単純化できないから
不利と思います。
ボクもルールは自殺手などややこしいので日本ルールのみ考えています。
それから配列は1次元がたやすいですね。
274デフォルトの名無しさん
NGNG >>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の部分は工夫して作らないとだめだけど。
とりあえず勘違いしてるかも。
そのやり方で作るのはハッシュコード。
使い方は、
ある時点までの局面をすべて保存しておく際に
ハッシュコードで区別しながら保存する。
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の部分は工夫して作らないとだめだけど。
275minikat
NGNG コードと書いてあるので別に勘違いはしていません、と思います。
その後比較するのは当然。焦点はコードの出し方。
テーブルの保存方法やルールで後戻りが違ってくるのはプログラムで
変わる。言いたいのは別にXOR使わなくても局面を表現できる
整数値が違えばいいということ。もっといい方法があるかもね。
自分も最初は1個取ったとか場所がどうとか考えたがこれが最速で
簡単。自分はパターン照合の関係でつかっていない。
XORといえば 手番=手番 XOR 3ででる。黒1白2の場合。
手番=3−手番でも可だが。
もっといろいろ話しましょう。
その後比較するのは当然。焦点はコードの出し方。
テーブルの保存方法やルールで後戻りが違ってくるのはプログラムで
変わる。言いたいのは別にXOR使わなくても局面を表現できる
整数値が違えばいいということ。もっといい方法があるかもね。
自分も最初は1個取ったとか場所がどうとか考えたがこれが最速で
簡単。自分はパターン照合の関係でつかっていない。
XORといえば 手番=手番 XOR 3ででる。黒1白2の場合。
手番=3−手番でも可だが。
もっといろいろ話しましょう。
276minikat
NGNG 追加です。
274のコ−ドで気が付いたがgetHashcodeは盤面を全走査
していますが、現局面と現着手のXORだけでいいのでは?
最初に配列の位置に乱数を割り当てて1手(位置、石)のみXORをとる。
もう一度着手(位置、石)XORで前局面に戻る。
アゲ石処理でXOR消去はもちろん必要だが。XOR 1命令で再走査がいらないところに
値打ちがあるように思います。
コード書いていないだけに間違っていたらスマン。
274のコ−ドで気が付いたがgetHashcodeは盤面を全走査
していますが、現局面と現着手のXORだけでいいのでは?
最初に配列の位置に乱数を割り当てて1手(位置、石)のみXORをとる。
もう一度着手(位置、石)XORで前局面に戻る。
アゲ石処理でXOR消去はもちろん必要だが。XOR 1命令で再走査がいらないところに
値打ちがあるように思います。
コード書いていないだけに間違っていたらスマン。
277デフォルトの名無しさん
NGNG >コードと書いてあるので別に勘違いはしていません、と思います。
了解
>>274のコ−ドで気が付いたがgetHashcodeは盤面を全走査
結局のところは全走査する事で実現できる=手順によらない
という事を言いたかった。
実際は、
すべての局面を記録していくわけだけど、
その際、同時にhashcodeを生成してしまえばいいわけだよね。
石がとられたら、その分もxorで。
自分のは今のところ速度にこだわっていないので
これを実装するかどうかは未定かな。
今、考えてる事は、
探索の打ち切りとか、もっと深く読むとか。
了解
>>274のコ−ドで気が付いたがgetHashcodeは盤面を全走査
結局のところは全走査する事で実現できる=手順によらない
という事を言いたかった。
実際は、
すべての局面を記録していくわけだけど、
その際、同時にhashcodeを生成してしまえばいいわけだよね。
石がとられたら、その分もxorで。
自分のは今のところ速度にこだわっていないので
これを実装するかどうかは未定かな。
今、考えてる事は、
探索の打ち切りとか、もっと深く読むとか。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- サナエノミクスについて力説 積極的な財政出動で「所得増える 消費マインド上がる 税収増える」片山さつき財務大臣 ★3 [少考さん★]
- 中国軍機のレーダー照射1週間 駆け引き続く 中国、米のレッドライン模索 日本、米以外の同志国とも連携探る 米は対立から距離置く★2 [ぐれ★]
- 鈴木農相「おこめ券はお米しか買えないわけではない。例えば卵、味噌、しょうゆ、こうした購入に利用可能」 ★4 [Hitzeschleier★]
- 【芸能】粗品、日本テレビに苦言 客のレベルが「かなり低い。あいつら分かってない」「拍手したいだけやねん」 [冬月記者★]
- 橋下徹氏「総理なら岡田さんに何を聴かれても耐えてほしかった」 高市首相の台湾有事めぐる答弁に# [jinjin★]
- 「ヒートテックに寿命があります」ユニクロが明かした“3年劣化”の理由 暖かさが落ちる意外な原因とは [ぐれ★]
- お前らもちろんマモンキングやってるよな?
- 助けて!!地元でテレビ番組の超絶美人のアナウンサーさんが退社した。゚(゚´Д`゚)゚。
- (´・ω・`)VIPにおける現在確認している不具合について
- 吉田死ね
- ( ´・ω・` )起きたよ
- 国内生産制限・輸入制限(関税)頭おかしい。 [929852992]
