[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 02/02 10:04 / Filesize : 194 KB / Number-of Response : 920
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

おまいら最強のリバーシプログラムしてみろよ part2



1 名前:デフォルトの名無しさん [2007/01/22(月) 06:13:18 ]
まずBearRevのDLLを作る
そして世界最強っぽいリバーシプログラムWZebraを倒すスレ
期間は三ヶ月以内で頼む
どんどんアイデアとプログラムを頼む

本格的リバーシ BearRev
www.vector.co.jp/games/soft/dl/win95/game/se098822.html

最強っぽいリバーシプログラムWZebra
www.radagast.se/othello/download.html

姉妹スレ おまいら最強の将棋プログラムしてみろよ part5
pc8.2ch.net/test/read.cgi/tech/1109307327/l50

422 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 02:40:01 ]
>>406
小学生が冬休みの宿題として作ってもここまでひどいソースは書かないと思うんだが。

1が何者なのかが気になって眠れない。

423 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 02:42:47 ]
1画面分だけ見たけど
#define aa 256
#define bb 1024
#define cc 1500
これとか

424 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 02:55:01 ]
>>1
MPCの論文読んだ?

425 名前:1 [2007/01/29(月) 06:03:15 ]
まだ読んでません
英語を勉強してから読みます
日本語の論文は無いですかね?

426 名前:1 [2007/01/29(月) 10:13:56 ]
あと、数式とかよくわからないんですが
どこか数式の見方とか載ってるサイト教えてください

427 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 11:31:24 ]
英語も数式も読めない奴が論文出したいとか、どういうお花畑よ?

428 名前:デフォルトの名無しさん [2007/01/29(月) 12:07:29 ]
さすがに偽者だろwww数学科でてるとかいう話が本当ならなww

429 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 12:41:16 ]
僕は はかせ〜 ってロリキャラに言われたいがために博士号取りましたよ

430 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 13:12:41 ]
博士号持ってる人に はかせ〜 って声掛ける人はめったにいない件



431 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 15:08:55 ]
院卒(数学)が数式読めないなんて、だめだこりゃ&舞台総崩れもんだ

432 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:36:37 ]
>>425
日本語のもあるけどオリジナルを読むほうがいいんじゃない?

433 名前:1 [2007/01/29(月) 19:31:24 ]
浅く読んで深く読む(MPC)っていうのは初めから使わないっていってるだろ?
四手浅く読むのに使う手間を、無くせば四倍の局面が読める

434 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 19:38:48 ]
自分がどんな変な事を言ってるのかも
わからんのか

435 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 19:41:53 ]
>>433
偽者だろ?

436 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 19:50:00 ]
偽物は最後に「こうですか?わかりません><」って書いてくれ

437 名前:1 [2007/01/29(月) 19:58:39 ]
そんな事を偽者に期待するなよ




こうですか?わかりません><

438 名前:1 [2007/01/29(月) 19:58:55 ]
425と426は偽で初めからMPCは使わないのが本物

439 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 20:01:39 ]
英語も読めないのか
もっと勉強しろよ

440 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 20:04:29 ]
>>433
MPCを理解してない証拠



441 名前:1 [2007/01/29(月) 20:09:57 ]
選択的探索(前向き枝刈り)

今日における最強のオセロプログラムはすべて、何らかの形で選択的探索を行っている。
ほとんどの局面で、明らかな悪手が多数存在し、それらは悪手であることが確認できるだけ読めば十分である。
深さ12の探索(12手読み)を行うとき、プログラムは深さ4まではすべての可能な手を評価した上で、
本当に悪いと思われる手を排除する。残った手を深さ12まで探索する。
この手続きは Multi Prob-Cut (Michael Buro の考案)と呼ばれ、
上記の例は「カットペア 4/12」になる。もちろん他のカットペアを使うこともでき、
多くのプログラムは複数のカットペアを使っている。

www.amy.hi-ho.ne.jp/okuhara/howtoj.htm

442 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 20:12:21 ]
ほら、四倍の局面が読めるなんて書いてないし導かれもしないでしょ。

443 名前:1 [2007/01/29(月) 20:25:43 ]
>>442
一手進むごとに、毎回、浅い読みをしなければ深く読めるんだよ

444 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 20:27:54 ]
その文章は概要を知るにはいいかもしらんけど
端折りすぎてて実装するには情報が全く不十分なんだよね
勝手に脳内補完して勘違いしてる人も実際いるし

445 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 20:29:11 ]
深さ4なだけで4倍じゃないだろ。
もっと80倍ぐらいじゃないか?

446 名前:1 [2007/01/29(月) 20:29:37 ]
>>444
だから実装はしないんだってば

447 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 20:31:10 ]
実装できるくらいの知識が無いから勘違いしてるんだってば

