サイトスワップ掲示板

サイとスワップの定義

No.87: 2016-06-07(火) 19:26:03
投稿者: いのけん
お久しぶりです。

サイトスワップのジャグリング可能性は、バニラでもマルチでもシンクロでも多人数でも実数サイトスワップでも
実は全て1つの定義で表せるという事実はあまり知られていないらしく、それを解説しているサイトが見つからないので、ここにそれを示しておきたいと思います。


[定義]
X,Yを集合とし、演算+:Y→X→Xを仮定する。
このときf:X→Yを、X上Yの"サイトスワップ"と呼び、
サイトスワップfが"左ジャグリング可能"⇔λx.(f(x)+x)が単射

と定義する。

※λx.(f(x)+x)とはg(x):=f(x)+xとなるgと等しい無名関数のことである。
※右ジャグリング可能性も同様に定義できるが割愛する。

ここでXとは時刻の集合を表しており(ここでは単に時刻という表現をするが、バニラ以外のサイトスワップの場合、違うものも表すこともある。)
Yは投げることができる高さの集合を表している。


またY=Xで、+が可換のとき、左ジャグリング可能性と右ジャグリング可能性は同値になるので、このとき単に「ジャグリング可能」と呼ぶ。

つまり集合XとX上の可換な二項演算+:X→X→Xが与えられたとき
f:X→XをX上のサイトスワップと呼び
サイトスワップfがジャグリング可能⇔λx.(f(x)+x)が単射
ということである。


さて、次に道具の個数の定義だが、これは以下のようにちょっと複雑になる。

[定義]
X,Yを集合、+:Y→X→Xとする。
ジャグリング可能なX上Yのサイトスワップfに対し、
g:=λx.(f(x)+x)とおく。(つまりg(x):=f(x)+xということ)

このとき以下にX上の二項関係~:X→X→{true,false}を定める。
x~y ⇔∃n∈N, y=g^n(x) ∨x=g^n(y)

※N={0,1,2,....}
※g^n(x)=g(g(....g(g(x))....))つまりxにgをn回かけたもので特にg^0(x)=x。

このとき~はX上の同値関係となるので、同値類 X/~ が存在し、
♯(f) := | (X/~) \ {a ∈(X/~) | |a| = 1} |
をサイトスワップfの道具の個数と呼ぶ。


ここで定義した~は、x~yのとき、時刻xと時刻yに落ちてくる道具は同じであることを表していて、集合X/~はその個数を表している。
しかし、このままではサイトスワップに0があった場合、この0の個数もカウントしてしまうことになる。これを除くために{a ∈(X/~) | |a| = 1}を除いた集合の濃度を道具の個数として定義している。


さてここで具体的なものについてみてみる。

[定義]
無限バニラサイトスワップとは
X=Y=N={0,1,2,....}のときのサイトスワップfのことである。

[定義]
nを自然数とする。
n次ベクトルV∈N^nを周期nの有限バニラサイトスワップと呼び、
有限バニラサイトスワップVがジャグリング可能
⇔無限バニラサイトスワップf:=λt.V(t mod n)がジャグリング可能

と定義する。
このとき有限サイトスワップの道具の個数♯(V):=♯(f)と定める。


※wikipediaでは有限サイトスワップから先に定義していますが、無限にジャグリングが続くものを考えるサイトスワップはむしろこちらの定義の方が自然だと考えています。


このとき以下が成り立つ。
[定理]
有限バニラサイトスワップVがジャグリング可能
⇔λx.((V(x)+x) mod n)が単射
[定理]
有限バニラサイトスワップVがジャグリング可能
⇒♯(V)=ΣV(i)(i∈{0,..,n-1})/n

証明略


マルチ、シンクロ、多人数パッシングサイトスワップに関しては
基本的にどれも同じです。

まず自然数nを以下に定めます。
マルチは同時に投げる道具の最大数(もしくは∞でも可)をnとする。
シンクロはn=2とする
多人数パッシングは人数をnとおく。

