問題タブ [game-theory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - ゲーム理論: MEX ルールと Nimbers
Nimbers とゲーム理論に関するこの小さなチュートリアルを読んでいます。
メックス ルールがゲーム ポジションの数字を支配する理由を誰か説明できますか?
参照: http://en.wikipedia.org/wiki/Mex_(数学)
最小の除外された序数から、状態の Nimber は実際には人が「到達できない」最小の状態であるように思えます。それは現在のゲームの状態を管理するのにどのように役立ちますか?
ウィキペディアで証明を見ましたが、何も理解できません。 http://en.wikipedia.org/wiki/Sprague%E2%80%93Grundy_theorem#Proof
c++ - 一連のイベントでゲームをプログラムする方法
C++ で NDS のコーディングを行っています。決定木のように、イベントが順番に発生し、プレイヤーの選択に応じて変化するゲームを作成する予定です。例:
===場所===
- 廊下: プレイヤーが通過できる 2 つのドア
- バスルーム: 地下への秘密の入り口があります
- 地下:廊下に戻る
- ベッドルーム: バスルームにつながる
===シーケンス===
各部屋では、キーの押下が常にチェックされます。したがって、これは私が最初に考えたシーケンスをコーディングするための基本的で一般的に悪い方法です。
この方法の多くの欠点のいくつかは次のとおりです。
- すべてを常に更新する必要があるため、マルチプレイヤーを実装することはほぼ不可能です
- 他の機能が更新されることはほぼ不可能 (フレーム/タイム トラッカーなど)
- ルーム間を移動するオプションを追加すると、再帰が発生し、メモリ オーバーフローが発生する可能性があります
では、質問:これらの欠点を解決する最良の代替手段は何ですか?
はい、switch ステートメント内にすべてを記述し、playGame 関数の外側の変数で switch ステートメント内の場所を追跡することはできますが、その構造は読み取り可能または論理的ではないようです。
matlab - matlabFunction の代わりになるものは何ですか?
TU ゲームの多重線形拡張を使用して Shapley 値を計算する小さなプログラムを MATLAB で作成しました。しかし、MATLAB の Symbolic Math Toolbox で問題が発生しました。このプログラムでは、一連の関数を統合して Shapley 値を取得する必要があります。ただし、MATLAB プログラム内では int() コマンドを使用できません
結果として、代わりに integral() を使用する必要があります。この場合、式のセットを matlabFunction() を使用して MATLAB 関数ハンドルに変換する必要があります。ただし、アクセスできるすべての Linux マシン (MATLAB R2014a) では、このコマンドは機能しません (以下の説明を参照)。回避策として、MATLAB プログラムは一連の関数を現在のワークスペースに返し、そこで int() コマンドを使用して Shapley 値を計算できます。
議論をより具体的にするために、まずこの小さな MATLAB プログラムについて考えてみましょう。
コメントされた部分は、プログラム内で動作しない部分ですが、そのプログラムで Shapley 値を計算するために必要であり、それが目的です。このプログラムを最大 12 人のプレーヤーでテストしたところ、2 段階の手順で Shapley 値を正常に計算できました。したがって、上記のプログラムは、考慮されている問題を正しく指定しています。この 2 段階の手順と上記のプログラムの機能をよりよく理解するために、3 人用ゲームに焦点を当てましょう。連合の値は、次のデータ配列によって与えられます。
連合は、一意の整数表現に従って順序付けられていることに注意してください。ゲームが定義されました。これで、上記のプログラムで多重線形拡張と一連の偏導関数を評価できますが、Shapley 値は評価できません。
偏導関数の集合の積分は、単位立方体の対角線上で実行されますが、変数を [x1,x2,x3] から [y,y,y] に設定でき、積分は 0 から 1 まで実行されます。
積分の解は、以下によって与えられる Shapley 値です。
これが実際に Shapley 値であることを確認するには、
これは、MATLAB Game Theory Toolbox の MatTuGames に同梱されています。
http://www.mathworks.com/matlabcentral/fileexchange/35933-mattugames
int() と統合する代わりに、integral() を使用することもできますが、内容は次のようになります。
関数ハンドルに matlabFunction() で書き直す必要があります。上で述べたように、これは Linux (MATLAB R2013a、R2013b、R2014a) では機能しません。これを確認するために、例を再現してみましょう
URL のドキュメントから:
これは与えるべきです
しかし、私は得る
ここに私の質問があります:そこから取得するための代替手順が存在します
関数ハンドル
それを統合する
または、別の言い方をします。乗算 * を要素ごとの乗算 .* に変更し、ベキ演算 ^ を要素ごとの累乗に変更する代替方法はありますか?
もちろん、上記の MATLAB プログラムを改善するための提案は大歓迎です。
java - 100 ゲーム - CanIWin()
問題:
- 2 人のプレーヤーが共通の数字のプールから数字を選び、合計に到達します。
- 目標値に到達/超えるプレイヤーが勝ちます。
- 問題は、プレーヤー 1 が勝つための戦略を実施できるかどうかを調べることです。これは、与えられた合計と数字のプールに対してです。
私のアプローチ:
両方のプレイヤーが利用可能なプールから最適な数を選ぶと仮定します。最適とは、つまり-
プールで使用可能な最大数 >= 残りの値かどうかを確認します。[yes]=> 利用可能な最大値を返します。
RequiredToWin - HighestNumberInThePool
勝つことが不可能な場合は、次のターンでの勝利を保証しない、プール内で利用可能な最大の数字 ( ) を選びます。
「a」ソリューションを思いつき、コードを書きました。それが儀式かどうかを分析しようとしていますか?時間的にも空間的にも最適。また、コーディング規約 (グローバル変数と条件文の使用方法) を改善する方法を理解しようとしています。これは解決の儀式ですか?
この例では、100 から 105 までの予想される合計を使用して、出力で最適な選択を示しています。Player-1 が利用可能なプールから 5 を選択する [7,6,5,4,3,2,1] を参照してください。
編集これは問題の解決策ではありません。{pool:[1-5], Total:12} の場合、この方法は失敗します。この関数は、Player-2 は常に勝つが、Player-1 が 3 から始めれば、常に勝つことができると言っています。
出力:
java - .txt ファイルの抜粋を Java のプログラムに入力するにはどうすればよいですか?
あなたのラックからスクラブルのラックに「ビンゴ」が出る確率を計算するプログラムを書いています。私は非常に初歩的な段階にあり、まだコードを書き始めていません。しかし、私はロジックに取り組み始めました。
私が抱えている問題はこれです。Scrabble で単語を判断するための辞書として機能する .txt ファイルがあります。これは CSW-12 ディクショナリと呼ばれ、私が使用している .txt への直接ダウンロードはここにあります。
通常、Zyzzyva と呼ばれるプログラムを使用して単語にアクセスします。そのプログラムをダウンロードするためのリンクは、ここにあります。
さて、この .txt から、7 文字すべての単語のみを入力する必要があります。そして、意味のない言葉だけ。つまり、単語を取得して、スペースにヒットしたときに行をスキップすることを意味します。
私はJavaに比較的慣れておらず、Javaについて少ししか知りません。.txt のような外部ファイルからデータを入力する方法がわかりません。ましてや、そこからの抜粋のみを入力する方法もわかりません。
どんな助けでも大歓迎です。そして、私のためにそれをするよりも、その仕事をする方法を教えてほしい.
game-theory - Gambit enumpoly 出力ドキュメント
gambit-enumpoly からの出力のドキュメントを探しています
これを読み取るコードを書いています。できれば例を挙げて、出力の順序を説明したいと思います。http://www.gambit-project.org/gambit14/tools.html#command-line
には、呼び出し出力 gambit-enumpoly e01.efg の例が 1 つあります
が、説明が見つからず、e01.efg のリストも見つかりません。
Gogle と stderr.org/doc/gambit-doc/html で広範囲に検索しました
Dr. ローレンス レフ ウェスタン イリノイ大学、マコーム IL 61455 ||(309) 298-1315 Stipes 447 Assoc. コンピューター科学の教授。ポケットベル: 309-367-0787 FAX: 309-298-2302