448 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 20:44:21 ]
>>446
しないじゃなくてできないと言う方が正確だな.

449 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 21:00:58 ]
Buroの論文読んでいないor読めないんでしょ?

450 名前:デフォルトの名無しさん [2007/01/29(月) 23:18:07 ]
概念とか、考えがわかれば高校生でも英語の論文読めるよね。



451 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 13:15:23 ]
>>1
読むのにかかる時間をきちんと(定量的に)計算すればどっちが得か分かるはず

452 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 16:24:05 ]
もっとも確立されている理論に
攻撃の的を絞りたいという強迫観念があるらしい

453 名前:1 [2007/01/30(火) 16:51:09 ]
同一局面のハッシュ値が変わってしまうんだけどわかりますか?
未だに読みにくくてすみません
開発だけはしてますよっていううpのため、デバックや改良してもらう事をのぞんで
いる(いた)わけではかったんです
しかし、わからないのでうpします

454 名前:1 [2007/01/30(火) 16:51:44 ]
肝心のアドレス書き忘れた
ここです
up2moe.moe.hm/img/q546.txt

455 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 17:01:11 ]
そんなもの誰も読まないよ

456 名前:1 [2007/01/30(火) 17:01:37 ]
221行目からの部分です(不要な部分は省略しました)
なぜでしょうか?

z=te[5*x+3+cn]; //指し手34番が入力される

situ(); //取れるコマを出す

hmove(); //次局面のハッシュ値を計算する

adress(); //次局面のアドレスをpにセットする

if(z==34){fn(s);printf("ハッシュ値=%d 指し手=%d 深さ=%d %f\n",p,z,u,kar[u+1]);} 
//ここで毎回アドレスが変わってしまいます

457 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 17:04:39 ]
正しいつづりはaddressね
恥ずかしい間違い多いね

458 名前:デフォルトの名無しさん [2007/01/30(火) 17:06:36 ]
助けてほしいならそれなりのお願いの仕方あるんじゃないの?
相変わらずコメントは入ってないし、変数名も意味不明。
お前が何を考えているかみんなわかっているような聞き方だけど、
そのソースを読んでやりたいことを理解して、その上で丁寧なアドバイスをしてくれるような
物好きはいないと思うよ。

とりあえずadress();消してみればいいんじゃね?

459 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 17:09:07 ]
>>456みたくソースにもコメントつけてくれ

460 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 17:12:39 ]
みんなに自分の考えを伝える気が無いなら延々と一人でデバッグしとけば?



461 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 17:15:46 ]
とりあえずaddress();消してみてるに100ペソ

462 名前:1 [2007/01/30(火) 17:19:59 ]
自己解決するしかないか...
コメントつけたとしても、それで伝わるとは限らないんですよ
全体をまんべんなく伝えきらなければ伝わらないと思うんです

463 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 17:21:35 ]
試しもしないで何適当な事言ってんだか
人に伝えるのがそんなに面倒か?

464 名前:1 [2007/01/30(火) 17:22:32 ]
mt()ルーチンにだけコメントつけてみますね
ちょっとまってて下さい

465 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 17:23:13 ]
伝わるとは限らないが、コメントはつけろ
まずはそれからだ

466 名前:デフォルトの名無しさん [2007/01/30(火) 17:29:40 ]
コメントをつけると伝わる可能性がちょっとは増えると思うけどな。
と言っても3%くらいだけど。

まずはハッシュの計算以外の関数をコメントアウトしろ。
それでハッシュ値が正しかったら、コメントアウトしたとこに原因がある。
徐々にコメントアウトを解除していって、絞り込んでいけ。

467 名前:1 [2007/01/30(火) 17:31:02 ]
void mt(){
BB:  //ラベル
s=t+u; // s = 現在の指し手 + 読みの深さ
x=ad[s]; // 読み位置のアドレス
if(te[5*x]<=128){z=64;te_add();} //手が壊れいたら新規に登録
tu=te[5*x+3]; //指し手の記録総数

if(tu==0){  指し手が0ならば
if(td==1){ ・・・ }  2度指し手が0なら勝敗を記録
else{ ・・・ } 1度指し手が0ならパスで指し進める
}

cn=te[5*x]&63; //現在の手の読み位置
z=te[5*x+3+cn]; //現在の手
situ(); //取れるコマを出す

if(sit[0]==masu[s][ch(F)]){ ・・・ } //すべてのコマが取れるなら勝敗を記録

if((masu[s][0]+masu[s][1])>=63){ ・・・ } //残りのマスが1つだけなら勝敗を記録

if(ha[u]==1){ ・・・ } //手を戻してやってきたとき
hmove();adress(); //手を進めてやってきたとき

FF:;
if(te_deteru)w=tu-1; else w=tu+3; //現局面の手がすべて出ているとき
kar[u+1]=kar[u]+rt[w][cn-1]; //確率の計算(対数を使う)
if((kar[u+1]<0) && (kar[u+1]<lg*(hash[p].k-1))){ //確率が残っていて、まだ指し進めていないとき
hash[p].k=1+(int)(kar[u+1]/lg);move();goto BB;}

468 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 17:35:09 ]
( ゚д゚)ポカーン

