おまいら最強のリバーシプログラムしてみろよ
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/12/22(金) 09:58:39そして世界最強っぽいリバーシプログラムWZebraを倒すスレ
期間は三ヶ月以内で頼む
どんどんアイデアとプログラムを頼む
本格的リバーシ BearRev
http://www.vector.co.jp/games/soft/dl/win95/game/se098822.html
最強っぽいリバーシプログラムWZebra
http://www.radagast.se/othello/download.html
姉妹スレ おまいら最強の将棋プログラムしてみろよ part5
http://pc8.2ch.net/test/read.cgi/tech/1109307327/l50
0002デフォルトの名無しさん
2006/12/22(金) 10:02:470003デフォルトの名無しさん
2006/12/22(金) 10:23:340004デフォルトの名無しさん
2006/12/22(金) 11:48:120005デフォルトの名無しさん
2006/12/22(金) 11:50:370006デフォルトの名無しさん
2006/12/22(金) 11:58:04皆解ってると思うが踊らされないように
0007デフォルトの名無しさん
2006/12/22(金) 12:00:55オセロはタイトルに使うと著作権料とかとられないですか?
>>3
手に入るフリーのやつで更新もやっているではWZebraでは?
>>4
コンピュータの最強に勝つことが目標です
>>5
アイデアを結集すれば可能なはず
0008デフォルトの名無しさん
2006/12/22(金) 12:03:35外国製のソフトに負けている状況なんですよ
力を結集して破りましょう
0009デフォルトの名無しさん
2006/12/22(金) 12:04:45卒論など真っ盛りの時期ですね
0010デフォルトの名無しさん
2006/12/22(金) 12:06:170011デフォルトの名無しさん
2006/12/22(金) 12:08:11商品名
つまりよくある ラップ言えば、何もかも「サランラップ」
というのと同じである
「宅急便」もそうだ
0012デフォルトの名無しさん
2006/12/22(金) 12:17:14本格的リバーシ BearRev
http://www.vector.co.jp/games/soft/dl/win95/game/se098822.html
をダウソしてこの思考ルーチンを作成する方向で行きましょう
0013デフォルトの名無しさん
2006/12/22(金) 12:19:01http://www32.ocn.ne.jp/~yss/cgfgoban_j.html
将棋用はこれ
http://www2.ttcn.ne.jp/~tsuma/download.htm
です
0014デフォルトの名無しさん
2006/12/22(金) 12:21:22このスレたてたきっかけは
iアプリ共同製作支援スレをみたからです
パソコンで動くアルゴリズムを作った方が簡単でしょ?
iアプリ共同製作支援スレ その1
http://pc8.2ch.net/test/read.cgi/tech/1165049332/
0015デフォルトの名無しさん
2006/12/22(金) 12:28:20そのスレは既に進んでいるようだが?
>パソコンで動くアルゴリズムを作った方が簡単でしょ?
意味不明
アルゴリズムはPCにも携帯にも基本的に依存しない
開発者はPC上でテストしてるだろうし
0016デフォルトの名無しさん
2006/12/22(金) 12:29:48残り1つ、2つ、3つ、4つの局面をすべて生成して勝ち負けを記録するのが
いいか、どこから実戦譜をみつけてきてその勝ち負けを記録するのがいいか...
0017デフォルトの名無しさん
2006/12/22(金) 12:33:03でも、パソコンでやれば環境(ソフトもメモリとかも)はそろってて
あとは思考部分を作れば良いだけなんです
強いプログラムを作る(評価関数の決定とか)にはメモリ、CPUも大事だし
ここで作ったものが>>14のスレにも生かされるとおもいます
0018デフォルトの名無しさん
2006/12/22(金) 12:34:57ちょい修正
残り15つ、16つ、17つ...くらいからですかね?
あまりに短手数は記録する必要ないですからね
0019デフォルトの名無しさん
2006/12/22(金) 12:35:08sageろw
0020デフォルトの名無しさん
2006/12/22(金) 12:41:250021デフォルトの名無しさん
2006/12/22(金) 12:46:40残り15手の局面が一致する確率でも考えてから言えよ。
基本的に>>1は勉強不足。
ここはム板だ。自分でアイディアだして実装できるくらいになってからスレ立てろ。
教えて君、くれくれ厨にしか見えない。
0022デフォルトの名無しさん
2006/12/22(金) 12:49:48他板まで宣伝しまくっててキモイ。
結局>>6でFAなんだから、アイディア提供したりして踊るんじゃなくて
>>1を踊らせて楽しもうや。
どうしても>>1の玩具になりたいってマゾな奴は真剣に考えてくれてもいいがw
0023デフォルトの名無しさん
2006/12/22(金) 12:49:56オセロなんてこんなに奥が深いゲームなの?
だれか俺にわかりやすく説明して
0024デフォルトの名無しさん
2006/12/22(金) 12:54:19奥が深くないというより、コンピュータにとっては探索範囲が狭くて単純。
0025デフォルトの名無しさん
2006/12/22(金) 12:54:31とりあえずこの辺から読んでみてはいかがでしょう?
http://hp.vector.co.jp/authors/VA015468/platina/algo/
http://uguisu.skr.jp/othello/index.html
http://www.amy.hi-ho.ne.jp/okuhara/howtoj.htm
これはコンピュータオセロ界にブレイクスルーをもたらしたBuro氏の論文です。
http://www.cs.ualberta.ca/~mburo/publications.html
終盤解析が速いZebraのソースコードはここからダウンロードできます。
http://radagast.se/othello/zebra.html
評価関数の精度がいいNtestのソースコードはここからダウンロードできます。
http://othellogateway.com/ntest/Ntest/index.htm
0026デフォルトの名無しさん
2006/12/22(金) 13:08:18ありがとうございます!
>>21
終盤データベースを作るのはやめました
なぜならば終局個数は、回転、左右反転、前後回転で減らしても
2^64/16もあるから... 2^60個のパターンも記録しておけないから
0027デフォルトの名無しさん
2006/12/22(金) 13:10:38でも、置換表(ハッシュテーブル)はいれまる方向で
0028デフォルトの名無しさん
2006/12/22(金) 13:13:40どのように局面を24bitに変換するか...?
0029デフォルトの名無しさん
2006/12/22(金) 13:24:05今から10日以内にオセロプログラムを作り上げるから、それに負けたら参加してくれる?
0030デフォルトの名無しさん
2006/12/22(金) 13:29:55俺は参加するよ。
興味ある。
0031デフォルトの名無しさん
2006/12/22(金) 13:35:32ありがとうございます
0032デフォルトの名無しさん
2006/12/22(金) 13:52:220033デフォルトの名無しさん
2006/12/22(金) 14:00:41プレイした人のデータを集めて記憶
どのパターンにも最適の手を出せるようにしたら余裕だろ
0034デフォルトの名無しさん
2006/12/22(金) 14:08:21卑怯な気がしないでもないw
0035デフォルトの名無しさん
2006/12/22(金) 14:19:12異なる終局の数だけで2^60あるので
それぞれに次の一手を1バイトで表したとすると
2^30ギガバイト必要ぽ
0036デフォルトの名無しさん
2006/12/22(金) 14:40:26強いオセロプログラムについて
http://www.amy.hi-ho.ne.jp/okuhara/howtoj.htm
bitboard (RunRunDietOnline)
http://vivi.dyndns.org/W/254
アルゴリズム解説
http://fujitake.dip.jp/sealsoft/thell/algorithm.html
オセロの試合結果は何通りか? @Wiki - 関連スレ
http://www9.atwiki.jp/othello/pages/48.html
オセロプログラムの作り方
http://hp.vector.co.jp/authors/VA015468/platina/algo/index.html
0037デフォルトの名無しさん
2006/12/22(金) 14:43:530038デフォルトの名無しさん
2006/12/22(金) 15:02:42そんなにないよ
0039デフォルトの名無しさん
2006/12/22(金) 15:11:22白、黒、空の3つを64並べたら3^64種類あって回転、左右反転、前後反転を
同一視すれば3^60になる
局面数は 2^60 〜 3^60じゃない?
0040デフォルトの名無しさん
2006/12/22(金) 15:23:05http://www9.atwiki.jp/othello/pages/18.html
0041デフォルトの名無しさん
2006/12/22(金) 15:31:51あり得ない局面が(単純に生成した物の)90%だとしても一桁減るだけだ
これでもメモリなどに記録することは出来ないな
0042デフォルトの名無しさん
2006/12/22(金) 15:50:04全パターン記憶しろ それこそ最強だろ
0043デフォルトの名無しさん
2006/12/22(金) 15:57:224.23911583 × 10^15 テラバイト程度必要
0044デフォルトの名無しさん
2006/12/22(金) 17:58:34序盤は、相手の差し手を少なくするように打つのがいいな
あと、終盤の詰み(勝ち負け)判定の高速化だな これはZebraのやり方を真似ると良いな
0045デフォルトの名無しさん
2006/12/22(金) 18:03:38トップクラスのプログラムでは、これは通常残り24〜30手の時点である。
プログラムはどちらの勝ちかがわかると、次は最善手(スコアが最良になる手)を探しはじめる。
完全読みは通常勝敗を判断するよりはるかに困難で、残り23〜28手から始まるのが普通である。
評価される変化の多くは、悪手が含まれており、その悪手を咎める手を探すときには、
必ずしも最善手である必要はなく、十分な反駁手のいずれかを見つければよい。
プログラムができるだけ早く読み切りを行えるようにしたいので、思考時間が最も速くなる反駁手を探すことは意味がある。
これは打った後に相手の着手可能数が少なくなる手を、中盤より優先して探索することにより実現できる。
この手法は一般に、速さ優先探索 (Fastest-First heuristic) と呼ばれる。
http://www.amy.hi-ho.ne.jp/okuhara/howtoj.htm
0046デフォルトの名無しさん
2006/12/22(金) 18:16:120047デフォルトの名無しさん
2006/12/22(金) 18:42:30とりあえず>>29に期待
0048デフォルトの名無しさん
2006/12/22(金) 18:46:11まあ、遊びで追求する分には丁度いいくらいかな?
定石や先読みをもちいず、完全に一手先のロジックだけで作れたらおもしろいかもね。
0049デフォルトの名無しさん
2006/12/22(金) 18:53:260050デフォルトの名無しさん
2006/12/22(金) 18:59:440051デフォルトの名無しさん
2006/12/22(金) 19:18:30「宅急便」がヤマト運輸の登録商標である
0052デフォルトの名無しさん
2006/12/22(金) 20:57:350053デフォルトの名無しさん
2006/12/22(金) 21:06:170054デフォルトの名無しさん
2006/12/22(金) 21:09:550055デフォルトの名無しさん
2006/12/22(金) 21:22:530056デフォルトの名無しさん
2006/12/22(金) 21:26:08I do not have Windows.
the first, Please give me Windows95.
0057デフォルトの名無しさん
2006/12/22(金) 21:48:540058デフォルトの名無しさん
2006/12/22(金) 22:07:25I think I hardly have the.
0059デフォルトの名無しさん
2006/12/23(土) 01:33:54もう作り始めてる?
0060デフォルトの名無しさん
2006/12/23(土) 04:31:28そりゃ相手もソフトだから
0061デフォルトの名無しさん
2006/12/23(土) 04:48:06http://mars.elcom.nitech.ac.jp/java-cai/neuro/menu.html
俺も復習するかな。
0062デフォルトの名無しさん
2006/12/23(土) 08:50:17でも、どこに打っても、盤面を回転させれば、同じ結果
となり、結局、第1手における置ける場所は1箇所しかない。
続く第2手目の白には、3箇所しかない。
こう考えると、全ての盤面は、限られた有限個の状態しか
ありえないのではないか?
毎回計算させるより、盤面の全ての状態を記憶しておけば
世界最速最強のオセロができる。
0063デフォルトの名無しさん
2006/12/23(土) 11:25:29勿論有限個だが、膨大な有限個だから無理。
0064デフォルトの名無しさん
2006/12/23(土) 12:17:57http://www9.atwiki.jp/othello/pages/1.html
0065デフォルトの名無しさん
2006/12/23(土) 15:33:19http://science4.2ch.net/test/read.cgi/sim/1090548999/l50
0066デフォルトの名無しさん
2006/12/23(土) 16:22:23何が何でも急いでプログラム書かせようという風にしか見えないぞ
普通に進行すれば良スレになるかもしれないのに…枯れた分野だからあやしいけど
0067デフォルトの名無しさん
2006/12/23(土) 16:32:00だな。何てーか、ただクレクレ言ってるようにしか見えなくて興をそがれる。
自分は別口でリバーシのプログラムには挑戦しているが、
BearRevに対応するつもりもないし、期限を定めるつもりもない。
マイペースでやらせてもらうさ。
00681
2006/12/23(土) 21:51:098×8を解けるほどのアルゴリズムに出来上がったかもしれないです
あと9日以内にコーディングして動かせる所までいくとおもいます
スレ終了かもしれません 動いたらうpします
あと質問なんですが(これを教えてもらえると完成が速まります)
bitボードを使ったときの差し手生成部分がよくわかりません
誰か解説おねがいします
http://www9.atwiki.jp/othello/pages/48.html
ここに書いてあるんですが...簡略して教えてください
00691
2006/12/23(土) 21:57:18まだ完成はしていないですが...
将棋の経験を生かします
定番の棋譜からの学習、評価関数の最適化使いません
終盤の勝敗判定アルゴリズムも使いません
浅く読んで、手を並び替えてから深く読むという手法も使いません
今までのオセロプログラムではないアルゴリズムだとおもいます
0070デフォルトの名無しさん
2006/12/23(土) 21:59:34原理を理解していなくてもプログラムに落とすことはできる
00711
2006/12/23(土) 22:01:33rdk103r1.lzhの中の物をいじくればいいはずなんですけど
> BearRev Professional は高機能リバーシです。
> 以下の特徴があります
> 豊富な研究機能
> さまざまな対局者
> 対局者は DLL として自作可能
> デザインや音はカスタマイズ可能
http://sleipnir.pos.to/software/bearreversi/index.html
0072デフォルトの名無しさん
2006/12/23(土) 22:02:3500731
2006/12/23(土) 22:03:23すみません
原理を教えて下さい
もしかしたらより速くできるかもしれないので
0074デフォルトの名無しさん
2006/12/23(土) 22:09:20DLLも作り方さえも自分で調べられないのなら諦めろ。
プログラミング自体向いてない。論外だ。
00751
2006/12/23(土) 22:13:28実際に動かしたことがある人がいれば聞いた方が速いじゃないですか
説明書が付いてないんです
↓この辺を書き換えれば良いんだとはおもいますが...
/*** 定石を調べる ***/
if ((nPos = Jsk_FindMove(szBoard, JSK_RANDOM, cPiece)) != 0)
return Rvs_CreateMsg(RVS_INDEX_TO_X(nPos), RVS_INDEX_TO_Y(nPos), "JOSEKI", (float) 0/*State*/);
/*** 駒を置く位置を決める ***/
for (x=1; x<=8; x++)
for (y=1; y<=8; y++)
if (Rvs_CheckPieceXY(szBoard, x, y, cPiece) == TRUE)
return Rvs_CreateMsg(x, y, "RVS MESSAGE", (float) 0/*State*/);
0076デフォルトの名無しさん
2006/12/23(土) 22:16:39教えて教えてばかりだな
どこが理解できていないのかも提示しないで何を教えろというのだ
ちなみにbitboardを使っても所詮数倍程度の高速化で小手先の最適化に使うものだ
とりあえず>>1の考えた画期的なアルゴリズムの方に専念して完成させてくれ
そしたらbitboard化してやるよ
00771
2006/12/23(土) 22:19:20いちおうbitボードを標準で使うんです
それで考えつくアルゴリズムは一マス目から順に取れるか、取れないか判定していく
というやつなんですけど...
これで作っておけば良いですか?
0078デフォルトの名無しさん
2006/12/23(土) 22:24:07もっと腕を磨いてから出直しな。
00791
2006/12/23(土) 22:28:50●○●□●○○□
などを3進数に対応させて、黒の手番でおけるところを始めに記録しておけばOKですか?
00801
2006/12/23(土) 22:29:460081デフォルトの名無しさん
2006/12/23(土) 22:30:08char配列で管理してようが64ビット変数だろうが作ってくれればbitboard化してあげるよ
00821
2006/12/23(土) 22:34:52どっちの方が速いですかね?
局面の更新スピードも違ってきますよね
0083デフォルトの名無しさん
2006/12/23(土) 22:39:15局面のデータ構造によって速さがどう変わるかは考えなくていいよ
俺がやるから
char board[8][8];
のような局面管理でもいいから完成させてくれない?
00841
2006/12/23(土) 22:39:21縦8本、横8本、斜め8本、白黒反転でこの2倍
を保持する方向で行こうとおもいます
00851
2006/12/23(土) 22:39:59わかりました
それでいきます
0086デフォルトの名無しさん
2006/12/24(日) 00:57:08どの言語でやってるの?
0087デフォルトの名無しさん
2006/12/24(日) 01:01:20ま、ソースが出てくれば両方わかるでしょ。
0088デフォルトの名無しさん
2006/12/24(日) 02:16:52コンピュータの負けが確定した時点で、
「さっきの間違い。本当はここ」と言って、
やり直しをすれば、絶対に負けることはない。
0089デフォルトの名無しさん
2006/12/24(日) 02:25:18試合ではそれをやっちゃだめだからしないけど、
定石の自動生成や最善進行を探すのはそんな感じ。
00901
2006/12/24(日) 02:28:5313バイトで局面を記録する方法が見つかりました
風車的配置にするんです bitボードより良いかもしれないのでとりあえずこれで作ってみます
あとでbitボードを作ってくれる人がいればそれと速度を比較しましょう
3の5乗 < 2の8乗 ですから次の様に記録すればよいです
局面を進める、戻す速度が3バイト分短縮できます
あと手を生成するとき3進数の計算がある程度やってあって良いです
□◆■◇◇◇◇◇
□◆■■■■■■
□◆■◆◆◆◆◆
□◆■○○■◇□
□◆■○○■◇□
◇◇◇◇◇■◇□
□□□□□■◇□
◆◆◆◆◆■◇□
0091デフォルトの名無しさん
2006/12/24(日) 02:45:15ありますけどbitボードでは、コピーが普通なんでしょうか?
0092デフォルトの名無しさん
2006/12/24(日) 02:50:10配列盤面は差分、bit boardはコピーが普通。
00931
2006/12/24(日) 02:56:29ありがとうございます
>>86
c++ですが、まだ打ち込んでいません
スキルは、第一種情報処理技術者というのもってます
あと、国立大学院卒(数学)です
0094デフォルトの名無しさん
2006/12/24(日) 02:57:57合計のサイズが少なければいいってもんじゃないよ。
変数が細かくなって13個に増えるし石を返す操作も複雑になる。
詰め込みすぎると却って遅くなるよ。
まぁでも自分はこれ思いつかなかった。
0095デフォルトの名無しさん
2006/12/24(日) 03:00:25作ったものとりあえずうpしてみろよ。
そうすりゃもっと建設的な意見を聞けるって。
自分で調べる能力が無い人間にプログラムなんて向いてないよ。
つーかあんた本当に自分で作る気あるの?
これ学校の宿題かぁ?
0096デフォルトの名無しさん
2006/12/24(日) 03:10:50> どんどんアイデアとプログラムを頼む
って言ってるから、アイデアもプログラムも自分で出す気はないんじゃないかな。
期間限定なのもうさんくさい。
0098デフォルトの名無しさん
2006/12/24(日) 03:20:020099デフォルトの名無しさん
2006/12/24(日) 03:28:58とりあえずルール通りに動くプログラムを作るスキルはあるのか?
速度とか関係なく。
0100デフォルトの名無しさん
2006/12/24(日) 03:31:47だからそれうpしてみろって・・・
何が言いたいんだ、あんた?
ここまで引っ張るからにはすでに何かそれなりに動くものを作ってるんだろ?
俺は何も書いてないと思ってるけどね。
ここの人本当やさしいね。
01011
2006/12/24(日) 03:34:29出来上がったら分かります
ルールは知ってますけど、バグが有ったら動かないかもしれません
プログラム経験はほとんど無いです...
一年以上将棋作ってますけど、まだ一行も打ち込んでません!
01021
2006/12/24(日) 03:38:37でも、オセロは簡単なのであと8日以内に完成します!
将棋が難しい、手間がかかる点は無駄な手を省くところなんです
枝刈りっていうやつです
そこを何ヶ月も開発し続けました 未だに続けてます
将棋でも、オセロでも、最善手を一手のみ生成できれば
評価関数は全く要らなくなります
01031
2006/12/24(日) 03:43:050104デフォルトの名無しさん
2006/12/24(日) 03:44:46なんつーか学校の宿題やってくれ君なのは見え見えだが。
>ルールは知ってますけど、バグが有ったら動かないかもしれません
そういうこと言ってんじゃなくて・・・
現時点でできているものを途中でもいいから出してみろよってことだよ。
完璧に動くものを期待なんてしちゃあいないよ。
>一年以上将棋作ってますけど、まだ一行も打ち込んでません!
相当な大物だな。
0105デフォルトの名無しさん
2006/12/24(日) 03:45:27俺は取り合えずあと8日間は待つつもりだよ。
(期待はしてないけど)
0106デフォルトの名無しさん
2006/12/24(日) 03:46:44>でも、オセロは簡単なのであと8日以内に完成します!
おめでとう。
自己解決できてるならえーんちゃう?
0107デフォルトの名無しさん
2006/12/24(日) 03:49:3901091
2006/12/24(日) 03:55:13WZebraにも負けるようでは、
今まで一年以上(将棋に)費やしたのが無駄になりますね
0110デフォルトの名無しさん
2006/12/24(日) 03:59:48>最善手らしい物をいくつか生成して読みと評価関数を使います
と言ってるので「解く」ではない。
01111
2006/12/24(日) 04:06:44解く=先後どちらが必勝かを決定する ですよ
例えば、最終局面や、その一手前などは勝敗は決定してますよね
するとその一手前も、決定できます
局面の勝敗に関する記録が少ないあいだは、読み、評価関数を使うんです
保存してある記録が増えれば、いずれ初手までの勝敗が決定できます
0112デフォルトの名無しさん
2006/12/24(日) 04:13:55ゲーム木の大きさの見当がついてないだけか。
01131
2006/12/24(日) 04:21:26圧倒的に勝ちである局面などは、ほとんど探索する必要が無いんです
あと、相手の悪手をとがめるには必ずしも、最善手を指す必要は無いんです
>>45のWZebraの作者さんの解説(速さ優先探索)を参照してみてください
01141
2006/12/24(日) 04:24:37完全なゲーム木をすべて探索する必要は無いんです
WZebraの作者さんも
"完全読みは通常勝敗を判断するよりはるかに困難"
と言っています
0115デフォルトの名無しさん
2006/12/24(日) 04:33:3320個空きとか30個空きじゃなくて60個(59個)空きで「解く」事を言ってるんでしょ?
01161
2006/12/24(日) 04:40:22そうですよ
60個空きの勝敗の決定をするんです
時間をかけてハッシュテーブルを更新し続ければ
現在の最新のパソコンで、例えば(かなり適当ですが)10日とか動かし続ければ
決定出来ると思ってますよ
アルゴリズムによっては100年かけても解けないでしょう
今までなかったアルゴリズムによってそれを実現しますよ
0117デフォルトの名無しさん
2006/12/24(日) 04:45:3601181
2006/12/24(日) 05:05:44オセロではなかっという意味ですが...
将棋のボナンザって言うプログラムがあるんですが
枝刈りしないで全幅探索らしいです
その上、詰め将棋ルーチンが無いらしいです
難易度的には、オセロより、将棋は遙かに難しいわけですが
それで、全幅探索で詰め将棋なしで通用するんです
詰みルーチンで時間を食わない分、通常ルーチンでより深く探索出来るわけです
今回、作っているのは、一つのルーチンのみ使用し、評価関数も単純化(空きマスと石の数しか使わない)
して、差し手は読みなしで順位付けします
(浅く読みを入れない方が勝率が上がるらしいです(将棋の場合)その方が深く探索できるため)
あとは、将棋の方で考えていた探索ルーチンを使います
評価関数は、a:黒の枚数 b:空の枚数 としたとき、 (a + b/2) / 64 を使います
この値は、0から1を動きます 初期局面では 0.5 です
0119 ◆z0MWdctOjE
2006/12/24(日) 05:10:110120デフォルトの名無しさん
2006/12/24(日) 05:15:57この評価関数は黒にとって値が大きいほどいいの?小さいほどいいの?
01211
2006/12/24(日) 05:16:51なぜなら、コマを取れるマスがあったとしても、一度に取れる訳じゃないし
盤面が変化したら、ガラッと評価値が変わってしまうと思うんです
一列変われば、取れていてはずの行が取れなくなったりするわけです
それならば、最終局面で間違いなく正しい評価を返す
コマの個数だけの評価で良いのではないかと思ってます
01221
2006/12/24(日) 05:24:18大きいほど黒が良いです
白の手番では、白の枚数を使います
簡単に言うと、空きマスは半分づつ分けましょう、という関数です
>>119
証明数探索とは違いますよ
詰みを読むには、後手のどの様な手に対しても詰むことを証明しなければ
なりません (それが巧妙な手順であっても、真っ当な手順であっても
すべて場合に詰むことを証明しなければなりません)が
速さ優先では、相手の応手が少なくなるという手(とがめる手)でうまく行けばほぼ良いっていう感じです
0123 ◆z0MWdctOjE
2006/12/24(日) 05:29:50証明数-反証明数探索とも違うのですね。
0124デフォルトの名無しさん
2006/12/24(日) 05:36:46(-64,-63,...,-1,0,+1,...,+63,+64、黒にとって大きいほど良い。)
必勝読み(勝敗判断)では「黒負け、引き分け、黒勝ち」。
(-1,0,1、黒にとって大きいほどよい)
01251
2006/12/24(日) 05:47:53うまく行けば1手か2手先程度の評価を予測出来るとは
おもいますが、必ずしもうまくいくとは限らないし
プラスマイナスでちょうどその局面の評価程度しか返さない気がしてます
大局的ではなく、終盤では通用せず、別の評価、探索するほか無く
それならば、初めからコマの枚数だけで良いんじゃないかとまたですがおもいます
01261
2006/12/24(日) 05:49:47統計的に、取る取られるという要素が、評価に組み込まれているいう意味です
0127 ◆z0MWdctOjE
2006/12/24(日) 05:50:53a+b/2の整数比較で十分では?
01281
2006/12/24(日) 05:52:42実際は、4a + 2b を使う予定です
これならば、値は0から256になり、8bit でなんとか入りそうです
0129 ◆z0MWdctOjE
2006/12/24(日) 05:53:592a+bでしたw
0130デフォルトの名無しさん
2006/12/24(日) 05:55:1850個空きでも30個空きの時点でも予測してるのは試合終了時(大体0個空き)の結果。
0131デフォルトの名無しさん
2006/12/24(日) 05:55:20んで入力だけキー入力か、CPUに決めさせるかできるようにしといて、
CPU側はからっぽでいいからまずは一通り作ると。
それを配布してくれればみんなやる気になると思うよ。
01321
2006/12/24(日) 05:56:41でも、ちょうど8bitに合わせるより、その半分の方がいいですね
2a+bにします!
01331
2006/12/24(日) 06:01:09しかし、列ごとの線形和で、勝敗が予測できるとは思えません
評価値の変化を見たことは無いですけど、一手ごとに優劣が変化しまくりじゃないですか?
0134デフォルトの名無しさん
2006/12/24(日) 06:04:08優劣=石数なのは試合終了時だけ。
01351
2006/12/24(日) 06:09:40空きマスが多いほど、その後の展開は、どんな評価関数を用いても
ほとんど予測できないと思うんですよ
そのため、空きが多いほど、評価をほぼイーブンにする、
> a:黒の枚数 b:空の枚数 としたとき、 (a + b/2) / 64 を使います
が良くないですかね?
終盤に近づくほど、石の数で評価が決まります
0136 ◆z0MWdctOjE
2006/12/24(日) 06:12:31a + b + c = 64
∴c = 64 - a - b
a - c = a - (64 - a - b)
= a - 64 + a + b
= 2a + b - 64
評価関数は定数の加算では大小は変わらないため実質的にはa - cと同じでは?
01371
2006/12/24(日) 06:14:480138デフォルトの名無しさん
2006/12/24(日) 06:16:17その評価関数を試合途中で使うと悪い枝から読む事が多くなる。
01391
2006/12/24(日) 06:16:3901401
2006/12/24(日) 06:20:07評価関数によって、差し手の優先順位を選ぶわけでは無いんです
開放度理論っていうのが良さそうだったのでそれに手を加えて、
追加したコマと変化したコマの、隣接する周囲のマスの状況で一手も
読まずに有効手を生成します
0141デフォルトの名無しさん
2006/12/24(日) 06:23:41試合途中の評価関数は速さ?
>>139
a - c + 64
ああ、でも黒だけの数え上げで決まる2a + cの方が優れているかも。
01421
2006/12/24(日) 06:25:53そうして、一番の有効手だけを優先して読み30〜40手も進めてから
評価関数を呼び出せばその時点での評価は信用度が高いです
ただし、生成した有効手が本当に有効であることが重要なんですけど...
それだけだと山登り法みたいだが…
0145 ◆z0MWdctOjE
2006/12/24(日) 06:50:14http://pc8.2ch.net/test/read.cgi/tech/1109307327/
に帰るわ
おやすみ
01461
2006/12/24(日) 06:50:15探索ルーチンは、また別なんです
MTD(f) 法の改良型を使います
例えば3手生成されたとして、周囲の状況から指される確率を
予測して60%、35%、5%になったとします
初めは、100%以上の確率の手のみ指し進めて段階的に確率を
引き下げることで深い段階へ到達していきます
これは、激指などで同様の手法が使われていますが、全く同じではないです
0147デフォルトの名無しさん
2006/12/24(日) 07:05:25浅読み・手の並べ替えを行ってもノードあたりの処理時間は2倍,3倍,100倍にはならない。
ってか線形和評価関数の精度を疑うなら両方作って対戦させてみなよ。
01481
2006/12/24(日) 07:50:54すでにあるじゃないですか
WZebraが
これに勝てば良いんです
それに、6×6や、10×10では評価関数が作りにくいんですよ
万能なのは、2a + b なんです
01491
2006/12/24(日) 08:26:16石がある上下左右の一つ先の空白を含めた長方形領域を調べればよい
初期配置では4×4マスがそう
終盤では残りマスでひっくり返るか調べるだけで良い
残りなんマスからがよいのか?
01501
2006/12/24(日) 08:40:14追加したコマと、変化したコマが取れるかどうか調べていくしかないか
相手の取れるマスにこっちのコマを張ったために一つ減るというのもあるな
オセロでも一番重要なのは差し手生成アルゴリズムかと思う
0151デフォルトの名無しさん
2006/12/24(日) 11:01:27>>1よ理論的なことはいいから手を動かせ
完成するまで書き込まなければ最良
0152デフォルトの名無しさん
2006/12/24(日) 12:14:29>残りなんマスからがよいのか?
何か勘違いしてない?
0153デフォルトの名無しさん
2006/12/24(日) 13:17:53いいから作らせておけよ。
早くソース見たい。
0154デフォルトの名無しさん
2006/12/24(日) 13:28:00再帰始めていくら待っても戻ってこないけどバグじゃないからね
0155デフォルトの名無しさん
2006/12/24(日) 13:37:58スタックオーバーフローで
0156デフォルトの名無しさん
2006/12/24(日) 13:43:27それはバグ
0157デフォルトの名無しさん
2006/12/24(日) 13:44:090158デフォルトの名無しさん
2006/12/24(日) 16:16:10将棋ではまだ使われてるけどオセロではより良いものが開発されて廃れた技術を
「オセロではまだ使われて無い」と勘違いしてるだけだよ。
0160デフォルトの名無しさん
2006/12/24(日) 22:30:12今何行くらい書いたー?
どこまでできたー?
0161デフォルトの名無しさん
2006/12/24(日) 23:11:460162デフォルトの名無しさん
2006/12/24(日) 23:35:390163デフォルトの名無しさん
2006/12/24(日) 23:37:480164デフォルトの名無しさん
2006/12/24(日) 23:56:350165デフォルトの名無しさん
2006/12/25(月) 01:04:06今日は面白い話無いのー?
進捗状況聞かせてー
01661
2006/12/25(月) 05:29:35進化の遅れてる度合いは、
オセロ、チェス、将棋(右の方が良いネタが出てる)だとおもいますよ
オセロは、コンピュータが遅いときの手法が今でも使われてるとおもいます
画期的とか、そういうのは要らないんですよ
強ければ良いんです
>>165
差し手生成、順序交換アルゴリズムにこだわらない方向に転換しました
生成出来たやつから順に読んでいく方が良いようにおもいます
探索アルゴリズムの中で段階的に深化させていくことで
差し手の順序交換の部分は不要に出来る気がします
01671
2006/12/25(月) 05:33:16オセロの場合、一見、悪そうな手でも、先に進めると有利に可能性がかなりありそうです
有効手の確率を計算することは難しいとおもいます
ということで、上の様に、生成されたら直ぐ探索するのがいいとおもいます
0168デフォルトの名無しさん
2006/12/25(月) 06:12:290169デフォルトの名無しさん
2006/12/25(月) 06:14:51思いますってのは主張としては弱いですね。
方針やら設計をよくよく吟味してから開発やってくださいよ。
0171デフォルトの名無しさん
2006/12/25(月) 08:28:19それから改良すれば良い
01721
2006/12/25(月) 11:01:46なんですけど...
0173デフォルトの名無しさん
2006/12/25(月) 11:20:59その事をちゃんと受け止めて頑張ってくださいまし。
0174デフォルトの名無しさん
2006/12/25(月) 11:24:07そもそも他力本願な時点で駄目
早く作れ
0175デフォルトの名無しさん
2006/12/25(月) 11:54:01>オセロの場合、一見、悪そうな手でも、先に進めると有利に可能性がかなりありそうです
>有効手の確率を計算することは難しいとおもいます
まずさ、Yahoo!オセロにでも行って君自身が初心者を脱してきたら?
0176デフォルトの名無しさん
2006/12/25(月) 12:02:03ソフトもさほど強くならないのは将棋も一緒じゃないのか?
0177デフォルトの名無しさん
2006/12/25(月) 12:40:34各種ゲームのコンピュータの進化の度合いの話なんかしてねーよ。
お前はなぜオセロで使われてる技術が採用されてるかを無視してるだろ。
お前は今メリット・デメリットを考えずに先祖返りしようとしてるぞ。
ボナンザの作者って相当強者なんですか?
0179デフォルトの名無しさん
2006/12/25(月) 12:52:020180デフォルトの名無しさん
2006/12/25(月) 13:06:17オセロでもそれは微妙なとこだね。
段持ってたりで本人も強い作者は何人も居るが、
ルール知ってるだけで初心者同然の弱い作者も居る。
0181デフォルトの名無しさん
2006/12/25(月) 13:20:10>一見、悪そうな手でも、先に進めると有利
こういうところに気付きにくいんだよな。
0182デフォルトの名無しさん
2006/12/25(月) 15:22:27ある。
0183デフォルトの名無しさん
2006/12/25(月) 15:57:16これが手作りのものより良かったから勝った
作り方は作者のオリジナル
詳しくはこれを読め
ttp://www.geocities.jp/bonanza_shogi/gpw2006.pdf
0184デフォルトの名無しさん
2006/12/25(月) 16:09:48へぇ、概要としては線形和評価関数と同じなんだね
0185デフォルトの名無しさん
2006/12/25(月) 16:24:53おー、面白いものをありがとう。
0186デフォルトの名無しさん
2006/12/25(月) 18:22:16ま、それもいいかもしれん。
0188デフォルトの名無しさん
2006/12/25(月) 18:37:17なんで?難し過ぎる?
ボナンザよりもよい評価関数、探索を作る自信がない。
『おまいら最強の将棋プログラムしてみろよ』スレが閑散としている理由がわかった気がする。
01901
2006/12/25(月) 18:56:27これが最強でなかったら人間やめます!あとは整えてから打ち込みます
人間の経験は一切入れず、パラメータの変更の余地も一切なしです
明日中に打ち込み終えて、バクとりして3日後くらいにはあげられるかもしれないです
01911
2006/12/25(月) 19:00:33もし、オセロで最強になったら、次にボナンザも破りますよ
評価関数を棋譜から学習していくというやり方は、まあまあいい関数には
なるとはおもいますけどそういうやり方は将棋でも使いません
0192デフォルトの名無しさん
2006/12/25(月) 19:00:50オセロも人間チャンピオンを超えちゃってからは過疎ってる・・。
他のゲームに移った作者が結構居る。
0194デフォルトの名無しさん
2006/12/25(月) 19:07:24もし最強じゃなくても別に人間やめなくていいからソースのアップだけはしてね。
ずっと待ってるんだから。
0195デフォルトの名無しさん
2006/12/25(月) 19:10:0701961
2006/12/25(月) 19:15:08まだ、一行も打ち込んでないんですけど
0197デフォルトの名無しさん
2006/12/25(月) 19:17:1301991
2006/12/25(月) 19:27:082007年1月31日(水) までか
3日以内にオセロで最強になったら必ず申し込みます!
0200デフォルトの名無しさん
2006/12/25(月) 20:37:230201デフォルトの名無しさん
2006/12/25(月) 20:43:140202デフォルトの名無しさん
2006/12/25(月) 20:54:390203デフォルトの名無しさん
2006/12/25(月) 21:44:19見落としがないくらいが上回る点だろうが
総当たりを最適化して組み込むと本人を
相当上回れると思う
0204デフォルトの名無しさん
2006/12/25(月) 23:50:55難易度を最高にするとミスしないから絶対勝てないのに、
「これに勝つ方法を見つけた方はメールを」とReadmeに書いてあったのには笑わせてもらった
0205デフォルトの名無しさん
2006/12/26(火) 00:17:560206デフォルトの名無しさん
2006/12/26(火) 00:19:06先手必勝
0207デフォルトの名無しさん
2006/12/26(火) 00:29:38ジョークで書いたんじゃないの?
「コンピュータが先手でこれに勝つ方法を見つけた方はメールを」とかじゃなかった?
0208デフォルトの名無しさん
2006/12/26(火) 00:32:420209デフォルトの名無しさん
2006/12/26(火) 00:36:130210デフォルトの名無しさん
2006/12/26(火) 00:38:08引き分けだったと思うけど・・。
Wikipediaにもあるし・・。
http://ja.wikipedia.org/wiki/%E4%B8%89%E7%9B%AE%E4%B8%A6%E3%81%B9
0211206
2006/12/26(火) 00:40:490212デフォルトの名無しさん
2006/12/26(火) 01:59:33よくわかってないから最強とか解くとか軽々しく言えるんだろうな。
0213デフォルトの名無しさん
2006/12/26(火) 03:48:142chで共通インターフェース定義して
みんなで対戦しようよ
0214デフォルトの名無しさん
2006/12/26(火) 03:50:57数日長考の上で引き分け
とかはつまらないので
1手毎の考慮時間を短く設定して
最速で強力手を見つけられるような
アルゴリズムが必要になるとかのルールだと
現実的で面白いと思うよ
0215デフォルトの名無しさん
2006/12/26(火) 08:34:550216デフォルトの名無しさん
2006/12/26(火) 08:47:37GGSという後継のサーバがある。
0217デフォルトの名無しさん
2006/12/26(火) 09:27:026×6は後手必勝
02181
2006/12/26(火) 09:30:59GGSに参加しやすくするソフトウェアってありますか?
通信部分はやってくれるやつ
0219デフォルトの名無しさん
2006/12/26(火) 10:12:32http://othellogateway.com/ntest/
プログラムをGGSに接続させたいならODKってのを使えばいい。
ちなみにGGSにはSAIOがほぼ常時接続してて自動で対戦してる。
でも弱い(レートが低い)プログラムは相手にしない設定になってる。
02201
2006/12/26(火) 20:12:12ありがとうございます
0221デフォルトの名無しさん
2006/12/26(火) 20:17:430222デフォルトの名無しさん
2006/12/26(火) 20:28:5102231
2006/12/26(火) 20:39:52外からの棋譜や定跡の入力はないです
自己生成です
ハッシュテーブルのサイズは2の24乗です
1600万局面登録できます
重複したら終局に近い方から順に消していきますから
実質的にはもっと入ります
0224デフォルトの名無しさん
2006/12/26(火) 20:46:05あさってには出来上がりそう?順調?
02251
2006/12/26(火) 20:49:36定跡(ハッシュテーブル)を育成する時間はあまりないんですが
デュアルコアで速いパソコン持ってる人いたら生成してもらいたいところです
まだ、生成する部分は出来上がってないですけど
0226デフォルトの名無しさん
2006/12/26(火) 20:53:48ネタにしかきこえないよ〜
02271
2006/12/26(火) 20:54:06回転と反転を同一視した方が、ハッシュがヒットしやすくはなるんですが
計算が複雑になってしまいます
回転と左右反転と白黒反転で16種類の局面が同一視出来ます
02281
2006/12/26(火) 20:55:13ネタとは?二日後には出来上がりますよ
最強のリバーシプログラムが
0229デフォルトの名無しさん
2006/12/26(火) 21:19:010230デフォルトの名無しさん
2006/12/26(火) 21:28:1702311
2006/12/26(火) 21:36:2430才以下ですよ
高校のときですから
その後、コンピュータは真理追究に向かないということで数学へ
アク禁になってしまいました 代行で書き込んでもらいました
0232デフォルトの名無しさん
2006/12/26(火) 21:42:522日後の言い訳の布石か。
0233デフォルトの名無しさん
2006/12/26(火) 22:10:17初めて見さしてもらいましたが、
俺素人だけど白黒反転とか言ってる段階でダメだろ?
将棋じゃないんだから…
頭固すぎだぞ。
今思いついたんだけどオセロの1手目は1種類しかないよね?
選んでるようだけど決まったところに打たされてる。
0234デフォルトの名無しさん
2006/12/26(火) 22:16:16どうダメ?
>今思いついたんだけどオセロの1手目は1種類しかないよね?
そうだね。
0235デフォルトの名無しさん
2006/12/26(火) 22:19:550236デフォルトの名無しさん
2006/12/26(火) 22:22:46できる。
0237デフォルトの名無しさん
2006/12/26(火) 22:25:17返せる箇所が無い限りパスしなければならない。
0238デフォルトの名無しさん
2006/12/26(火) 22:26:010239デフォルトの名無しさん
2006/12/26(火) 22:35:22そんなつもりはないよ。
0240デフォルトの名無しさん
2006/12/26(火) 22:38:42パスでヒントにならなかったかな?
将棋とはちがう。
1手目打つ人は先手に見えるけど、選択できないから後手といってもいいんじゃないかな?
あらかじめ5個目を打っておいても変わらない。
1手目の位置でハッシュ値を…
0241デフォルトの名無しさん
2006/12/26(火) 22:45:37実際に駒(だったっけ?)おいてみれば?
0242デフォルトの名無しさん
2006/12/26(火) 22:47:45将棋と同じで先手有利か。
0243デフォルトの名無しさん
2006/12/26(火) 22:49:09もう一個ヒント:駒の数
0244デフォルトの名無しさん
2006/12/26(火) 22:58:070245デフォルトの名無しさん
2006/12/26(火) 23:01:230246デフォルトの名無しさん
2006/12/26(火) 23:05:241はいないのかな?
ほんとに寝ます。
ヒント:先手、後手のそれぞれの白黒反転同一局面とは?
0247デフォルトの名無しさん
2006/12/26(火) 23:09:510248デフォルトの名無しさん
2006/12/27(水) 00:40:150249デフォルトの名無しさん
2006/12/27(水) 01:13:050250デフォルトの名無しさん
2006/12/27(水) 05:13:40○●
●○
左右反転で一致するケースは果たしてあるのか?
0251デフォルトの名無しさん
2006/12/27(水) 05:19:07一種って10年以上前に無くなってるよね
>その後、コンピュータは真理追究に向かないということで数学へ
それは正しい判断だと思う
コンピュータは教えられたことを盲目に繰り返すだけだから
0252デフォルトの名無しさん
2006/12/27(水) 07:22:41終盤ならあるんじゃないの?
終盤に一致したところでほとんど意味ないけど
0253デフォルトの名無しさん
2006/12/27(水) 07:53:28盤面の状態が単純だからうまい方法が見つかっていそうだけど
02541
2006/12/27(水) 08:30:56携帯はありません ソースをうpしたら代行で書き込んでもらうことにします 今日はこれ一回の書き込みだけになるとおもいます
>>253
例えば、一秒間に100万局面探査できたとして、一試合の思考時間が10分だとすると
一試合で最大6億局面生成します
2の32乗が40億ですから、ハッシュに偏りがなければ
40〜50ビット一致すれば、ほぼ、局面を間違えない訳です
0255デフォルトの名無しさん
2006/12/27(水) 11:21:07対角線で線対称ならあるね
0256デフォルトの名無しさん
2006/12/27(水) 11:55:470257デフォルトの名無しさん
2006/12/27(水) 12:01:16http://science4.2ch.net/test/read.cgi/sim/1090548999/
0258デフォルトの名無しさん
2006/12/27(水) 13:55:53同じく0にしても「さほど」問題は無いと思うけど
0259デフォルトの名無しさん
2006/12/27(水) 14:13:58目標に引き分けも含めるなら評価関数が扱う値の上限よりも引き分けの値を高くする。
同じく0にするなら、評価値が正数の手があれば引き分けは捨ててそっちで勝ちを目指すようになる。
(その結果負ける事もありうるけど)
あと、試合結果の値と評価関数の値を混ぜないで、別途フラグを用意する手法もある。
0260デフォルトの名無しさん
2006/12/27(水) 19:44:330261デフォルトの名無しさん
2006/12/27(水) 19:55:12友達居ないから携帯なんか必要無いんだよね
0262デフォルトの名無しさん
2006/12/27(水) 19:55:23>>429
ふむふむ。参考になります。
僕は序盤の全探索があと4手くらいは多くできるかなくらいで考えてました。
>>406では大型コンピュータを使って何をするつもりなのかも気になりますね。
ところで16手全探索終わりました。
183時間52分くらいかかりました。(Pentium4 2.4GHz)
今朝は終了直前でコンピュータがクラッシュする夢を見ました。
正夢にならなくてよかった〜
手数----棋譜数----最大着手可能数----ゲームオーバー----パス
01-----------------4-----4-----------0-----------0
02----------------12-----3-----------0-----------0
03----------------56-----5-----------0-----------0
04---------------244-----6-----------0-----------0
05--------------1396-----9-----------0-----------0
06--------------8200----11-----------0-----------0
07-------------55092----12-----------0-----------0
08------------390216----14-----------0-----------0
09-----------3005320----15-----------0----------24
10----------24571192----16---------228---------228
11---------212260296----18---------356---------932
12--------1939892240----20--------6384--------7396
13-------18429768516----21-------16384-------35588
14------184042835408----22------299624------367160
15-----1891844432704----23------887364-----1979532
16----20301281202588----25----13560800----18920488
0263デフォルトの名無しさん
2006/12/27(水) 19:57:52哀れ。
0264デフォルトの名無しさん
2006/12/27(水) 21:25:110265デフォルトの名無しさん
2006/12/27(水) 23:26:42とても楽しみ。ワクワク
0266デフォルトの名無しさん
2006/12/28(木) 10:41:490267デフォルトの名無しさん
2006/12/28(木) 11:52:08今日の何時にうpするの?
0268デフォルトの名無しさん
2006/12/28(木) 11:59:300269デフォルトの名無しさん
2006/12/28(木) 12:39:370270デフォルトの名無しさん
2006/12/28(木) 12:50:20色々考えた結果、引き分けは次の位置づけが合理的な気がする
負け < 引き分け < 未知 < 勝ち
誰か意見をくだされ
#違うゲームを作成中の者です。人が集まっていたので聞いてみました。
0272デフォルトの名無しさん
2006/12/28(木) 13:15:51「未知」と言うのは「評価関数で0を返す」=読みきれなかった
ということでいいのかな?
それなら
負け < 引き分け < 未知 < 勝ち
の場合は、「確実に引き分けるより勝負に行く」
負け < 未知 < 引き分け < 勝ち
なら、「あやふやな勝負より引き分けを取る」
どちらを採るかはその人(或いはプログラム)次第だが
素人と対戦するなら前者、名人と対戦するなら後者、かな。
http://pc8.2ch.net/test/read.cgi/tech/1165049332/
先日こっちのスレで僕が作ったプログラムでは、黒から見た場合次のようになります。
負け < 未知(評価値マイナス) < 引き分け = 未知(評価値0) < 未知(評価値プラス) <勝ち
引き分けと評価値0の手が両方ある場合、どちらが選ばれるかは不定です。
(あの実装だとマスの番号が大きい方が選ばれるのかな)
0274デフォルトの名無しさん
2006/12/28(木) 18:25:460275デフォルトの名無しさん
2006/12/28(木) 18:40:360276デフォルトの名無しさん
2006/12/28(木) 19:45:32ソースまだー?
0277デフォルトの名無しさん
2006/12/28(木) 20:12:400278デフォルトの名無しさん
2006/12/28(木) 20:44:400279デフォルトの名無しさん
2006/12/28(木) 20:57:06>>1自身が迷惑行為働いて規制されたとかなら別だが。
0280デフォルトの名無しさん
2006/12/28(木) 21:01:56やっぱり恥ずかしくて逃げてるだけだと思う
0281デフォルトの名無しさん
2006/12/28(木) 21:08:250282デフォルトの名無しさん
2006/12/28(木) 21:31:15そう簡単に出来るわけないでしょ
常識的に考えて
0283デフォルトの名無しさん
2006/12/28(木) 21:32:360284デフォルトの名無しさん
2006/12/28(木) 21:35:33いやいや
1年間将棋のAI作ってたくらいだぞ
完成しなかったらしいが
0285デフォルトの名無しさん
2006/12/28(木) 21:48:45http://pc8.2ch.net/test/read.cgi/tech/1166749119/196
0286デフォルトの名無しさん
2006/12/28(木) 21:59:38構想を練ってただけの1年間も作成経験に入れてるのか・・
0287デフォルトの名無しさん
2006/12/28(木) 21:59:56知的探究心も足りないと思う。
言動を見ていると真理の追究にも向いてない。
でも、人間やめなくてもいい。
何事もなかったかのように帰って来い。
どうしてもくやしかったらネタでしたwって出てこればいいのさ。
0288デフォルトの名無しさん
2006/12/28(木) 22:16:09プログラムがさっぱりできなくてうpできないとか
0289デフォルトの名無しさん
2006/12/28(木) 22:20:210290デフォルトの名無しさん
2006/12/28(木) 22:25:36審査を通らないと思うけど…
0291デフォルトの名無しさん
2006/12/28(木) 22:27:29地球シミュレータってパソコンの数十万倍とかその程度じゃないの?
使えても解くのはとても無理
0292デフォルトの名無しさん
2006/12/28(木) 22:35:34Blue Geneでも無理だろう。
地球シミュレータは論文とプログラム提出して、
並列化の指数が高くないと使わせてもらえないんじゃなかったっけ?
0293デフォルトの名無しさん
2006/12/28(木) 22:40:03気象関係?
0294デフォルトの名無しさん
2006/12/28(木) 22:40:590295デフォルトの名無しさん
2006/12/28(木) 22:45:20>並列化効率50%以上(並列実行時の各プロセッサの性能が、単一プロセッサ
>実行時の性能の50%以上)にチューニングされるよう、求めています。
>例えば単一プロセッサ実行で、ピーク性能比90%を達成しているプログラムを
>1000プロセッサで実行する時には、ピーク性能比45%の達成が必要となります。
02961
2006/12/28(木) 23:42:24間に合わなかった
あと二日待って下さい
0297デフォルトの名無しさん
2006/12/28(木) 23:44:34今どんな状況?
あと二日待てばどうなるの?
0298デフォルトの名無しさん
2006/12/28(木) 23:47:180299デフォルトの名無しさん
2006/12/28(木) 23:48:01CPUのアルゴリズムは今一番たくさん取れる置き方を選択する、
名付けて小学生ルーチンだったけどな。
弱すぎて涙が出た。
03001
2006/12/28(木) 23:48:18アルゴリズムは、紙の上で完成しているんだけど
細かい部分(移動処理とか)の作成、整備に時間がかかってしまった
必死で間に合わそうとしたけど、眠たくなってしまった
明日、もうちょい煮詰めてから完成させます
0301デフォルトの名無しさん
2006/12/28(木) 23:54:06今できてる分だけでいいから見せてよ。
03021
2006/12/28(木) 23:57:51ちゃんと動いたらうpしますからもうちょい待ってて下さい
明日中のうpを目標にしたい所ですが...
出来るだけ速く完成させます
0303デフォルトの名無しさん
2006/12/29(金) 00:01:01"ちゃんと"動く事は無いんだから一生見せないつもりでしょ
0304デフォルトの名無しさん
2006/12/29(金) 00:02:44職業プログラマが作ったプログラムだって(ry
03051
2006/12/29(金) 00:04:36ちゃんと動かないか、最強でなかったら人間やめますって
最強の自信はありますから待ってて下さい
0306デフォルトの名無しさん
2006/12/29(金) 00:05:57人間やめるかやめないかよりも、うpするかしないかが重要だと思うんだが
うpしてくれれば改良の余地はあるから言ってるんだ
0307デフォルトの名無しさん
2006/12/29(金) 00:07:30自分で今日発表って宣言したんだから、そこらへんしっかりしてくれよ
変なところにこだわるのは今更おかしいって
03081
2006/12/29(金) 00:09:490309デフォルトの名無しさん
2006/12/29(金) 00:09:510310デフォルトの名無しさん
2006/12/29(金) 00:11:54とりあえずアク禁は解除されてるみたいだね。
おめでとう。
果報は寝て待つ。
0312デフォルトの名無しさん
2006/12/29(金) 01:01:320313デフォルトの名無しさん
2006/12/29(金) 01:08:33あぁそういえばそうだな。
すっかりその可能性を忘れてた。
とりあえず半信半疑になっとこう。
0314デフォルトの名無しさん
2006/12/29(金) 01:13:390315デフォルトの名無しさん
2006/12/29(金) 01:19:18トリップつけてソースコードを出してきたやつを>>1とみなす。
0317デフォルトの名無しさん
2006/12/29(金) 06:21:33$cat -n ./src/control/Main.java
1 package control;
2
3 /**
4 this is Main for Othello
5 @author
6 @version 2006
7 **/
8 public class Main
9 {
10
11 public Main()
12 {
13 }//Main()
14
15 public static void main(String argv[])
16 {
17 // gui.awt a = new gui.awt();
18 // a.gui();
19 Control control = new Control();
20 control.control();
21 }//main()
22
23 }//Main
0318デフォルトの名無しさん
2006/12/29(金) 08:53:45最強ですか
0319デフォルトの名無しさん
2006/12/29(金) 08:57:070320デフォルトの名無しさん
2006/12/29(金) 09:26:22自演かどうかは1なら分かることだから、一応書き込んでおく。
無意味な叩きレス多過ぎ。嘘だと思うならこなければいいだけのこと。
0321デフォルトの名無しさん
2006/12/29(金) 10:53:21しかし>>1は相当アホだと思ってる。
だから色々教えてやってる。
0322デフォルトの名無しさん
2006/12/29(金) 12:20:44しかし>>1は完璧主義者だと思ってる。
だから今日中にはうpできないと思う。
0323デフォルトの名無しさん
2006/12/29(金) 12:27:11目指すのはいいが空回りしてるバカ
0324デフォルトの名無しさん
2006/12/29(金) 12:51:34俺は上の方で宿題やらせるつもりだろ?とか書いたけど
意外とまめじゃん。
2chへの書き込みは。
0325デフォルトの名無しさん
2006/12/29(金) 13:31:21自分で宣言した事を守らなかったんだから少なくとも俺からの信用は失ってる
イライラしてきてるから明日ソースうpしなければ叩く側にまわってしまいそうだw
0326デフォルトの名無しさん
2006/12/29(金) 13:34:06>だから色々教えてやってる。
>だから色々教えてやってる。
>だから色々教えてやってる。
>だから色々教えてやってる。
>だから色々教えてやってる。
プ
0327デフォルトの名無しさん
2006/12/29(金) 13:34:22もうちょっと暖かい目で。。。
0328デフォルトの名無しさん
2006/12/29(金) 13:41:28>>1は人の話なんか聞いちゃいねーよ
0329デフォルトの名無しさん
2006/12/29(金) 14:19:50だが、納期に納品できないのならせめて経過を…
0330デフォルトの名無しさん
2006/12/29(金) 14:33:280331デフォルトの名無しさん
2006/12/29(金) 14:34:310332デフォルトの名無しさん
2006/12/29(金) 15:07:000333デフォルトの名無しさん
2006/12/29(金) 16:56:180334デフォルトの名無しさん
2006/12/29(金) 22:18:18明日には間に合いそう?
0335デフォルトの名無しさん
2006/12/29(金) 23:39:42まあソースうpしたら見てやるよ。
0336デフォルトの名無しさん
2006/12/30(土) 00:05:500337デフォルトの名無しさん
2006/12/30(土) 00:21:080338デフォルトの名無しさん
2006/12/30(土) 00:25:59ためのりがこのスレみたら激怒するだろうね。
0339デフォルトの名無しさん
2006/12/30(土) 00:31:02彼は本当にすごい。
0340デフォルトの名無しさん
2006/12/30(土) 00:31:160341デフォルトの名無しさん
2006/12/30(土) 00:32:09オセロの世界チャンピオン
0342デフォルトの名無しさん
2006/12/30(土) 00:35:270343デフォルトの名無しさん
2006/12/30(土) 00:38:560344デフォルトの名無しさん
2006/12/30(土) 00:46:25競技人口が多くて大会も盛んで選手層が厚い。
"オセロ"は日本発だし。
それでも時々世界チャンピオンの座は他の国の人に持っていかれる事もあるけどね。
スポーツで言えば柔道みたいな感じかな。
0345デフォルトの名無しさん
2006/12/30(土) 00:50:35初めて知ったよ。
0346デフォルトの名無しさん
2006/12/30(土) 00:52:20名前を変えているだけ?それとも本当に日本発祥?
詳しくはウィキペディアでオセロを検索してんか
0348デフォルトの名無しさん
2006/12/30(土) 01:07:17日本にも伝わって来てたみたいだけど当時は流行らなかったらしい。
でもその後オセロっていう名前を付けて販売して流行らせたのは日本かな。
http://ja.wikipedia.org/wiki/%E3%82%AA%E3%82%BB%E3%83%AD_(%E9%81%8A%E6%88%AF)
0349デフォルトの名無しさん
2006/12/30(土) 01:08:19海外ではリバーシ、日本では源平碁といって昔からあったゲーム
最初のこまの置き方とか細かい亜流があったが
ツクダがオセロの商標で今のルールを添えて販売し大ヒットしたのでありました
0350デフォルトの名無しさん
2006/12/30(土) 06:24:330351デフォルトの名無しさん
2006/12/30(土) 12:45:15>>266
0352デフォルトの名無しさん
2006/12/30(土) 13:53:28うpマダー?
0353デフォルトの名無しさん
2006/12/30(土) 21:03:07の予感
0354デフォルトの名無しさん
2006/12/30(土) 21:29:4503551
2006/12/30(土) 22:34:50あと90分か
眠たくなってきた
とりあえず寝ても良いですかね?
0356デフォルトの名無しさん
2006/12/30(土) 22:36:31寝るならうpしてからね
また反故にするつもりか?
0357デフォルトの名無しさん
2006/12/30(土) 22:38:22ってかトリップつけろ
03581
2006/12/30(土) 23:24:27年内には出来上がるよ
0360デフォルトの名無しさん
2006/12/30(土) 23:31:3403611
2006/12/30(土) 23:34:25本当に年内にうpしますから待ってください
できなかったら人間やめます
0362デフォルトの名無しさん
2006/12/30(土) 23:35:31取り合えずトリップつけろおおおお
0363デフォルトの名無しさん
2006/12/30(土) 23:37:2903641
2006/12/30(土) 23:44:560365デフォルトの名無しさん
2006/12/30(土) 23:44:5903661 ◆tIKW.3DbiI
2006/12/30(土) 23:48:53トリップつけました
03671
2006/12/30(土) 23:51:1503681 ◆tIKW.3DbiI
2006/12/30(土) 23:52:31年内には必ず出します...
ごめんなさい!
おやすみなさい!
03691
2006/12/30(土) 23:57:48そろそろやばいかも。
03701
2006/12/31(日) 00:00:26まだうまく動かないのでできたところまでです...
http://www.uploda.org/uporg326554.zip.html
03711 ◆OTHELLOVls
2006/12/31(日) 00:03:5303721 ◆KnghNf6Np6
2006/12/31(日) 00:05:060373デフォルトの名無しさん
2006/12/31(日) 00:05:13予想通りの結末だな
03741 ◆jVQGtf3XJ.
2006/12/31(日) 00:06:45by ゼブラマン
0375デフォルトの名無しさん
2006/12/31(日) 00:10:37もう確信した
0376デフォルトの名無しさん
2006/12/31(日) 00:14:000377デフォルトの名無しさん
2006/12/31(日) 00:20:15ほんとはだいぶ信じてて騙されたのが悔しいんだろ?
0378デフォルトの名無しさん
2006/12/31(日) 00:21:090379デフォルトの名無しさん
2006/12/31(日) 00:24:580380デフォルトの名無しさん
2006/12/31(日) 00:31:25それより今日まで待たせてきた"1"のほうが人間としてどうかしてると思うぞ
03811 ◆grBT6jKoio
2006/12/31(日) 13:20:130382デフォルトの名無しさん
2006/12/31(日) 13:33:290383デフォルトの名無しさん
2006/12/31(日) 14:08:240384デフォルトの名無しさん
2006/12/31(日) 14:47:32そろそろできましたか?
今度はあなたに期待していますよ。
0385デフォルトの名無しさん
2006/12/31(日) 15:50:16つぼったww
もうすぐ2006年終わっちゃうよー!
0386デフォルトの名無しさん
2006/12/31(日) 16:32:540387デフォルトの名無しさん
2006/12/31(日) 17:35:540388デフォルトの名無しさん
2006/12/31(日) 19:06:250389デフォルトの名無しさん
2006/12/31(日) 19:21:530390デフォルトの名無しさん
2006/12/31(日) 21:30:44うpマダー?
0391デフォルトの名無しさん
2006/12/31(日) 23:48:060392デフォルトの名無しさん
2006/12/31(日) 23:58:41>>1まだー?
0393デフォルトの名無しさん
2007/01/01(月) 00:03:180394デフォルトの名無しさん
2007/01/01(月) 00:04:48明けましておめでとうございます。
今年もよろしくお願いします。
0395デフォルトの名無しさん
2007/01/01(月) 00:06:010398397
2007/01/01(月) 00:24:160404403
2007/01/01(月) 01:23:38良い年でありますように。
0406デフォルトの名無しさん
2007/01/01(月) 02:12:23子供とか甥っ子とかいないから・・・
あ〜そういや年の離れた従姉がいたが、子供かなり大きくなったからなぁ。
全然会わないし。
0408デフォルトの名無しさん
2007/01/01(月) 02:28:36ワラタw
0409デフォルトの名無しさん
2007/01/01(月) 03:15:09イランゆうてもくれようとする。
損するもんじゃないから結局もらうけど。
0412デフォルトの名無しさん
2007/01/01(月) 13:06:14あげる立場って言ってるんじゃなくて、
あげる年齢だろ?って言ってるんだ
0414デフォルトの名無しさん
2007/01/01(月) 17:03:02いくつまでもらうつもりなんだ?
ってのも読み取れなかったのかな?
リアルに中学生くらいならごめんね。
0415デフォルトの名無しさん
2007/01/01(月) 17:13:380416デフォルトの名無しさん
2007/01/01(月) 17:47:240417デフォルトの名無しさん
2007/01/01(月) 18:07:410418デフォルトの名無しさん
2007/01/01(月) 19:29:46居れば技術解説してくれないかな?
0419デフォルトの名無しさん
2007/01/01(月) 19:42:291.少石返し
2.自分の石をつなげる
3.相手の石に囲ませる
みたいな感じ?
0420デフォルトの名無しさん
2007/01/01(月) 19:53:57それらは打てる場所の数を増やす/減らさない事につながる。
0421デフォルトの名無しさん
2007/01/01(月) 20:29:04// C++の勉強初めて1週間程度だけどこのスレを見て練習がてらオセロが出来るプログラム作ってみようと思った
// でもそれを作るには返す手を計算する処理が必要なわけでそれを作る事は俺にはまだ不可能だと思った
//
// このスレを最初見たとき>>1の言ってる事はなんとなくしか理解できないし俺はすごいと思ってたけど
// 今の>>1は「最強のオセロプログラム作りたいから手伝って!俺はオセロプログラム作れないけど^^;」
// って俺が言ったのと同じじゃね?
// 作りたいと思うなら、作れると思うなら経過くらいうpするべきだと思う
/////////////////////////////////// チラシの裏 ////////////////////////////////////////////////
0422デフォルトの名無しさん
2007/01/01(月) 20:36:250423デフォルトの名無しさん
2007/01/01(月) 20:42:09仮にアイディアを自分で考え付いても車輪の再発明である可能性が高い。
せめてアイディアを公開すれば他人が検証できるんだけどね。
0425デフォルトの名無しさん
2007/01/01(月) 20:59:24にコーディング能力ないならどういう実装したかったのかだけでも教えてくれよ
C++,でもJAVAでも指定の言語でとりあえず書いてやるから。
そうすればここの住人が改良、最適化等するからよ?人間やめんな?
0426デフォルトの名無しさん
2007/01/01(月) 21:07:240427デフォルトの名無しさん
2007/01/01(月) 21:10:22単なる自業自得だと思うが。
0428デフォルトの名無しさん
2007/01/01(月) 21:13:17言ったのに。
0429デフォルトの名無しさん
2007/01/01(月) 21:24:35>>1に呼びかけてる暇があれば自分でアイディア考えた方が良くないか?>1に期待してる人
0430デフォルトの名無しさん
2007/01/01(月) 21:36:48まぁその場合ここまで延びなかったと思うが。
0431デフォルトの名無しさん
2007/01/01(月) 21:51:29可愛そうなのでパンの耳を上げた。
うれしそうに食べてた。
0433デフォルトの名無しさん
2007/01/02(火) 01:56:16俺もよくわからんけどこの狐ルーチンみたいな奴の事?
http://www.kitsunemimi.org/vsotha/algorithm.html
これは三層パーセプトロンらしいけど。
線形和は単層パーセプトロン?
0434デフォルトの名無しさん
2007/01/02(火) 03:03:120435デフォルトの名無しさん
2007/01/02(火) 14:47:540436デフォルトの名無しさん
2007/01/02(火) 14:53:05http://ja.wikipedia.org/wiki/%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%83%99%E3%82%AF%E3%82%BF%E3%83%BC%E3%83%9E%E3%82%B7%E3%83%B3
>学習サンプル数が増えると急速に計算量が増大するため、
大量の局面から学習しないといけないから難しいのかな?
実際試したわけじゃないからよくわからんけど。
0437デフォルトの名無しさん
2007/01/02(火) 15:01:460438デフォルトの名無しさん
2007/01/02(火) 16:17:510439デフォルトの名無しさん
2007/01/02(火) 18:20:180440デフォルトの名無しさん
2007/01/02(火) 18:52:46さっき新町の吉牛で見かけたよ?
0441デフォルトの名無しさん
2007/01/02(火) 22:26:35こっそり見てる>>1が良心の呵責に苦しむから期待しないでやれよ
0442デフォルトの名無しさん
2007/01/02(火) 22:57:520443 ◆z0MWdctOjE
2007/01/02(火) 23:01:40SOC法とかいう速いアルゴリズムがあるらしいよ。
『サポートベクターマシーン入門』に擬似コードが載っていた。
04441
2007/01/02(火) 23:03:05あとはお願いします。
int mein(boid){
ritan 0;
}
0445デフォルトの名無しさん
2007/01/02(火) 23:09:18SOC法?って聞いたこと無いな。
ぐぐってもよくわからなかいんだけどよければリンク教えてくれる?
0446デフォルトの名無しさん
2007/01/02(火) 23:12:09>>1が作ってるのはBearRevのDLLだべ
0447 ◆z0MWdctOjE
2007/01/02(火) 23:20:19ごめんなさい、SMO法だったm(__)m
0448デフォルトの名無しさん
2007/01/02(火) 23:26:50いいんじゃね?
0449448
2007/01/02(火) 23:27:240450デフォルトの名無しさん
2007/01/02(火) 23:32:37Wikipediaにもチラッと出てる分割統治法の考え方を
用いた手法(の一つ?)がSMO法なのかな。
�dクス
0451デフォルトの名無しさん
2007/01/03(水) 02:58:39vsOtha を試してみたがWZebra と互角に戦うじゃないか!
0452デフォルトの名無しさん
2007/01/03(水) 03:28:00将棋も評価関数の自動作成に流れが来ると思いますね。
その為にも比較的シンプルなオセロの評価関数作成で経験を積むのは有効だと思います。
>>451
そうなんですか。自分も今度試してみます。
あとソースも読んでみます。
0453451
2007/01/03(水) 11:48:023連続で引き分けになった。
0454デフォルトの名無しさん
2007/01/04(木) 00:23:05偶数がいいんですか?
0455デフォルトの名無しさん
2007/01/04(木) 01:01:21相手の番と自分の番と読むんじゃないか?
しらないけど。
0456デフォルトの名無しさん
2007/01/04(木) 01:50:59一般的に、ある偶数は1少ない奇数より良くて1多い奇数より悪いです。
探索は深いほど時間がかかるけど精度はいいです。
0457デフォルトの名無しさん
2007/01/04(木) 02:23:37ソースも読んでスケルトンのビルドまではした。
で、>>1のソースうpはまだー?
0458デフォルトの名無しさん
2007/01/04(木) 02:55:40これらを改造してBearRev用DLLにして公開したらまずい?
0459デフォルトの名無しさん
2007/01/04(木) 03:28:08ただソースは公開しないとだめだけど
0460デフォルトの名無しさん
2007/01/04(木) 03:49:29GPLのDLLにリンクするプログラムってGPLにしないと駄目じゃなかったっけ?
BearRevはGPLじゃない(よね?)からどうなのかと疑問に思った。
先にBearRevがあるからいいのかな?
0461デフォルトの名無しさん
2007/01/04(木) 04:00:44http://hfujita.air-nifty.com/blog/2004/08/index.html
http://www.gnu.org/licenses/gpl-faq.ja.html#GPLPluginsInNF
>ん、そもそもBearRevのプラグインという時点でこの問題が生じる?
>……あ、これは著作者である俺が「BearRevへの動的組み込みを許可する」
>と宣言すれば問題ないのか。
自分は著作権者じゃないしなぁ。
0462デフォルトの名無しさん
2007/01/04(木) 04:03:04分からない駄目なのかも
0463457
2007/01/04(木) 05:48:51実はさっきまでZebra移植しようとしてた。。
俺も調べてみるわ。
0464457
2007/01/04(木) 06:12:55今気付きますた。
で、ライセンスの件なんだけど>>461のリンク先サイトのThell使えばよくね?
http://www.vector.co.jp/soft/win95/game/se183886.html
で、今ソースを探してる所なんだけど眠いんで寝る。
<チラ裏>
http://sanno.xsrv.jp/cgi-bin/kifboard/kifboard.cgi
</チラ裏>
0465デフォルトの名無しさん
2007/01/04(木) 08:04:530466 ◆z0MWdctOjE
2007/01/04(木) 08:30:120467デフォルトの名無しさん
2007/01/04(木) 10:01:150468デフォルトの名無しさん
2007/01/04(木) 10:46:391-1-1
1-1-2
1-2-1
1-2-2
2-1-1
2-1-2
2-2-1
2-2-2
と、あるけど、
自分の打てる場所が多くなればいいのか?
相手の手が狭まればいいのか?
より多くひっくり返せるほうがいいのか?
相手が隅の回りにしか置けないようにするのがいいのか?
そもそも、コンピュータの相手というのは、多くは人間であり、
最善の手を打つとは限らない。
この条件で考えると最善の手とは何かわからなくなる。
0469デフォルトの名無しさん
2007/01/04(木) 10:54:02終盤はできるだけ読みきる形でしょ
0470デフォルトの名無しさん
2007/01/04(木) 11:16:220471デフォルトの名無しさん
2007/01/04(木) 13:14:16でも>>1の手法はそれも解決するらしい。
0472デフォルトの名無しさん
2007/01/04(木) 13:50:37定石にのっとってとよく言うけれど相手が定石から外れたらどう対処すればいいのかな?
0473デフォルトの名無しさん
2007/01/04(木) 13:55:43ゆとり世代ですか?
0474デフォルトの名無しさん
2007/01/04(木) 18:10:30リア厨ですか?
0475デフォルトの名無しさん
2007/01/04(木) 19:07:18これは良い手が多い。
>相手の手が狭まればいいのか?
これも良い手が多い。さらに言うと
同時に先読みするときの幅が狭くなるので
読める手が多くなるというメリットも齎される。
>より多くひっくり返せるほうがいいのか?
ほぼ間違い。ただし次のケースを除く。
その手または数手先に全消し出来る可能性がある場合。
その手または数手先に相手が置ける場所が無くなる(手詰まりになる)場合。
>相手が隅の回りにしか置けないようにするのがいいのか?
これは間違いというかほとんど考慮の意味が無い。
0476デフォルトの名無しさん
2007/01/04(木) 19:11:49結局、良く言われていることなんだけど、
自分の置ける場所が増えて相手の置ける場所が減る手が良い手であることが多い。
とりあえず序盤と中盤はそれで評価値を決めていいと思うよ。
終盤は当然読みきり。
0477デフォルトの名無しさん
2007/01/04(木) 20:00:19それだけだと明らかに悪い手さえ排除できない事がある。
vsOthaには着手可能箇所を評価値として打つオプションがあるから
精度がどの程度あるか試してみたら?
http://www.vector.co.jp/soft/win95/game/se322332.html
0478デフォルトの名無しさん
2007/01/05(金) 01:39:26mobility相手だと何回やっても漏れが勝った
ありがとう
0479 ◆z0MWdctOjE
2007/01/05(金) 01:51:490480デフォルトの名無しさん
2007/01/05(金) 01:57:05もうちょっと具体的に説明してくれる?
興味深い事言ってる気がする。
0481デフォルトの名無しさん
2007/01/05(金) 02:06:36日本語でなんだっけ
多変量解析だっけか
0482デフォルトの名無しさん
2007/01/05(金) 02:09:24すまんこ
0483 ◆z0MWdctOjE
2007/01/05(金) 02:23:46気のせいです。
案1、係数の2乗和が定数になるようにする…球面上をはい回るイメージ
案2、たとえば着手可能箇所数(mobility)の係数を固定にする
考え中…解の候補を遺伝子と見立てて交叉、変異、淘汰を繰り返す…
(n+1)個の点で凸包をつくりポリトープ法で…
考え中…解の候補のうち、最良の候補vs新しい解の候補でやったら…
色々試してみたいけど時間が足りない…
0485デフォルトの名無しさん
2007/01/05(金) 15:17:28勉強してくる。
ポリトープ法って日本語資料少なくない・・?
0486デフォルトの名無しさん
2007/01/05(金) 17:41:410487 ◆z0MWdctOjE
2007/01/05(金) 19:15:45ポリトープ法は従来シンプレックス法と呼ばれていた・・奥村氏の『アルゴリズム事典』
日本語資料はあと一つあるがなくしてしまった。
収束が遅くて使えないんでしょう。
>>486
結局bonanzaみたいなことをいろんなアルゴリズムでやりたいなと
0488デフォルトの名無しさん
2007/01/05(金) 22:24:500490デフォルトの名無しさん
2007/01/06(土) 02:30:32ある深さで係数がほとんど0になるようなフィーチャーは
その深さでは使用しないようにするってのはどうかな?
評価関数が軽くなると思う。
0491デフォルトの名無しさん
2007/01/06(土) 04:49:17評価関数の精度に定評のあるNtestの使用するフィーチャー
-Pattern coefficients
-Potential mobility
-Mobility
-A constant to account for odd/even ply differential
特徴的なのはPotential Mobilityを使用してる事かな
0493デフォルトの名無しさん
2007/01/06(土) 07:51:330494デフォルトの名無しさん
2007/01/06(土) 13:41:14人間やめてカタビロトゲトゲにでもなったんじゃない?
0495デフォルトの名無しさん
2007/01/06(土) 15:41:040496デフォルトの名無しさん
2007/01/06(土) 16:06:41笑い
ハムシかよ!
0498デフォルトの名無しさん
2007/01/06(土) 19:30:41いつかソースを出す気があるのか無いのかだけでも答えてくれるか?
無くても別に叩かんから
0499デフォルトの名無しさん
2007/01/07(日) 01:28:45http://ehoba.mydns.jp/loada/src/txup0129.zip
WSHを使ったJScriptで組んだもので、
Win2000以降なら標準で実行できるはず。
思考ルーチンを追加できる構造。
DOS窓から"cscript rev.js"で実行する。
0500デフォルトの名無しさん
2007/01/07(日) 01:30:220501デフォルトの名無しさん
2007/01/07(日) 01:32:09乙。
今からやってみるね。
0502501
2007/01/07(日) 01:41:240503499
2007/01/07(日) 05:01:33やはり圧勝でしたか。
そこでVer.UP。
http://ehoba.mydns.jp/loada/src/txup0132.zip
一部のコードの修正と、少し手ごわくなった思考ルーチン CPU_simple2 の追加。
書き忘れたけど、編集することで、プレイヤー対プレイヤーもCPU対CPUも可能。
CPU_simple2 は完成自体は早かったけど、最初は CPU_simple に時々負ける始末。
チューニングの末、CPU_simple にほとんど勝てるようになったがてこずった。
05041
2007/01/07(日) 06:24:27みなさん、心配かけてごめんなさい
体調くずしてました
あとすこしかかりますがいいですか
0505デフォルトの名無しさん
2007/01/07(日) 07:36:260506デフォルトの名無しさん
2007/01/07(日) 07:37:10おぉ?本物か?
俺はいつまでも待つから、とりあえずあきらめないでほすぃ。
0507デフォルトの名無しさん
2007/01/07(日) 07:39:13(・∀・)イイ!!
0509デフォルトの名無しさん
2007/01/07(日) 12:11:27偽者だな。
0510デフォルトの名無しさん
2007/01/07(日) 12:22:590511デフォルトの名無しさん
2007/01/07(日) 12:43:430513デフォルトの名無しさん
2007/01/07(日) 15:10:16心配?してねーよカス
この偽者め
0514デフォルトの名無しさん
2007/01/07(日) 15:33:43本当は当初考えてたアルゴリズムじゃできなかっただけなんだろ?
0515デフォルトの名無しさん
2007/01/07(日) 15:39:11レス伸びてこのスレは活性化するんじゃないかな
0517デフォルトの名無しさん
2007/01/10(水) 09:59:420518デフォルトの名無しさん
2007/01/12(金) 01:20:29次の作品は無いの?
0519デフォルトの名無しさん
2007/01/12(金) 01:23:2705201
2007/01/13(土) 10:30:0305211
2007/01/13(土) 11:40:28char型の配列を67108914個確保したいとき、main以外の関数から
参照するにはどうすれば?newでいける?
0522デフォルトの名無しさん
2007/01/13(土) 11:42:23/ヽヽ|/⌒\ii|\
/ /ヾゞ///\\|
|/ |;;;;;;|/ハ \|
|;;;;//⌒ヽ
|;/( ^ω^) >>1おっおっおっ乙枯ー
. |{ ∪ ∪
|;;ヾ.,____,ノ
|;;; |
|;;;;;|
|;;;;;|
05231
2007/01/13(土) 11:43:090524デフォルトの名無しさん
2007/01/13(土) 11:43:2605251
2007/01/13(土) 11:45:560526デフォルトの名無しさん
2007/01/13(土) 11:50:2405271
2007/01/13(土) 11:52:110528デフォルトの名無しさん
2007/01/13(土) 11:54:50エラーメッセージを書いてみな
0529デフォルトの名無しさん
2007/01/13(土) 11:56:12char* PPP;
使う前に動的確保でいいんじゃない
05301
2007/01/13(土) 11:57:49動的確保が良いんですが出来ないですか?
05311
2007/01/13(土) 11:59:14グローバルのポインタ定義しておいてあとで確保すればいいってことか わかりました〜
0532デフォルトの名無しさん
2007/01/13(土) 12:14:51でも、そんなに巨大なメモリ空間を何に使うの?
05331
2007/01/13(土) 12:16:410534デフォルトの名無しさん
2007/01/13(土) 12:17:29でも、その部分は直す必要がありそうだけど。
0535デフォルトの名無しさん
2007/01/13(土) 12:20:1905361
2007/01/13(土) 12:22:07一応確保はできましたが
0537デフォルトの名無しさん
2007/01/13(土) 12:27:35とりあえず、C:\my program\reversi\にothello.exe
置きました。
05381
2007/01/13(土) 12:31:39手書きでは、全部書けてるんですが、あと打ち込んでデバックなんですが
眠くなったので寝ます
0539デフォルトの名無しさん
2007/01/13(土) 12:37:40レベル低いな…がっかりだよ。
0540デフォルトの名無しさん
2007/01/13(土) 12:39:560541デフォルトの名無しさん
2007/01/13(土) 12:40:53年齢偽ってどうするの?
05421
2007/01/13(土) 12:41:05技術的な事を知らなかったからといって弱いとは限りません
プログラムは、高校のときに一種うけた頃以来やってません
05431
2007/01/13(土) 12:42:48一番最後のときか、その一つ前だったと思います
0544デフォルトの名無しさん
2007/01/13(土) 12:45:40> プログラミング技術と、アルゴリズムの作成は別です
うん、その通りだと思うよ。
君はプログラミング技術が無いんだよね。
0545デフォルトの名無しさん
2007/01/13(土) 12:45:50あと、大学でプログラム書かないはずはない。
もしかして40台?
0546デフォルトの名無しさん
2007/01/13(土) 12:46:370547デフォルトの名無しさん
2007/01/13(土) 12:48:0905481
2007/01/13(土) 12:48:36修士(数学)を最近出ました
さて何歳でしょうか
0549デフォルトの名無しさん
2007/01/13(土) 12:56:41プログラミングはアート
0550デフォルトの名無しさん
2007/01/13(土) 13:01:50プログラミングはアート
0551デフォルトの名無しさん
2007/01/13(土) 13:13:23あれ?将棋のプログラム書いたんだよね?
矛盾してないか?
アルゴリズム+データ構造≠プログラム
05521
2007/01/13(土) 13:16:4005531
2007/01/13(土) 13:19:21ともに手書きでやるんですが
0554デフォルトの名無しさん
2007/01/13(土) 13:20:320555デフォルトの名無しさん
2007/01/13(土) 13:24:49それは言いすぎだと思うがなあ
ただフローチャート描いてる人って初心者ぐらいだよ。
0556デフォルトの名無しさん
2007/01/13(土) 13:37:380557デフォルトの名無しさん
2007/01/13(土) 13:59:52そう思ってるヤツがシロートだな
もっとも正確にはフローチャートとは呼ばないが
0558デフォルトの名無しさん
2007/01/13(土) 14:07:080559デフォルトの名無しさん
2007/01/13(土) 14:15:03そう思ってるやつはサラリーマン
もっとも、ハッカーはコードしか書かない
0560デフォルトの名無しさん
2007/01/13(土) 14:41:45駅員志望者が面接で、切符切り鋏を使えることをアピールするようなものだ。
0561デフォルトの名無しさん
2007/01/13(土) 14:48:590562デフォルトの名無しさん
2007/01/13(土) 15:15:21おまいがなw
0563デフォルトの名無しさん
2007/01/13(土) 15:15:431は今必死にプログラミングしているところなんだよ
じゃますんな
0564デフォルトの名無しさん
2007/01/13(土) 15:16:410565デフォルトの名無しさん
2007/01/13(土) 15:25:32あたってたなw
0566デフォルトの名無しさん
2007/01/13(土) 21:21:150567デフォルトの名無しさん
2007/01/13(土) 21:28:19プログラミングの基本すらままならないから今勉強中
0568デフォルトの名無しさん
2007/01/13(土) 21:38:430569デフォルトの名無しさん
2007/01/13(土) 21:43:40そんな高度なのはまだできないんじゃないかな
0570デフォルトの名無しさん
2007/01/13(土) 21:45:41糞スレで終わってればよかったものの、こんなに待たされてるにもかかわらず
なんだかんだいって期待してる俺達w
0571デフォルトの名無しさん
2007/01/13(土) 21:49:350572デフォルトの名無しさん
2007/01/13(土) 21:51:24「達」を付けるなカス
俺は期待してない
0573デフォルトの名無しさん
2007/01/13(土) 21:54:540574デフォルトの名無しさん
2007/01/13(土) 22:04:00けなすのを楽しんでいるだけです。
0575デフォルトの名無しさん
2007/01/13(土) 22:22:52わからん。
教えて。
0576デフォルトの名無しさん
2007/01/13(土) 22:29:53オセロは解けるよ。ただ、解くまでに時間が掛かりすぎるってだけ
0577デフォルトの名無しさん
2007/01/13(土) 22:52:590578デフォルトの名無しさん
2007/01/13(土) 22:58:190579デフォルトの名無しさん
2007/01/13(土) 23:31:21理論が素晴しくても、それを正確に表現するプログラムを作るのは
まず無理だろ
仮に理論どおりだとしても1手指すのに何日も計算したりしてw
0580デフォルトの名無しさん
2007/01/13(土) 23:47:460581デフォルトの名無しさん
2007/01/14(日) 00:00:11既存の技術の組み合わせを変えただけ
オリジナル技術は無かったし
0582デフォルトの名無しさん
2007/01/14(日) 00:07:10そういう作り方もできるというだけ。
よりよく作り込むには、やはり新しい理論を使っていかないといけない。
0583デフォルトの名無しさん
2007/01/14(日) 00:23:330584デフォルトの名無しさん
2007/01/14(日) 00:29:08そうだけど、なにか?ww
0585デフォルトの名無しさん
2007/01/14(日) 00:34:44>>1の言った事を頼りに考えてたらわかった!!!
これから実装するから待ってて!!!
0586デフォルトの名無しさん
2007/01/14(日) 00:46:240587デフォルトの名無しさん
2007/01/14(日) 01:03:21それでもわかった風な事ばかりいってるからな
1がプログラムかけなくても書けるつもりになってても別段不思議ではない
0588デフォルトの名無しさん
2007/01/14(日) 01:11:22プログラムはかけるやつがかけばいいとして
オセロ最強プログラムへのアプローチと1がどんな思考回路なのかに興味がある
0589デフォルトの名無しさん
2007/01/14(日) 01:13:1990%:プ
9%:プロ
0.9%:プログ
0.09%:プログラ
0.01%:プログラム
0590デフォルトの名無しさん
2007/01/14(日) 01:20:21プロ 構造化プログラム、オブジェクト指向を理解しアプリケーションを作成できる。
0591デフォルトの名無しさん
2007/01/14(日) 01:41:110592デフォルトの名無しさん
2007/01/14(日) 08:16:560593デフォルトの名無しさん
2007/01/14(日) 10:07:36やっぱり有能な人間はプログラマやめちゃうんだねー。
0594デフォルトの名無しさん
2007/01/14(日) 10:19:590595デフォルトの名無しさん
2007/01/14(日) 16:36:01いくらでも比較できるシーンはあるわけだがw
0596デフォルトの名無しさん
2007/01/14(日) 17:25:370597デフォルトの名無しさん
2007/01/14(日) 18:13:470598デフォルトの名無しさん
2007/01/14(日) 18:19:520599デフォルトの名無しさん
2007/01/14(日) 18:30:44ノ ___l,,,,,,,,,,,,___
| _,,,..-='''''~~~____::::::::::: ̄~~'''ュ
| _,,,...-='''''~~~:::::::::::::::::_,,-‐、ノノ、〉::::::::::::::_,.=''
_,,,|..-='''''~~~:::::::::::::::::::::::::::::r''''~,="ツ, 、_〈__,,..= ''''~
_,,,...-='''''~~~::::::::::::::::::::::::::::::::::::::::::::: ~''~,ィ'~(i~ 乂
(~::::::::::::::::::::::::::::r=~ _,,,_ ::::::::::::::::::: '  ̄ノ ヽ
~''''''''''''''''''''''~(:::::(("~ヽ~ヽ ::::::::: ..:r )
):::::ヾ、 l|_、_ ::::::: r`ー'f
(:::::::::::`l、 _,-、 / ヽ
ヽ:::::::::::ゝ,,_ ノ ' ,イノ
`i:::: :::l .〈 〈 タマ落としたか!
\ :::l ヽ1
\ ::ヘ ノ ソ
\ :::ヘ / f
\ _,,..=ー---‐''
0600デフォルトの名無しさん
2007/01/14(日) 19:13:000601デフォルトの名無しさん
2007/01/14(日) 20:18:57自分が得意なものだけをやって、
時間をたっぷり使えるアマチュアのほうが
断然有利だ。
0602デフォルトの名無しさん
2007/01/14(日) 20:27:47時間の制約がなければいいものが出来る、というわけではない
0603デフォルトの名無しさん
2007/01/14(日) 20:29:49いつまでも結果がでないなんてことはよくあることだな。
0604デフォルトの名無しさん
2007/01/14(日) 20:30:26自分の得意分野を侵害されて不満のご様子。
0605デフォルトの名無しさん
2007/01/14(日) 20:31:56自分をそこまで追いつめたのは自分自身だということをいつ理解するんですか?
0606デフォルトの名無しさん
2007/01/14(日) 20:37:370607デフォルトの名無しさん
2007/01/14(日) 20:39:52俺はコーダーじゃねぇけど、せめてまだ取り柄の一つでもあればまだまし。
世の中、全然取り柄がないヤツなんてごまんといる。
誰にでも、ひとつぐらいは取り柄があるなんてのはただの幻想。
0608デフォルトの名無しさん
2007/01/14(日) 20:44:45取り柄って言うのはね、自分自信の認識によるものなんだよ。
俺は何の取り柄もないダメなやつだ・・・なんて思っている人間はうつ病。
すぐに病院に行くべきだ。
0609デフォルトの名無しさん
2007/01/14(日) 20:45:17努力が足りないんじゃないのか?
0610デフォルトの名無しさん
2007/01/14(日) 21:02:440611デフォルトの名無しさん
2007/01/14(日) 21:09:260612デフォルトの名無しさん
2007/01/14(日) 21:09:270613デフォルトの名無しさん
2007/01/14(日) 21:11:29そう思っていた時期が
俺にもありました
0614デフォルトの名無しさん
2007/01/14(日) 21:13:09一つの失敗を見つけて、「お前は何の取り柄もないやつだな」と罵ってみたり。
そして、「俺はあいつよりは優秀だ」と自分を励ましてみたり。
自信が無い人間ほどこういうパターンは多いかな〜
0615デフォルトの名無しさん
2007/01/14(日) 21:15:06生きてないモノにも意味があるよ
0616デフォルトの名無しさん
2007/01/14(日) 22:05:510617デフォルトの名無しさん
2007/01/14(日) 22:21:35多分だけど、白が勝つか、有意差を見られないかのどっち踵
0618デフォルトの名無しさん
2007/01/14(日) 22:31:42答うることあたわず…か
0619デフォルトの名無しさん
2007/01/14(日) 22:36:000620デフォルトの名無しさん
2007/01/14(日) 23:10:400621デフォルトの名無しさん
2007/01/14(日) 23:11:340622デフォルトの名無しさん
2007/01/14(日) 23:16:330623デフォルトの名無しさん
2007/01/14(日) 23:26:530624デフォルトの名無しさん
2007/01/14(日) 23:34:150625デフォルトの名無しさん
2007/01/14(日) 23:42:26回転、反転させたらどこも一緒だろ
0627デフォルトの名無しさん
2007/01/14(日) 23:55:36だがその話をするとオセロはf5におくことが決められていて
最初の一手は白からだとか言い出すヤツもいるから気をつけろ。
0628デフォルトの名無しさん
2007/01/15(月) 00:05:46オセロはf5におくことが決められていて最初の一手は白からだ
0629デフォルトの名無しさん
2007/01/15(月) 00:14:46二手目は三通りで三手目は(3+4+5)で12通りということでいいのかな。
四手目になると、ざっと数十通りか。流石にこの辺りになると手書きじゃ書き出せなくなるな。
0630デフォルトの名無しさん
2007/01/15(月) 00:20:26どういう意図で言ってるの?
初手F5に打つのは慣習であって、打たなければならないとは
決められてないし、先手は黒だけど。
0631デフォルトの名無しさん
2007/01/15(月) 00:24:54気づいてないのはむしろお前なんだがw
0632デフォルトの名無しさん
2007/01/15(月) 00:39:14今どんな状況?
0633デフォルトの名無しさん
2007/01/15(月) 00:45:23釣りに決まってるだろ
0634デフォルトの名無しさん
2007/01/15(月) 00:56:3906351
2007/01/15(月) 07:14:06まもなく完成!
06361
2007/01/15(月) 07:16:0006371
2007/01/16(火) 05:54:24局面の実現確率が1000000とかになる
普通は0から1の範囲なのに
番地をまちがえてるっぽい
0638デフォルトの名無しさん
2007/01/16(火) 06:54:23暗記厨に負けないように
自分が黒のときはわざと
F5いかずに回転+鏡像の
E6に打ってるよ
0639デフォルトの名無しさん
2007/01/16(火) 14:42:25たまにいるよね。
向きが変わると定石がわからなくなる奴。
俺はランダムにどこでも置く。
06401
2007/01/16(火) 15:52:08ちゃんと動かないところがありそうなんだけど
ソース読めたら凄い
http://up2moe.moe.hm/img/q394.txt
06411
2007/01/16(火) 15:53:530642デフォルトの名無しさん
2007/01/16(火) 15:59:28まず理論を説明してよ。
ちゃんと動かないってのは、
具体的にどういう動作がどうなってほしいの?
0643デフォルトの名無しさん
2007/01/16(火) 16:02:5506441
2007/01/16(火) 16:06:14すすんで戻ってを繰り返すところがある様子
あと、手が5手くらいしか生成できない局面で18手とか重複して生成することがある様子
06451
2007/01/16(火) 16:19:52msu() マスzからl方向へむけていくつコマが取れるか
situ() zにおいたときに取れるコマを出す
hmove() ハッシュ値の計算
adress() ハッシュ値からアドレスを出す
move() zへ手を進める
serch() 手をサーチする
tset() 手を登録する
mtd() 探索ルーチン
main() 初期化をする
06461
2007/01/16(火) 16:32:17te[] 手の登録など
ad[128] 手数ごとのアドレス
h[128][16] 手数ごとのハッシュ値
rh[64][2] 白黒、マスごとのハッシュ計算用テーブル
rd[100] ハッシュが重複したとき手をずらす
x アドレス
F 白黒
z マス
masu[128][2] 手数ごとの白黒の枚数
ban[64] コマのおいてあるところは1
t 手数
kd[64][8] カベまでなんマスあるか
sit[64] sit[0]の取れるコマの枚数、次からはマス目
wb[128][8][3] bitボード、wb[][][0]が黒用、1が白用、2はコマがおける可能性のあるマス
tn[128] 手数ごとの指し手
tsu[2] 0が現在の局面の手数、1は思考ルーチン内での指し手の深さ
kar[128] 手数ごとの局面の実現確率
06471
2007/01/16(火) 16:41:22645と646を参考にしてmtd()ルーチンを解読してください
0648デフォルトの名無しさん
2007/01/16(火) 16:51:0106491
2007/01/16(火) 16:55:23kar[0]=1; 確率1より大きい手を指す
if((te[4*x]&128)!=0)if((te[4*x+1]&128)==0) 手が正常に記録されているか?壊れていれば登録
if(tu==0){if(td==1) 手が空が2度続いたときは勝敗を記録
if(((hash[x].t)&2)==2) 手がすべて出ていたら確率を変更する
if(kar[tsu[1]+1]>=1) 確率が1を超えたら指し進めず手を戻す
if(ha[tsu[1]]==1) 次局面のアドレスを出す
if(((hash[x].a) < g) && ((hash[x].b) > g))if(kar[tsu[1]+1]<0.9) 手を指し進める基準
y=127-hash[x].b; 次局面で相手が最善手をうったときの得点の存在範囲から求まる得点
if(y>(te[4*ad[t]]&127)) 最大値を更新する
for(i=cn+2;i>=4;i--) 最善手を先頭へ
06501
2007/01/16(火) 16:56:26まだ出来上がってないんですよ
もう少ししたら完成するとおもいます
06511
2007/01/16(火) 17:09:080652デフォルトの名無しさん
2007/01/16(火) 17:19:10多少手直ししたら通せたけど。
どのコンパイラで開発してたの?
06531
2007/01/16(火) 17:23:38ボーランドc++です
始めに手を19と入力すると、20を返してくるんですけど
どこからmtdのwhileループを脱出しているのか特定できない...
どのbreak文でも出てない?
06541
2007/01/16(火) 17:25:390655デフォルトの名無しさん
2007/01/16(火) 17:28:34ボーランドc++のcharって128を代入できるの?
06561
2007/01/16(火) 17:32:12unsigned でした!ありがとう!
0657デフォルトの名無しさん
2007/01/16(火) 17:37:00まだ変更してるようだしちょっと様子みるか
あれだけ詰まってるとデバッグしづらいべ
0658デフォルトの名無しさん
2007/01/16(火) 17:46:530659デフォルトの名無しさん
2007/01/16(火) 17:52:1006601
2007/01/16(火) 17:54:00打ち込んで動作はしたよっていう、うpですからね
まともに動きすらしてないんです
明らかな重大なバグがあります 直し中です
0661デフォルトの名無しさん
2007/01/16(火) 18:01:530662デフォルトの名無しさん
2007/01/16(火) 18:07:13http://up2moe.moe.hm/img/q395.txt
自分用にちょっと手直ししたソースです。
よければどうぞ。
VisualC++2005でコンパイルできます。
06631
2007/01/16(火) 18:15:16ban[64]=
{
0, 48, 12, 4, 5, 13, 49, 1,
55, 56, 40, 32, 33, 41, 57, 50,
19, 47, 28, 20, 21, 29, 42, 14,
11, 39, 27, 64, 64, 22, 34, 6,
10, 38, 26, 64, 64, 23, 35, 7,
18, 46, 31, 25, 24, 30, 43, 15,
54, 59, 45, 37, 36, 44, 58, 51,
3, 53, 17, 9, 8, 16, 52, 2
};
の番号順に、置ける手を探索していきます
0664デフォルトの名無しさん
2007/01/16(火) 18:25:580665デフォルトの名無しさん
2007/01/16(火) 18:28:54なんでアルゴリズムだけ示してコーディングをみんなに任せないの?
不慣れな人間の下手糞なコーディングで他人の手を煩わせる時間を、
みんなを巻き込んでのアルゴリズムのさらなる改良に回せるのに。
0666デフォルトの名無しさん
2007/01/16(火) 18:31:5906671
2007/01/16(火) 18:36:32スパゲッティといわれても、自分ではまあまあ読みやすいんです
(手書きのノートが元になっててそれを打ち込んだだけなんです)
0668デフォルトの名無しさん
2007/01/16(火) 18:41:260669デフォルトの名無しさん
2007/01/16(火) 18:45:500670デフォルトの名無しさん
2007/01/16(火) 18:48:04ルールがわかるだけですが、思考ルーチンには経験則は使いません
端の方をとった方がいいっていうのは使いましたが
0671デフォルトの名無しさん
2007/01/16(火) 18:53:08座標だけ出されてもわかりにくいし
ちゃんと動いてなくても気づきにくい
0672デフォルトの名無しさん
2007/01/16(火) 19:03:22それは、BearRev用に改造すればいいんですよ
まだ完成してないけど...
0674デフォルトの名無しさん
2007/01/16(火) 19:10:02これから帰宅だし、、2時間かかるから誰か出すべ
0675デフォルトの名無しさん
2007/01/16(火) 19:37:280676デフォルトの名無しさん
2007/01/16(火) 19:38:0006771
2007/01/16(火) 19:46:4906781
2007/01/16(火) 19:49:510679デフォルトの名無しさん
2007/01/16(火) 19:50:34強さを判断できるから
06801
2007/01/16(火) 19:54:22先手Wzebraで
19,18
26,20
29,34
12,4
25,32
5,30
37,44
43,10
21,51
3,14
52
ですよ
0681デフォルトの名無しさん
2007/01/16(火) 19:56:0019,18とかどこのことだ?
06821
2007/01/16(火) 19:57:240683デフォルトの名無しさん
2007/01/16(火) 19:58:460685デフォルトの名無しさん
2007/01/16(火) 20:03:56既に大差負けの形勢だけど
0686デフォルトの名無しさん
2007/01/16(火) 20:05:170687デフォルトの名無しさん
2007/01/16(火) 20:05:54何これ・・
白ボロ負けじゃん
0688デフォルトの名無しさん
2007/01/16(火) 20:07:4906891
2007/01/16(火) 20:21:14なぜだ?
0690デフォルトの名無しさん
2007/01/16(火) 20:23:440691デフォルトの名無しさん
2007/01/16(火) 20:24:00そのぷろぐらむのあまりの屁垂れた戦いぶりには涙を禁じ得ない。
だから、>>1、人間やめていいよ。
0692デフォルトの名無しさん
2007/01/16(火) 20:25:43いずれ最強にたどりつけるんじゃね?
0693デフォルトの名無しさん
2007/01/16(火) 20:26:00これから強くなることに期待しよう。
0694デフォルトの名無しさん
2007/01/16(火) 20:29:55>>1
人間お疲れ様でした。
0695デフォルトの名無しさん
2007/01/16(火) 20:41:32~Init()
06961
2007/01/16(火) 20:45:11取れるマスを間違えているから
ここがちゃんと出来ないと評価値の計算も間違える
0697デフォルトの名無しさん
2007/01/16(火) 20:46:540698デフォルトの名無しさん
2007/01/16(火) 20:47:240699デフォルトの名無しさん
2007/01/16(火) 20:48:50まずはgoto消せ。
0700デフォルトの名無しさん
2007/01/16(火) 20:57:15参照渡ししてる意味がわからない
0701デフォルトの名無しさん
2007/01/16(火) 20:58:43200行以内だけどかなり強いと思うよ
そして13時間29分11秒が経過した・・・
696 :1:2007/01/16(火) 20:45:11
いやまだ強さは不明だよ
取れるマスを間違えているから
ここがちゃんと出来ないと評価値の計算も間違える
0702デフォルトの名無しさん
2007/01/16(火) 20:59:5357年後
0703デフォルトの名無しさん
2007/01/16(火) 21:01:55年末はなんだったのかとw
0704デフォルトの名無しさん
2007/01/16(火) 21:02:43ここの>>1とんでもない痛い香具師だな
0705デフォルトの名無しさん
2007/01/16(火) 21:05:390706デフォルトの名無しさん
2007/01/16(火) 21:08:4207071
2007/01/16(火) 21:10:56z=971;printf("z=%d\n",z);
これでなぜかz=203になるけどなんで?
0708デフォルトの名無しさん
2007/01/16(火) 21:11:34VS2005使ってC#ではやったことあって
>>1のコードで同様にやろうとしたけどできなかった
C++はやり方が違うの?
07091
2007/01/16(火) 21:12:090710デフォルトの名無しさん
2007/01/16(火) 21:18:39C++はリファクタリングできませんよ。
0711デフォルトの名無しさん
2007/01/16(火) 21:27:24なるほど�d
Eclipseとかでもできないのかな?
0712デフォルトの名無しさん
2007/01/16(火) 21:30:00あ、Eclipseならリネームはできるみたいだね
07131
2007/01/16(火) 21:43:33大分良くなったよ
まだ指し手が変だけどうpしておく
0714デフォルトの名無しさん
2007/01/16(火) 21:47:570715デフォルトの名無しさん
2007/01/16(火) 22:04:40VisualStudioかボーランドの奴とか使えよ。
無料なんだがな。
0716デフォルトの名無しさん
2007/01/16(火) 22:11:39クラッシュした
(gdb) run
○●
●○
おけるマスは 19 37 44 26
input? 19
Program received signal SIGSEGV, Segmentation fault.
0x00401795 in _Z6adressv () at reversi.c:74
74 if((hash[x].t)==0){hash[x].h=y;hash[x].t=1+(masu[t][0]+masu[t][1]-3)<<2;
break;}
(gdb) print/x x
$1 = 0xfe6b4f95
(gdb) print t
$2 = 1 '\001'
(gdb) bt
#0 0x00401795 in _Z6adressv () at reversi.c:74
#1 0x00402bd8 in _Z3mtdv () at reversi.c:164
#2 0x00403845 in main () at reversi.c:241
07171
2007/01/16(火) 22:16:53最低でも空きメモリは128M使いますよ
0718デフォルトの名無しさん
2007/01/16(火) 22:20:23Mem:512MiB+Swap 768MiB 積んでるのでそれは大丈夫かと。
それよりも x の値が 0xfe6b4f95 ってのがおかしい気がする。
07191
2007/01/16(火) 22:20:2810秒にしたところで大して変わらない気がする
07201
2007/01/16(火) 22:23:45アドレス間違えてました
配列は2の24乗個しか用意してないのにxは24桁もあるんだった
修正します
07211
2007/01/16(火) 22:25:4407221
2007/01/16(火) 22:29:50うp
0723デフォルトの名無しさん
2007/01/16(火) 22:42:51例えば8ビット符号無しだと0〜255(=2^8-1)だぞ
0724デフォルトの名無しさん
2007/01/16(火) 22:46:0307251
2007/01/16(火) 22:47:5124ビットで良いのか
0726デフォルトの名無しさん
2007/01/16(火) 22:53:21どうしたいのか言った方がこっちも答え易いぞ?
0727デフォルトの名無しさん
2007/01/16(火) 22:55:070728デフォルトの名無しさん
2007/01/16(火) 23:27:570729デフォルトの名無しさん
2007/01/16(火) 23:30:15まだクラッシュするので調べてみた。
原因は main()の3行目の
fore(i,100)rd[i]=(rand()+(rand()<<16))%16777216+1;
らしい。
rand は符号付き int を返すので、これが偶然負の数になった場合、16777216で
割った余りも負になってしまい、そのまま符合無し int にキャストすると 16777216 を
超えると。この値が後で x に加算されて値がおかしくなるということっぽい。
………ちなみに修正したら今度は帰ってこなくなった orz
0730デフォルトの名無しさん
2007/01/16(火) 23:37:440731デフォルトの名無しさん
2007/01/16(火) 23:38:34少しは説明してよ
0732デフォルトの名無しさん
2007/01/16(火) 23:40:29>>1がいうにはアルゴリズムが強いらしいぞ
プログラムは本当に初心者だから、このソース見てもバグだらけだし、
ちゃんと実装されていないし、強いとは思えないだろうけど。
0733デフォルトの名無しさん
2007/01/16(火) 23:40:58ちょっと古いけど>>662のソースを参考にしてみたら?
0734デフォルトの名無しさん
2007/01/16(火) 23:44:2907351
2007/01/16(火) 23:45:06これが直れば大分マシになるとおもいます
>>729
うちの環境ではrandは0から2^16-1なんです
randを自前で生成するという手か、初めから決めておくという手で回避出来そうですが
0736デフォルトの名無しさん
2007/01/16(火) 23:45:07末端では何で評価してるのかとか
0737デフォルトの名無しさん
2007/01/16(火) 23:47:10randnum=-randnum;
これ追加しとけばいいんじゃまいか
0738デフォルトの名無しさん
2007/01/16(火) 23:47:110739デフォルトの名無しさん
2007/01/16(火) 23:52:27Men in Blackもそう。
0740デフォルトの名無しさん
2007/01/16(火) 23:52:54あとそれはバグとは言わないぞ
0741デフォルトの名無しさん
2007/01/16(火) 23:53:350742デフォルトの名無しさん
2007/01/16(火) 23:57:590743デフォルトの名無しさん
2007/01/16(火) 23:59:130744デフォルトの名無しさん
2007/01/17(水) 00:01:19これでいいのでは?
0745デフォルトの名無しさん
2007/01/17(水) 00:01:430746デフォルトの名無しさん
2007/01/17(水) 00:16:21mebi = Mi
最後の B は byte
0747デフォルトの名無しさん
2007/01/17(水) 00:41:05僕にはさっぱりです。
誰か3行以内で説明してください。
0748デフォルトの名無しさん
2007/01/17(水) 00:46:221行で説明したぜ。中のアルゴリズムと、目標をどれだけ達成できてるかは分からんが。
0749デフォルトの名無しさん
2007/01/17(水) 00:48:35俺も1行
0750デフォルトの名無しさん
2007/01/17(水) 01:22:40>>722のコードをそのままVisualStudio2005でコンパイルしようとすると
こんなエラーと警告が出る。
http://up2moe.moe.hm/img/q402.txt
ソースがうpされるたびに直すの面倒だからこれも修正しといてくれない?
0751デフォルトの名無しさん
2007/01/17(水) 01:37:30gcc -Wall でやると
warning: array subscript has type ‘char’
warning: ‘xh’ may be used uninitialized in this function
この2つが山のように出るぞ。
0752デフォルトの名無しさん
2007/01/17(水) 01:44:22>>750は警告レベル3だった
警告レベル4(最高)でやるとこんな感じ
http://up2moe.moe.hm/img/q404.txt
0753デフォルトの名無しさん
2007/01/17(水) 02:17:00{
int i,j;
char bnn[64];
fore(i,64)bnn[i]=0;
fore(i,8)fore(j,8)if(bt[wb[t][i][0]][j]==1)bnn[8*i+j]=1;
fore(i,8)fore(j,8)if(bt[wb[t][i][1]][j]==1)bnn[8*i+j]=2;
printf(" ");
fore(i,8)printf("%c ",i+'A');
printf("\n");
fore(i,8)
{
printf("%c ",i+'1');
fore(j,8)
{
if(bnn[8*i+j]==0)
printf("−");
if(bnn[8*i+j]==1)
printf("●");
if(bnn[8*i+j]==2)
printf("○");
}
printf("\n");
}
}
0754デフォルトの名無しさん
2007/01/17(水) 02:18:03fn(t);
printf("おけるマスは ");
z=64;
while(1)
{
serch(z);
if(z!=97)
printf("%c%c:%d, ",(z%8)+'A',(z/8)+'1',z);
else
break;
}
こうしない?
0755デフォルトの名無しさん
2007/01/17(水) 06:58:26ここにいる連中なら一日もあれば作れそうだ
>>1のデバッグに付き合うよりは効率的だと思う
0756デフォルトの名無しさん
2007/01/17(水) 08:07:200757デフォルトの名無しさん
2007/01/17(水) 09:41:320758デフォルトの名無しさん
2007/01/17(水) 10:24:54構造やデータがきれいに分類・整理整頓されていない
グローバル変数の多用、struct などで構造化されていない
gotoを多用し、繰り返し等の構造が複雑怪奇
コメントがない
読みにくいスタイル
removeのような凶悪マクロ
オブジェクト指向的でない
K&R 形式の関数定義などの古すぎる文法の利用
0760デフォルトの名無しさん
2007/01/17(水) 10:34:41そんなことはわかってる
でも初心者だからといって問題が解決するわけじゃない。
0761デフォルトの名無しさん
2007/01/17(水) 11:17:32えーっと、ここは誰でもソース貼っていいのかな?
0762デフォルトの名無しさん
2007/01/17(水) 11:25:21じゃー初心者がやりがちな問題点を列挙したところで問題が解決するのか?
誰もがわかっている上で助言してたり、ソース修正してうpしたりしてるなかで、
おまいがやってることは一番意味のないことだと思うが
0763デフォルトの名無しさん
2007/01/17(水) 12:10:10まぁまぁ落ち着こうぜ
初心者叩きして悦に入りたいやつがいるのはいつものことじゃねーか
0764デフォルトの名無しさん
2007/01/17(水) 12:12:34今の所アルゴリズムは公開されてないわけだし、1 が問題点を読んで
少しでも留意するようになれば、多少は問題解消に近づくと思うんだが。
0765デフォルトの名無しさん
2007/01/17(水) 12:28:35いかんせん読む気がしない
0766デフォルトの名無しさん
2007/01/17(水) 16:51:41やりたいことはわかるんだけどな
0767デフォルトの名無しさん
2007/01/17(水) 16:59:01貼っていいよ
>>1なんかのよりいい物をよろしく
0768デフォルトの名無しさん
2007/01/17(水) 18:01:440769デフォルトの名無しさん
2007/01/17(水) 20:06:14今日はソース更新・うpしないのー?
0770デフォルトの名無しさん
2007/01/17(水) 20:25:110771デフォルトの名無しさん
2007/01/17(水) 20:40:38Cでいいだろ
0772デフォルトの名無しさん
2007/01/17(水) 20:55:200773デフォルトの名無しさん
2007/01/17(水) 21:17:490774デフォルトの名無しさん
2007/01/17(水) 21:24:470775デフォルトの名無しさん
2007/01/17(水) 21:49:500776デフォルトの名無しさん
2007/01/17(水) 22:13:34http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3434.c
ちなみに、722でも起こった現象だけど、ハッシュテーブルの b を 127 で初期化すると
永久ループにはまる…
代わりに a を 127 で初期化したので、もしかしたら盤面評価をぶち壊してるかも。
0777デフォルトの名無しさん
2007/01/17(水) 22:42:25消えろカス。
0778デフォルトの名無しさん
2007/01/17(水) 22:43:45不便だろ?
0779デフォルトの名無しさん
2007/01/17(水) 23:10:57>1?
0780デフォルトの名無しさん
2007/01/17(水) 23:11:38乙。
やっぱこうしたほうが使いやすいね。
0781デフォルトの名無しさん
2007/01/17(水) 23:14:46>729でつ。
0782デフォルトの名無しさん
2007/01/17(水) 23:19:39だから余計Cで書くべきじゃね?
0783デフォルトの名無しさん
2007/01/17(水) 23:27:54書き直すにしてもすぐ終わるし。
ところで>>1は人が書き直したソースを使う気はあるのだろうか。
なんでも自分でしたがってるように見えるが。
0784デフォルトの名無しさん
2007/01/17(水) 23:28:340785デフォルトの名無しさん
2007/01/17(水) 23:36:15昨日にでも知ったのか?
0786デフォルトの名無しさん
2007/01/17(水) 23:39:37>>1の横一列ソースじゃとても読めたものじゃなくなる。
0787デフォルトの名無しさん
2007/01/17(水) 23:43:180788デフォルトの名無しさん
2007/01/17(水) 23:45:45マクロもあるしな。
0789デフォルトの名無しさん
2007/01/17(水) 23:55:260790デフォルトの名無しさん
2007/01/18(木) 02:14:46バグの指摘だけ聞いてプログラミングの作法は無視か?
0791デフォルトの名無しさん
2007/01/18(木) 02:24:44ツンデレかw
0792デフォルトの名無しさん
2007/01/18(木) 03:54:31K&Rを昨日?ANSI Cが出てから何年経ったんだよ・・・
0793デフォルトの名無しさん
2007/01/18(木) 04:36:52マジレスして悪いが、K&Rを「電波本」と称した奴がこの板に数年前いたぞ。
0794デフォルトの名無しさん
2007/01/18(木) 07:34:1407951
2007/01/18(木) 19:15:46みなさんの改良部分は思考ルーチンが完成したら加えますので待ってて下さい
http://up2moe.moe.hm/img/q432.txt
0796デフォルトの名無しさん
2007/01/18(木) 19:21:010797デフォルトの名無しさん
2007/01/18(木) 19:23:130798デフォルトの名無しさん
2007/01/18(木) 19:25:03これ使え!無料だぞ!
http://www.turboexplorer.com/jp
07991
2007/01/18(木) 19:36:13ありがとう
インストールしてみる
>>796
画面でのスクロールが少なくていいんです
5秒〜10秒考えても終局の10手前が読める程度で
Wzebraに勝てそうにないため、ここまでのプログラム経験、デバッグ経験を
生かして根本から思考ルーチンを作り直してみます
0800デフォルトの名無しさん
2007/01/18(木) 19:40:45今適当に打ってみたけど上の展開で簡単に詰んだぞ
プログラムが後手で先手が自分
0801デフォルトの名無しさん
2007/01/18(木) 19:45:10>アルゴリズム的には変更の余地が無いところまで完成しましたよ
>これが最強でなかったら人間やめます!
>>520
>まもなく完成します!これが最強でなかったら人間やめます!
最強じゃなかったら根本から思考ルーチンを作り直すんじゃなくて
人間やめるんじゃなかったのか?
08021
2007/01/18(木) 19:50:25アルゴリズムを正常に効率よく動かすための改良のことなんです
全く別のアルゴリズムを作るわけではないです
うまく動作してない=完成してないです
まもなくが長引いただけなんです
0803デフォルトの名無しさん
2007/01/18(木) 19:53:1008041
2007/01/18(木) 19:56:32ここからが本番です
0805デフォルトの名無しさん
2007/01/18(木) 19:56:43ってか大口叩くのやめたほうがいいよ
できもしない事ばかり言うから嘘つきになってるんだよ
08061
2007/01/18(木) 20:02:35その動作を正確に実現するコードを作るだけです
0807デフォルトの名無しさん
2007/01/18(木) 20:07:360808デフォルトの名無しさん
2007/01/18(木) 20:07:570809デフォルトの名無しさん
2007/01/18(木) 20:10:37自分で決断してくれたか。
0810デフォルトの名無しさん
2007/01/18(木) 20:33:42>画面でのスクロールが少なくていいんです
その考え方はまずい。
段組などを使って読みやすく書いた時に、一つの関数が2〜3ページを超えるようなら、
もっと基本的な処理単位(関数)に分割できるはずなので分割するべき。
そうすれば一つの関数の長さも減り、プログラムも読みやすくなるし、ついでに
見通しがよくなる分、訳の分からないバグを作りにくくなる。
08111
2007/01/18(木) 20:40:39その都度(関数呼び出しごと)に変数の生成と、関数呼び出しのオーバーヘッドが
かかりますよね
一般的な場合は、そうかと思いますけど、思考ルーチンの場合はどうなんでしょうか?
0812デフォルトの名無しさん
2007/01/18(木) 20:40:570813デフォルトの名無しさん
2007/01/18(木) 20:44:32高速化は後からできるしみんなが言ってるように書いておけばし易い。
08141
2007/01/18(木) 20:45:03そういう高等テクはやりかたわかりません
コンパイラによるんだとは思いますけど、関数呼び出して、元に復帰するには
かなり時間がかかりますよね 主要ルーチン(繰り返す部分)は細かく別けない方がいいのでは?
0815デフォルトの名無しさん
2007/01/18(木) 20:48:29遅くてもいいからアルゴリズムがわかればいい。
高速化に関してお前よりデキル奴はいっぱい居るんだから
0816デフォルトの名無しさん
2007/01/18(木) 21:18:56普通は、変数生成や関数呼び出しの負荷は主処理の1割にも達しないよ。
それに呼出し負荷がどうしても気になるなら inline 宣言すれば負荷ゼロにできるし、
大きな変数はポインタか参照渡しすれば負荷は殆どない。
チューニングなんかを考えるよりもアルゴリズムに力を注いだ方がいいよ。
例えば 30 手読みの場合、読む必要のある手をたった 5% 減らすことができるだけで、
約5倍も高速になる。
それにチューニングは完成してからでもできるからね。
0817デフォルトの名無しさん
2007/01/18(木) 21:38:23http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3448.c
0818デフォルトの名無しさん
2007/01/18(木) 21:49:25まだバグがあるよ。
俺が黒、コンピュータが白で対戦始めたけど
途中で詰んでやすり打ちしてたらコンピュータが黒を打ち始めたぞ
0819デフォルトの名無しさん
2007/01/18(木) 21:59:530820デフォルトの名無しさん
2007/01/18(木) 22:17:17そしたらすぐにCPU対戦が試せる
0821デフォルトの名無しさん
2007/01/18(木) 22:22:58main() の、人間から入力を受ける「printf("おけるマスは」〜「ad[t]=x;」の3行消せば
CPU対戦になると思う。
0822デフォルトの名無しさん
2007/01/18(木) 23:27:260823デフォルトの名無しさん
2007/01/19(金) 00:57:40そういや小学生の時VBで作ったっけ
自分ではどうやっても勝てないぐらいには強かったが、上手い子にはボロ負けだったなあ
0824デフォルトの名無しさん
2007/01/19(金) 04:28:370825デフォルトの名無しさん
2007/01/19(金) 11:59:36>816の補足だが、今のコンパイラはおまえが考えるよりもよっぽど巧く最適化してくれる。
例えばgccやiccでは(最近のVCもそうかもしれんが)、内部リンケージの関数は勝手にインライン展開する能力がある。
つまり、関数を分けて書いても呼び出しコストは全く掛からない可能性さえあるわけだ。
0826デフォルトの名無しさん
2007/01/19(金) 12:23:370827デフォルトの名無しさん
2007/01/19(金) 12:35:30早くプログラム作ってうpしてくれよな
08291
2007/01/19(金) 19:25:06バグがあるんですけどどなたかわかりませんか?
http://up2moe.moe.hm/img/q446.zip
08301
2007/01/19(金) 19:28:34ターボC++にも対応していきます
バグは有りすぎるんですけど、あとちょいでうまく行きそうな予感がします
08311
2007/01/19(金) 19:32:47http://up2moe.moe.hm/img/q447.txt
0832デフォルトの名無しさん
2007/01/19(金) 19:36:43コンパイルエラー
test.cpp:1:20: stdafx.h: No such file or directory
test.cpp:236: error: `main' は `int' を返さなければなりません
08331
2007/01/19(金) 19:43:07これで
http://up2moe.moe.hm/img/q448.txt
0834デフォルトの名無しさん
2007/01/19(金) 19:44:46難読化解除しないと誰も相手にしてくれないぞ?
0835デフォルトの名無しさん
2007/01/19(金) 19:50:14まずこの時点で読む気なくなる
0836デフォルトの名無しさん
2007/01/19(金) 19:51:38プリプロセッサ通して整形すればいいから。
あと変数ももっと他人が読んで用途を予測しやすい名前を付けないか?
0837デフォルトの名無しさん
2007/01/19(金) 19:54:59不正終了するので、239行目の
fore(i,100)rd[i]=(rand()+(rand()<<16))%16777216+1;
を
fore(i,100)rd[i]=((rand()+(rand()<<16)) & 0xffffff)+1;
に。
これを修正してもまだこんな感じで不正終了する。
Program received signal SIGSEGV, Segmentation fault.
0x00405d0d in _Z3msuRc (l=@0x22cbe3) at reversi.c:43
43 return ms[sum][F];}
(gdb) print sum
$1 = 18372
(gdb) print F
$2 = 0 '\0'
(gdb)
でも変数名が意味不明なのでわけわかめ。
とりあえず変数名は読んで内容の分かるものにしてくれ。
例えば hash.a ではなく hash.tokuten_a とか。
08381
2007/01/19(金) 20:02:22randの範囲を教えてください
ifで分岐するので
0からRAND_MAXの値を動くはず
0839デフォルトの名無しさん
2007/01/19(金) 20:03:46>>737
08401
2007/01/19(金) 20:04:020841デフォルトの名無しさん
2007/01/19(金) 20:04:55http://www9.plala.or.jp/sgwr-t/lib/rand.html
08421
2007/01/19(金) 20:05:02単に逆転させるだけでは駄目なんです
適切な範囲に値を収めないと
08431
2007/01/19(金) 20:06:02機種依存しているRAND_MAX の値を教えてください
0844デフォルトの名無しさん
2007/01/19(金) 20:06:16この修正を使えば、randの範囲に関係なくいつでも正しく動作しますのでおすすめ。
>>840
rand() 自体は負にはなりませんが、<< でずらすと負になりえる。
0845デフォルトの名無しさん
2007/01/19(金) 20:06:430846デフォルトの名無しさん
2007/01/19(金) 20:07:170847デフォルトの名無しさん
2007/01/19(金) 20:08:27って書いてるんだしstdlib.hを見ればいいだろカス
08481
2007/01/19(金) 20:10:530849デフォルトの名無しさん
2007/01/19(金) 20:12:17具体的な数字をソースに書いたらこのマクロの意味無いだろ
0850837
2007/01/19(金) 20:16:34>1 が聞きたいのは自分の環境の RAND_MAX ではなく >837 の環境の値では?
>>848
RAND_MAX の値がいくらであっても、左シフトしたら符号ビットがおかしくなる
可能性は常にある。何で >837 の修正ではだめなの?
08511
2007/01/19(金) 20:19:490852デフォルトの名無しさん
2007/01/19(金) 20:22:340853デフォルトの名無しさん
2007/01/19(金) 20:24:10#define RAND_MAX 0x7fff
08541
2007/01/19(金) 20:25:290855デフォルトの名無しさん
2007/01/19(金) 20:25:290856デフォルトの名無しさん
2007/01/19(金) 20:26:42#defineRAND_MAX0x7FFF
08571
2007/01/19(金) 20:27:44右辺は符合ビットに接触しないし剰余を求める時点で負にならないし
0858デフォルトの名無しさん
2007/01/19(金) 20:28:42http://c-production.com/special/04092101.html
0859デフォルトの名無しさん
2007/01/19(金) 20:29:22/* The largest number rand will return (same as INT_MAX). */
#define RAND_MAX 2147483647
0860デフォルトの名無しさん
2007/01/19(金) 20:30:59FreeBSD(gcc)のstdlib.h
#define RAND_MAX 0x7fffffff
08611
2007/01/19(金) 20:32:48fore(i,64){rh[i][0]=rand()+(rand()<<16);rh[i][1]=rand()+(rand()<<16);}
fore(i,100)rd[i]=(rand()+(rand()<<16))%16777216+1;
fore(i,64){rh[i][0]=rand(); rh[i][1]=rand();}
fore(i,100)rd[i]=rand()%16777216+1;
に変更してください
08621
2007/01/19(金) 20:33:28859の場合は、
fore(i,64){rh[i][0]=rand()+(rand()<<16);rh[i][1]=rand()+(rand()<<16);}
fore(i,100)rd[i]=(rand()+(rand()<<16))%16777216+1;
を
fore(i,64){rh[i][0]=rand(); rh[i][1]=rand();}
fore(i,100)rd[i]=rand()%16777216+1;
に変更してください
0863デフォルトの名無しさん
2007/01/19(金) 20:34:2908641
2007/01/19(金) 20:38:19fore(i,64){
rh[i][0]=(rand()%65536)+((rand()%65536)<<16);
rh[i][1]=(rand()%65536)+((rand()%65536)<<16);}
fore(i,100)rd[i]=((rand()%65536)+((rand()%65536)<<16))%16777216+1;
0865デフォルトの名無しさん
2007/01/19(金) 20:40:420866837
2007/01/19(金) 20:45:19>>851
モードによって値が違ってて、
cygwin モードでは 2147483647、mingw モードでは 32767 だった。
>>857
こっちの環境の剰余は負になる。
数学やった人は剰余 = mod と考えるから結構それで引っかかったり。
>>864
今確かめたけど負になって不正終了するね
Program received signal SIGSEGV, Segmentation fault.
0x004083c7 in _Z6adressv () at reversi.c:76
76 if((hash[x].t)==0){hash[x].h=y;hash[x].t=1+((masu[t][0]+masu[t][1]-3)<<2
);break;}
(gdb) print/x x
$1 = 0xfeb451af
(gdb)
08671
2007/01/19(金) 20:48:30今、32bitめい一杯、詰め込んでみたら不正終了しました
unsignedでも、上位ビットは、0じゃないと駄目なのかな?
08681
2007/01/19(金) 20:49:49fore(i,64){
rh[i][0]=(rand()%256)+((rand()%256)<<8)+((rand()%256)<<16)+((rand()%128)<<24);
rh[i][1]=(rand()%256)+((rand()%256)<<8)+((rand()%256)<<16)+((rand()%128)<<24);}
fore(i,100)rd[i]=((rand()%256)+((rand()%256)<<8)+((rand()%256)<<16)+((rand()%128)<<24))%16777216+1;
08691
2007/01/19(金) 20:52:29RAND_MAX=32767のときに16bit目が常に0になってしまうのを回避しました
0870デフォルトの名無しさん
2007/01/19(金) 20:55:28そもそもRANDごときでつまずくぐらいなら、使うな。
0871837
2007/01/19(金) 20:55:32そう。CPU によっても違うのだろうけど、x86系CPUでの符号付き数の割り算は、
符号を取ってから割って、結果に符号を付け直すから。
>>868
動いた。ただ割り算命令って他の計算命令の何十倍も遅いよ。
普通にビットマスク (& 0xffffff) すりゃいいのにとどうしても思ってしまう。
0872837
2007/01/19(金) 20:59:28失礼、答えになってなかった。符号無しになるタイミングの問題。
rand() の返り値は符号付きなので割り算は符号付きで行われる。
そして符号無し変数に代入される時になってやっと、符号無し数に変換される。
0873デフォルトの名無しさん
2007/01/19(金) 21:01:03それにその値ならコンパイラがビット演算に置き換えるし
08741
2007/01/19(金) 21:02:21256にしないとハッシュテーブルの領域が50%使われなくなってしまう
>>871
初期化するときに一度使っているだけですから速度は関係ないんです
fore(i,64){
rh[i][0]=(rand()%256)+((rand()%256)<<8)+((rand()%256)<<16)+((rand()%256)<<24);
rh[i][1]=(rand()%256)+((rand()%256)<<8)+((rand()%256)<<16)+((rand()%256)<<24);}
fore(i,100)rd[i]=((rand()%256)+((rand()%256)<<8)+((rand()%256)<<16)+((rand()%128)<<24))%16777216+1;
0875デフォルトの名無しさん
2007/01/19(金) 21:06:070876デフォルトの名無しさん
2007/01/19(金) 21:10:460877デフォルトの名無しさん
2007/01/19(金) 21:13:100878デフォルトの名無しさん
2007/01/19(金) 21:17:5308791
2007/01/19(金) 21:17:560880デフォルトの名無しさん
2007/01/19(金) 21:19:25人の可読性を下げる事はやめたほうがいいんじゃない?
みんな読みにくいって言ってるよ。
0881デフォルトの名無しさん
2007/01/19(金) 21:19:260882デフォルトの名無しさん
2007/01/19(金) 21:20:450883デフォルトの名無しさん
2007/01/19(金) 21:22:01何でこれだけ人がいるのにデバッグに数日かかってるかわかってるの?
>>758あたりを意識して書いてくれさえすれば一日でデバッグ終わるぞ、たぶん
0884デフォルトの名無しさん
2007/01/19(金) 21:30:19変数の意味わからなすぎだし、インデントつけてないし、変なマクロ使ってるし、
わざとやってるとしか思えない。
0885デフォルトの名無しさん
2007/01/19(金) 21:31:14こんな簡単な計算、表引きにしたって速くならない気がする。
こういう所こそマクロをつかえばいいのに。
#define bitcheck(i,j) (((i) >> (j)) & 1)
とかして
bt[wb[t][i][0]][j]
を
bitcheck(wb[t][i][0], j)
になるだけで大分読みやすさが変わるのになぁ。
0886デフォルトの名無しさん
2007/01/19(金) 21:33:32下手なマクロはNGの元
08871
2007/01/19(金) 21:45:25ソースを見やすく改良します
あと配列参照するより計算した方が速いかもしれないですね
もしかしたらハードディスクを読むにいくことになるかもしれないですし
0888デフォルトの名無しさん
2007/01/19(金) 21:51:37日本語読めないのか?
0889デフォルトの名無しさん
2007/01/19(金) 21:59:49大してきれいなソースでもないけど、とりあえずスタイルの参考にでもして。
ごく単純な minimax法
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3468.cpp
0890デフォルトの名無しさん
2007/01/19(金) 22:08:29面白い題材が上がっていたので復帰します(笑)
7行オセロ、人間対無能AIです。
#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;}
もはやインデントを揃えた位では元のコードが読めなくなってしまっていますが、
もしコメント付き変数名まとものバージョンを欲しい方がいれば上げます。
0891デフォルトの名無しさん
2007/01/19(金) 22:09:14人間の入力は、「X軸 Y軸」と半角で入力します。
置けない場所を指定した場合は再度入力してください。
X=55などの変な入力をチェックしていないので、即クラッシュします。
両者置けなくなったらプログラム終了です。自分で数えてください。
もっとも、このコンピュータは激弱ですので負けようがないとおもいますが(笑
0892デフォルトの名無しさん
2007/01/19(金) 22:13:01これどうやって遊ぶの?
こっちが1手目打ってから5分経っても
level=10
って表示されたままだけど
0893デフォルトの名無しさん
2007/01/19(金) 22:17:53初期値間違ってたスマソ
level は大体 5 前後に、target_time にはPCの思考時間(秒)を設定してください。
08941
2007/01/19(金) 22:22:09参考にします!
ボーランドの5.5でも、ボーランドの2006でもコンパイル出来ない
マイクロソフトは出来たけど
マイクロソフト専用?
0895デフォルトの名無しさん
2007/01/19(金) 22:25:18汎用のつもりだったんだけど…
出たエラーコピペしてもらっていいですか?
08961
2007/01/19(金) 22:29:46[C++ エラー] (35): E2268 未定義の関数 'memset' を呼び出した
[C++ エラー] (115): E2268 未定義の関数 'printf' を呼び出した
[C++ エラー] (119): E2268 未定義の関数 'printf' を呼び出した
[C++ エラー] (125): E2268 未定義の関数 'printf' を呼び出した
[C++ エラー] (128): E2268 未定義の関数 'printf' を呼び出した
[C++ エラー] (131): E2268 未定義の関数 'printf' を呼び出した
[C++ エラー] (135): E2268 未定義の関数 'printf' を呼び出した
[C++ エラー] (137): E2268 未定義の関数 'printf' を呼び出した
[C++ エラー] (181): E2268 未定義の関数 'printf' を呼び出した
[C++ エラー] (187): E2268 未定義の関数 'perror' を呼び出した
[C++ エラー] (188): E2268 未定義の関数 'exit' を呼び出した
[C++ エラー] (191): E2268 未定義の関数 'sscanf' を呼び出した
[C++ 警告] (192): W8013 's' は、おそらく値が代入される前に使われている
[C++ エラー] (194): E2268 未定義の関数 'sscanf' を呼び出した
[C++ 警告] (195): W8013 'numpos' は、おそらく値が代入される前に使われている
[C++ エラー] (198): E2268 未定義の関数 'strchr' を呼び出した
[C++ 警告] (199): W8013 'p' は、おそらく値が代入される前に使われている
[C++ エラー] (203): E2268 未定義の関数 'strchr' を呼び出した
[C++ エラー] (212): E2268 未定義の関数 'printf' を呼び出した
[C++ 警告] (217): W8080 宣言された 'alphapos' は使われていない
[C++ エラー] (312): E2451 未定義のシンボル time_t
[C++ エラー] (312): E2379 ステートメントにセミコロン(;)がない
[C++ エラー] (313): E2379 ステートメントにセミコロン(;)がない
[C++ エラー] (323): E2268 未定義の関数 'exit' を呼び出した
[C++ エラー] (332): E2268 未定義の関数 'printf' を呼び出した
[C++ エラー] (334): E2451 未定義のシンボル st
[C++ エラー] (334): E2268 未定義の関数 'time' を呼び出した
[C++ エラー] (336): E2451 未定義のシンボル ed
[C++ エラー] (336): E2268 未定義の関数 'time' を呼び出した
[C++ エラー] (336): E2228 エラーあるいは警告が多すぎる
0897デフォルトの名無しさん
2007/01/19(金) 22:32:150898デフォルトの名無しさん
2007/01/19(金) 22:36:360899デフォルトの名無しさん
2007/01/19(金) 22:37:02どうもです。たぶんコンパイラが新しい規格に対応してないのか(?)
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
このヘッダが認識できないのではないかと。
この推測が正しければ、それぞれ下のヘッダに置き換えれば直ると思います。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
0900デフォルトの名無しさん
2007/01/19(金) 23:20:19対応してないって無茶いいやがって。
新しい規格っていつの規格のことだ? c++0x か?
VC++ 使っといて、規格準拠してるつもりかい。
ヘッダが認識できなかったらファイルが見つからんとエラーが出と推測できるだろうに。
まあ、using するよりいちいち std:: 付ける方が好みだが。
0901デフォルトの名無しさん
2007/01/19(金) 23:23:080902デフォルトの名無しさん
2007/01/19(金) 23:24:420903デフォルトの名無しさん
2007/01/19(金) 23:27:54そうか!マニュアル引いてやっと気がついた。
ありがとう。
# ちなみに使ってるのはg++。
0904デフォルトの名無しさん
2007/01/19(金) 23:35:160905デフォルトの名無しさん
2007/01/19(金) 23:39:570906デフォルトの名無しさん
2007/01/20(土) 01:04:000907デフォルトの名無しさん
2007/01/20(土) 01:07:170908デフォルトの名無しさん
2007/01/20(土) 01:17:50他人が親切に強いルーチンを実装してくれるのを待って
アイデアのオリジナリティは元のプログラムを書いた自分にある
と>>1が主張する予定のスレです
0909デフォルトの名無しさん
2007/01/20(土) 01:18:370910デフォルトの名無しさん
2007/01/20(土) 01:37:420911デフォルトの名無しさん
2007/01/20(土) 11:47:4309121
2007/01/20(土) 13:36:06枚数×2 + 空白の数
では、指せる手の数が増えすぎて幾らアルゴリズムが良くても計算不可能なようです
指し手の可能数と、マスの位置による点数を使うことにします
09131
2007/01/20(土) 14:14:251/31日までにWzebra倒すのと将棋をあらかた完成させるのは大変になってきた
0914デフォルトの名無しさん
2007/01/20(土) 14:27:100915デフォルトの名無しさん
2007/01/20(土) 17:39:010916デフォルトの名無しさん
2007/01/20(土) 18:58:290917デフォルトの名無しさん
2007/01/20(土) 18:58:58それは悪いと言った方がいいんじゃないかな?
0918デフォルトの名無しさん
2007/01/20(土) 19:03:590919デフォルトの名無しさん
2007/01/20(土) 19:09:58これは理論の裏づけのないナンチャッテだとおもうよ。
0920デフォルトの名無しさん
2007/01/20(土) 19:18:31これは理論の裏づけが何も無いから弱いんだけど、
>指し手の可能数と、マスの位置による点数
これは大学の宿題レベルでよく使われる物で実装が簡単な経験則。
これでもWZebraよりははるかに弱いけど今までのよりはマシになる。
0921デフォルトの名無しさん
2007/01/20(土) 19:20:100922デフォルトの名無しさん
2007/01/20(土) 19:20:10一日で終わるものも半年掛かるわな
都合の悪いものは全て無視
↓ここから>>1の日記スタート
0923デフォルトの名無しさん
2007/01/20(土) 19:26:060924デフォルトの名無しさん
2007/01/20(土) 19:45:28最強じゃなかったら評価関数を変更するんじゃなくて人間やめるんじゃなかったの?
0925デフォルトの名無しさん
2007/01/20(土) 20:01:59埋め
0926デフォルトの名無しさん
2007/01/20(土) 21:19:28オセロに於いては手の数が増えすぎて計算不可能だから悪いアルゴリズムで、
少ない計算量で全探索にできるだけ近い結果を出すのが良いアルゴリズム。
0927デフォルトの名無しさん
2007/01/20(土) 21:40:110928デフォルトの名無しさん
2007/01/20(土) 21:59:02俺が作るから最強
でFA?
0929デフォルトの名無しさん
2007/01/20(土) 22:40:01> 枚数×2 + 空白の数
> では、指せる手の数が増えすぎて幾らアルゴリズムが良くても計算不可能なようです
> 指し手の可能数と、マスの位置による点数を使うことにします
評価関数がすでにダメで、指せる手の数がすでに多すぎていたのに、
アルゴリズムは良いものであるとおっしゃるのか?
>>1が言ってる考え出した最強のアルゴリズムって何を示しているの?
0930デフォルトの名無しさん
2007/01/20(土) 22:44:36論理はチャチだしお花畑思考すぎるしで呆れるばかりだ。
0931デフォルトの名無しさん
2007/01/20(土) 22:56:40将棋は取った駒を盤面に打てるんだぜ?
どうやって枝刈するつもりだったんだ?
囲碁はもっと大変どこにでも打てるんだよ。
囲碁のは宇宙。
1には絶対最強のプログラムなんて作れない
0932デフォルトの名無しさん
2007/01/20(土) 23:09:14>>1は問題点を言われただけじゃ理解できないけど
実際に作ってみたら気づいたようだし
王道により近い手法を使うようにはなって行ってるから
ある程度強いのは作れるようになるかもしれないよ。
0933デフォルトの名無しさん
2007/01/20(土) 23:25:53でも王道に近づいて行くのって本末転倒だよなwwwww
0934デフォルトの名無しさん
2007/01/20(土) 23:29:58がんばれ
09351
2007/01/20(土) 23:50:28例えば、3手づつ分岐したとして初めで1/3になり、次に1/9になり
と繰り返すと15手先で、1 / 14348907くらいになりダブルでも計算が0になったりする
どうしたらいいですか?
0936デフォルトの名無しさん
2007/01/20(土) 23:51:390937デフォルトの名無しさん
2007/01/21(日) 00:02:54高々「1 / 14348907」くらいでdoubleが表現できないと申されるか。
ご自分の能力のなさを棚に上げるのも大概になされよ。
#どうせ、printf("%f", 1 / 14348907);とでもして0だとほざいているのだろうけれど。
0938デフォルトの名無しさん
2007/01/21(日) 00:03:151.0f / 14348907.0fとか
static_cast<double>(1) / static_cast<double>(14348907)とか
0939デフォルトの名無しさん
2007/01/21(日) 00:05:16初心者はまずここで躓くから仕方ないんじゃね?
int同士の割り算がint返すとは思わんでしょ
0940デフォルトの名無しさん
2007/01/21(日) 00:05:34たったそのくらいで 0 になるなんておかしいと思って検証してみた。
bash% ./a
1/3^1: 0.3333333333333333148296162562473909929394720000000000000000
1/3^2: 0.1111111111111111049432054187491303309798240000000000000000
1/3^3: 0.0370370370370370349810684729163767769932750000000000000000
(略)
1/3^14: 0.0000002090751581287690209449910442793263420000000000000000
1/3^15: 0.0000000696917193762563359033670811436278480000000000000000
1/3^16: 0.0000000232305731254187797373631771185795160000000000000000
(略)
1/3^49: 0.0000000000000000000000041788667072956152410000000000000000
1/3^50: 0.0000000000000000000000013929555690985384140000000000000000
平気っぽいが。
0941デフォルトの名無しさん
2007/01/21(日) 00:09:290942デフォルトの名無しさん
2007/01/21(日) 00:10:20そういう用途なら、有理数型がいいよ。
09431
2007/01/21(日) 00:10:47printfの表示桁が駄目だったようです
0944デフォルトの名無しさん
2007/01/21(日) 00:13:070945デフォルトの名無しさん
2007/01/21(日) 00:14:09オカルトですか?
0946デフォルトの名無しさん
2007/01/21(日) 00:19:210947デフォルトの名無しさん
2007/01/21(日) 00:27:390948デフォルトの名無しさん
2007/01/21(日) 00:42:22C/C++の宿題スレより、「オセロプログラムの作り方」
560 デフォルトの名無しさん sage 2007/01/20(土) 23:57:28
>>557
http://hp.vector.co.jp/authors/VA015468/platina/algo/
0949デフォルトの名無しさん
2007/01/21(日) 00:45:25それかオセロのスレ貼ってあったところから行けるとこじゃね?
0950デフォルトの名無しさん
2007/01/21(日) 00:50:15いまさら人の意見聞く奴じゃない。
無駄だろ。
0951デフォルトの名無しさん
2007/01/21(日) 01:10:340952デフォルトの名無しさん
2007/01/21(日) 01:50:210953デフォルトの名無しさん
2007/01/21(日) 02:31:05自分の能力が低い事をどうしても認めたくないんだろうね。
0954デフォルトの名無しさん
2007/01/21(日) 04:47:04それを改良させたほうがいいとおもうんだがどうだろう。
あとはミニ四駆のようにどんどん自分で調べ強くしていけば>>1の才能しだいで最強にプログラムが出来るんじゃないだろうか
0955デフォルトの名無しさん
2007/01/21(日) 04:53:23本人乙
0956デフォルトの名無しさん
2007/01/21(日) 04:53:35基本的?最低限?じゃあ>>890。
0957デフォルトの名無しさん
2007/01/21(日) 05:28:130958デフォルトの名無しさん
2007/01/21(日) 05:29:1009591
2007/01/21(日) 07:48:070960デフォルトの名無しさん
2007/01/21(日) 08:58:17>バグは有りすぎるんですけど、あとちょいでうまく行きそうな予感がします
>>879
>本質に関わりないと思うところは無視してますが。
誘導。
プログラマーが1度は口にする言葉
http://pc10.2ch.net/test/read.cgi/prog/1149393575/
この会社辞めようと思ったソースコード#15
http://pc10.2ch.net/test/read.cgi/prog/1167117526/
【どこまでも】使えない新人 0x11
http://pc10.2ch.net/test/read.cgi/prog/1159175153/
0961デフォルトの名無しさん
2007/01/21(日) 10:01:210962デフォルトの名無しさん
2007/01/21(日) 10:02:12-> 7200 - 0027 = 7173
同様に
-> 7731 - 1377 = 6354
-> 6543 - 3456 = 3087
-> 8730 - 0378 = 8352
-> 8532 - 2358 = 6174
-> 7641 - 1467 = 6174
0963デフォルトの名無しさん
2007/01/21(日) 17:44:14俺ちょっと他ごとにこれ使いたいんだけど、強く出来るかな?
0964デフォルトの名無しさん
2007/01/21(日) 17:59:05まともな方のソースあげるって書いてあるよ
0965デフォルトの名無しさん
2007/01/21(日) 18:07:44七行プログラミングの過去スレとかにはってあったはず
0966デフォルトの名無しさん
2007/01/21(日) 20:30:38リバーシのプログラムで言うならCPUのクロックアップ?
0967デフォルトの名無しさん
2007/01/21(日) 21:10:54どうなの?
0968デフォルトの名無しさん
2007/01/21(日) 21:13:44世の中そんなに甘くはねーのじゃ
0969デフォルトの名無しさん
2007/01/21(日) 21:23:00リバーシ簡単に見えて結構奥が深いんだな。
定石とかググったら大量に出てきてビビタ
で、それを踏まえると>>890が神に見える。。。
俺のソース300行オーバー orz
未だAIなんて一番左上から順に探索してるのに……
0970デフォルトの名無しさん
2007/01/21(日) 21:57:040971デフォルトの名無しさん
2007/01/21(日) 22:10:40乙。
定石は今では人間よりも上質なのをコンピュータが大量に自動生成させる事もできるしね。
名前が付いてる定石はコンピュータが弱かった時代から使われてたのが多い。
そのプログラムは公開しないの?
>>1のより強いかもしれない。
0972デフォルトの名無しさん
2007/01/21(日) 22:18:03表示も上手いことやってるな。
t-2って面白い。
0973デフォルトの名無しさん
2007/01/21(日) 22:45:12ちゃんと七行プログラミングスレにも感想を書き込んでやってくれ。
0974デフォルトの名無しさん
2007/01/21(日) 22:45:530975デフォルトの名無しさん
2007/01/21(日) 22:48:18>>891
0976デフォルトの名無しさん
2007/01/21(日) 22:52:380977デフォルトの名無しさん
2007/01/21(日) 22:56:25サンクス。
動いた。^^
0978デフォルトの名無しさん
2007/01/22(月) 00:06:22>>1はまた嘘をついたなぁ。
0979デフォルトの名無しさん
2007/01/22(月) 00:09:42プログラミングレベルねーじゃん
0980デフォルトの名無しさん
2007/01/22(月) 00:18:560981デフォルトの名無しさん
2007/01/22(月) 00:23:22俺は本物っぽい気がするけど
0982デフォルトの名無しさん
2007/01/22(月) 00:51:10あたりとか怪しい。
0983デフォルトの名無しさん
2007/01/22(月) 01:02:23言われてみれば偽者っぽい気がしてきた
0984デフォルトの名無しさん
2007/01/22(月) 01:40:33>>1なんてそもそも最初から存在しなかったんだよ
0985デフォルトの名無しさん
2007/01/22(月) 02:37:35300行でもよほど間抜けな内容じゃないかぎりちょっといじればすぐに30行以内に縮めれるよ。
まだのこってるんならそのプログラムうpしてみ
0986デフォルトの名無しさん
2007/01/22(月) 05:45:25居たら酉付けて立候補してくれ。
俺はプログラミングできないけどオセロはハンゲで永世名人。
0987デフォルトの名無しさん
2007/01/22(月) 05:46:59いつもお世話になっていますw
0988デフォルトの名無しさん
2007/01/22(月) 05:48:30かぶってたらアレだけど
こっちの方がまともなのあがってきてる
http://pc10.2ch.net/test/read.cgi/tech/1164168601/
0989デフォルトの名無しさん
2007/01/22(月) 05:53:11http://pc10.2ch.net/test/read.cgi/tech/1165049332/
こっちの事?
0990デフォルトの名無しさん
2007/01/22(月) 05:54:21こっち
http://pc10.2ch.net/test/read.cgi/tech/1165049332/
0991986
2007/01/22(月) 05:58:16でもiアプリか。
俺の携帯auなんだよな...
0992デフォルトの名無しさん
2007/01/22(月) 06:02:460993デフォルトの名無しさん
2007/01/22(月) 06:04:020995デフォルトの名無しさん
2007/01/22(月) 06:10:37booby
とかはそんな強くないですか?
0996デフォルトの名無しさん
2007/01/22(月) 06:13:56http://pc10.2ch.net/test/read.cgi/tech/1169413998/l50
0997デフォルトの名無しさん
2007/01/22(月) 06:15:26NTestやWZebraに比べたら弱いのは確か...
NTestはWZebraより強いと言う人も居るけど大差ないと思う。
0998デフォルトの名無しさん
2007/01/22(月) 06:18:50乙
0999デフォルトの名無しさん
2007/01/22(月) 06:20:351000デフォルトの名無しさん
2007/01/22(月) 06:22:5410011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。