« ジャグリング可能な双子素数は存在するか | メイン | 意外に腕は落ちず »
2005年09月22日
「のり」の計算方法は?
サイトスワップの状態遷移図とにらめっこしたり、サイトスワップ方程式をいじくったりしてみました。もやもやしていたところが、にしのさんの論文やよしのさんの解説で、だいぶスッキリしました。
いままで状態(数)というのは、与えられたサイトスワップについて一意に決まり、周期的なサイトスワップについては投げている間じゅう変わらないものだと誤解していました。333-4-51と投げるとき、333をグランドステート、4をトランジションと呼ぶのだから、当然51も何らかのステートなのだろうと思っていたわけです。でも、2進法で1011とか10進法で11とか書くのは、あくまでも51と投げた直後のステートであって、「3シャワーのステート」が1011なわけではないのですね。1の直後は1011で5の直後は10101と、3シャワーのステートは、正しくは1011と10101のふたつを行ったり来たりしているという。わかってみれば、当たり前のことでも、なぜかそこをずっとカンチガイしていました。
状態遷移図を眺めていると、むしろ、すべての可能なスローはトランジションであって、自分自身のステートに戻ってくるスローが例外的に存在しているという感じです。人間ジャグラーは、ほとんどの時間をグランドステートに費やしているために、このへんは、ずいぶん実感とは異なりますが。
ところで、サイトスワップ方程式は肝心の「のり」の計算方法がよくわかりませんでした。検算はできますが、任意のステート間をつなぐ「のり」は計算できるのでしょうか。実用上は、実力にあわせて主立ったものを覚えるという対応で十分かもしれませんし、そうでなくても手作業でグラフや表を探す、既存のソフトに頼るなどの方法はありますが。
投稿者 ken : 2005年09月22日 23:43
トラックバック
このエントリーのトラックバックURL:
http://d-code.org/blog/mt-tb.cgi/152
コメント
いろいろ進んでますね。
もうご存知と思いますが、いちおう。
http://www.malabaristas.com/siteswap/
投稿者 にしの : 2005年09月23日 23:49
十分に長い長さのノリであればすぐに作れるというのが情報処理学会の研究会の発表にありましたよね。それが最小の長さである証明はついてなかったと思う。ステートの種類なんてサイトスワップの長さくらいあるもんですよ。
投稿者 くろせ : 2005年09月24日 21:20
蛇足だとは思いますが。
5~ = 31
WX751YZ~
= W~+2X~+4*7~+8*5~+16*1~+32Y~+64Z~
= W~+2X~+4*127+8*31+16*1+32Y~+64Z~
= W~+2X~+32Y~+64Z~+772
= S~ --- (1)
方程式は
31=(31+S~)/2^7
となって、
S~=128*31-31=3937
で、(1)を代入すると
W~+2X~+32Y~+64Z~=3165
2^W-1+2(2^X-1)+32(2^Y-1)+64(2^Z-1)=3165
で、
2^W+2*2^X+32*2^Y+64*2^Z = 3264 --- (2)
これを満たすW,X,Y,Zの組すべて(負を含む)が、ノリの答えです。私の知識の範囲では場あたり的に探すしかないですが、整数の性質を使うといろいろ分かる(らしい (^^;)ようです。少なくとも組合せ個数の制限は明らかです。
場当たり的に探すにしても負のサイトスワップを除けば、
たとえば一番後ろのZの場合、
(3264-(1+2+32))/64≒50.5なので、
Zは0から5のどれかで…と決めてゆくことができます。
そもそもノリの長さとその組合せは簡単には決められないようです。ただある長さで解が無いことは、ノリが無いことを示します。
最小の長さのノリを見つけるのはどうしたらよいかは不明です。ステートグラフの中の任意の二つのサイクルの最短距離なわけですがこれは難しいです。
投稿者 にしの : 2005年09月25日 10:29
逆に、前後のサイトスワップとノリが与えられたときに
それが実現可能かを簡単に(手続き的に)判定する方法はないんでしょうか?
3-4-51(…33334515151…)は可能だが
3-5-51(…33335515151…)は不可能、のように。
まあ時系列順に表を書けばわかるのですが。
投稿者 mist : 2006年01月15日 12:44
mistさん、
はじめまして、でしたっけ。あれ、すみません、ぼく忘れてます? ^^;
> 逆に、前後のサイトスワップとノリが与えられたときに
> それが実現可能かを簡単に(手続き的に)判定する方法はないんでしょうか?
うーん、書き下すぐらいしか思いつきませんでした。
何となく理解したら、あとはシミュレーターでいいやと思うぼくって
ダメですね(笑)
投稿者 西村 : 2006年01月15日 23:06
…考え中…
投稿者 にしの : 2006年01月18日 22:16
まだ考え中ですが、結局は各点での状態を求めないといけないので、書き下して判定するのがはやいかと思います。(手順を工夫しても労力はあまり変わらない)
循環するサイトスワップの場合は、「循環する」ことを使って少し簡略的に求める事ができてますが、自由な接続の判定はそうもいかないという感じです。
ただこれを考えるに当たってまた新たな状態表現を考案中です。もし、ものになったら開陳します。
投稿者 にしの : 2006年01月26日 12:04
単純なようで、意外に難しいものですね。
循環度が高いほど手続きになじむというか、
手続きの意味がでてくるでしょうけど、
そうじゃない場合は、それだけの情報量の
処理がどうしても必要なので簡略化しようが
ない気がしてきました。
投稿者 西村 : 2006年01月27日 11:34