- 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
- 2 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 06:19:51 ]
- >>1
乙get
- 3 名前:デフォルトの名無しさん [2007/01/22(月) 06:24:17 ]
- 前スレ
おまいら最強のリバーシプログラムしてみろよ pc10.2ch.net/test/read.cgi/tech/1166749119/
- 4 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 06:25:15 ]
- ー\\ | | //:::::::| ∠/ // / ,' {
´ ̄`ヽ.| r/:::::::::::::| // / / /-‐/、 } <.´\ | /ノ 〉::::::|// __ / / /_..-‐/、ヽ! ::::::::\ Y「/:::::∠/ l⌒'⌒ヽ. i / ,' __/ ∨ :::::::::::: / /.::://| ヽ ||/ /⌒,> |''" /'ヽ/ :::::::::::/ //(二二二.._'''ー-----つ_ノ_|.// ノ ___|ノ// この映像をよーく見てほしい :::::::::///:::::::::::::|  ̄/`フ ̄/''r―┴<二二ニヽ¬'∨ お気づきだろうか? ::::::./!/;:ヘ:::::::::::::| // /⌒!ヽ ..丶_.....\ / |ヽ :::::/ / 〈,/::::::::::::| ヽ`ヽ、⊃く-┘/´ 厂 〈 | | / ̄`ヽ-、,r' /∠/:::::::::::::::::::| _____>∠/ / l⌒l / ヽjノ '⌒ ̄ ̄ ̄`!| /⌒´::::::::::::::::::::::|/ ̄ ̄ ̄\_,r' 、/ヽ レ′ / ̄`ヾ} そう葉っぱそっくりに ::::::::::::::::::::::::::::::::/ ─ ─ \.|ヽ_/ /''"´ ̄ソノ 擬態したやる夫が ::::::::::::::::::::::::::/ (●) (●) \. . __,/ ' 隠れているのである。 :::::::::::::::::::::::::| (__人__) | . . ,. ‐..二ニ ---一'′ ::::::::::::::::::::::::.\ ` ⌒´ / // ::::::::::::::::::::::. . |-‐/ / / / // そこで今夜はこのような :::::::::::::::::::::::::. ∨ 〈 ヽ/ /| / ./ 驚くべき能力を持った生き物たちの :::::::::::::::::::::::::::::. ` ̄|`ー'"´ / ,' | ,// ,. ‐''" ̄ ̄`ヽ 世界へ皆さんを招待しよう
- 5 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 06:25:16 ]
- >>1 のやる気が感じれないので
終了
- 6 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 06:26:12 ]
-
これ以上くそスレ増やすなヴォケが
- 7 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 06:39:44 ]
- オセロプログラム作成の基礎知識
ttp://www.amy.hi-ho.ne.jp/okuhara/howtoj.htm ttp://hp.vector.co.jp/authors/VA015468/platina/algo/ ttp://uguisu.skr.jp/othello/index.html ttp://fujitake.dip.jp/sealsoft/thell/algorithm.html ttp://ray.sakura.ne.jp/search_problem/ ttp://vivi.dyndns.org/rrdo/rrdo.php コンピュータオセロ界にブレイクスルーをもたらしたBuro氏の論文 ttp://www.cs.ualberta.ca/~mburo/publications.html オセロの試合結果は何通りか?@Wiki-関連スレ ttp://www9.atwiki.jp/othello/pages/1.html 海外製強豪プログラム(ダウンロード可・ソースコードあり) ttp://www.cs.ualberta.ca/~mburo/log.html ttp://radagast.se/othello/zebra.html ttp://othellogateway.com/ntest/Ntest/index.htm ttp://cassio.free.fr/ 海外製強豪プログラム(ダウンロード可・ソースコード無し) ttp://abulmo.club.fr/edax/ ttp://xoomer.virgilio.it/romanobenedetto/Saio.htm ttp://www.herakles.tournavitis.de/ 和製強豪プログラム(ダウンロード可・ソースコードあり) ttp://www.kitsunemimi.org/vsotha/algorithm.html ttp://fujitake.dip.jp/sealsoft/thell/ 和製強豪プログラム(ダウンロード可・ソースコード無し) ttp://www.amy.hi-ho.ne.jp/okuhara/ ttp://www2t.biglobe.ne.jp/~RUN/
- 8 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 06:44:37 ]
- リンクまとめといたからよかったら参考にして。
オセロに関して自分が分かる範囲ならできるだけサポートするよ。 おまいら期待してるぜ...
- 9 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 07:30:18 ]
- >>1 乙
- 10 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 09:18:36 ]
- まだやってんの?
- 11 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 10:08:10 ]
- Ntestのソースを読んでみたが難しい・・・
誰か理解できる人居る?
- 12 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 10:08:15 ]
- >>7
乙
- 13 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 10:23:15 ]
- NtestよりZebraのソースコードが比較的わかりやすいと思う。
ロジステロは変数名がドイツ語・・?
- 14 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 11:37:41 ]
- まだやってたのか、、、オレも参加、、いややめとこ
- 15 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 11:43:58 ]
- 誰か一緒に>>7を参考にしてオーソドックスな技術を使って作りませんか?
言語はできればC(C++無し)で・・
- 16 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 12:10:56 ]
- >>15
一緒に何やるの?
- 17 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 12:16:46 ]
- リバーシプログラム作りだろ
- 18 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 12:21:38 ]
- 一緒にコード書くの?
変じゃないか。 短いだろ。
- 19 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 12:24:26 ]
- 一緒にやろうじゃなくて
やってくれの間違いだろ
- 20 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 12:27:46 ]
- 書き始めたら難癖つけてくる奴がでてくるんだよ。
その方法じゃ遅いとか、変数名がわるいとか。 for使うなとかw
- 21 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 12:37:03 ]
- fore使えってことだな
- 22 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 15:49:35 ]
- 思考する部分以外を誰かが書けばいいんじゃないの?
インターフェイスを決めていおいて、思考する関数は各人が書くと。
- 23 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 15:59:49 ]
- 沈思黙考
- 24 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 16:01:53 ]
- それこそ>>1のBearRevでいいかもよ
ヘルパルーチンはそろってるし
- 25 名前:1 [2007/01/22(月) 19:17:45 ]
- 1です
昨日はすみませんでした 寝てしまい間に合いませんでした 今日中も無理かもしれないですがいい出来になってきました 大改造に踏み切りました 全部グローバル変数にして重複して使いまわす事にしました なぜならば、いい変数はコンパイラがCPUレジスタにセットしてくれるからです その都度、生成するとメモリ上に変数が乗る可能性が高いです
- 26 名前:1 [2007/01/22(月) 19:20:14 ]
- コンパイラの最適化機能を発揮させるには、全部グローバルが基本ですよね
- 27 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 19:26:13 ]
- 中途半端な知識で語らないで最適化云々は実証してから言え
- 28 名前:1 [2007/01/22(月) 19:34:38 ]
- まあ実際は、時間のかかる部分に、時間を食うので
メモリ上の変数でも、レジスタ上の変数を使っても大して速度に違いは出ないんでしょうけど でも、もしかしたら何度も使う部分が一回あたり0.001秒くらい縮んだとすれば10万回呼んだとして 100秒短縮出来ることになります
- 29 名前:1 [2007/01/22(月) 19:39:31 ]
- プロファイリングの結果で最適化してくれるのは、何がありますか?
5つ入っているんでけど マイクロソフト2005の無料版と、ボーランド2006の無料版と VC++ver.6pro.とインテル無料版とボーランド5.5の無料版が入ってます いつもは、快適動作のボーランド5.5を使っています
- 30 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 19:46:24 ]
- >>28
前から指摘されている通り、あんたの偏った頭で考えるよりもコンパイラの方が賢い。 最適化なぞ気にせずに先ずは動くものを作れ。
- 31 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 20:51:16 ]
- お前はもうこのスレの1じゃないだろ。
前スレの1だろうが。
- 32 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 20:52:05 ]
- >>25-26
また愚かなことを… ローカル変数だろうがグローバル変数だろうが、コンパイラが利用計画を立てた上で 上手くレジスタにキャッシュするから、アクセス速度は違わないと思われ。 グローバル使い回しなんてやってもバグだらけになるだけで、百害あって一利なし。 >>28 1ループ1秒とすると、1日と3時間46分40秒が1日と3時間45分に短縮されるわけですね(w
- 33 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:20:06 ]
- 変数はローカルでもグローバルでも構わないから
前スレの1は動くものができるまで書き込まないでくれ。 ”動くものができるまで”、だ。
- 34 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:24:24 ]
- 本気で強いのを作ろうと思ってる奴はおらんのか?
- 35 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:30:15 ]
- 土日で作ってみたがWZebraの四手読みより弱かった…
- 36 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:31:46 ]
- 乙。
アルゴリズムの解説してほしい。 それは公開しないの?
- 37 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:34:35 ]
- >>34
単にちょっと強いと言うのならともかく、最強争いに加わろうと言うのなら、 才能、それもきわめて稀有で突出した才能を持つ『たった一人』が必要。 正直、人の力を結集してどうにかなる問題ではないと思う。
- 38 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:40:17 ]
- >>37
才能より研究への情熱があれば蓄積された情報を活かして かなりのところまでいけると思う。 現最強を最強たら占めているのは、才能とは思えんのだがどうなんだろう?
- 39 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:42:43 ]
- >>38
蓄積された情報なんて今さら漁ってどうすんの 本当の最強を目指すなら既成概念なんて百害あって一利無しだろう 必要なのは天災のひらめきだけで十分だ
- 40 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:43:47 ]
- >天災のひらめき
>1 の事ですか?
- 41 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:49:01 ]
-
あなたはどんなところに「強さ」を感じますか? 私はじっくり長考した上で最善の手を打たれるよりも さくっと秒殺で決定打を放ってくれる方が強さを感じます
- 42 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:51:25 ]
- >>39
今更あさるも何も膨大な記録を活かすって流れもないから何ともいえないんじゃね? 真の最強が完成したら、完全先読み初手投了になるだろうがそこに達するのが目標だろ? 本当に”最強”を目指すなら 定石探索、最善手探索、完全先読み、終盤解析のうち 一つ目と四つ目は意味がなくなるから、確かに圧倒的なひらめきも必要だと俺も思うが。 FTP archive at NEC いくつかの文献とともに、IOS でプレイされたすべての棋譜(約500,000)と コンピュータプログラムのLogistelloとKittyの対戦の棋譜(約100,000)を含む 棋譜データベースがある。 これらの棋譜データベースは強い評価関数を作るのに役立つ。
- 43 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:52:52 ]
-
>完全先読み初手投了になるだろうが 引き分けになることが証明されているそうですが
- 44 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:54:13 ]
- >>43
まじで?ソースある?
- 45 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:55:06 ]
- >>43
証明されてませんよ。 引き分けの可能性が高いだけです。
- 46 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 22:11:27 ]
- 人が思いつくような事はたいてい既に誰かに思いつかれてる。
問題を解決しようとすれば"蓄積された情報"を思いついてしまうから "蓄積された情報"を避けるためにそれを知る事は重要。 天才ってのは知らずに運よくそれを避けられる人の事じゃないんだろ?
- 47 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 22:22:48 ]
- www.amy.hi-ho.ne.jp/okuhara/howtoj.htm
から飛べるような文献を適当に当たりながら流し読みしてみたが オセロはやはり蓄積された情報を解析して手を打つのが全て。 強いプログラムを組むのには”発想”の余地があるかもしれないが、”強い”と”最強”は異なる。 複雑化した○×ゲームと考えると残るのは解析するための”効率”であり 前スレ1の時短縮はもっとも大事な因子である、やはり天才。
- 48 名前:デフォルトの名無しさん [2007/01/22(月) 22:25:47 ]
- ようするに今>>1には最強のプログラムを作れないということはわかった。
だれか今から>>1より強いオセロ作ってくれ
- 49 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 22:27:27 ]
- >>46
だから馬鹿って言われるんだね
- 50 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 22:32:54 ]
- >>48
前スレ1が居なくなれば俺作るよ
- 51 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 22:36:50 ]
- >>47
∩___∩ ? | ノ\ ヽ | / ●゛ ● | ? | | ∪ ( _●_) ミ .J 彡、 |∪| | / ∩ノ ⊃ ヽ ( \ / _ノ | | .\ “ /__| | \ /___ /
- 52 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 22:37:54 ]
- >>25
全部グローバル変数にしたら遅くなるよ。 ローカル変数は、スタックポインタからの相対位置で表せるので、 ポインタを介してアクセスするグローバル変数より速いのだ。 たとえレジスタにセットしてくれても、プログラム全域で保持すると 他の部分で遅くなってしまう。
- 53 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 22:41:29 ]
- >>52
スタックポインタからの相対アクセスもポインタアクセスだと思うが。 と言うかそれ以前にどのCPUの話?
- 54 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 22:42:05 ]
- >>51
すまん、ずーっと英語の文章を読んでいたので変な日本語になってしまった 結局は次の二つのことが言いたかった。 ・最強=全ての事象を探索するしかない、 ・強いプログラムと最強のプログラムはまったく違う。
- 55 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 22:51:26 ]
- >>53
1の開発環境はWindowsだと思うのでx86。 スタックポインタの場合、[esp-8]などと一発でアクセスできるが、 そうでない場合[eax]とアクセスする前にeaxにポインタを格納する手間が要る。 もしくは、eaxをポインタに占有されて使えるレジスタが減ってしまう。
- 56 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 22:52:43 ]
- 何アホなこと言ってんの
ローカル変数なら最初から最後までレジスタに置いておけるけど グローバルだとそうはいかん(メモリに書き戻す)から必ず遅くなる
- 57 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 22:54:03 ]
- >>56
その通りだが、俺が何か変なこと言ったか?
- 58 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 22:56:21 ]
- レス番つけろよ
- 59 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 23:02:03 ]
- >>レジスタが云々言ってる奴
pc10.2ch.net/test/read.cgi/tech/1084676298/l50 スレ違いだからこっちでやれ。
- 60 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 23:08:00 ]
- >>55
例えば mov edx,[MemAddress] と言う形式の指定方法があるので、 わざわざアドレスをレジスタにロードする必要は無い。
- 61 名前:1 [2007/01/22(月) 23:09:14 ]
- 全部グローバルが鈍いなら、main()だけだったら速いでしょ?使うのはマクロだけで
書き換えたらバグだらけになったので、元のまあまあ動いたところからやり直すことにする 明日やることにする
- 62 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 23:11:38 ]
- まだアホな事言ってるし
- 63 名前:55 mailto:sage [2007/01/22(月) 23:14:23 ]
- >>60
>>59のスレでレスするよ。 >>61 その発想は俺にはなかった。さすがだ。 そのやり方では色々問題が出てくると思うが、がんばれ。
- 64 名前:1 [2007/01/22(月) 23:15:30 ]
- >>52
メモリの呼び出し速度が遅いってことなんだけど より遅いのはハードディスクだけど 例えば、int型のデータ読むのに メモリ100ms ハードディスク1000ms レジスタ5ms とかかかるならレジスタを何度も繰り返し使った方がいいとおもうけど
- 65 名前:1 [2007/01/22(月) 23:17:59 ]
- インライン展開はループがあると出来ないってほんと?
- 66 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 23:19:37 ]
- メソッド呼出しとか、変数入出力のレベルの
スピードを気にするなら、アセンブラで組めよ
- 67 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 23:20:41 ]
- >>64
おいおい、世界初のCPUだってメモリ1アクセスに100ms もかからんよ。
- 68 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 23:21:05 ]
- わしもそう思う
- 69 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 23:27:39 ]
- >>64
レジスタを何度も繰り返し使った方がいいのは確かだ。 ただし、レジスタは少ないのでメモリアクセスは必ず必要になってしまうのだ。 なるべくメモリを使わないようにするという目的のために、 「全部グローバル変数にする」というアプローチは間違っていると言いたいわけ。
- 70 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 23:30:41 ]
- >>前スレ1
最適化も自分でやりたいの? そういうのはやってやる、もしくはコンパイラがやるって言ってるのに。
- 71 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 23:30:53 ]
- ヒント:キャッシュ
- 72 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 23:39:46 ]
- 前スレ1が何をしようともコンパイラの最適化には劣るし
オーソドックスに書かなければコンパイラの最適化を阻害する
- 73 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 23:40:08 ]
- どうせろくにプロファイリングもせずに、影響少ないとこばかりいじくるんだろうしなあ
- 74 名前:56 mailto:sage [2007/01/22(月) 23:40:45 ]
- >>55 スマンカッタ お前さん宛じゃなかったんだ
生温く見守っていようと思ってたんだが,我慢できなかった 今は反省してる >>64 レジスタのアクセス速度は100ps(pは10^-12)のオーダー メモリだと一次キャッシュにヒットすれば大差ないが そうじゃないと大雑把に言って十倍〜百倍程度は遅くなる ディスクなんて論外.使わないで済むようにコーディングしり >>65 関数分けないと再帰呼び出しができないから 終盤の読み切りが書けなく(正確に言うとかなり書き/読み難く)なる これは強いゲームプログラムを作るには必須っつーか常識レベルの ハードウェアの知識だから>>1はもっと勉強汁
- 75 名前:1 [2007/01/22(月) 23:47:02 ]
- 再帰はもともと使わない設計ですよ
再帰で深くいくと鈍くなったり動作不安定になりそうな気がするので
- 76 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 23:53:23 ]
- また責任転嫁してるし
- 77 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 00:01:33 ]
- >>75
>鈍くなったり 探索数が深度の指数関数的に増加するんだから当たり前。浅いうちから 鈍るならアルゴリズムが良くないのでは。 >動作不安定 バグが原因。バグの原因となってるものは前スレで散々言われたはず。 今までの調子で書いてる限り改善しないだろうね。
- 78 名前:55 mailto:sage [2007/01/23(火) 00:05:03 ]
- >>74
そうか。こっちこそ早とちりスマソ。 1のプログラミングスタイルはかつての俺で(笑)、共感は少しするが、 もうちょっと謙虚にスレ住人から情報を吸収して勉強するとか、 最適化を語るなら、速度も実測するなりして研究してからにしてくれ。
- 79 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 00:15:32 ]
- 典型的な荒しの判別方法
都合の悪い質問をスルー
- 80 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 00:19:09 ]
- >>75
終盤の読みきりをどうコーディングするつもりなんだ? 深さは固定じゃないし,ループで書くと再帰よりぐちゃぐちゃした コードになるぞ(自分でスタック管理しなくちゃならなくなるから) 再帰で書いて鈍く(これ意味が分からんが)なったり動作が不安定になる なんてことは(バグがない限り)絶対無いから安心して再帰使え 再帰が今一つ理解できないんだったらもっと頭の汗をかけ 論理的な思考ができる人間なら必ず理解できるからガンガレ
- 81 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 00:26:20 ]
- 処理速度の話は一番最後で良いような。
まずは正しく動くのを作るのが最初だろ。 動作確認しやすいように関数分けたり、処理を簡素化したプロトタイプ作れば更に良し。
- 82 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 00:36:38 ]
- >>81
それはさんざん言ってきたんだが無視されるんだよ
- 83 名前:デフォルトの名無しさん [2007/01/23(火) 00:54:18 ]
- >>1見たいなやつが会社に入ってきたら自分の感情を抑えていられるかどうか…
殴ってしまいそうだww
- 84 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 01:41:40 ]
- まずはスピードを気にせずにちゃんと(思った通りに)動くものを作れ
それから全部捨ててデータ構造から速度が出る様に設計し直すのが 思考ゲームで強いソフト作る時の最短コース(急がば回れ)だ
- 85 名前:デフォルトの名無しさん [2007/01/23(火) 01:57:57 ]
- >>1はプログラムは初心者だけど、アルゴリズムが頭にあるなら、思想があるなら
プログラムであーだこーだやって、早いだの遅いだのやるんじゃなくて、 (グローバル変数がなんだのレジスタが何だのそういう件はいらない) プログラムについてはここのスレの意見を聞いて、 アルゴリズムをちゃんと完成させろよ。 今の>>1がプログラムについてなんか言っても、ここの人間には価値がない。 そもそもおまいはアルゴリズムが強いって言い出したんだから、そこを主張しろ。
- 86 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 02:07:56 ]
- >>85
アルゴリズムを完成させるも何も>>1は1ビットたりともアルゴリズムを変更する気はないと言ってる
- 87 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 02:19:39 ]
- 912 :1 :2007/01/20(土) 13:36:06
評価関数を変更することにしました 枚数×2 + 空白の数 では、指せる手の数が増えすぎて幾らアルゴリズムが良くても計算不可能なようです 指し手の可能数と、マスの位置による点数を使うことにします 評価関数はアルゴリズムのうちに入らないのかな? 前スレ1は他人と違う言語をしゃべってるようだ。
- 88 名前:デフォルトの名無しさん [2007/01/23(火) 02:25:18 ]
- >>1の言ってるアルゴリズムが、最適化のことだったらワロスww
- 89 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 02:47:58 ]
- >>88
ああ、なるほど。そう考えるとしっくりくるね。 でも最適化技術をとことん使っても解けるような問題じゃないのにね。
- 90 名前:1 [2007/01/23(火) 06:57:30 ]
- 思考ルーチンには、再帰は使ったらいかんと思います
スタック管理をパソコンにまかせて自動処理させると危険なんです 予め必要なメモリ領域を確保しておいてループで書くのが王道でしょ
- 91 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 07:02:22 ]
- >>90
そんな事は、無い。 当然だが、スタック管理は人間よりPCにまかせたほうが、安全 なるだけ難しいとこは、PCにまかせて、シンプルで保守しやすい コードを書くことこそが、真の王道
- 92 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 07:10:55 ]
- 危険とか王道って、どっからそんな思い込みが出てくるんだ
- 93 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 07:28:38 ]
- >>92
>1の偏りきった脳味噌から。きっと>1はいつも斜めに傾いで座っているのだろう。
- 94 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 07:31:10 ]
- どこまで深くなるかがあらかじめわかってるのだから
再帰でも問題は無いよ
- 95 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 07:36:06 ]
- 王道も何も知らない無知の癖に王道を語ったらいかんと思います
お前のようなカスが書いたプログラムが危険なんです 無知は無知らしく識者の言うことを聞くのが王道でしょ
- 96 名前:1 [2007/01/23(火) 08:04:44 ]
- オセロだけではなく、将棋と囲碁に応用する目的があるんです
最大500手くらいあったらどうなんでしょうか? 再帰呼び出し ある種の複雑な問題を解くコードをシンプルに記述できる場合があるが、 再帰による入れ子の数に応じて占有するメモリが増加する上、 実行速度も効率的とは言えず、非再帰的に記述できるならそうすべきである。 e-words.jp/w/E5868DE5B8B0E591BCE381B3E587BAE38197.html
- 97 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 08:09:35 ]
- そんなもの知ってる
お前じゃない
- 98 名前:1 [2007/01/23(火) 08:10:19 ]
- 再帰は確実にインライン展開が出来ず、その都度、宣言されている変数の確保と
関数呼び出しのオーバーヘッドがかかるんです だから鈍い
- 99 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 08:13:01 ]
- >>98
>再帰は確実にインライン展開が出来ず、 ループもインライン展開できないとか書いてただろ、お前 だいたいループにするって言っても、どうやるの? 自分でスタック用意するのか?
- 100 名前:1 [2007/01/23(火) 08:15:28 ]
- 当初から、再帰は一度も使っておらず(これは初めから一貫していました)
手数と、読みの深さごとに必要な領域を確保しています パスも含めて128手分とってあります
|

|