Make 10, Eight Queens, 笑わない数学者からの挑戦状 (Mathematical Goodbye), Binary Puzzle

2017-06-25 (Sun.)

パズル

Make 10

四則パズル、小町算とも.

ルール

大抵はひと桁程度の自然数が4つ与えられ、四則 (加減乗除) を補って組み合わせることで 10 を作るパズル. 私が初めて知ったバージョンでは、自然数は一列で与えられるのでその順序を変えず、 四則演算記号 +-*/ 及び括弧 () を適切に挿入することで答えが 10 になる式を作るというものだった. けど順序くらい自由に変えられるのが普通のルールらしい. ということでここでは次のようなものを "Make 10" と呼ぶことにする.

  1. 与えられる数は整数
  2. 数字を自由な順に一列に並べる
  3. 答えが 10 になるような式を、四則演算及び括弧を挿入して作る

考察

「記号と括弧を挿入して式を作る」などと言っているが、ようは次のようなことである.

  1. 数字の多重集合 (multiset) \(\mathcal{A}\) がある
  2. \(\mathcal{A}\) のサイズが 1 より大の間、次を繰り返し行う
    1. \(\mathcal{A}\) から数を2つ取り出して \(x, y\) とする
    2. \(x, y\) から四則で出来る数 (\(x+y, x-y, y-x, xy, x/y, y/x\) のいずれか) を \(\mathcal{A}\) に追加する

そうして得た \(\mathcal{A}\) の中の唯ひとつの数が式の結果である. 例えば \(\frac{8}{1 - 1 / 5}\) という式は、次の手順で構成される.

  1. \(\mathcal{A} = \{ 1,1,5,8 \}\) (初期)
  2. \(\mathcal{A} = \{ 1,8, 1/5 \}\) (\(1,5\) を取り出して \(1/5\) を追加)
  3. \(\mathcal{A} = \{ 8, 4/5 \}\) (\(1, 1/5\) を取り出して \(1-1/5\) を追加)
  4. \(\mathcal{A} = \{ 10 \}\) (\(8, (1-1/5)\) を取り出して(ry)

こうすると、\(\mathcal{A}\) のことを1つの状態だと見做せて、「2つ取り出して演算結果を追加」という操作によって別の状態に遷移するということを考えられる. これで \(\{10\}\) という状態に辿りつけられれば、そのパスが求める式になる.

解答

Eight Queens

ルール

8x8 のマスからなるチェス盤が与えられる. ここに出来るだけ多くのクイーンを置く. ただしあるクイーンで別のクイーンを取れるような位置にあってはいけない (攻撃範囲に入ってはいけない). どう配置すればよいか.

考察

行について言うと1つの行に高々1つのクイーンしか置けない. 2つ以上あったら一方のクイーンの攻撃範囲に入ってることになるので. 盤面は8x8なので8個の駒を置くことを考える.

1行あたり1つ置くことになるので、何列目に置くか、という情報の持ち方で良さそう. \(i\) 行目のクイーンを \(a_i\) 列目に置く、ということで \[a_1, a_2, \ldots a_8 ~~(1 \leq a_i \leq 8)\] と書ける.

もちろん列についても同じ列に複数のクイーンがあってはいけない. つまり \(a_i \ne a_j\) である必要がある. とすると \(a_1, a_2, \ldots a_8\)\(1,2,\ldots,8\) の置換でよい. というわけで \(8!\) 通りだけ試せばよい (\(8! = 40320\)).

この数列 \((a_i)\) について、行及び列に関してはクイーン同士は必ず交わってないので、斜めについてだけチェックする. \(|a_i - a_j| = |i-j| ~(i \ne j)\) のとき、ちょうど斜め方向にクイーンが攻撃しあってるので、これが無いことを、8 クイーンの全てのペアについて調べれば良い.

ちなみに NxN の盤面にはいつも N 個のクイーンを置くことができる.

解答

笑わない数学者からの挑戦状 (Mathematical Goodbye)

先に紹介したパズルは初出も発案者もよくわからないけれどこのパズルは小説家の森博嗣が自身の小説 1 の中で登場させたもの. でも私はそういった小説は読まないので、とあるサイト 2 で初めてこのパズルを知った.

ルール

参考文献 3 にあるが、ここにも要約しておくと次の通り.

  1. ボールが 15 個あり、それぞれ 1 から 15 の数字が書かれている
  2. これらから 5 個選び環状に並べる
  3. 1 個以上の連続したボールの選び方は 21 通りあるが、それぞれのボールの和を取った時、1 のものから 21 のものまで全てが作られる
  4. このようなボールの選び方及び並べ方を求めよ

考察

これこそ、\(\left(\begin{array}{c}15\\5\end{array}\right)\) 通り試しちゃえば良いだけ. 下の解答は何も考えず全通り試しているだけ.

でも敢えてより深く考察をするのなら、

というわけで、有り得るボールの組み合わせは次のいずれか

というわけで組み合わせ自体は100通り程度?に減らすことは出来る. けどその後、結局並び替えも考える必要がある.

解答

Binary Puzzle

その名の通り BinaryPuzzle.com 4 というサイトで知った.

ルール

BinaryPuzzle.com 5 にあるが、和訳を兼ねて要約すると、

  1. NxN のマス目からなる盤面に 0 または 1 を埋める
  2. 同じ数字は高々2つまでしか縦横に並ばない
  3. どの行、及び列においても、0 と 1 は同じ数だけ含まれる
  4. 全く同じ01の並びを持った行 (または列) が2つ以上あることはない

考察

同じ数字が3つ並ばないということから、

特別に考えたのはこのくらい. 他は深さ優先探索で埋めてく.

解答

参考


  1. 笑わない数学者 MATHEMATICAL GOODBYE S&M | 森博嗣 | 日本の小説・文芸 | Kindleストア | Amazon

  2. Mathematical Goodbye. - 笑わない数学者からの挑戦状 : クイズ&パズルの部屋「Quizzical Days.」

  3. Mathematical Goodbye. - 笑わない数学者からの挑戦状 : クイズ&パズルの部屋「Quizzical Days.」

  4. Binary puzzles, solve online or print - BinaryPuzzle.com

  5. Binary puzzles, solve online or print - BinaryPuzzle.com