タグ

2018年3月23日のブックマーク (3件)

  • [組み合わせゲーム理論] 組み合わせゲームとゲーム木について | DevelopersIO

    組み合わせゲームとは 組み合わせゲームとは、2人の対局者が盤面に対して交互に手を打ち、一方の手番の時に局面に対して打ち手がなくなった場合を終局とするゲームのことを言います。 組み合わせゲームは特徴として、以下のような性質を持ちます。 完全情報 : ゲームの局面(状態)が全て公開されている 確定 : (サイコロなど)偶然に左右される要素がない 有限 : 有限の手数によって必ずゲームが終了する つまり、サイコロなどのランダムな要素を持たず、相手に対して隠されているような手札を持たず、有限回手を進めることで必ず終了する様なゲームの事を、組み合わせゲームと呼びます。 組み合わせゲームの単純な例として、ドミナリングがあります。 ドミナリングとは、1×2の長さのドミノを盤面に交互に配置するという組み合わせゲームで、先手(左)は縦向き、後手(右)は横向きにしか置けないという規則があります。 ドミナリング

    [組み合わせゲーム理論] 組み合わせゲームとゲーム木について | DevelopersIO
  • [組み合わせゲーム理論] 物真似戦略と奇遇性 | DevelopersIO

    物真似戦略 物真似戦略とは、ゲームがある種の対称性を持った場合にのみ有効な、シンプルな必勝戦略です。 その名称が示す通り、基的に後手が先手と同様の手を打ち続けるという単純な戦略ですが、ゲームの局面が対称性を満たす場合、この戦略によって後手は必ず勝利することができます。 物真似戦略の例として、同じ数の石を持った2山のニムを考えてみます。この場合、以下の図のように後手は先手がとった石と同じ数を他方の山からとり続けることで、必ず勝つことができます。 また以下の図のように、先手が局面の対称性を作り出した状態で後手に渡し、その後物真似戦略をとり続けるというパターンも考えられます。 正規形の組み合わせゲームでは最後に手を打ったプレイヤーが勝ちとなるため、先手は奇数回、後手は偶数回の手で終局させるように手を打ち続けます。物真似戦略は、対称的に手を打ち続けることで、ある起点から偶数回でゲームが終局するよ

    [組み合わせゲーム理論] 物真似戦略と奇遇性 | DevelopersIO
  • Java 10のコンパイラバグを見つけた - きしだのHatena

    予定通りにJava10が出ましたね!Javaが予定通りにリリースされることが珍しすぎたのか、関東では雪になっていたようです。 Java10の変更点についてはこちらにまとめています。 Java 10新機能まとめ - Qiita Java10のJEP以外の変更まとめ - Qiita ところで、varが導入されたのでいろいろ試してたらコンパイラが落ちました。 次のようなコードを-g付でコンパイルすると落ちます。 import java.util.List; public class Main { public static void main(String... args) { var m = List.of("a", 1); System.out.println(m); } } このように、正式リリースであるbuild 46でコンパイルするとこうなります。 src$ javac Main.ja

    Java 10のコンパイラバグを見つけた - きしだのHatena