タグ付けされた質問 「board-games」

2
DominosaはNPハードですか?
この質問は、Computer Science Stack Exchangeで回答できるため、Mathematics Stack Exchangeから移行されました。 6年前に移行され ました。 Dominosaは比較的新しいパズルゲームです。(n+1)×(n+2)(n+1)×(n+2)(n+1)\times(n+2) グリッドで再生されます。ゲームが始まる前に、ドミノの骨 (0,0),(0,1),…,(n,n)(0,0),(0,1),…,(n,n)\left(0,0\right),\left(0,1\right),\ldots,\left(n,n\right) (完璧なタイリングを構成する)グリッド上に配置されています。次のステップでは、ドミノのボーンが非表示になり、数字のみが表示されます。ゲームの目的は、ドミノの骨の元の配置を回復することです。ここでゲームをプレイできます:http://www.puzzle-dominosa.com/: ルール: ルールは簡単です。グリッド上のすべてのドミノの場所を見つける必要があります。ドミノは数字のペアです。各ペアは1つしか持てません。 パズルの比較的小さな部分を解決する多項式アルゴリズムがいくつかあります。また、典型的なDominosaグリッドには少なくとも2n2+o(n)2n2+o(n)2^{\frac{n}{2}+o\left(n\right)}ソリューション。 DominosaはNPハードですか?

3
コンピューターチェスで人工知能を使用する方法
一部の(歴史的)論文では、チェスは人工知能のショウジョウバエと呼ばれています。現在の研究では、検索アルゴリズムの単なる適用はせいぜい高度なコンピューターサイエンスであると思われますが、AI技術を適用(および実践)できる分野はまだあると思います。 簡単な例は、プログラムが特定の種類のポジションに適していないため、特定の動きを使用するかどうかをプログラムに教えることができるオープンブック学習です。強化学習の形式を使用して、これを自動化できます。プログラムを自分自身と対戦して、勝ちのラインの確率を上げ、ラインを失う確率を下げることができると思います。 より複雑な例は、学習評価関数を使用することです(たとえば、正方形のテーブルの値を調整できます)。しかし、私は考えています: (現実的な開始線の量とは対照的に)膨大な量の現実的な位置があるためにすべてのノイズが与えられた コンピューターチェスゲームのコスト(期間)と負荷をプレイする必要性。 どのようにこれを効果的に行うことができますか?(または、ニューラルネットワークなどの他の手法を検討する必要があります。)

1
分散アルファベータプルーニング
私は、分散アーキテクチャでアルファ-ベータプルーニングを使用してチェスのミニマックス検索ツリーを処理できる効率的なアルゴリズムを探しています。私が見つけたアルゴリズム(PVS、YBWC、DTSは下記参照)はすべてかなり古い(1990年が最新)。それ以来、多くの大きな進歩があったと思います。この分野の現在の標準は何ですか? また、私が読んだ研究論文からは理解できないので、DTSについての馬鹿の説明を教えてください。 上記のアルゴリズム: PVS:原理変動の分割 YBWC:ヤングブラザーズウェイトコンセプト DTS:動的なツリー分割 ここですべて議論されます。

2
Connect Fourをプレイする機械学習アルゴリズム
現在、機械学習について読んでおり、Connect Fourのプレイにそれをどのように適用するのか疑問に思っています。 私の現在の試みは、シグモイド関数モデルとone-vs-allメソッドを使用した単純なマルチクラス分類器です。 私の意見では、入力フィーチャは7x6 = 42グリッドフィールドの状態(プレーヤー1のディスク、プレーヤー2のディスク)でなければなりません。 出力は、ディスクを挿入する行の番号になります。これは1〜7の離散的な数値であるため、これはマルチクラス分類問題として扱うことができると思います。 しかし、教師あり学習で使用可能なトレーニング例を生成するにはどうすればよいですか? 主な目標はゲームに勝つことですが、最終ターン以外のすべての結果は明らかにわかりません。何千回もお互いに何をプレイするかをランダムに決定する2人のプレーヤーにさせた場合、トレーニングの例として、各ゲームラウンドの勝者によって行われたすべてのターンを取るだけで十分ですか?または、これを完全に異なる方法で行う必要がありますか? 編集:コメントで示唆されているように、強化学習について少し読みました。 私が知っていることから、Qラーニングはトリックを実行する必要があります。つまり、現在の状態の関数Qとその状態で始まる最大累積報酬になるために実行するアクションを近似する必要があります。次に、各ステップでQの最大値が得られるアクションを選択します。ただし、このゲームでは、たとえばルックアップテーブルとしてこれを行うには状態が多すぎます。それでは、このQ関数をモデル化する効果的な方法は何ですか?

2
この古典的なパズルブックゲームはNPコンプリートですか?
クロスワードパズルに非常によく似た古典的なパズルブックゲームがありますが、単語のリストが表示され、次に、ユニットスクエアで構成された正方形のボードが表示されます。一部の四角には、あらかじめ文字が書き込まれています。目標は、リスト内の各単語をパズルに1回だけ書き込むことです。各単語は、水平(左から右)または垂直(上から下)に、黒く塗りつぶされていない連続した四角形に書き込まれます。 、単語の両端に隣接する2つの四角形は、ブラックアウトするか、ボードから外す必要があります。また、いくつかの正方形に事前に書かれた文字については、これらの正方形に重なるように書かれた単語は、事前に書かれた文字を尊重しなければなりません。N× NN×NN \times N ここで、単語の固定サイズのアルファベットを想定すると、ボードの辺の長さがである場合、リストの各単語を正確に1回だけ使用して、ボードを有効なソリューションでボードに埋め込むことができるかどうかを決定します未修理?

2
自動(人間によるテストなし)で測定する方法はありますか
そのため、数独パズルを提供するほとんどのリソースは、各パズルに難易度カテゴリを割り当てています。15以上の難易度カテゴリで私が見たものも含まれています。しかし、これらの難易度カテゴリを割り当てる良い方法は何ですか?人間のパズルソルバーが十分に使用された場合、人間がパズルを完了するまでの平均時間と、パズルを正常に解決した人のパーセンテージを、人間のサンプルについて計算し、それに応じて難易度カテゴリを割り当てることができます。しかし、平均的な人間の難易度に影響を与えるさまざまなパズルが解決されているときに出現し続ける予測可能なシナリオがあるはずです。コンピューターがパズルを解くと自動的に検出され、これらのパターンが人間の予測平均難易度にまとめられます。 。これを行うには良い方法はありますか?多分、サンプルパズルでの人間のパフォーマンスの十分なトレーニングデータを使用した機械学習でしょうか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.