Hexcellent Minesweeping


13

Hexcellsは、マインスイーパをベースにした六角形のゲームです。(完全な開示:Hexcellsとは何の関係もありません。実際、ゲームはあまり好きではありません。)Hexcellsのルールのほとんどは、Generalized Minesweeper(Minesweeperが任意のグラフで再生)で簡単に表現できます。最も困難なものである{X}-X-ルール。

{X}ルールは、セルの境界線のことを教えてくれるX鉱山と鉱山これらの全てが連続した経路で互いに接していること。たとえば、ボードがある場合:

  ?   ?

?  {3}  ?

  ?   ?

鉱山配置の6つの可能性は

  *   .       .   .       .   .       .   *       *   *       *   *

*  {3}  .   *  {3}  .   .  {3}  *   .  {3}  *   .  {3}  *   *  {3}  .

  *   .       *   *       *   *       .   *       .   .       .   .

あなたの目標は{3}、一般化された掃海艇でルールを実装することです。

仕様

Generalized Minesweeperは、任意のグラフで実行される掃海艇です。グラフには、「インジケータ」または「値」という2種類の頂点があります。値はオンまたはオフ(地雷または不発地)のいずれかになりますが、その状態はプレイヤーに知られていません。インジケーターは、隣接する頂点の数(地雷)をプレイヤーに伝え、地雷自体としてはカウントしません。

たとえば、一般的なマインスイーパの次のボードは、セルAとBが両方とも地雷であるか、どちらも地雷ではないことを示しています。

シンプルなゲーム

(図ではインジケーターは灰色でマークされ、値は白です)

オフになっている値をクリックしてインジケーターを表示する通常の掃海艇とは異なり、一般化された掃海艇にはそのようなメカニズムはありません。プレーヤーは、グラフのどの状態でインジケータを満たすことができるかを単に決定します。

あなたの目標は、一般化された掃海艇に構造を構築し、6つの特定のセルが、Hexcellsルールに接続されているかのように満たす状態のみを持つことができるようにすること{3}です。ソリューションを記述するとき、値セルに特定の値を念頭に置いてはいけません。(H.PWizの質問への回答では、一部の値セルが状態から推測可能である可能性がありますが、そのようなセルを削除することで常にスコアを改善できます)

得点

答えは、最終グラフの頂点の数から6(6入力の場合)を引いたものでスコア付けされ、スコアが低いほど良くなります。このメトリックで2つの回答が同点の場合、タイブレーカーはエッジの数になります。

可解性

この問題は解決可能であり、私はこの問題の解決策を持っています。この課題が1週間経過したら投稿します。


6つの入力頂点間に常に6つのエッジが必要ですか?
ベルギ

値セル間の@Bergiエッジは意味がないため冗長
です-H.PWiz

@ H.PWizしかし、「{3}ルール」には、「これらの地雷はすべて連続したパスで互いに隣接しています」と書かれています -エッジがなければパスはありません。
ベルギ

@Bergiしかし、タスクは、「Hexcellsルールで接続されているかのように」動作する6つのセルであるグラフを作成します{3}。接続する必要はありません
-H.PWiz

1
@Pavel Generalized Minesweeperは、私が知る限りプログラミング言語です。非常に難解かもしれませんが、proof-golfから遠すぎるとは思いません。
ポストロックガーフハンター

回答:


15

7 5頂点、14 10エッジ

このオンラインツールとペイントで作成されたグラフ。)

A- F私たちの6つのノードであり、Jヘルパーノードです。3 1-nodesはしながら、その逆のノードは、異なる強制2-nodeを確認しますACそしてEどちらもすべての鉱山、またすべて空にすることはできません。

編集:CalculatorFelineとH.PWizのおかげで-2頂点!


1
2つの頂点を削除できます。
CalculatorFeline

2-J構造は、ACEがすべて空ではないことも保証することに注意してください。
CalculatorFeline

3

9頂点、17エッジ

どこ ?は値セルであり、それは6私たちが気にするものではありません。次のサブグラフが必要です。

    ___________
?  /    ?      \?
 \|    /|\     /
  3¯¯¯¯ 1 ¯¯¯¯2
  |\    |    /|
  | \ /¯|¯¯¯¯ |
  |  X  |     |
 /  / \_|___  \
A__/    B   \__C

私のASCIIアートのスキルは恐ろしいです。

これらの6つの頂点を設定すると:ABC次の状態を持つことができます: 111110011000100001

細胞は、以下の六角に対応して、私たちはその後、必要なのは3個の以上の指標細胞ですA-1-DB-1-EC-1-F

  B  C
A      D
  F  E

A,C,E代わりにチェックすると、ずっと小さくなりますA,B,C
CalculatorFeline

@CalculatorFeline理由がわかりません
...-H.PWiz

ソリューションからABCチェックデバイスを削除しても、ACEとが許可されることを除いて、ほとんど機能しますBDF。これらには、中の鉱山の#はACE0または3であるが、有効な解決策では、これはあなたが5のスコアを持つことができます1または2です
CalculatorFeline

@CalculatorFelineそうですね、それはライコニの答えマイナス2になります。これは間違いなく、テキストで伝えるのは難しいです
H.PWiz

@CalculatorFeline私の提出の主なアイデアが含まれていないので、私はそれを投稿しません。ライコニは
-H.PWiz

3

44頂点、66エッジ

最初に、すべて3に接続された6つの値セルのリングから開始します。これらのセルは、{3}ルールを持つセルになります。

  A   B
   \ /
F---3---C
   / \
  E   D

次に、012センサーを値セルペア(AB、BC、CD、DE、EF、FA)に接続します。012センサーの構造は次のとおりです。

O   ?---1---?
 \ /       /
  2---?---1
 / \
A   B

AとBはセンサーへの入力で、Oは出力です。?セルは一般的な値のセルです。AとBのいずれか1つが地雷である場合、Oは地雷であり、それ以外の場合は空です。次に、2つのノードをすべてのセンサー出力に接続します。これにより、正確に1つの鉱山で2つのペアが存在することが保証され、これを満たす唯一の構成がを満たす構成であることが証明できます{3}。各センサーには7つのノードが必要であるため、6つのセンサーには42が必要です。ABCDEFに接続された3つのノードと出力に接続された2つのノードを追加すると、44になります。

このソリューションは、他にも適合させることができる{1}- {5}いくつかの他の値に3ノードを変更することによって。


012センサーの出力は何ですか?また、私はあなたの6つのノードのみをカウントします012
-H.PWiz

2つのノード、2つの1ノード、3つのノードがありますか?ノード、およびC(ABCDEFノードの1つではなく、センサーの出力のみ)。
CalculatorFeline

2
@CalculatorFelineガットそれは、多分名前を変更CするOことから、C あるABCDEF
H.PWiz

楽しい事実:このソリューションは平面的です。
電卓
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.