タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

JavaScriptとaiとgameに関するyoshiwebのブックマーク (2)

  • JavaScript でオセロを実装する(本格AI作成編) | Webシステム開発/教育ソリューションのタイムインターメディア

    これまでのあらすじ 一人二役の寂しいオセロから脱却すべく、オセロの対戦が務まるAIの作成を始めた。 しかし、一通り動きはするものの、このAIは形勢判断を全くせずにテキトーに手を選んでいるだけなので非常に弱い。 なので少しは歯ごたえのあるまともなAIを作ろうと思うのであった。 どうすればまともなAIになるのか 前回作成したAIは 取り得る手のうち最も上の行に石が置ける手を選ぶ。同一行に指せる手が複数あるなら最も左の列に石が置ける手を選ぶ。 という単純な実装でした。これには 二つ問題 があります。 各手の価値を全く考慮していません。 来ならばどの手が最も勝利に近付くものなのかを判断すべきです (「左上に置ける手ほど価値が高い」という誤った判断基準で動いているとも言えます)。現在指せる手しか調べていません。 来ならば先の先を読むべきです。 オセロは最終的に石の数が最も多いプレイヤーが勝利する

    JavaScript でオセロを実装する(本格AI作成編) | Webシステム開発/教育ソリューションのタイムインターメディア
  • JavaScript でオセロを実装する(原始モンテカルロAI編) | Webシステム開発/教育ソリューションのタイムインターメディア

    以前、オセロの対戦AIの作成しましたが、そこでは実装を簡略化する為に盤面の価値を 盤面の価値 = 自分の石の数 – 相手の石の数 という単純な方法で決めていました。 でも、これには問題があります。 同じ石でも配置場所によって価値は異なるはずです(例: 角は最強)。それが考慮されていません。ゲーム終盤になってくると石の数が重要になってきます。でも序盤から石の数を重視するのは方向性としておかしいです。 という訳で、 序盤から中盤では石の配置場所を重視する終盤では石の数を重視する 形で盤面の価値を算出すれば、結構良さそうなAIになりそうです。 しかし、今度は 「序盤」「中盤」「終盤」をどのように区別するのか?石の配置場所の強弱はどう決めるのか?同じ配置場所でも周囲の状況次第で強弱が異なるのでは? という問題が出てきます。これは作るのが面倒臭そうです。 どうにかしてお手軽かつそこそこ強そうなAI

    JavaScript でオセロを実装する(原始モンテカルロAI編) | Webシステム開発/教育ソリューションのタイムインターメディア
  • 1