マルチサイトスワップ、シンクロサイトスワップ、多人数サイトスワップとは
X=Y=Z/nZ * Nとおき、+:Y→X→Xを(x,a)+(y,b)=(x+y,a+b)としたときのサイトスワップfのことである。
(※Zは整数の集合、Z/nZ={0,1,...,n-1}でa,b∈Z/nZ, a+b = (a+b) mod n)


解説すると
例えば多人数サイトスワップの場合
(a,t)∈Z/nZ * Nは、時刻tに人間aが投げることを表し、
多人数サイトスワップfにおいて
f(a,t)=(d,h)とは時刻tに人間aは人間(a+d)に向かって高さhで投げることを表している。

例えば3人で右回りの3カウント9ボールパッシングは以下のように表せる。
____ | 0 1 2 3 4 5 ....
0 | (0,3) (0,3) (1,3) (0,3) (0,3) (1,3)...
1 | (0,3) (0,3) (1,3) (0,3) (0,3) (1,3)...
2 | (0,3) (0,3) (1,3) (0,3) (0,3) (1,3)...

縦軸が人間で、横軸が時刻を表す。

人間0,1,2は時計周りに立っていて、
時刻0,1ではそれぞれ自分の数字+0の人、つまり自分に向かって高さ3で投げる
時刻2ではそれぞれ自分の数字+1の人、つまり自分の右隣の人に向かって高さ3で投げることを表している。

これを左回りにすると以下のようになる。
____ | 0 1 2 3 4 5 ....
0 | (0,3) (0,3) (2,3) (0,3) (0,3) (2,3)...
1 | (0,3) (0,3) (2,3) (0,3) (0,3) (2,3)...
2 | (0,3) (0,3) (2,3) (0,3) (0,3) (2,3)...

時刻0,1は上と同様。
時刻2では自分の数字+2、つまり自分の2人右隣の人(この場合左隣)に高さ3で投げていることになる。


シンクロサイトスワップは左右の手でパッシングを行っていると考えればよい。
具体的には従来の記法の間に(0,0)を入れ、xがあるときは(1,_)ないときは(0,_)と置き換えてやればよい。
例えば(6x,4)(4,6x)は
____ | 0 1 2 3 4 5 6....
0 | (1,6) (0,0) (0,4) (0,0) (1,6) (0,0) (0,4)...
1 | (0,4) (0,0) (1,6) (0,0) (0,4) (0,0) (1,6)...
と表せる。

マルチの場合、投げる個数の最大数の人数とパッシングしていると考え、最大数未満のときは何も投げていないと考えればよい。
例えば[97]121は以下のように表せる。
____ | 0 1 2 3 4 5 6....
0 | (0,9) (0,0) (0,0) (0,0) (0,9) (0,0) (0,0)...
1 | (0,7) (0,1) (0,2) (1,1) (0,7) (0,1) (0,2)...

ここの3拍目が(0,1)ではなく(1,1)となっているのは、次にマルチで投げるために縦軸の1側から0側に道具を渡すためである。


割愛するが、マルチ、シンクロ、多人数を組み合わせたもの(例えば多人数マルチサイトスワップ等)も同様に定義できる。


実数サイトスワップの場合はX=Y=Rとおけばよい。


これでどのサイトスワップのジャグリング可能性も1つの定義で表すことができました(本当にこの定義が従来のジャグリング可能性を表せているかどうかは確かめてみてください)

以上で説明終わります。

関連ツリー

【1】 サイとスワップの定義 No.87 いのけん 2016-06-07(火) 19:26:03
ここで問題 No.88 いのけん 2016-06-07(火) 19:42:26
Re: サイとスワップの定義 No.89 にしの 2016-06-09(木) 02:35:37
Re^2: サイとスワップの定義 No.90 いのけん 2016-07-04(月) 21:58:53

掲示板に戻る