ユークリッドリズム — ボサノバは互除法から出てくる
手拍子を「均等に配る」だけで、世界のリズムになる
16拍のうち5拍に手を打つとして、なるべく均等に打ちたい。16 ÷ 5 = 3.2 なので、3拍おきと4拍おきを混ぜることになる。混ぜ方をいちばん均等にすると x..x..x..x..x... ——これがボサノバのリズムである。同じことを 8拍に3つでやると x..x..x.=キューバのトレシーヨ、8拍に5つで x.xx.xx.=シンキーヨ。
この「最大限均等に配る」手順が、ユークリッドの互除法——最大公約数を求めるあの手順——と同じものだった。Bjorklund(2003)が中性子加速器のタイミング設計のために書いたアルゴリズムで、Toussaint (2005) がこれが伝統リズムを生むことを整理した。
⚠️ リズムの固有名(トレシーヨ・ボサノバ・アクサク等)と E(k,n) の対応は上の文献の主張である。こちらが機械で確かめたのは「その列が最大均等であること」だけで、民族音楽学的な当否は確かめていない。
斜めの線を引く手順と、同じものだった
Bjorklund の再帰と、ブレゼンハムの階段 ⌊(i+1)k/n⌋ − ⌊ik/n⌋ を、2 ≤ n ≤ 32・1 ≤ k ≤ n の 527 組すべてで突き合わせた。回転を除いて全部一致(不一致 0)。
「リズムを最大限均等に配る」「斜めの線を階段で近似する」「最大公約数を求める」——この三つは同じ手順である。
互除法であることは、リズムの中にも見える。E(13,24) の間隔は 2·1·2·2·2·2·2·1·2·2·2·2·2 で、「長い方(2)の位置」だけを拾うと E(11,13) になり、その長い方を拾うと E(2,11) になり、さらに E(1,2) になる——24 = 1·13 + 11、13 = 1·11 + 2、11 = 5·2 + 1、2 = 2·1 + 0。互除法の割り算の列そのままである。n ≤ 60 の全 1569 組で、間隔列の長い方の位置が E(n mod k, k) と回転を除いて一致した(不一致 0)。
★「均等」には二つの条件があって、役割が違う
「均等」を測る物差しは2つある。
①間隔のばらつきが最小(隣り合う音の間隔が n/k に近い)。②どの j でも、j 個先の音までの距離が2種類しかない(Clough–Douthett 1991 の最大均等)。総当たりで調べると、この2つは別の条件だった。
| (k,n) | 全通り | ①ばらつき最小 | ②距離2種類 | ①かつ② | E(k,n) の回転 |
|---|---|---|---|---|---|
| (3,8) | 56 | 8 | 24 | 8 | 8 |
| (5,12) | 792 | 24 | 36 | 12 | 12 |
| (7,12) | 792 | 36 | 24 | 12 | 12 |
| (5,16) | 4368 | 16 | 80 | 16 | 16 |
12組で調べて、①かつ②を満たす配置は必ず E(k,n) の回転そのものだった(例外ゼロ)。①だけでは足りない(間隔の多重集合が同じでも並べ方が違うものが残る)。②だけでも足りない(間隔 4·2·2·2·2 はどの j でも距離2種類だが、ばらつきは E(5,12) の 0.240 に対して 0.640)。
——ただし 12 組は少なすぎる。この表は総当たりなので C(n,k) が効いて、n=24 で 270 万通り・n=32 で 6 億通りになり伸ばせなかった。次の節でここを開けた。
そして2つの物差しは、決めているものが違った。
①「ばらつき最小」が決めるのは、短い間隔と長い間隔の個数(⌊n/k⌋ が k − n mod k 個、⌈n/k⌉ が n mod k 個。これは n ≤ 48 の全 1176 組で式どおり)。
②「距離2種類」が決めるのは、その並べ方。実際: E(5,12) では①を満たす 24 通りのうち、「長い間隔の位置が E(2,5) の回転」であるものが 12 通りで、それがちょうど E(5,12) の回転だった。
つまり互除法の再帰は「並べ方」を決めている部分である。
①だけで決まってしまう場合もある。いつ足りなくなるかは n mod k で決まった: 2 ≤ n mod k ≤ k−2 のときだけ足りない(12組で予測と実測が完全一致)。長い間隔と短い間隔が両方2個以上あるときだけ、多重集合が同じでも巡回の並べ方が複数あるからである。r = 1 や r = k−1 なら並べ方は1通りしかないので、①だけで決まってしまう。
★12組を1076組に広げ、そのうえで証明の骨を通した
総当たりが伸びなかったのは、探し方が悪かった。条件①は「間隔の多重集合」を確定させる(⌊n/k⌋ が k−r 個、⌈n/k⌉ が r 個。r = n mod k)。総当たりできる 104 組で両向きに確かめた。だから探すべきは「どの k 個の拍を選ぶか」(C(n,k) 通り)ではなく「長い間隔をどこに置くか」(C(k, r) 通り)だけである。
| (k,n) | 素の総当たり C(n,k) | 並べ方だけ C(k, n mod k) | 縮まる倍率 |
|---|---|---|---|
| (5,16) | 4,368 | 20 | 218 倍 |
| (13,24) | 2,496,144 | 78 | 32,000 倍 |
| (16,32) | 601,080,390 | 1(割り切れる=自明) | — |
| (23,60) | 約 1.1×10¹⁷ | 245,157 | 4×10¹¹ 倍 |
これで n ≤ 60 の 1076 組まで届いた。反例はゼロ。⚠️ 並べ方の数が 20 万通りを超える 493 組は飛ばした((21,30) で 29 万通りなど)——黙って打ち切ってはいない。
★そして、条件②の正体が分かった
①を認めると、j 個先の音までの距離に厳密な恒等式が立つ。
dj(i) = j·⌊n/k⌋ +(そこから j 個の間隔のうち「長い方」の数)
24,426 通りで違反ゼロ(円環の巻き戻しも含めて厳密)。だから条件②「どの j でも距離が2種類以内」は、「長い間隔を 1 とした2値語が balanced(どの窓長でも窓の中の 1 の個数が2種類以内)」と同じことになる。①を満たす全配置 11,244 通りで、この同値が破れないことを確かめた。
ここまで来ると、あと1歩である。「balanced な2値語は mechanical 語(=ブレゼンハムの階段)の回転しかない」——これは古典的な定理(⚠️伝聞: Morse–Hedlund 1940 / Tijdeman。こちらでは証明していない)。この1点を借りれば、飛ばした 493 組も含めて全ての (k,n) で「①かつ② = E(k,n) の回転」が閉じる。
つまり宿題の答えは「証明した」ではなく「借り物を1点に絞り込んだ」である。①→多重集合の確定・恒等式・②⟺balanced の3段はすべてここで機械検査してあり、外から持ってきたのは最後の1点だけ。なぜ鍵盤は12個かで連分数を、フィロタキシスで黄金角を扱ったときと同じ景色——ブレゼンハム・互除法・連分数・Sturmian 語は同じものの別の名前だった。
互除法から出ないリズムもある
有名なリズムが全部 E(k,n) になるわけではない。ソン・クラーベ x..x..x...x.x... は 16拍に5音だが、間隔が 3·3·4·2·4 で、E(5,16) の 3·3·3·3·4 とは違う。距離の種類も 3·2·2·3 で 3 が混じる=最大均等ではない。機械で回転を全部試しても E(5,16) には一致しなかった。
これは「均等さ」がリズムの良さの唯一の物差しではないということでもある。ソン・クラーベには 2 という短い間隔がひとつだけ入っていて、それが引っかかりを作る。均等から少しずれているほうが面白い、という選択が実際に使われている。
布の綜絖と、同じ剰余ずらしだった
リズムの最小周期は n / gcd(k,n)(n ≤ 48 の全 1176 組で成立)。gcd = 1 なら回転で n 通りの位相が全部出るが、gcd = d なら周期 n/d に退化する——E(4,12) は gcd=4 なので x..x..x..x.. で周期 3、ただの3拍子になってしまう。
これは織りの数理でサテンの飛び数を選ぶときの条件と同じ剰余の構造である(見取り図の発見19: 同じ剰余ずらしが布の規格と非周期タイリングを決めている)。布・非周期タイリング・リズムの三つで、同じ gcd = 1 が「退化しないこと」の条件になっている。
フィロタキシスとの関係も見える。黄金角は「連続で最大均等」(どの枚数で切っても均等・発見20)、E(k,n) は「離散で最大均等」(n 拍という枠が先に決まっている)。枠があるかないかで、答えが有理数(k/n)と無理数(1/φ²)に分かれる。
★自分で動かす
下の絵はこの場で計算している(あらかじめ描いた絵の切り替えではない)。上の図を作っているのと同じ 1 本のコード gallery/assets/euclid-rhythm-live.js を、記事の中で呼んでいる。k と n を動かしていくと、伝統リズムの名前がひとりでに出てくる。
- 並び
- —
- 間隔
- —
- 2つの道
- —
- 最大均等か
- —
- 周期
- —
- 自己相似(互除法)
- —
- 文献の名前
- —
スライダーで決めた k 個の音を n 拍に最大限均等に置いた輪
「並び」の欄は Bjorklund の再帰で作った列。「2つの道」の欄は、それをブレゼンハムの階段(斜め線の描画アルゴリズム)と突き合わせた結果——リズムの均等配分と、画面に斜め線を引く手続きが同じものだと、動かすたびに確かめている。「自己相似」は、長い間隔の位置がまた E(n mod k, k) になっていること=互除法の再帰がそのまま並べ方を決めている。⚠️リズムの名前は文献が (k,n) に対応づけているもので、こちらでは当否を確かめていない(伝聞)。
どう作ったか
機械検査は25件: ①Bjorklund が置く音の数がちょうど k(1224組) ②★Bjorklund の再帰とブレゼンハムの階段が527組すべてで回転を除いて一致(独立2経路) ③間隔が2種類で個数まで式どおり(1176組・⚠️n が k で割り切れるときは1種類なので分けて扱う) ④文献の伝統リズム8種はすべて最大均等・★ソン・クラーベは最大均等でない対照 ⑤★12組で「①かつ②=E(k,n) の回転」(例外ゼロ)・★足りなくなる条件が 2 ≤ n mod k ≤ k−2(予測と実測が完全一致)・★並べ方を決めているのは互除法の再帰 ⑥★自己相似が1569組で不一致0 ⑦周期が n/gcd(k,n)(1176組) ⑧記事のドラッグ版を偽DOMの上で実際に走らせる10項目(★n=2〜32・k=1〜n の528組を総当たりして、2つの道の一致・音の数・間隔の個数・周期・自己相似が全部成り立つことを毎回確かめている)⑨出荷SVGとドラッグ版が同じ1本のコードを共有していること ⑩出荷SVG3枚。ドラッグ版の検査の実体は tools/euclid-rhythm-live-test.js。
出典
- 数理
- E. Bjorklund (2003) のアルゴリズム(中性子加速器のタイミング設計)。伝統リズムとの対応の整理は G. T. Toussaint, "The Euclidean Algorithm Generates Traditional Musical Rhythms" (2005)。最大均等(maximally even)と「どの j でも距離が2値」は J. Clough & J. Douthett, "Maximally even sets" (1991)。斜め線の階段は Bresenham (1965)
- こちらの主張
- 「①ばらつき最小が個数を決め、②距離2値が並べ方を決める」「足りなくなる条件が 2 ≤ n mod k ≤ k−2」はこの作品で総当たりして確かめたもので、文献での扱いは確かめていない(総当たりできる12組だけで、全ての (k,n) で成り立つかは調べていない)
- 生成
- generators/euclid-rhythm.js(Bjorklund の再帰・ブレゼンハムの階段・距離クラス・総当たり探索・自己相似の判定・互除法の階層・図3枚。依存ゼロ・乱数ゼロ)リズムの数理は gallery/assets/euclid-rhythm-live.js に置き、出荷SVGの生成器と記事のドラッグ版が同じ1本を共有している