469 名前:1 [2007/01/30(火) 17:38:13 ]
続き

LL:; //ラベル
if(hash[p].b==N){gote_hyoka();hash_bset(p,y);y=N+1-y;} //後手の評価が未登録ならば評価関数を使って値を記録
else{y=N+1-hash[p].b; //後手の評価が計算済みならばそれを使う
if(y==N+1){・・・} yがN+1ならば先手の勝ち、勝敗を記録する
}

if(y>te_max(x))te_change(); yが記録されている最大値より大きいならば手を交換して値を記録する

if(cn>=tu){ //手のカウントが、手の総数以上のとき
te_add(); //手を追加する
if(z==97){y=te_max(x);hash_bset(x,y);te[5*x]=129;remove();}} //手が追加出来ないときは最大値を、上のルートに記録して手を戻す(βカットというもの?)

if(y>g){if(y>hash[x].a)hash_aset(x,y);te[5*x]++;remove();} //yが予想評価値を超えたなら、それを上のルートに記録して手を戻す(αカットというもの?)

cn++;te[5*x]=128+cn;z=te[5*x+3+cn];situ();hmove();adress();goto FF; //αカット、βカットもおこらないならば次の手を調べる
}

470 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 17:41:26 ]
ダメだこりゃ。。。



471 名前:デフォルトの名無しさん [2007/01/30(火) 17:42:02 ]
ごめんなさい。期待した俺が悪かったです。もうスパゲティーはたくさんです。

472 名前:1 [2007/01/30(火) 17:42:05 ]
>>461>>466
わかりました
やってみます

473 名前:デフォルトの名無しさん [2007/01/30(火) 17:42:42 ]
フローチャート書いてくれね?200倍わかりやすいと思う。

474 名前:1 [2007/01/30(火) 17:47:53 ]
わかりました
フローチャート書いてみます

475 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 17:52:47 ]
お前ら釣られ過ぎ。
小学生の相手してても仕方ねーべ。

476 名前:1 [2007/01/30(火) 18:28:06 ]
フローチャート自動作成ツールはありませんかね?

477 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 18:38:47 ]
>>BB:  //ラベル

こんな馬鹿なコメントは無いぞw
盤面の初期化とかもっとブロックを表すにふさわしいコメントつけろよw

478 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 18:39:27 ]
>>467-469
1.ラベルのコメントは、そこからどんな処理をするルーチンが始まるのかを示せ。「//ラベル」は無意味。
2.概要として「αカット、βカットも…」の様な書き方は構わないが、変数名や定数が何を意味しているか分からないのでその詳細が不明。
3.何度もいわれていることではあるが、文ごと(ザックリ言うと;ごと)に改行すべし。
4.変数の使い回しみたいにコメント中の「差し手」も複数の意味で使い回してる?

479 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 18:41:26 ]
フローチャートは廃れた。

箇条書きの日本語に流れを書け!
いまはこちらが主流。

480 名前:デフォルトの名無しさん [2007/01/30(火) 18:42:39 ]
初心者って絶対やるよな。

var = 1 + 1;//計算したものをvarに代入

とか意味の無いコメントw
まぁ、必ず通る道だと思うけどな



481 名前:デフォルトの名無しさん [2007/01/30(火) 18:44:38 ]
>>476
べつにそこまでちゃんと書かなくていい。
コメント書かないならどういう流れで処理をしたいのか、それがわかればいいんだから、
手書きで紙に書いてうpでもいいくらい。

とりあえず処理を順番に箇条書きで

482 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 18:57:18 ]
//αカット、βカットもおこらないならば次の手を調べる
とあるので、上のif文見たけど分岐してない?
よく見るとremove()内で分岐している…

このような書き方は避けるべきだ。
制御構造が分かりづらい。

483 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 18:59:05 ]
というよりもGOTO&ラベル使うな!

484 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 19:42:30 ]
そうじゃない、コメントとソースはもういい

まずはアルゴリズムとか処理の流れを日本語で説明するんだ。

485 名前:1 [2007/01/30(火) 19:53:21 ]
186行目あたりが間違えてました

if((hash[x].h==y) && (k==w)){ad[s+1]=p;break;}
ではなくて


if((hash[p].h==y) && (k==w)){ad[s+1]=p;break;}
でした

486 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 19:53:56 ]
コンパイルして逆アセンブルしてからのが読みやすいかもしれん

