サイトスワップ

数理

どのような数列でもサイトスワップとして有効なわけではありません。数列の中にはジャグリング可能なものとそうでないものが存在します。例えば

40
5511
1234567

などは実際にジャグリング可能ですが、

50
5512
7654321

といった数列は投げることができません。これらの数列の間にはどのような違いがあるのでしょうか? どれがジャグリング可能で、どれがジャグリング不可能なのでしょうか?

証明は省略しますが、サイトスワップの数字の並びに関して次の2つの定理が成り立ちます。

  • 数字の平均がボールの個数になる
  • 各数字にその順位を加えたものが、数列の長さを法とする剰余類で互いに異なるとき、そのときに限りジャグリング可能である

以下ではこれらの定理の意味と、その具体的な利用の仕方を紹介します。

数字の平均がボールの個数になる

3ボールカスケードはサイトスワップで 3 です。ここには1つの数字しかありませんので、数字の平均ももちろん 3 になります。よってボールの個数は3個になります。

3ボールシャワーはどうでしょうか? これはサイトスワップで 51 でした。5 と 1 の2つの数字がありますので、その平均は (5 + 1) ÷ 2 = 3 より、やはり 3 になります。

501 も計算してみましょう。5、0、1 と3つの数字がありますので、その平均は (5 + 0 + 1) ÷ 3 = 2 となり、ボールの個数は2個であることが分かります。

では、冒頭に挙げた数列をまとめて計算してみます。

数列 平均値の計算 ボール
40 (4 + 0) ÷ 2 = 2 2
5511 (5 + 5 + 1 + 1) ÷ 4 = 3 3
1234567 (1 + 2 + 3 + 4 + 5 + 6 + 7) ÷ 7 = 4 4
50 (5 + 0) ÷ 2 = 2.5 2.5
5512 (5 + 5 + 1 + 2) ÷ 4 = 3.25 3.25
7654321 (7 + 6 + 5 + 4 + 3 + 2 + 1) ÷ 7 = 4 4

このような結果になりました。最初にジャグリング不可能だと書いた数列のうち 50、5512 は、どちらもボールの個数が小数になりました。ボールの個数は常に整数のはずですので、このことからもこれらがジャグリング不可能だと分かります。

最後の 7654321 は整数になりました。これはジャグリング可能なのでしょうか? ここでもう1つの定理が効いてきます。

各数字にその順位を加えたものが、数列の長さを法とする剰余類で互いに異なるとき、そのときに限りジャグリング可能である

まず初めに、ジャグリング可能なことが分かっている数列 441 について見てみましょう。ここで順位とは、「そのボールを何番目に投げるか」、言い換えれば「どの時刻で投げるか」を表す数字のことです。441 では最初の 4 を1番目に投げ、次の 4 を2番目に、そして最後の 1 を3番目に投げますから、4、4、1 に対して 1、2、3 を加えます。

4 + 1 = 5
4 + 2 = 6
1 + 3 = 4

数列 441 は3つの数字でできていますので、数列の長さは 3 になります。「3 を法とする剰余類」とは、簡単に言えば「3 で割ったあまり」のことです。各数字の 3 を法とする剰余類を求めると

4 + 1 = 5 ≡ 2 (mod 3)
4 + 2 = 6 ≡ 0 (mod 3)
1 + 3 = 4 ≡ 1 (mod 3)

となります。≡ および (mod 3) は「3 で割ったあまりが等しい」ことを意味する記号です。

互いに異なるとは、要するに全ての数字が違うということです。ここで計算結果の3つの数字を見てみると、2、0、1 と見事に3つとも違っています。従ってこの 441 というサイトスワップはジャグリング可能であると判定されます。

同様の計算を、冒頭の数列それぞれについて行なってみましょう。

40 剰余類の計算 判定
4 4 + 1 = 5 ≡ 1 (mod 2) ジャグリング可能
0 0 + 2 = 2 ≡ 0 (mod 2)

40 の場合は数字が2つですので、2 で割ったあまりを求めます。これが全て異なっていることから、この数列はジャグリング可能であると判定されます。

5511 はどうでしょうか? 今度は数列の長さが 4 ですから 4 で割ることになります。

5511 剰余類の計算 判定
5 5 + 1 = 6 ≡ 2 (mod 4) ジャグリング可能
5 5 + 2 = 7 ≡ 3 (mod 4)
1 1 + 3 = 4 ≡ 0 (mod 4)
1 1 + 4 = 5 ≡ 1 (mod 4)

1234567 も計算しましょう。

1234567 剰余類の計算 判定
1 1 + 1 = 2 ≡ 2 (mod 7) ジャグリング可能
2 2 + 2 = 4 ≡ 4 (mod 7)
3 3 + 3 = 6 ≡ 6 (mod 7)
4 4 + 4 = 8 ≡ 1 (mod 7)
5 5 + 5 = 10 ≡ 3 (mod 7)
6 6 + 6 = 12 ≡ 5 (mod 7)
7 7 + 7 = 14 ≡ 0 (mod 7)

いずれもジャグリング可能であると判定されました。

今度は 50 です。この数列は先程の計算で、ボールの個数が整数にならなかったためにジャグリング不可能だということが分かっています。

50 剰余類の計算 判定
5 5 + 1 = 6 ≡ 0 (mod 2) 不可能
0 0 + 2 = 2 ≡ 0 (mod 2)

やはりジャグリング不可能でした。

既に気付いた人もいるかと思いますが、数列の長さが 2 の場合はそれらの数字がどちらも奇数、あるいはどちらも偶数でないとジャグリング可能になりません。また、数列の長さが 1 なら、それがどんな数字であってもジャグリング可能です。

5512 剰余類の計算 判定
5 5 + 1 = 6 ≡ 2 (mod 4) 不可能
5 5 + 2 = 7 ≡ 3 (mod 4)
1 1 + 3 = 4 ≡ 0 (mod 4)
2 2 + 4 = 6 ≡ 2 (mod 4)

5512 は惜しいところで不可能になっています。最初の 5 か、最後の 2 を変更すればジャグリング可能な数列を作成することができそうです。実際、最初の 5 を 1 減らして 4 にすると 4512 というジャグリング可能な数列に変身します。一方、最後の 2 を 1 に減らすと、既に可能であることが判明している 5511 になります。数字は減らすだけでなく、増やしても構いません。最後の 2 を 3 増やして 5515 とすれば、4 ボールのサイトスワップ(通常 5551 と表記される)になります。

さて 7654321 はどうでしょうか? ボールの個数は整数でしたが…。

7654321 剰余類の計算 判定
7 7 + 1 = 8 ≡ 1 (mod 7) 不可能
6 6 + 2 = 8 ≡ 1 (mod 7)
5 5 + 3 = 8 ≡ 1 (mod 7)
4 4 + 4 = 8 ≡ 1 (mod 7)
3 3 + 5 = 8 ≡ 1 (mod 7)
2 2 + 6 = 8 ≡ 1 (mod 7)
1 1 + 7 = 8 ≡ 1 (mod 7)

全然だめでした。1234567 と 7654321 を比べれば分かるように、数字が 1 ずつ増えていく数列は(数列の長さが奇数なら)ジャグリング可能で、逆に 1 ずつ減っていく数列はどんな場合もジャグリング不可能です。

これら2つの定理を知っていると、身の回りのあらゆる数字(数列)がジャグリング可能かどうかを判定することができます。