cjmines
terminology
- RMS (Regular Mine Sweeper): classic minesweeper
- IMS: (Infinite Mine Sweeper): an infinite plane of cells with finitely many mines
- Guess: A board state where two possible valid mine configurations are possible
- Progress of a Board: Given a RMS board M, and then M' which is the same board but with cells being opened or flagged, then the progress of the board denoted P(M, M') are all the cells which have been flagged or revealed as (x, y) positions.
- Zero Island: A contiguous glob of zeros
- Zero Island Representative: A (i, j) position inside a zero island
- NGS: a RMS board is "No Guess Solvable" (NGS) if there exists a cell (i, j) such that starting the game from that positions allows you to flag all mines without guessing at any step
- OGS: a RMS board is "Only Guess Solvable" if in order to solve the board you are required to guess in at least one step
- Up to No Guess: Given a board, and a start position (i, j), the "Up to no guess" state of the board is the state of the board up until the first guess is required. Note: For NGS boards this is the solved state, and for OGS boards it is not.
- Impermiable Separation: Given two zero islands A, B an Imperimable separation of A, B is a collection of mines such that when present then given two zero island representatives from A, B respectively called a, b, then P(M, UTNG(a, M)) and P(M, UTNG(b, M)) are disjoint
- Union of to RMS boards: Given two RMS boards B1 B2 of the same dimensions, their union is the board where a mine is present at index (i, j) iff it is present in B1 or B2
- NGS Start Positions: Given a NGS board B ngs_pos(B) are all the starting positions that are NGS of that board
- NGS Cleared Position: Given a NGS board B clr_pos(B) are all the positions that are cleared by solving the board
Suppose we have two NGS boards B1, B2, and we take their union to construct a board B, then B is NGS whenever the union doesn't doesn't change any of the non-zero numbers in either board, and clr_pos(B1) intersected with ngs_pos(B2) is non-empty.