487 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 20:01:04 ]
スパゲッティをコンパイルしてもスパゲッティしか吐いてくれんよ

488 名前:デフォルトの名無しさん [2007/01/30(火) 20:04:16 ]
最適化できないような絡み方してそう

489 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 20:07:13 ]
ところで、part2になっても期間は三ヶ月以内なのか?
いつまでたっても〆切が来ないぞ

490 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 22:03:21 ]
いい勝負しそうじゃね?
ttp://www0.us.ioccc.org/main.html




491 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 00:17:32 ]
いきなりプログラム書かずに、日本語で書いてアルゴリズムを整理するべきだろ

492 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 00:50:37 ]
>>491
1はそれで失敗してるんじゃなかったっけ?

493 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 00:58:29 ]
お前ら、難読可ツール通したソースに何マジレスしてるんだ?





494 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 01:11:08 ]
>>491
イメージをつかむため、
ダイアグラムなどを使ってマインドストーミングして、
仕様を日本語で書き、
仕様記述言語で書き、
プログラムを書き、
検証ソフトを使って検証するんだよ

495 名前:デフォルトの名無しさん [2007/01/31(水) 02:18:32 ]
面白い・・・

496 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 04:57:48 ]
C言語初心者のもれも参戦。途中でやめるかも知れないが、生暖かく見守ってくれ。

497 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 05:16:12 ]
さらに混乱の要素を増やすというのかw
がんばってかき回してくれ

498 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 06:55:03 ]
>>496
君のような人が現れるのを待ってた
応援するよ

499 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 11:31:49 ]
みんな、違うぞ

日本語で書いたアルゴリズムを、このスレで後悔しろと言っているんだよ

500 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 12:10:06 ]
既に紙の上にはまとめてあるって言ってたよね?



501 名前:デフォルトの名無しさん [2007/01/31(水) 12:14:13 ]
バグが出ました



アルゴリズムとかかけ



バグ直りました


この流れから、アルゴリズムとか書けって言われたのは、バグ直すためだとおもってるんじゃね?
だから書かないんじゃね

502 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 12:27:12 ]
能力が無いのに努力しないで言い訳ばかり
人とコミュニケーションが全くできない
自分の間違いを指摘されても正さない
人を見下している
平気で嘘をつく
1を見てるとイライラするね

503 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 12:29:21 ]
1は小学生か幼稚園児だろ
大目に見てやれよ

504 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 12:35:18 ]
まあ、>>1が小学生であろうと幼稚園児であろうと一向に構わないが、
とりあえず公の場でやると宣言したからには必ずやり遂げてもらわないと。
公の場で発言することの重要性を身をもって知ってもらわないとね。

とりあえず、>>1は毎日進行状況を全員に解るように報告しなさい。

505 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 12:44:58 ]
>>496
本気ならトリ付きで。

506 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 13:00:19 ]
>>496
1と同じ事されるのはごめんだけどやめても別に責めないよ
ところでC言語はどれくらい勉強したの?

507 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 13:00:41 ]
誰か、1 に見本として見せられるような、日本語の良コメントのついたソース知らない?

508 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 13:02:52 ]
どうせ見ないんじゃない?
論文教えても見なかった前科があるし

509 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 13:13:08 ]
homepage1.nifty.com/~takaot/prprpr/comment.html
ja.wikipedia.org/wiki/%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF)
homepage2.nifty.com/cat-chy/cp/how_to_write_comment.html
コメントの書き方でとりあえずこの辺りは参考になると思う

510 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 17:12:44 ]
何この1www
プログラムも人間性もカスじゃんww



511 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 17:21:59 ]
>>510
アルゴリズム・理論もね

512 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 22:51:46 ]
>>1どこいった

513 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 23:44:34 ]
今北産業

514 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 01:22:37 ]
>>1最強のアルゴリズムできた→
goto多用、変数不明、コメントなしのスパゲッティ→
>>502>>1を温かく見守るスレ

515 名前:デフォルトの名無しさん [2007/02/01(木) 05:18:41 ]
プログラムよりプログラマがおもしろい

516 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 09:09:46 ]
無能な1とそれに翻弄される住人達

517 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 14:46:59 ]
>>1は準アニータ

518 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 16:21:14 ]
ここ落ちてた?

519 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 16:22:04 ]
2ch全部ね

520 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 17:01:42 ]
電源工事だよ



521 名前:496 ◆8VT5lt6VLs mailto:sage [2007/02/01(木) 22:27:06 ]
>>498
ありがとう。期待に沿えるかわからないが。

>>505
いまのところ本気。

>>506
どう答えればいいのかな・・・。1のソースが理解できないぐらい。

522 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 22:33:15 ]
>>521
1のソースは読まないほうがいいよ。
あれは悪い例だから決して真似しちゃだめだよ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<194KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef