リバーシのアルゴリズム
Posted: 2007年1月25日(木) 08:14
今、かなり以前(C言語を勉強し始めた頃)に作っていたリバーシのプログラムを時間を見つけては組みなおしてるんですよ。
基本的な修正箇所は…
1:C言語らしくない部分の全面見直し(なんだかBASICみたいな組み方してました(笑))
2:置ける場所の検索ルーチンを再帰関数に置き換えてスマートな処理を目指す。
3:CPUのアルゴリズムの強化
という予定にしているんですよ。まぁ、ぶっちゃけ全部作り直した方が早い気もしますね(笑)
この中でも、1番ネックになりそうなのが3番目なんですよね。定石とか紹介されているページも見たりはしたのですが、いまいち規則性を見出だせなくて…(;^_^A
自分自身、リバーシに関しては初心者なので、どうすればCPUが強くなるのか分からないんですよね。
ちなみに今の時点でのアルゴリズムは、4角と確定箇所(絶対に取られない場所)を最優先して、あとはランダムという極めていい加減なものなので弱いです(笑)
何か、このポイントを押さえておけば強くなるようなものがあれば、是非教えてもらえないでしょうか?
基本的な修正箇所は…
1:C言語らしくない部分の全面見直し(なんだかBASICみたいな組み方してました(笑))
2:置ける場所の検索ルーチンを再帰関数に置き換えてスマートな処理を目指す。
3:CPUのアルゴリズムの強化
という予定にしているんですよ。まぁ、ぶっちゃけ全部作り直した方が早い気もしますね(笑)
この中でも、1番ネックになりそうなのが3番目なんですよね。定石とか紹介されているページも見たりはしたのですが、いまいち規則性を見出だせなくて…(;^_^A
自分自身、リバーシに関しては初心者なので、どうすればCPUが強くなるのか分からないんですよね。
ちなみに今の時点でのアルゴリズムは、4角と確定箇所(絶対に取られない場所)を最優先して、あとはランダムという極めていい加減なものなので弱いです(笑)
何か、このポイントを押さえておけば強くなるようなものがあれば、是非教えてもらえないでしょうか?