割り箸 (手遊びゲーム)

割り箸（わりばし）は２人(以上)で行う手遊びゲームであり、プレイヤーはそれぞれの手のいくつかの指を伸ばし、交互に手をタップすることによってそれらの本数を変化させる形で遊ぶ。割り箸は組合せゲームの一種であり、どのような局面であってもそこからの最適な戦略が知られているという意味では解決している。

**ルール**
この公式的なルールは「ロールオーバー」と呼ばれ、以下で説明するように、手の指の合計が５本を超える場合、そこから５を引いた本数の指を広げる。
# 各プレイヤーは自身の手の各々で指を１本広げた状態からゲームをスタートする。最初のプレイヤーからターンは時計回りに進む。
# 自身のターンで、プレイヤーは「攻撃」か「分割」のいずれか一方を行う。
# 「攻撃」では、プレイヤーは自身の「生きている手」、すなわち指が１本以上広げられている手のうちの１つを使い、敵の生きている手を打つ。打たれた相手の手の指の本数は、打つのに使用された手の指の本数分だけ増加する。
# 各プレイヤーのいずれかの手で指がちょうど５本広げられる場合、その手は「死ぬ」。これは０本の指を広げる、すなわち拳を閉じることや、死んだ手をプレイヤー自身の背後に隠すことなどによって表される。
# いずれかの手が指５本を超える場合、そこから５を引いた本数の指を広げる。例えば、広げられた指が４本の手が、広げられた指が２本の手を攻撃した場合、合計で指は６本となるが、そのとき５本の指が自動的に差し引かれ、攻撃された手では１本の指を広げることになる。（プレイヤーのいずれかの手の指が５本以上となった時点でその手を「死んだ手」と見なすようなバリエーションも存在する。）
# 「分割」では、プレイヤーは自身の２つの手を互いに打ち、広げられた指を片方の手から他方の手へ好きな本数移動できる。ただし、単に２つの生きている手の指の本数を交換するような移動はできない。例えば、プレイヤーが広げられた指が各々２本と３本の生きている手２つを持つ場合、広げられた指が各々１本と４本の生きている手２つを持つという状態に移動することはできるが、広げられた指が各々２本と３本の生きている手２つを持つ状態(移動前とは手の左右が異なる)に移動することはできない。また、このように生きている手同士の指の本数を「分割」によって移動する場合、この移動を特に「転送」という。
# プレイヤーは「分割」のルールに従う限りにおいては、「分割」を用いて死んだ手を生き返らせることもできる。この移動を特に「分裂」という。例えば、プレイヤーが死んだ手を１つと、指が３本広げられた生きている手を１つもつ場合、広げられた指が各々１本と２本の生きている手２つを持つという状態に移動することができる。ただし、敵の手を「攻撃」を用いて生き返らせることはできない。それゆえ、２つの手がともに死んだプレイヤーはこれ以上ゲームを続けられず、プレイから除外される。
# プレイヤーは自身の手を死なせることはできない。例えばプレイヤーが、広げられた指が各々１本と２本の生きている手２つを持つ場合に、（「分割」を用いて）広げられた指が３本の生きている手１つと死んだ手１つを持つという状態に移動することはできない。
# プレイヤーは、すべての対戦相手が(同時に２つの「死んだ手」を持つことによって)プレイから除外された場合に勝利となる。

**略記 **
割り箸の状態は４桁のコードABCDで簡略的に表すことができる。AとBはターンプレイヤーの手(広げられた指の数の昇順)を表し、CとDはターンプレイヤーでないプレイヤーの手(広げられた指の数の昇順)を表す。単一で他と異なる状態が、誤って２つのコードで表されることがないように、各プレイヤーの手を指の昇順で表記することが重要である。例えば、1032というコードは許されず、0123と表記する必要がある。
それゆえ、公式ルール「ロールオーバー」においては、スタートの状態は1111であり、その次の状態は1211となる。また、1211の次の状態は1212か1312となる。各状態を４桁の数として扱う場合、最小の状態は0000であり、最大の状態は4444である。
この略記方法はより多くのプレイヤーがいるゲームに対しても容易に拡張できる。３人のプレイヤーがいるゲームでは、６桁の数によって表され（例. 111211）、左端から２桁ずつの数字の各ペアは、プレイヤー１人ずつを表し、各ペアはプレイヤーがいつ自分のターンを行うかに基づいて並べられている。左端のペアはまさに今ターンを行おうとしているプレイヤーの手を表し、中央のペアはその次にターンを行うプレイヤーの手を表す、などである。右端のペアは自分のターンが来るまでに最も待たなければならないプレイヤーの手を表す（通常、そのプレイヤーはターンを行ったばかりであるため）。

