わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

三角形陣取り

ゴールデンウィークに富士山周辺を巡っていまして,美し森の展望台を登りながら,次のようなルールのゲームを考えました.

  • 2人で対戦する.便宜上,「A」「B」の名前をつけておく.
  • 10000×10000の格子点上の座標に交互に点を打っていく.
    • 「任意の点に打つ」ほかに,打てる点の候補を「直前の2手の点から距離が等しい直線(2点の垂直二等分線)の近傍(距離が1以下の領域にある格子点)」と絞ってもいいかもしれない.
    • 当然ながら,自分であれ相手であれ,すでに打たれている点には打てない.
  • 20個ずつ点を打てば終了.
  • Aが打った点を辺で結んで,三角形を作る.
    • すべての点のペアを結んで,交差する2辺は長い方を取り除く,というので,図形は一意に求められる,と思う.
    • 2辺が同じ長さのときは何らかの基準で1本だけ残す.
    • 「すべての点を結ぶ」ことなくそんな三角形を求める幾何アルゴリズムは,あると思う.
  • それぞれの三角形について,Bの点が何個入っているかを求める.線上の場合もなんとかする.ともあれそれで,
    • Bの点が0個なら,その三角形の面積をAの得点に加算する.
    • Bの点が1個のときは,その三角形は,Aの得点にもBの得点にもならない.
    • Bの点が2個のときも,その三角形の面積をAの得点に加算する.
    • Bの点が3個以上のときは,Aの作った三角形だけど,その三角形の面積をBの得点に加算する.
  • Bについても,上記のAとBを入れ替えて,同様に計算する.
  • そうして,Aは「自分の囲った陣地に対する自分の得点」と「相手の囲った陣地に対する自分の得点」の合計を求める.Bについても同様に求める.合計得点の高いほうが勝ち.

このゲームに関する課題は

  • 20個程度の点が打たれたときに,三角形を効率よく一意に生成できるか?
  • 戦略はあるのか? 先手必勝,後手必勝ではないのか?
  • 「10000×10000の格子点」を「和歌山県内の名所」に替えて,Google Maps白地図の上でこの陣取りゲームが成立するか?