**移動**
基本ルール(「ロールオーバー」)のもとで最大で14の可能な状態移動が存在する。（「分裂」と「転送」を合わせて「分割」と呼んでいる。）- ４つの「攻撃」（A-C, A-D, B-C, B-D）- ４つの「分裂」（02-11, 03-12, 04-13, 04-22）- ６つの「転送」（13-22, 22-13, 14-23, 23-14, 24-33, 33-24）
しかし、１ターン中に行える状態移動はその内の５つ以下しかない。
例えば、状態1312は 2213, 1313, 2413, 0113, 1222 のいずれかの状態に移動する。

**ゲームの長さ**
ゲームの最小手数は５手である。そのようなゲームプレイ(状態遷移)の例は１つ存在する。
# 1111 1211 1312 0113 1401 0014
各ターンで、それまでに到達した状態には戻らないように移動する場合の、最長のゲームは９手詰みである。そのようなゲームプレイ(状態遷移)の例は２つ存在する。
# 1111 1211 1212 2212 2322 0223 0202 0402 0104 0001
# 1111 1211 1212 2312 2323 0323 0303 0103 0401 0004
再訪ありの場合(すでに到達した状態に再び移動してもよい場合)のゲームの最長手数は分かっていない。

**状態数**
ロールオーバーにおいて、手が死ぬときの指の本数を「ロールオーバー量」と呼ぶ。基本ルールでは、ロールオーバー量が５であるから、箸は基数５のゲームである。プレイヤーが２人の場合の各状態は４桁の数で表され、0000から4444まで（基数５で）数えると625個の状態がある。しかし、これらの状態のほとんどが間違った表記である（例. 0132 ,1023, 1032）。それらは一見異なるように見えるが、ゲームプレイにおいては機能的に同じである（ここで「ゲームプレイにおいて機能的に同じ」というのは、プレイヤーA,Bという区別に注目するのではなく、各ターンにおけるターンプレイヤーとターンプレイヤーでないプレイヤーという区別に注目した上で、手の対称性から同じ状態を表すということを意味している。例えば、0123はターンプレイヤーの手が01、ターンプレイヤーでないプレイヤーの手が23であることを意味するが、先攻のプレイヤーAと後攻のプレイヤーBが各々01,23の手をもつ場合と、各々23,01の手を持つ場合の２つの場合を含んでいることに注意）。
機能的に異なる状態の数を知るためには、機能的に異なるペアの数を単に２乗すればよい。機能的に異なるペアは15個（00, 01, 02, 03, 04, 11, 12, 13, 14, 22, 23, 24, 33, 34, 44）存在し、いずれのプレイヤー（ターンプレイヤーとターンプレイヤーでないプレイヤー）もこれらのペアのいずれかの状態をとるから、単に15×15で、225個の機能的に異なる状態が得られる。- 余分なもの(機能的に重複するもの)を含めると625個の状態がある。- 機能的に異なる状態は225個ある。- 到達可能な状態は204個ある。
21個の到達不可能な状態（0000, 0100, 0200, 0300, 0400, 1100, 1101, 1200, 1300, 1400, 2200, 2202, 2300, 2400, 3300, 3303, 3400, 3444, 4400, 4404, 4444）が存在する。
# このうち15個はターンプレイヤーの手が異なる１５個のペア（00, 01, 02, 03, 04, 11, 12, 13, 14, 22, 23, 24, 33, 34, 44）のいずれかとなり、もう一方のプレイヤーが負けている(つまり00の手をもつ)という状態である。問題は、負けたプレイヤーがちょうど自分のターンを行ったプレイヤーとなっている（すなわち“00”が右側にある）ことである。プレイヤーは自身のターンに負けることはできないため、これらの状態は明らかに到達不可である。
# 到達不可能な２１個の状態のうちの４個（1101,2202,3303,4404）はターンプレイヤーがkkという手をもち、もう一方のプレイヤーが0k という手を持つ状態である(ただし、０

**関連項目**
 手を用いた遊び

**外部リンク**
  「割りばしゲーム」が後手必勝であることを確認する