檜山正幸のキマイラ飼育記 このページをアンテナに追加 RSSフィード Twitter

キマイラ・サイトは http://www.chimaira.org/です。
トラックバック/コメントは日付を気にせずにどうぞ。
連絡は hiyama{at}chimaira{dot}org へ。
蒸し返し歓迎!
このブログの更新は、Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama
ところで、アーカイブってけっこう便利ですよ。

2017-07-18 (火)

イプシロン-デルタ論法はなぜ難しいのか? どうしたら分かるのか? 分かる必要があるのか?

| 14:52 | イプシロン-デルタ論法はなぜ難しいのか? どうしたら分かるのか? 分かる必要があるのか?を含むブックマーク

先週末に、N君が「イプシロン-デルタ論法って、なんすかアレ? 全然分からないっす!」と言ってました。そのときはそれ以上話す時間もなかったし、次回会うときはこの話題を忘れてしまうかも知れないので、書き記しておきます。

僕は、伝統的なイプシロン-デルタ論法そのものには懐疑的です*1。ゴタゴタした不等式をいじり回すのは早々に切り上げて、開集合を導入したほうがいいと思います。そんな思いから、出来るだけ不等式を使わずに集合族に注目するスタイルイプシロン-デルタ論法を紹介します。

内容:

  1. イプシロン-デルタ論法
  2. 時間や運動のイメージを捨て去る
  3. ユークリッド距離と開球体
  4. 扱う関数達と実例
  5. 平面から平面への写像
  6. 一点の周辺を記述する開球体の族
  7. 写像による開球体の像
  8. デュエルゲームとしての連続性
  9. 論理式で書き下そう
  10. 再びイプシロン-デルタ論法

イプシロン-デルタ論法

イプシロン-デルタ論法(ε-δ論法)は、関数(写像)が連続であることを記述するときに使われる手法です。イプシロン-デルタ論法に出会う前に、関数の連続性については習っていることが多いと思います。おそらく、次のような連続性の“定義”だったでしょう。

  • fがaで連続であるとは、xがaにドンドン近付くとき、f(x)はf(a)にドンドン近付くこと。

「ドンドン」という擬態語を使いましたが、「限りなく」とか「いくらでも」とか表現することもあります。日本語の言い回しを多少変えたところで、本質において擬態語「ドンドン」と大差ありません。このテの表現・定義のスタイルをドンドン論法と呼びましょう。

ドンドン論法による“定義”は、直感に訴える比喩的表現なので、あまり正確とはいえません。ドンドン論法よりもっと正確で、その後の議論にも耐えられる定義をしましょう -- ということでイプシロン-デルタ論法の登場となります。イプシロン-デルタ論法が、ドンドン論法と同様な発想でより精密さを増す方向での進化ならば、「全然分からないっす!」という反応にはならないでしょう。ドンドン論法とイプシロン-デルタ論法のあいだには、何か大きなギャップがあるということです。

そのギャップは、発想の転換、あるいは知的イノベーションとでも呼ぶべきものです。ドンドン論法においては直感的・比喩的理解に重要な役割を果たしていたモノが、イプシロン-デルタ論法では捨て去られています。捨て去られたモノとは:

  1. 時間的な変化、運動の比喩、ダイナミックな感じ。
  2. 一点のまわりのごく小さな範囲で考えているという設定における「小ささ」。

それと、イプシロン-デルタ論法のために必要なスキルとして、次が要求されています。

  1. 点の集合だけでなく、集合の集合を扱うスキル(あるいは慣れ)。
  2. 「任意の」「存在する」という言葉を含む論理的な表現を扱うスキル(あるいは慣れ)。

時間や運動のイメージを捨て去る

ドンドン論法による連続性を、

  • x→a ならば、f(x)→f(a)

のようにも書きます。あるいは、次のようにも書きます。

  • limx→a f(x) = f(a)

記法を整えても、相変わらず定義そのものは「ドンドン」なので、動く点xが定点aに向かってドンドン近づいていくという運動のイメージです。運動のイメージをそのまま論理的な表現に翻訳するのは難しい(どうしていいか分からない)ので、いったん時間/運動のイメージは捨て去って、より静的/空間的な定義を探しましょう。

fが(直感的に)連続なら、aの回りの小さな領域をとると、その領域をfで移した(写した)先の領域も小さいでしょう。この“感じ”を連続性の定義の背景として使います。

  • fがaで連続であるとは、aの回りの小さな領域は、f(a)の回りの小さな領域に移ること。

ウーン、あまり正確さが向上した気はしませんね。でも、時間や運動の概念は剥ぎ取っていて、領域や範囲という空間的な概念による記述にはなっています。言い回しを少し変えると:

  • fがaで連続であるとは、“aの回りの十分に小さな領域”が移った先の領域は、“f(a)の回りのとある小さな領域”からはみ出ないこと。

これは、aの周辺でのfの挙動がおとなしいことです。はみ出し(逸脱し)たり暴れまくるような不良=ヤンチャな行動はしないのです。「挙動」、「行動」と言うとまた時間的な匂いがするので、いまの注釈は、あくまで気持ちの問題について語っただけ、と受け取ってください。

上記の空間的な定義でも、「小さな」とか「はみ出る」とか曖昧な表現が残っています。この曖昧性を何とかするために、距離概念を準備しましょう。

ユークリッド距離と開球体

1次元でもn次元でも労力は大差ないので、一般のユークリッド空間Rnで話をします。Rnに次の標準ユークリッド距離を入れます。

 d(x, ¥, y) ¥: := ¥sqrt{¥sum_{i = 1}^{n} (y_i - x_i)^2 }

n = 1 の場合なら、x, y∈R で:

 d(x, ¥, y) ¥: := ¥sqrt{(y - x)^2 } = | y - x |

n = 2 の場合なら、x, y∈R2, x = (x1, x2), y = (y1, y2) で:

 d(x, ¥, y) ¥: := ¥sqrt{¥sum_{i = 1}^{2} (y_i - x_i)^2 } = ¥sqrt{(y_1 - x_1)^2 + (y_2 - x_1)^2}

nが異なればdも異なる関数なので、dRnとか書くべきでしょう。dRnは面倒なのでdnで次元を明示することにします。混乱の心配がないなら、nが異なっても同じdで示します。

「領域」とか「範囲」という言葉に意味を与えるため、次の定義をします。

  • OBalln(a, r) := {x∈Rn | dn(a, x) < r}

OBalln(a, r)は、n次元空間における“中心がaで半径がr”な開球体(open ball)です。n = 1 なら長さ2rの開区間です。n = 2 なら、半径rの開円板(open disk)です。

曖昧なまま「領域」とか「範囲」と言うより、開球体OBalln(a, r)を使うほうが話がハッキリします。

扱う関数達と実例

XはRnの部分集合、YをRmの部分集合(後述するが、実際はXもYも開集合)として、f:X→Y という形の関数(写像)を扱いましょう。n = m = 1 のときは、fは通常の1変数関数です。n = 2, m = 1 ならば、fは2変数関数ですね。

典型的な事例のグラフを描いてみます。(描画にはMaximaを使いました。)

  • X = {x∈R | -2 < x < 2}
  • Y = {y∈R | -10 < y < 15}
  • f(x) = x3 + x + 1

  • X = {(x, y)∈R2 | -2 < x, y < 2}
  • Y = {z∈R | 0 < z < 10}
  • f(x, y) = x2 + y2

よく見かける関数は連続関数ですが、0で不連続になるような関数の例を出します。

  • X = {x∈R | -3 < x < 3}
  • Y = {y∈R | -2 < y < 2}
  • f(x) = if (x ≧ 0) then 1 else 0

上の関数は、x = 0 のところで跳ねています。0の周辺にどんなに小さな領域を取っても、y側の範囲は小さくなりません。

  • X = {x∈R | -1 < x < 1}
  • Y = {y∈R | -2 < y < 2}
  • f(x) = if (x = 0) then 0 else sin(1/x)

上の関数は、x = 0 の周辺で激しく小刻みに振動します。これも、0の周辺に非常に小さな領域を取っても、y側の範囲は小さくなりません。

グラフとしては描けないのですが、次のような関数も0で(実際はいたる所で)不連続です。

  • X = R
  • Y = R
  • f(x) := if (xが有理数) then 1 else 0

平面から平面への写像

X⊆Rn, Y⊆Rm, f:X→Y において、n = 2, m = 2 ならば、fは平面の一部を平面の一部に移す(写す)ような写像です。このようなfを関数のグラフとして描こうと思うと、4次元の空間内の図形となり、うまく可視化できません。「R言語で複素関数の可視化」で使ったような図示(可視化)の方法を使うと、多少はfの感じをつかめます。

まず、平面内に方眼紙の網目(格子模様)を描きます。

この方眼網目が、写像で移された先でどのように変形するかを見ます。複素関数 w = z2 なら次のように変形します。なお、w = z2 を実2変数関数2つで表すなら、f(x, y) = x2 - y2, g(x, y) = 2xy です。

次は平方根関数 w = sqrt(z) の絵で、かなりたくさんの網目を描いています。

この後出てくる手描きの図は、平面の一部が変形されて別の平面に移る(写る、送られる、対応付けられる)という状況で図示したものです。

一点の周辺を記述する開球体の族

先ほど「時間的に変化するダイナミックなイメージは捨てるのだ」と言いました。これは、直感的イメージを持ってはいけない、ということではありません。直感的イメージは重要だし、必要です。「運動」や「小さい」というイメージを追求する方向性は、連続性の正確な定義にはあまり適切じゃない、ということです。それで、時間概念より空間概念を主体にした視覚化を前節で紹介したのです。

さて、「ある一点の周辺」という概念を定式化しましょう。一点の周辺とはその点を含む領域・範囲です。「領域・範囲」という言葉も曖昧です。ここでは、「その点を含む領域・範囲」として、その点を中心とする開球体(open ball)を考えましょう。もちろん、球体以外の形状を考えてもいいのですが、球体はとても扱いやすいので、とりあえずは球体に限定しましょう。

a∈Rn として、aを中心とした開球体はたくさんあります。たくさんありますが、半径を指定すれば開球体は1つに決まります。よって、次のように書けます。

  • (aを中心としたすべての開球体の集合) = {OBalln(a, r) | r∈R, r > 0}

aを中心とした開球体の全体は、正の数r(半径)でパラメトライズ、あるいはインデックスされます。n次元開球体の全体は“集合の集合”です。R>0 = {r∈R | r > 0} とすると、n次元開球体の全体は Rn×R>0 と1:1の対応があります。その対応は、a = (a1, ..., an) として、OBalln(a, r) ←→ ((a1, ..., an), r) ←→ (a1, ..., an, r) 。この事情から、開球体の全体はかなり把握しやすい“集合の集合”だと言えます。

“集合の集合”を(集合の)(family of sets)とも呼びます。n次元開球体の全体も、aを中心とする開球体の全体も族です。aを中心とする開球体の族(family of open balls)を、OBALLSRn(a)と書くことにします。集合族であることを強調する目的で、全部大文字の名前OBALLSとしました。

X⊆Rn, a∈X とするとき、“aの周辺”(の定式化)としてaを中心とする開球体族を考えます。Xにスッポリ入る開球体が常に取れるように、Xに次の条件を付けます。

  • [どこでも開球体が取れる] Xの任意の点aにおいて、aを中心とするする開球体Aで、A⊆X となるものが(少なくとも1つは)存在する。

これは、あるr(r > 0, rは半径)に対して、A = OBalln(a, r) と書けて、A⊆X となることです。条件を満たす半径rの開球体OBalln(a, r)が1つみつかれば、0 < r' ≦ r である開球体OBalln(a, r')はすべて条件を満たすので、条件を満たす開球体はイッパイあります。

上記の条件[どこでも開球体が取れる]を満たすX(X⊆Rn)を、Rn開集合(open set)といいます。ここでは、Rnの開集合XからRmの開集合Yへの写像(関数)を考えることになります。

写像による開球体の像

XはRnの開集合、YはRmの開集合、f:X→Y として、a∈X とします。aを中心とする開球体OBalln(a, r)のなかで、Xにスッポリ入るものだけ考えます。そういう開球体の全体をOBALLSX(a)とします。

  • OBALLSX(a) = {A∈OBALLSRn(a) | A ⊆ X}

あるいは、

  • OBALLSX(a) = {OBalln(a, r) | OBalln(a, r) ⊆ X}

Xは開集合だったので、Xのどの点aを取っても、OBALLSX(a)は空ではありません -- aを中心とする開球体があるってことです。

さて、X内の開球体 A∈OBALLSX(a) を取れば、fによるAの像f(A)(f(A)⊆Y)を考えることができます(下の図)。fの連続性は、f(A)が拡がり過ぎない、節度ある範囲に収まることでした。この「拡がり過ぎない」とか「節度ある範囲に収まる」をうまく定式化したいのです。

ここでまた、少し発想を変える必要があります。「開球体Aが小さないなら、f(A)も小さい」といった“大小に関わる概念”を捨てて、Y側に特定の範囲(これも開球体)Bを指定したとき、f(A)がB内にスッポリ収まる、という言い回しにします。

  • B∈BALLSY(f(a)) を指定したとき、うまいこと A∈BALLSY(a) を選ぶと、f(A)⊆B と出来る。

f(A)が「拡がり過ぎない/節度ある範囲に収まる」とは、指定したBからf(A)がはみ出さないことだと解釈します。

デュエルゲームとしての連続性

プログラミングに関する随分昔の記事で、仕様を提示する側と実装を行う側をゲームの対戦相手に喩えたことがあります。

このゲームとは、要求を出す側と要求に応える側が交互にコード(仕様記述コードと実装コード)を出し合うことです。「俺のターン/おまえのターン」となるので、デュアル(ペアの類語)からデュエル(カードゲームの名前)に後で名称変更しています。

写像(関数)の連続性の定義のなかには、要求を出す側と要求に応える側によるゲームとしての側面があります写像 f:X→Y に関するゲームは、X側とY側でプレイします。Y側が要求を出す側で、X側が要求に応える側です。

Y側の手札セットは、点f(a)を中心とする開球体族OBALLSY(f(a))です。族のなかから開球体Bを選んで提示します。

  • Y側:俺のターン。俺が選んだf(a)を中心とする開球体はこのBだ。おまえのターン。

次にX側は、自分の手札セットである開球体族OBALLSX(a)から開球体Aを選んで対戦します。

  • X側:俺は、aを中心とするこの開球体Aをセット。さー勝負だ。

勝敗を決めるルールは次のとおり。

  • f(A)⊆B となったときはX側の勝ち。
  • そうでないなら、Y側の勝ち。

fがaで連続であるとは、X側が常に勝てることです。どんなBを指定されても、適切なAを選べば f(A)⊆B と出来ることです。指定されたBからf(A)がはみ出さない、f(A)が「拡がり過ぎない/節度ある範囲に収まる」状況です。次の絵は、X側が負ける状況です。開球体Aをどう選んでも、開球体B内にf(A)を収めることができないときです。

  • X側:ダメだ。俺の手札には、お前の開球体Bに入り込める開球体がない。俺の負けだ。

論理式で書き下そう

前節のゲームの比喩において、Y側がどんな開球体Bを選ぶかは事前に予測できません。別な言い方をすると、Bは任意の開球体と考える必要があります。それに対してX側は、出されたBに応じて適切な開球体Aを選ぶことになります。適切なAが存在することがX側が勝てる条件です。そして、適切なAとは、f(A)⊆B となるようなAです。

以上のことから、X側が常に勝てる条件は次のように書けます。

  • B∈OBALLSY(f(a)) である任意のBに対して、A∈OBALLSX(a) であるAが存在して、f(A)⊆B となる。

「任意の」を表す∀と、「存在する」を表す∃を使うならば:

  • ∀B∈OBALLSY(f(a)). ∃A∈OBALLSX(a). f(A)⊆B

記号に不慣れだと違和感があるかもしれませんが、おおよその意味は:

  • 任意の“Y側の開球体B”に対して、“X側の開球体A”が存在して、f(A)⊆B だ。

日本語にニュアンスを込めれば:

  • 勝手に指定された“Y側の開球体B”に対して、“X側の開球体A”を頑張って選べば、f(A)⊆B だ。

この時点で、開球体の大小に関する言及は全くなくなっています。しかし、ゲームとしてのせめぎあいを考えれば、Y側は小さな開球体を選ぶだろうし、X側も小さな開球体を探して応戦せざるを得ないでしょう。この事情を反映させるなら:

  • どんなに小さな“Y側の開球体B”に対しても、十分に小さな“X側の開球体A”を選べて、f(A)⊆B と出来る。

なんて表現になります。

とはいえ、論理式それ自体はドライなもので、開球体の大小もゲームのせめぎあいも一切含まれないのです。この余分なエモーション/イマジネーションを削り落としたドライさが、推論のパワーにつながるのです。しかしだからといって、我々の心のなかのエモーション/イマジネーションまでも禁じるわけではありません。

再びイプシロン-デルタ論法

前節までの話で、イプシロン-デルタ論法の説明はオシマイです。

エーーッ、イプシロンもデルタも出てきてないじゃん!
俺が知っているイプシロン-デルタ論法とちゃう

そうですね。明示的にはεもδも使ってませんが、内容的にはイプシロン-デルタ論法(の精神)による連続性の定義は語り終わっています。

ほんとにこれで終わりにすると後味が悪いでしょうから、補足しましょう。話を簡単にするために、X = Rn, Y = Rm とします。前節の話で出てきた開球体Bの半径をε、開球体Aの半径をδという文字で表すことにします。もちろん、ε, δ∈R>0 です。

ε, δを使って、B = OBallm(f(a), ε)、A = OBalln(a, ε) と書けます。前節の、fがaで連続である条件をε, δを含む形に書き換えると:

  • 任意のOBallm(f(a), ε)に対して、OBalln(a, δ)が存在して、f(OBalln(a, δ))⊆OBallm(f(a), ε) となる。

開球体の記号を使わずに、正の数ε, δを主役にして書き換えます。まず最初に、f(OBalln(a, δ))⊆OBallm(f(a), ε) の部分だけを書き換えてみます。この部分は、

  • x∈OBalln(a, δ) ならば、f(x)∈OBallm(f(a), ε)

と言えるので、

  • dn(a, x) < δ ならば、dm(f(a), f(x)) < ε

全体を書き換えると:

  • 任意のεに対して、δが存在して、dn(a, x) < δ ならば、dm(f(a), f(x)) < ε が成立する。

これが、伝統的イプシロン・デルタ論法による連続性の記述です。ここに出てくる変数x(x∈Rn)も任意ですから、それも明示して論理記号を使って書くなら:

  • ∀ε∈R>0. ∃δ∈R>0. ∀x∈Rn. (dn(a, x) < δ ⇒ dm(f(a), f(x)) < ε)

この論理式をイキナリ出されたら、ビックリするかウンザリするでしょうが、今までの流れを思い起こしてみれば、写像fが点aの所で跳ねたり暴れたりしないことを表現していると分かるでしょう。

開集合XとYを考慮して、伝統的イプシロン-デルタのスタイルで書くと、論理式はずっと複雑化して、本気でウンザリします。入れ子の∀, ∃、たくさんの不等式を相手に頑張るよりは、集合族による定義のほうが楽だと思います。

今回使った集合族は、一点の回りの開球体族ですが、一点の回りの近傍族、空間全体の開集合族と発展させることが出来ます。


イプシロン-デルタ論法それ自体をゴールに設定して勉強するのは何か虚しいし、やる必要性があるか疑問です。集合や論理に慣れる目的でも、ふさわしいとは思えません。その後に距離空間位相空間連続写像へと進む通過点と捉えるならやる意味はあるでしょう。

いずれにしても、ドンドン論法とイプシロン-デルタ論法のあいだには色々とギャップがあるし、新しいスキルも要求されます。いきなり、ε, δ, ∀, ∃とか出されたら面食らうのは当たり前です。ギャップを意識して、新しいスキルを獲得しながら順番に進めば、「全然分からないっす!」から抜け出せると思いますよ。

*1[追記]「懐疑的」とは、イプシロン-デルタ論法を学ぶことは「それほど重要じゃない」と思ってる、ってことです。正の数ε, δに関する命題が重要なのではなくて、距離空間において、一点の近傍での関数の挙動を云々してるという意識を持てればいいだろう、と。[/追記]

通りすがり通りすがり 2017/07/22 00:20 連続性は開集合で書き直せたとして, 解析で頻出する一様連続性はどうするのでしょうか. 気になって眠れそうにありません.

m-hiyamam-hiyama 2017/07/22 09:55 通りすがりさん
これは、距離に頼らないで一様連続性を定義したい、という話ですか? もしそうなら、一様空間(uniform space)があります。

2017-07-14 (金)

Unicodeの記号文字についてもう少し

| 12:46 | Unicodeの記号文字についてもう少しを含むブックマーク

昨日の記事「数学記号とか特殊な文字のUnicode」で、Unicodeの記号文字をリストしました。気になる点や追加情報を書きます。

論理否定記号の文字は2種類あります。

  1. U+00AC 'NOT SIGN'
  2. U+FFE2 'FULLWIDTH NOT SIGN'

半角文字と全角文字です。Unicodeの本来の思想「全世界の文字を統合(unify)する」からすると、半角・全角も統合して重複は避けたかったでしょうが、諸般の事情から半角・全角を残さざるを得なかったのでしょう。

以前、否定記号が2種類あることがトラブルの原因だったことがあります(ココラの話)。半角・全角で重複している文字は、コード範囲FF00-FFEFの"Halfwidth and Fullwidth Forms"ブロックに集められています。

見渡したところ、否定以外の論理記号は入ってないようです。検索ツールなどでは、全角・半角の違いを無視して検索したほうが望ましいと思います。とはいえ、人間の目視では同じに見える文字は大量にあるので、「何を同じとみなすか?」は大変に難しい問題です。

文字一覧表は、Unicode.orgがご本家ではありますが、グリフをザッと見たいなら、次のページが便利です。

ページ上部のロゴが「フレメ」にしか見えないので、日本企業のページかと思ったら、カナダ・トロントの会社が提供してるようです。

あと、論理記号の文字に関しては次にまとめられています。

昨日挙げた記号のたぐいは、否定記号を除けば、次の2つのブロックにあります。

  1. 2100-214F Letterlike Symbols
  2. 2200-22FF Mathematical Operators

一覧を見てもらえば分かりますが(http://jrgraphix.net/r/Unicode/2100-214F)、"Letterlike Symbols"は混沌としています。名前からして「文字みたいな記号」って、うまく分類できないヤツをかき集めて押し込んだ感じ。黒板文字(白抜き太字)も"Letterlike Symbols"にありますが、ラテン文字がすべて揃っているわけではありません。

2300-23FF "Miscellaneous Technical"ブロック(http://jrgraphix.net/r/Unicode/2300-23FF)にも雑多な記号が集められています。U+2300は空集合(U+2205 EMPTY SET)と同じだと思ったら'DIAMETER SIGN'(直径を表すファイ)だそうで。U+237Aはアルファ(α)にしか見えないのだけど、実際アルファなんですが、'APL FUNCTIONAL SYMBOL ALPHA' … って、あのAPLかい!?

人間には区別困難な類似形状のグリフがコード空間に散在してるし、空白文字がイッパイあったり、コードポイントに“色”がエンコードされてたりもして(「プレーンテキストだけで色付きマーク」参照)、いやはやもう。Unicodeテキストから、賢くあいまい検索するのはとてもとても大変だな―、と思います。

トラックバック - http://d.hatena.ne.jp/m-hiyama/20170714

2017-07-13 (木)

驚いた

| 12:36 | 驚いたを含むブックマーク

このニュースに驚いた。

車の窓ガラスをひじ打ちで割るなんて、そんなことを人間が出来るとは思ってなかったです。映画ではそんなシーンがありますが、「まー、映画だからな」と。現実には、物理的・肉体的(physical)に無理だろう、と。

もっと驚いたのは、ホントにソレをやったことです。仮に自動車の窓を割れるほどのフィジカルな能力を持っていたとして、実際にやれるか? 自分のひじ・腕も無事では済まないだろうし、負傷者を救出しているあいだに燃料が爆発しないかとか、そんなことを考えたら躊躇しますよね。フィジカルに可能でも、メンタルにビビって足がすくむんじゃなかろうか、僕なら。

「ホントすごいわー」と感嘆・賞賛します。が、大部分の人は出来ないし、危ないから試みるべきでもないなー、とも思います。

数学記号とか特殊な文字のUnicode

| 15:57 | 数学記号とか特殊な文字のUnicodeを含むブックマーク

はてなダイアリーだと、TeX記法で数学記号を表します。例えば、テンソル積の記号だと [tex:\otimes] と書きます。TeX記法はサーバー側で処理されて次のような画像に置換されます。(最近だと、MathJaxを使ったクライアント側レンダリングが多いですね。)

<img src="http://d.hatena.ne.jp/cgi-bin/mimetex.cgi?\otimes" class="tex" alt="¥otimes">

画像は文字ではないのでレイアウトがうまくいかないことがあります。例えば、V¥otimesV はテンソル積の意味で二乗だから、Vの右肩に¥otimes2を乗せたいとします。やってみます。

  • V¥otimes2

レンダリング環境にもよると思いますが、テンソル積記号が大きすぎる気がします。テンソル積記号は文字としても存在しています。U+2297 'CIRCLED TIMES' です。HTMLの文字実体参照記法で &#x2297; と書きます。文字のテンソル積記号を使うと:

  • V⊗2

小さくなりました、小さすぎるかな? 通常の演算子として使うと明らかに小さすぎ…

  • V⊗V

それと、記号じゃなくて英字なんですが、小文字エル、これが困るんです。普通のグリフだと1(イチ)やI(アイ)と間違いやすい。Unicodeレパートリを探したら、U+2113 'SCRIPT SMALL L' てのがありました。

このエルなら間違いにくいでしょう。k, ℓ, m, n … ウーン、バンランス悪いな。

それとまた全然話が別ですが、ソフトウェアが認識するマークアップをエスケープしたいけど、その手段がないときがあります。僕は、DoxygenのMarkdown記法(コードブロック)内でDoxygenコマンドをエスケープする方法がないので困ったことがあります。そんなときは、次の不可視文字が役に立ちます。

  • U+200B 'ZERO WIDTH SPACE'
  • U+200C 'ZERO WIDTH NON-JOINER'

文字コードレベル(バイナリイメージ)では文字なのでマークアップを壊すことができます。しかし、不可視なので表示は壊しません。任意のUnicode文字を生で入れられるエディタで入力します。

あんまり褒められた方法じゃない(弊害もある)ので推奨しませんが、どうにもならないときの最後の手段にはなります。


以下に、ひょっとして使えるかも知れない数学記号のUnicode文字をリストしておきます。フォントやレイアウトエンジンによりけりですが、僕の環境では記号文字のサイズやデザインがいまいち。タブ区切りのデータは、http://d.hatena.ne.jp/m-hiyama-memo/20170713/1499933314 にあります。

[追記]文字の名前は、Unicodeスタンダードが定めている名前と違うものがあります。例えば、黒板文字のアルファベットは、'DOUBLE-STRUCK CAPITAL ホゲ'がUnicodeにおける名前です。[/追記]

集合論
文字 名前 HTML 16進
EMPTY SET &#x2205;
SET MINUS &#x2216;
CONTAINS AS MEMBER &#x220B;
ALEF INFINITY SYMBOL &#x2135;
論理(モデル論を含む)
文字 名前 HTML 16進
¬ NOT SYMBOL &#xAC;
ASSERTION &#x22A6;
MODELS &#x22A7;
TRUE &#x22A8;
DOES NOT PROVE &#x22AC;
NOT TRUE &#x22AD;
特別な集合・構造
文字 名前 HTML 16進
NATURAL NUMBERS &#x2115;
INTEGERS &#x2124;
RATIONAL NUMBERS &#x211A;
REAL NUMBERS &#x211D;
COMPLEX NUMBERS &#x2102;
演算子記号
文字 名前 HTML 16進
RING OPERATOR &#x2218;
CIRCLED PLUS &#x2295;
CIRCLED MINUS &#x2296;
CIRCLED TIMES &#x2297;
CIRCLED DIVISION SLASH &#x2298;
CIRCLED DOT OPERATOR &#x2299;
CIRCLED RING OPERATOR &#x229A;
CIRCLED ASTERISK OPERATOR &#x229B;
SQUARE CAP &#x2293;
SQUARE CUP &#x2294;
DOT PLUS &#x2214;
DOT MINUS &#x2238;
MULTISET MULTIPLICATION &#x228D;
MULTISET UNION &#x228E;
LEFT NORMAL FACTOR SEMIDIRECT PRODUCT &#x22C9;
RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT &#x22CA;
PITCHFORK &#x22D4;
関係記号
文字 名前 HTML 16進
SQUARE IMAGE OF &#x228F;
SQUARE ORIGINAL OF &#x2290;
SQUARE IMAGE OF OR EQUAL TO &#x2291;
SQUARE ORIGINAL OF OR EQUAL TO &#x2292;
PRECEDES &#x227A;
SUCCEEDS &#x227B;
PRECEDES OR EQUAL TO &#x227C;
SUCCEEDS OR EQUAL TO &#x227D;
DELTA EQUAL TO &#x225C;
COLON EQUALS &#x2254;
EQUIVALENT TO &#x224D;
ASYMPTOTICALLY EQUAL TO &#x2243;
APPROACHES THE LIMIT &#x2250;
APPROXIMATELY EQUAL &#x2245;

2017-07-12 (水)

エディントンのイプシロンを圏論的に定義する

| 11:21 | エディントンのイプシロンを圏論的に定義するを含むブックマーク

組み合わせ的主バンドル: エディントン・バンドル」の続きというか追記というか、関連する話。

対称群が作用する組み合わせ的な主バンドルが「なんか面白な」と思ったので紹介したのですが、エディントンのイプシロンを定義するだけなら、バンドル構造を経由しないでもっと直接的な定義が可能です。適当なセッティングのもとで、エディントンのイプシロンは厳密モノイド圏のあいだの関手になります。

内容:

  1. 有限骨格圏
  2. 有限骨格圏のモノイド構造
  3. 圏の生成系と関係
  4. エディントンのイプシロンの定義
  5. モノイド関手としてのエディントンのイプシロン

有限骨格圏

有限集合と写像の圏をFinSetとします。FinSetの骨格(skeleton)となるような圏を作ります。圏の骨格については、「骨格的な圏と圏の骨格」で書いています。念のために繰り返しておくと; Cの部分圏Dが、C骨格だとは:

  1. Dの同型は恒等射だけである。
  2. Cの任意の対象は、Dの適当な対象と同型である。
  3. Dは充満部分圏である。つまり、D(A, B) = C(A, B)。

骨格概念をわずかに拡張して、DCの外にあっても、埋め込み関手 J:DC があって、Jの像である圏 J(D)⊆C が上記の意味で骨格なら、DCの骨格と呼ぶことにします。そして、FinSetの骨格となるような圏(と埋め込み関手の組)を有限骨格圏(finite skeleton category)と呼ぶことにします。

まず、ほぼ自明な有限骨格圏FinSkelを作ります。{1, 2, ..., n} = {i∈N | 1≦ i ≦n} を[n]と略記します。

  • |FinSkel| = N = {0, 1, 2, ...}
  • FinSkel(n, m) := FinSet([n], [m])
  • 射の結合は写像の結合とする。
  • 恒等射は恒等写像とする。

対象を(集合ではなく)自然数にしたのは記述や取り扱いが容易になるからです。埋め込み関手 J:FinSkelFinSet を、J(n) = [n] で定義すれば、埋め込みの像はFinSetの部分圏として骨格になります。

組み合わせ的主バンドル: エディントン・バンドル」で出てきた各種の写像の集合は、有限骨格圏FinSkelの一部として説明できます。

  • Map(p, n) := HomFinSkel(p, n) = FinSkel(p, n)
  • Inj(p, n) := MonFinSkel(p, n) (モノ射の集合)
  • Bij(p, p) := IsoFinSkel(p, p) (同型射の集合)
  • S(p) := AutFinSkel(p) (自己同型射の群)

有限骨格圏のモノイド構造

FinSkelに対称モノイド構造を入れましょう。

  • 対象n, mに対して、n¥oplusm := n + m (自然数の足し算)
  • f:n→m, g:p→q に対して、f¥oplusg:n¥oplusp→m¥oplusq は:
    • (f¥oplusg)(i) = f(i) if (1≦i≦n)
    • (f¥oplusg)(n + j) = n + g(j) if (1≦j≦p)
  • 0が単位対象
  • 対称σは:
    • σn,m(i) = n + i if (0≦i≦n)
    • σn,m(n + j) = j if (0≦j≦m)

今入れたモノイド構造は厳密(strict)です(この「厳密」の意味は、モノイド法則が等式で成立している、ということです)。モノイド積¥oplusは、FinSetにおける直和と同じですが、FinSetの直和は厳密モノイド積にはなりません。対象を自然数にしているので、モノイド積が厳密モノイド積になります。

モノイド積を持ったFinSkelは、「PROと代数系 -- toward 量子と古典の物理と幾何@名古屋」で述べたPRO/PROPになっています。

FinSkelの同型射だけを取り出した圏Iso(FinSkel)は、すべての対称群S(n)を寄せ集めた構造をしています。S(n)の集まりであるIso(FinSkel)も対称モノイド圏になっています。

  • Iso(FinSkel)(n, n) = IsoFinSkel(n, n) = AutFinSkel(n) = S(n)

FinSkelのモノ射だけを取り出した圏Mon(FinSkel)もまたFinSkelの部分モノイド圏となります。

圏の生成系と関係

有限骨格圏FinSkel(と同型な圏)を、生成系と関係(generators and relations)で定義してみます。ここで扱う圏は、PRO(Nを対象とするモノイド圏)に限定します。したがって、対象の集合と対象のモノイド積は先に決まっています。これに対して、有限個の生成射(generating morphism)と等式系(system of equations)として与えられる関係で圏を定義します。

ここで使う生成系は、I(大文字アイ)、X(大文字エックス)、Y(大文字ワイ)、.(ピリオド)です。

  1. dom(I) = cod(I) = 1
  2. dom(X) = cod(X) = 2
  3. dom(Y) = 2, cod(Y) = 1
  4. dom(.) = 0, cod(.) = 1

これらの記号的射から自由に生成された圏を作ります。Iはid1なので組み込みと考えて、残りの3つの記号が生成系Σを形成するとします。Σ = {X:2→2, Y:2→1, .:0→1}。

生成系(指標とも呼ぶ)Σから自由に作ったPROをFreePRO(Σ) とします。FreePRO(Σ)は、ある種の図式の圏とも記号列の圏とも考えられます。この点を説明すると長く退屈になるので、1個の絵で済ませます。

いちばん左側の絵は、ドットの列を繋ぐワイヤーの図式です(向きは上から下)。ワイヤーの交差と合流を許します。上側のドットからは必ずワイヤーが出ている必要がありますが、下側のドットが“空き”でもかまいません。

ワイヤーの図を適当に整理して、{I, X, Y, .}の2次元並びに整形できます。横の並びは単なる併置、縦の並びは';'(セミコロン)で区切ることにすると、図の右側は IXX;XIII;IYII;I.YI という文字列表現を持ちます。セミコロンで切って縦に並べるとだいたい絵を再現できます。

FreePRO(Σ)の射を図形的に解釈・表現すれば、ワイヤーの図式(ダイアグラム)だし、形式言語的に解釈・表現すればアルファベット集合{I, X, Y, .}から併置とセミコロン区切り連接で生成された文字列です。ワイヤー図式や文字列は、厳密モノイド圏の公理に従って同一視されます。例えば、XII;IIX = XX です(交替律による)。

厳密モノイド圏の公理以外に:

  • Xに関してライデマイスター/アルチン同値関係を入れる。
    • X;X = ||
    • X|;|X;X| = |X;X|;|X
  • Yと.(ピリオド)には結合律、左単位律、右単位律を入れる。
    • Y|;Y = |Y;Y
    • .|;Y = I
    • |.;Y = I

また、Xを何個か組み合わせることにより対称σn,mを作り、対称モノイド圏にします。

FreePRO(Σ)を、今ザッと述べた関係達(けっこうたくさんある)で割り算して商圏を作ると、有限骨格圏FinSkelと同型になります。別な言い方をすると、生成系 Σ = {X, Y, .} と圏の同値関係が、FinSkelの表現(プレゼンテーション)になっています。

なお、FreePRO(Σ)からFinSkelへの標準的な関手(射影関手) P:FreePRO(Σ)→FinSkel は次で与えられます。

  • P(I) = (1|→1) = id1
  • P(X) = (1|→2, 2|→1) = σ1,1
  • P(Y) = (1|→1, 2|→1)
  • P(.) = 空集合[0]から[1]への唯一の写像

エディントンのイプシロンの定義

M = {-1, 0, 1} とします。Mは掛け算でモノイドになります。必要があれば、Mはモノイドだと考えることにします。

エディントンのイプシロンを、有限骨格圏FinSkelの射の集合Mor(FinSkel)からMへの写像として定義します。

  • ε:Mor(FinSkel)→M

εを定義するために、まず Φ:Mor(FreePRO(Σ))→M を定義します。このΦが次の性質を持つなら、Mor(FinSkel)上の写像が決まること(well-defined)になります。

  • f, g∈Mor(FreePRO(Σ)) に対して、fとgが同値なら Φ(f) = Φ(g)

具体的にΦは次のように定義されます。

  • Φ(I) = 1
  • Φ(X) = -1
  • Φ(Y) = 0
  • Φ(.) = 1

圏の結合とモノイド積に関しては:

  • Φ(f;g) = Φ(f)・Φ(g)
  • Φ(f¥oplusg) = Φ(f)・Φ(g)

つまり、結合もモノイド積もMの掛け算に移ります。この定義が、同値関係と協調することを示さないとダメなんですが、面倒で退屈なんで割愛します。

上記のルールに従った計算例を出すと:

   Φ(IXX;XIII;IYII;I.YI)
 = Φ(IXX)・Φ(XIII)Φ・(IYII)・Φ(I.YI)
 = (1・-1・-1)・(-1・1・1・1)・(1・0・1・1)・(1・1・0・1)
 = 1・-1・0・0
 = 0

すぐに分かるように、Yが1個でも出現すればΦの値は0になります。また、Xが奇数個出現すると(-1)になります。まとめると:

  1. Yが1個でも出現すれば 0
  2. Xの出現個数が偶数(0も含む)ならば 1
  3. Xの出現個数が奇数ならば -1

実は、この定義は置換に対する符号の定義と同じ方法を使っています。置換の符号は、置換の転倒数だけ(-1)を掛け算するのですが、置換の転倒数の偶奇はXの出現個数(互換の出現個数)の偶奇と同じです。このことから、エディントンのイプシロンは置換の符号の直接の拡張だと分かります。

モノイド関手としてのエディントンのイプシロン

エディントンのイプシロンを、ε:Mor(FinSkel)→M という写像として定義しましたが、εやそのもとになるΦは関手と考えられます。いや待て、そもそもMが圏になってないのでは?

まずは M = {-1, 0, 1} を圏とみなすことから始めます。Mは掛け算に関してモノイドなので、単一のダミー対象を持つ圏と考えることができます。圏としてのMは次のように定義されます。

  • |M| = {*} (*はダミー対象)
  • M(*, *) = {-1, 0, 1}
  • 射の結合は掛け算
  • 恒等射id*は1

関手としての ε:FinSkelM では、FinSkelの対象はすべてダミー対象*に移されます。要するに、対象達は一点に潰されます。定義のためのΦの段階で Φ(f;g) = Φ(f)・Φ(g) などが成立するので、εも結合を保存して関手となります。

さらに、εは厳密モノイド関手になります。Mをモノイド圏とするにはモノイド積を入れる必要があります。可換モノイドから作られた圏では、モノイド積は結合と一致してしまいます。逆に、結合演算をモノイド積として使えば厳密モノイド圏になります。この事情については次の記事を参照してください。

以上のことからエディントンのイプシロンεは次のような厳密モノイド関手となります。

  • ε(f;g) = ε(f)・ε(g)
  • ε(f¥oplusg) = ε(f)・ε(g)
  • ε(idn) = id* = 1 特に ε(id0) = 1
トラックバック - http://d.hatena.ne.jp/m-hiyama/20170712

2017-07-11 (火)

組み合わせ的主バンドル: エディントン・バンドル

| 14:03 | 組み合わせ的主バンドル: エディントン・バンドルを含むブックマーク

エディントン(人名:Eddington)のイプシロンという組み合わせ的関数(を表す記法)があります。その定義や色々な公式は、例えばWikipedia項目に書いてあります。

エディントンのイプシロンは、テンソル代数/外積代数の計算で使われますが、その一部分を取り出すと、面白い組み合わせ構造が出現します。微分幾何における主ファイバー・バンドルの組み合わせ(離散有限)版が出てくるのです。エディントンのイプシロン(の一部)は、その主ファイバー・バンドル上の符号関数になります。

内容:

  1. 離散ファイバー・バンドル
  2. エディントン・バンドル:最初の定義
  3. エディントン・バンドルへの対称群の作用
  4. G-バンドルと主G-バンドル
  5. 主バンドルのセクションと単射の分解
  6. 置換の符号とエディントンのイプシロン
  7. タプルによる表現
  8. 順列と組み合わせ

離散ファイバー・バンドル

トポロジー/微分幾何で登場するファイバー・バンドルから、位相的/幾何的な仮定を全部取り除いて、単なる集合と写像だけからなる構造を定義しましょう。そのような構造を離散ファイバー・バンドル(これから定義する)と呼ぶことにします。

(E, B, π)という3つ組を考えます。ここで:

  1. Eは非空な集合で全集合(total set)と呼ぶ。
  2. Bは非空な集合で底集合(base set)と呼ぶ。
  3. πは写像で、全射とする。射影と呼ぶ。

πは全射なので、b∈B に対して、その逆像π-1(b)は空ではありません。π-1を、bにおけるファイバー(fibre, fiber)と呼びます。bにおけるファイバーをEbと書きます。

(E, B, π)のすべてのファイバーが集合として同型なとき、この3つ組が離散的ファイバー・バンドル(discrete fibre/fiber bundle)です。位相的/幾何的な仮定は一切ないことに注意してください。この記事内では離散的ファイバー・バンドルしか扱わないので、離散的ファイバー・バンドルを単にファイバー・バンドルあるいはバンドルと略称します。

バンドル(E, B, π)において、定義より Eb ¥stackrel{¥sim}{=} Eb' (b, b'∈B) ですが、この同型を標準的に与える方法は決まってません。異なるファイバーは同型であっても、自然な対応というものは前もって存在しないのです。

全集合Eは、ファイバー達の直和になるので、次のように書けます。

  • E = Σ(b∈B | π-1(b)) = Σ(b∈B | Eb)

エディントン・バンドル:最初の定義

{1, 2, ..., n} = {i∈N | 1≦ i ≦n} という集合が頻繁に出てくるので、これを[n]と書くことにします。[0] = 空集合、[1] = {1} です。p, nを自然数として、Map(p, n)を[p]から[n]への写像の全体とします。Inj(p, n)は[p]から[n]への単射(injection)の全体とします。単射も写像なので、Inj(p, n)⊆Map(p, n) です。

[n]の部分集合で、基数(要素の個数)がpであるもの全体をSubset(p, n)とします。Subset(2, 3)を具体的に書き出してみると:

  • Subset(2, 3) = {{1, 2}, {1, 3}, {2, 3}}

写像 f:[p]→[n] に対して、その像集合をIm(f)と書きます。Im(f)⊆[n]。写像 f:[p]→[n] が単射の場合は、Im(f)の基数はpです。したがって、Im(f)∈Subset(p, n)。これより、ImをInj(p, n)とSubset(p, n)に制限して、Im:Inj(p, n)→Subset(p, n) と考えても大丈夫です。

基数pの部分集合a(a⊆[n])を勝手に選ぶと、その集合aを像とするような単射 f:[p]→[n] が存在するので、Im:Inj(p, n)→Subset(p, n) は全射になります。このことから、次のようなファイバー・バンドルが構成できます。

  • 全集合: Inj(p, n)
  • 底集合: Subset(p, n)
  • 射影: Im:Inj(p, n)→Subset(p, n)

n < p だと、Inj(p, n)もSubset(p, n)も空になってしまうので、p ≦ n の範囲だけを考えます。また、ファイバー・バンドルの条件である「すべてのファイバーが同型である」は、現時点では自明でないかも知れません。この条件は後でまた言及しますが、成立しています。

上記のようにして定義された離散ファイバー・バンドルをエディントン・バンドル(Eddington bundle)と呼ぶことにします。命名の理由は、エディントンのイプシロンがこのバンドル(の全集合)上に生息しているからです。

エディントン・バンドルは、p, nの値ごとに定まります。p = 2, n = 3 のときのエディントン・バンドルを絵に描いておきます。絵のなかで、単射 f:[2]→[3] を、(f(1), f(2))というタプルで示しています。

エディントン・バンドルへの対称群の作用

[p]から[n]への双射(1:1の写像)の全体をBij(p, n)と書くことにします。p ≠ n のとき、Bij(p, n)は空になってしまうので、意味があるのはBij(p, p)だけです。f, g∈Bij(p, p) のとき、写像としての結合(composition)f;g(またはg¥circf)が定義できます。恒等写像id[p]は結合の単位元です。f∈Bij(p, p)ならば逆写像f-1が存在します。結局、(Bij(p, p), ;, id[p], (-)-1)は群になります。

今述べた群構造を備えたBij(p, p)をp次の対称群(symmetric group)と呼びます。対称群の要素である全射は[p]の置換(permutation)と呼ばれます。なので、対称群やその部分群を置換群(permutation group)と呼ぶことがあります。群としてのBij(p, p)、すなわち対称群をS(p)と書きます。Sはsymmetricにちなみます。

群S(p)(集合としてはBij(p, p))の要素は、σ, τなどのギリシャ文字小文字で表すのが習慣なので、それに従うことにします。σ∈S(p) , f∈Inj(p, n) のとき、σ;f:[p]→[n] は単射になります。よって、写像の結合';'を、S(p)×Inj(p, n)→Inj(p, n) という写像とみなせます。このとき次が成立します。

  • (σ;τ);f = σ;(τ;f)
  • id[p];f = f

写像の結合を反図式順の'¥circ'で書くなら:

  • f¥circ¥circσ) = (f¥circτ)¥circσ
  • f¥circid[n] = f

一般に、群 G = (G, ・, e, (-)-1) と集合Xがあり、さらに (-)▷(-):G×X→X が次の条件(公理)を満たすとき、▷を左G-作用(left G-action)と呼びます。

  • (α・β)▷x = α▷(β▷x)
  • e▷x = x

同様に、(-)◁(-):X×G→X が次の条件(公理)を満たすとき、◁を右G-作用(right G-action)と呼びます。

  • x◁(α・β) = (x◁α)◁β
  • x◁e = x

群Gは、集合Xに左から(または右から)作用している、とも言います。

対称群S(p)は、集合Inj(p, n)に左から、または右から作用しています。左右の別は趣味の問題です。

  • S(p)の群演算を図式順結合';'として、集合Inj(p, n)への作用も図式順結合';'とするときは、左作用。
  • S(p)の群演算を反図式順結合'¥circ'として、集合Inj(p, n)への作用も反図式順結合'¥circ'とするときは、右作用。

左右の別はどっちでもいいのですが、Inj(p, n)へのS(p)作用の重要な特徴として、エディントン・バンドル構造と協調することが挙げられます。S(p)作用は、各ファイバー内で安定しています。つまり、S(p)の要素をいくら作用させてもファイバーから飛び出すことはありません。この状況を正確に記述するために、次節で少し一般論をします。

G-バンドルと主G-バンドル

G = (G, ・, e, (-)-1)を群とします。(E, B, π)はファイバー・バンドルとします。さらに、バンドルの全集合Eに対して、群Gが右から作用しているとします。右作用を与える写像は ◁:E×G→E です。

このセッティングで、バンドルの構造と右G-作用が協調している(consistent, compatible)とは、次の図式が可換になることです。

  E×G -(◁)→ E
π'|         |π
  ↓         ↓
   B   ===    B

ここで、π'(x, α) = π(x) です。等式で書くなら:

  • π(x◁α) = π(x)

π(x) = b と置けば、次のようにも言えます。

  • x∈Eb ならば、(x◁α)∈Eb

全集合Eの要素xがbのファイバーEbに入っているなら、Gのどんな要素をxに作用させてもEbから出ない、ということです。一本のファイバーだけを取り出しても右G-作用を考えることができます。

バンドル(E, B, π)の全集合Eに群Gが右作用(左作用でもOK)していて、その作用がバンドル構造と協調しているとき、Gの作用まで含めてG-バンドル(G-bundle)と呼びます。G-バンドルは、作用◁を添えて、(E, B, π, ◁)と表すことにします。

エディントン・バンドル(Inj(p, n), Subset(p, n), Im)は対称群S(p)の右作用に関してS(p)-バンドルになっています。a∈Subset(p, n)に対するエディントン・バンドルのファイバー(Inj(p, n))aを、Inj(p, n|a) と書くことにしましょう。

  • Inj(p, n|a) = {f∈Inj(p, n)| Im(f) = a}

S(p)作用がバンドル構造と協調することは、次のように表せます。

  • f∈Inj(p, n|a) ならば、(f◁σ)∈Inj(p, n|a) (σ∈S(p))

これは、単射fの像集合がaのとき、σ;f = f¥circσ の像もaであることなので、確かに成立しています -- 単射に双射を前結合(pre-compose)しても単射のままで、像集合も変化しません。

G-バンドルが主G-バンドル(principal G-bundle)であるとは、各ファイバーがGと(集合として)同型なことです。もう少し正確に言うと、ファイバーEb内の一点x∈Ebを固定すると、α|→x◁α という写像 G→X が決まります。この写像がGとEbの双射を与えることです。

エディントン・バンドルの場合、f∈Inj(p, n)を固定したとき、σ|→f¥circσ はS(n)とInj(p, n| Im(f))の同型を与えます。つまり、a∈Subset(p, n)が何であっても、S(p)とInj(p, n|a)は同型です。よって、エディントン・バンドルは主S(p)-バンドルです。

話は前後しますが、a∈Subset(p, n)に対するInj(p, n|a)がすべてS(p)に同型であることから、エディントン・バンドルのファイバーがすべて同型であることが従います。ただし、ファイバーInj(p, n|a)が群構造を持つわけではありません。あくまで“集合として同型”なだけです。

主バンドルのセクションと単射の分解

(E, B, π)がファイバー・バンドルのとき、写像 B→E が s;π = idB を満たすとき、このバンドルのセクション(section)と呼びます。位相的/幾何的バンドルでは、セクションが存在しないこともありますが(例:メビウス・バンド)、離散的ファイバー・バンドルでは、セクションは必ず存在します。

エディントン・バンドルに対して、標準的セクションを定義しましょう。そのために、[n] = {1, 2, ..., n} の標準的順序構造に注目します。

写像 f:[p]→[n] で、通常の大小順序構造を保存する(order-preserving)写像の全体をOrdMap(p, n) とします。特に、順序を保存する単射をOrdInj(p, n)とします。次の包含関係が成立します。

  • OrdMap(p, n)⊆Map(p, n)
  • OrdInj(p, n)⊆OrdMap(p, n)
  • Inj(p, n)⊆Map(p, n)
  • OrdInj(p, n)⊆Inj(p, n)

f∈OrdInj(p, n)に対して、fの像集合 Im(f)∈Subset(p, n) が決まりますが、逆に a∈Subset(p, n) に対して Im(f) = a となるfが一意に決まります。fはaの要素を小さい順に列挙する写像です。部分集合aに対して決まる列挙写像enum(a)と書きましょう。

a∈Subset(p, n) に対して enum(a)∈Inj(p, n|a) ですから、当然に enum(a)∈Inj(p, n) です。Im(enum(a)) = a であることから、enum:Subset(p, n)→Inj(p, n) はエディントン・バンドルのセクションになります。Subset(p, n)の要素(部分集合)を、Inj(p, n)の要素(写像)とみなす標準的方法はこのenumだと言っていいでしょう。

一般に、主G-バンドル(E, B, π, ◁)の場合、セクション s:B→E があると、同型写像 φ:B×G→E を構成できます。φの具体的な表示は:

  • φ(b, α) = s(b)◁α

s(b)がファイバーEbの“基点”を与えます。同じファイバー内の他の点は、群Gの要素をs(b)に作用させれば得られます。主バンドルでは、ファイバーとGが同型なのでこのような同型φが構成可能なのです。

エディントン・バンドルの場合は、(a, σ)|→enum(a)¥circσ として Subset(p, n)×S(p)→Inj(p, n) の同型が構成できます。つまり、Inj(p, n)の要素(単射)fは、[p]の置換σを選ぶことにより 、f = enum(Im(f))¥circσ と一意的に表現できます。

これは、単射 f:[p]→[n] は、置換 σ:[p]→[p] と順序保存単射 f':[p]→[n] に一意的に分解(factorization)できるという、分解定理ともみなさます。

置換の符号とエディントンのイプシロン

置換 σ∈S(p) に、偶置換か奇置換かに応じて+1, -1を対応させる写像を(置換の)符号(sign, signature)と呼びます。符号を sgn:S(p)→{+1, -1} とします。(符号について、ここでは詳しく説明しません。)

符号関数を、S(p)からInj(p, n)に拡張します。前節の f = f'¥circσ という一意分解を使います。ここで、f' = enum(Im(f)) です。fからσは一意に決まるので、esgn(f) := sgn(σ) と定義します。esgn(extended sign)は、esgn:Inj(p, n)→{+1, -1} という写像になります。

エディントンのイプシロンは、ε:Map(p, n)→{+1, 0, -1} という関数です。εの定義域は自然数p, nに依存するので、εnpと書くほうが正確ですが、混乱がないならp, nは省略します。εの定義は次のとおりです。

  • ε(f) = 0 if (fが単射でない)
  • ε(f) = esgn(f) if (fが単射)

対称群S(p)は、前結合(pre-composition)によりMap(p, n)全体に作用します。また、群({+1, -1}, (掛け算), +1)は群であり、集合{+1, 0, -1}に掛け算により作用します。対称群S(p)上の符号sgnと、Map(p, n)上のエディントンのイプシロンは、2つの群作用のあいだを繋ぐ準同型を構成します。つまり:

  • ε(f¥circσ) = ε(f)・sgn(σ) (・は掛け算)

タプルによる表現

Map(p, n)の要素 f:p→n は、{1, 2, ..., n}を成分とする長さpのタプル(f(1), f(2), ..., f(p))で表現できます。Inj(p, n), S(p), OrdMap(p, n), OrdInj(p, n)などの要素も制限付きのタプルとして表現できます。タプル成分に対する制限は次のとおりです。

  • f∈Map(p, n) ならば、1 ≦ f(1), f(2), ..., f(p) ≦ n
  • f∈Inj(p, n) ならば、1 ≦ f(1), f(2), ..., f(p) ≦ n で f(1), f(2), ..., f(p) はすべて異なる。
  • f∈S(p) ならば、1 ≦ f(1), f(2), ..., f(p) ≦ p で f(1), f(2), ..., f(p) はすべて異なる。
  • f∈OrdMap(p, n) ならば、1 ≦ f(1) ≦ f(2) ≦ ... ≦ f(p) ≦ n
  • f∈OrdInj(p, n) ならば、1 ≦ f(1) < f(2) < ... < f(p) ≦ n

エディントンのイプシロンの定義や、その他の組み合わせ的議論もタプルをベースに行うことが多いのですが、見通しが良くないので、すべて有限集合のあいだの写像として記述しました。必要があれば、タプルに関する言明に翻訳できます。

順列と組み合わせ

高校で習った順列・組み合わせと、エディントン・バンドルの関係を述べておきましょう。

n個のモノからp個を選んで並べたモノが順列です。この順列とはInj(p, n)の要素のことです。「Inj(p, n)の要素の“タプル表現”が順列」と言ったほうがより正確かも知れません。順列の総数をnPpと書きますが、これは集合Inj(p, n)の基数に他なりません。集合Xの基数をcard(X)と書くことにするなら:

  • nPp = card(Inj(p, n))

有限集合のあいだの写像では、Inj(p, p) = Bij(p, p) が成立します。単射である自己写像(endomorphism)は双射(可逆な写像)になり、逆も成立します。よって、Bij(p, p)は、集合としては対称群S(p)と同じです。したがって:

  • pPp = card(Inj(p, p)) = card(Bij(p, p)) = card(S(n))

n個のモノからp個を選んだ組み合わせは、Subset(p, n)の要素と考えるのが一番分かりやすいでしょう。組み合わせ(つまり部分集合)の総数をnCpと書きますが、これは:

  • nCp = card(Subset(p, n))

部分集合と順序を保つ単射は、次のように1:1対応します。

  • Subset(p, n) ¥stackrel{¥sim}{=} OrdInj(p, n)

したがって:

  • nCp = card(Subset(p, n)) = card(OrdInj(p, n))

Inj(p, n)の要素(単射)は、S(n)の要素(置換)とOrdInj(p, n)の要素(順序保存単射)に一意分解できます。つまり、次の同型が成立します。

  • Inj(p, n) ¥stackrel{¥sim}{=} S(p)×OrdInj(p, n)

したがって:

  • card(Inj(p, n)) = card(S(p))×card(OrdInj(p, n))

これは次の公式と同じです。

  • nPp = pPp×nCp

エディントン・バンドルの構造を思い浮かべると:

  • nPp = card(Inj(p, n)) : バンドルの全空間の基数
  • pPp = card(S(p)) : バンドルのファイバーの基数 = 対称群S(p)の基数
  • nCp = card(Subset(p, n)) : バンドルの底空間の基数

エディントン・バンドルは、組み合わせ的概念にハッキリしたイメージを与えます。


2017-07-05 (水)

はてなブックマークの新ユーザーページと、サービスのマジョリティ・ユーザー

| 12:07 | はてなブックマークの新ユーザーページと、サービスのマジョリティ・ユーザーを含むブックマーク

僕は非公開で「はてなブックマーク」を使っています。2017年7月3日から、はてなブックマークのWebインターフェイスは新ユーザーページに全面移行しました。

今まで、旧ユーザーページと新ユーザーページが併存していたわけです。僕は、二択のうちの片方のインターフェイスを選んでいることをスッカリ忘れていて、7月3日の変更にビックリしました。

「改悪だ、もとに戻せ」「今さら何を言う、変化についてけない老害が」といった議論があるようです。

お気に入りユーザー/日付指定の機能劣化に怒っている人が多いようですが、僕が「これは困ったな」と思っていることは次の2点です。

  1. 一画面に表示できるブックマーク項目数が少ない。
  2. タグによる検索と絞り込みが素早く出来ない。

何か見過ごしている操作法や回避策があるのかも知れませんが、現状では困っています。

ユーザーはどんな情報をどのようにハンドリングしたいのか

はてなブックマークのユーザーページとは、“ブックマーク項目(エントリー)のリスト”というデータ構造に対するユーザーインターフェイスです。このようなリストデータを扱う人々=ユーザーを、大きく二つに分類してみます。

  1. 多数のブックマーク項目を、検索・絞り込みで扱いたい人。
  2. 比較的少数のブックマーク項目を、目視で扱いたい人。

多数というのは、千から万のオーダーのことです。ストックされている項目数が数千でも、最近の数十個しか興味がないなら少数項目を扱いたいユーザーです。

何千何万の多数項目を扱うには、ディスプレイとキーボードがないと辛いので、多数項目を扱いたいユーザー≒PC利用者*1と言えるでしょう。

インターネットサービス・ユーザーのマジョリティはスマホ利用者ですから、多数項目を扱いたいユーザーと少数項目を扱いたいユーザーでどちらが優遇されるかと言えば、当然に後者です。僕のように、PCから多数項目を扱いたいユーザーはマイノリティであり、見捨てられる側にあるのです。

「はてな」としては、PC(キーボード・マウス&ディスプレイ)でないと操作困難な機能は削り落として、スマホ画面でのユーザビリティを第一に考えたデザインに移行したい、ということでしょう。(もっとも、スマホユーザーは専用アプリを使うだろうと想定すると、奇妙な方針なんですが。)

新ユーザーページへの賛否は、世代や年齢に依るというより、サービスをスマホで/またはPCでもスマホ的にしか利用しないユーザーと、キーボード・ディスプレイからも利用したいユーザーのあいだでの差のように思われます。あるいは、ユーザーページをエンターテインメント・アプリケーションと捉えるか、データへのクエリー・フロントエンドとみなすかの差だとも言えそうです。

一画面に表示できる項目数が少ない

新ユーザーページのデザインは次のようです。

*2

ご覧のように、一画面4項目しか表示できません。でかいディスプレイでも数項目です。

旧ユーザーページの画像がないので、ユーザーページではないのですが「嫁のはてブ」の画面を見てみると:

10項目表示されています。もちろん、一項目あたりの情報は少なくなりますが、一度にたくさんの項目をスクロールなしで見たいことがあるのです。

大画面であれば、10項目をさらに横に3列で30項目くらいは詰め込めますが、はてなブックマークに限らず、最近のユーザーインターフェイスはテキスト情報の詰め込みは嫌がるようです。僕は、できるだけたくさんの項目を一覧できたほうが助かるんですけど。

タグによる検索・絞り込み操作が非効率的

一覧性の欠如より困っているのは、タグによる検索・絞り込みがまともに出来ないことです。以前は、次のようなタグ入力インターフェイスが備わっていました。

*3

僕がはてなブックマークを使うとは、このタグ入力フィールドを使うことでした。このフィールドには入力自動補完機能が備わっていて、候補タグ群をインクリメンタルに絞り込めます。この際にタグクラウドが動的に変化するのも、大変に助かるフィードバックでした。

現在の新ユーザーページでも、タグによる検索・絞り込みはできます。しかし、タグ名のテキスト入力ではなくて、サイドエリアのタグリストをクリックします。僕のタグ総数は数百あるんで、リストからの選択は現実的ではありません*4。ひとつのタグの検索結果においてさえ、関連タグがさらに200くらいあったりします。

思い付きでタグを付けまくるので、未整理で混沌としてますが、それでも上記の優れたタグ入力フィールドのおかげで、クエリーシステムとして十分に使い物になってました。

後からの検索のために、タグ名に工夫を凝らしているいる方もいるようです。

僕はそこまで律儀にはやってませんが、タグ名の自動補完を前提に、似たトピックには同じキーワードを含める程度の注意はしてます。が、タグ入力フィールドがないなら工夫も意味ねーなー。

時代は変わった

はてなブックマーク・ユーザーページのようなインターフェイスに、僕はデータハンドリングのオペレーション・コンソール(操作卓)としての機能を期待しているところがあります。しかし、スマホを含めたコンピュータを、コンソールとして使いたい人(の相対比率)は激減しているでしょう。ひょっとして絶滅危惧種なのかも知れません。

以前(2012年)僕は「インターネットはテレビに負けた」という記事を書いたことがあります。

テレビの特徴は、情報を受動的に視聴することだと僕は思うのですけど、「受動的」ってのはラクチンなんですよね。能動的な情報取得はシンドイときがあります。結局、多くの人はラクチンなほうがいいわけで、インターネットはより受動的な方向に向かうだろう、と思います。それが良いか悪いか判断できないのですけど。

コンピュータという機械も、大部分の人にとってテレビと同類の機械なのだろう、と思います。そのインターフェイスが、コンソール的からテレビ的へと移行するのは、止めようがない流れなのでしょうが、個人的には困ってます。

*1:PCはPersonal Computerのことで、特定の機種やOSを意味してはいません。

*2:画像: http://b.hatena.ne.jp/guide/userpage より

*3:画像: http://b.hatena.ne.jp/help/entry/tag より。これは「タグで分類」というヘルプページです。今でもヘルプには、旧ユーザーページのこの機能が載っています。

*4:覚えているタグについては、URLとしてブラウザ・アドレスバーから入力しています。

2017-07-04 (火)

ユークリッド空間って何なんだろう?

| 11:08 | ユークリッド空間って何なんだろう?を含むブックマーク

ユークリッド空間」という言葉はよく使われますが、色々な意味を持つ多義語です。その多義性について考えてみます。

内容:

  1. 距離空間としてのユークリッド空間とデカルト空間
  2. 具象圏における標準ユークリッド対象
  3. ユークリッド対象
  4. ユークリッド空間とは

追記があります。→「奇妙なユークリッド空間とデカルト構造

距離空間としてのユークリッド空間とデカルト空間

nLabの"Euclidean space"のエントリーを見ると、ユークリッド空間は次のように定義されています。

In the strict sense of the word, Euclidean space En of dimension n is, up to isometry, the metric space whose underlying set is the Cartesian space Rn and whose distance function d is given by the Euclidean norm.


厳密に(あるいは狭い意味で)言葉を使うなら、n次元のユークリッド空間Enとは、その台集合がデカルト空間Rnであり、その距離がユークリッドノルムで与えられる距離空間と等長同型な距離空間のことである。

これこそがユークリッド空間だ、ということではなくて、狭い意味で「ユークリッド空間」が使われるときはこんなだろう、ということです。この定義のなかでデカルト空間(Cartesian space)という言葉が出てきますが、デカルト空間の定義は:

A Cartesian space is a finite Cartesian product of the real line R with itself. Hence, a Cartesian space has the form Rn where n is some natural number (possibly zero).


デカルト空間は、実数直線R(のコピー)を有限個直積したものである。したがって、デカルト空間は、ある自然数(ゼロでもよい)nに対してRnの形をしている。

デカルト空間のことをユークリッド空間と呼んでしまうことも多いと思います。つまり、広義のユークリッド空間は、Rn、またはRnと同型な集合/空間のことでしょう。

一般にnLabの記述は、圏論を使ってうまく整理してあることが多いのですが、ユークリッド空間/デカルト空間に関してはあまりスッキリしませんね。狭い意味の実例(距離空間)と広い意味の一般概念(デカルト空間)を取り上げているだけで、「ユークリッド空間」のその他の用法は説明していません。

具象圏における標準ユークリッド対象

Cが、集合圏Setへの忠実関手 U:CSet を持つとき、(C, U)を具象圏(concrete category)と呼びます。Uは忘却関手と言ってもいいですが、忘却関手の定義がハッキリしないので、ここでは台集合関手(underlying-set functor)と呼びます。以下、単に具象圏Cと言ったら、Cには台集合関手が付属しているとします。

台集合関手が存在していることから、Cの対象は集合に構造を載せたものと解釈できます。射は構造を保存する写像です。よく知られた圏、例えばOrd(順序集合の圏)、Top位相空間の圏)、Grp(群の圏)、FdVectRR上の有限次元ベクトル空間の圏)などは具象圏です。

{Rn | n = 0, 1, 2, ...}は可算個の集合からなる集まりですが、これは、|Set| = Obj(Set) の部分集合となります。Cが具象圏のとき、台集合関手 U:CSet があるので、自然数nごとに次の集まり(小さな集合とは限らない)があります。

  • U-1(Rn) = {X∈|C| | U(X) = Rn}

C標準ユークリッド対象(standard Euclidean objects)を持つとは次のことだとします。

  1. 任意の自然数nに対して、U-1(Rn)が空ではない。
  2. 各nごとに、U-1(Rn)に属する対象が1つだけ特定されている。

各nごとに特定されてた対象をEnCと書いて、Cの標準ユークリッド対象と呼びましょう。文脈から明らかなら、EnCを単にEnと書きます。つまり、E(-):N→|C| という単射があります。標準ユークリッド対象はC内に可算個存在します。

どうやっても標準ユークリッド対象を持てない具象圏もあります。例えば、有限群の圏をFinGrpとすると、U-1(Rn)は空になってしまいます。C内に、台集合がRnである構造が存在する必要があります。

標準ユークリッド対象の「標準」が何であるかを一般的に規定することは出来ませんが、個々の典型的ケースにおいては、常識的な標準構造を定義できます。

  1. R上の有限次元ベクトル空間の圏FdVectRの場合: (普通の意味での)標準的なベクトル空間構造。
  2. R上の有限次元ヒルベルト内積ベクトル)空間の圏FdHilbRの場合: 内積は次のように定義する。
     (x|y) ¥: := ¥sum_{i = 1}^{n} x_i y_i
  3. 距離空間の圏Metの場合: 距離は次のように定義する。
     d(x, ¥, y) ¥: := ¥sqrt{¥sum_{i = 1}^{n} (y_i - x_i)^2 }
  4. 位相空間の圏Topの場合: 上記の距離から定義される位相を考える。
  5. 可測空間の圏Measの場合: 上記の位相から決まるボレル集合代数を考える。
  6. なめらかな多様体の圏CManの場合: (普通の意味での)標準的ななめらかな構造を考える。

これらの圏においては、標準ユークリッド対象En(n = 0, 1, 2, ...)が決まるので、標準ユークリッド対象を持つ圏になります。

ユークリッド対象

具象圏Cが標準ユークリッド対象を持つとします。標準ユークリッド対象は、n = 0, 1, 2, ... でインデックスされた可算個しかありません。圏論では、同型なものを区別する必要はないので、(一般の)ユークリッド対象(Euclidean object)を次のように定義します。

  • X∈|C| がユークリッド対象であるとは、あるnに対して X ¥stackrel{¥sim}{=} En in C であること。

Cユークリッド対象の全体をEuc(C)とするなら:

  • Euc(C) = {X∈|C| | ∃n∈N.(X ¥stackrel{¥sim}{=} En) }

集合圏Setにおいて、En = Rn として標準ユークリッド対象を定めて、一般のユークリッド対象を考えると、あんまり面白くない結果になります。集合の同型は基数で決まるので、Rと同じ基数を持つ全ての集合がSetユークリッド対象になります。Setユークリッド対象では次元は意味を持ちません。

R上の有限次元ベクトル空間の圏FdVectRでは、すべての対象がユークリッド対象になります。どんな有限次元ベクトル空間も適当なEnと同型になるからです。同様に、R上の有限次元ヒルベルト空間の圏FdHilbRでも、すべての対象がユークリッド対象です。

距離空間の圏Met位相空間の圏Top、可測空間の圏Meas、なめらかな多様体の圏CManでは、ユークリッド対象ではない対象がたくさんあり、ユークリッド対象は扱いやすい特別な対象という位置付けになります。

ユークリッド空間とは

集合圏のようなイレギュラーなケースを排除するために、標準ユークリッド対象を持つ具象圏Cに次の条件を付けるといいでしょう。

  • n ≠ m なら、EnとEmC内で同型ではない。

先に出した事例で、集合圏以外はすべてこの条件を満たします。

ユークリッド対象は、その対象が所属する圏ごとに、それらしい呼び名で呼ばれるでしょう。例えば、ユークリッド・ベクトル空間、ユークリッド位相空間ユークリッド多様体、のように。nLabの狭義のユークリッド空間は、圏Met(ただし、同型は等長同型とする)におけるユークリッド対象、つまりユークリッド距離空間です。

ユークリッド空間」が多義的なのは、圏ごとにユークリッド対象があるからです。異なる圏のユークリッド対象の実体は違うでしょう。共通していることは、Rnを台集合として、標準的(standard, canonical)な構造と同型な構造を持つことです。


追記があります。→「奇妙なユークリッド空間とデカルト構造

奇妙なユークリッド空間とデカルト構造

| 15:54 | 奇妙なユークリッド空間とデカルト構造を含むブックマーク

ユークリッド空間って何なんだろう?」への追記ですが、別エントリーとします。

ユークリッド空間って何なんだろう?」において:

標準ユークリッド対象の「標準」が何であるかを一般的に規定することは出来ませんが、個々の典型的ケースにおいては、常識的な標準構造を定義できます。

ここに出てくる標準性をチャンと定義することは無理な気がします。「常識的なアレ」とか「一番自然なヤツ」とかを定義するわけだから、こりゃ難しいよね。

奇妙なユークリッド空間

ユークリッド空間って何なんだろう?」で提示した標準ユークリッド対象の定義だと、常識的でもなく自然でもない標準ユークリッド対象を作れます。

コンパクト位相空間の圏をCompTopとしましょう。CompTopのなかに標準ユークリッド対象を構成します。まず、E0は一点空間とします。n≧1 に対するEnを次のように定義します; 普通に位相を入れたRnを一点コンパクト化した空間を作ります。これの台集合は Rn∪{∞} で、無限遠点が余分です。Rn原点と∞を同一してした空間をEnとします。Enはコンパクトで台集合はRnです。E1は「8」の形で、E2は球面(それを地球表面だと思って)の北極と南極を引っ付けた図形です。

以上の定義で、コンパクト位相空間の圏CompTopは標準ユークリッド対象を持つことになります。が、変形した円や球をユークリッド空間と呼ぶのは違和感があります。奇妙なユークリッド空間を排除する方法はないのでしょうか?

デカルト構造を取り入れる

標準性をチャンと定義するのは無理にしても、変なユークリッド空間を排除する方法はあります。

具象圏Cの標準ユークリッド対象は、自然数の集合NからCの対象類|C|への単射でした。これは、離散圏とみなしたNからCへの関手です。よって、Cの標準ユークリッド対象は関手 E:NC として記述できます。

関手としての標準ユークリッド対象の定義域を離散圏Nから一般化します。次のような圏Lを考えます。

  • |L| = N
  • Lデカルト圏(直積と終対象を持つ圏)で、足し算 n + m が対象の直積、0が終対象を与える。

このようなLローヴェル・セオリー(Lawvere theory)と呼びます。Lデカルト圏なので、i番目の射影 πni:n→1 とか終対象への唯一の射 !n:n→0 などを持ちます。

一般のローヴェル・セオリーを考えるのは一般化のし過ぎだと思うので、最小のローヴェル・セオリー、つまりローヴェル・セオリーの圏の始対象をLとします。Lは、射影πniや終対象への射!nを持ちますが、余計な射は持たないものです。

LからSetへの関手Eで、E(1) = Rで直積を保つものを考えます。この関手 E:LSet が、{Rn | n = 0, 1, 2, ...}の代わりになります。関手Eは、集合のN-インデックス族だけでなくて、そのあいだの射影関数も一緒に考えたものになります。

Cデカルト構造(終対象と直積)を持つ具象圏とします。Cの台集合関手 U:CSet は、単なる忠実関手ではなくて、デカルト構造を保つ(respect, preserveする)関手とします。この状況で、関手 F:LC標準ユークリッド対象(standard Euclidean objects)だとは、次が成立することだと定義します。

  • '*'を関手の図式順結合として F*U = E : LSet

定義のなかにデカルト構造が含まれることから、Fn = F(n) は、F1 = F(1) の直積でなくてはなりません。これにより、前節の奇妙なユークリッド空間の例は、標準ユークリッド対象の定義を満たさないことになります。

デカルト空間やユークリッド空間の概念のなかには、「単一の集合/空間から直積構成で作られるもの」という暗黙の前提が入っているように思えるので、標準ユークリッド対象の系列が、単一の生成対象(generating object)と直積で構成されると規定するのは自然な気がします。

2017-06-29 (木)

食券販売機のユーザーインターフェースについて: ひとつのアンチパターン

| 18:23 | 食券販売機のユーザーインターフェースについて: ひとつのアンチパターンを含むブックマーク

しばらく記事の更新が滞っておりました。そのあいだにあったことを書きます。松屋が期間限定で「ごろごろ煮込みチキンカレー」を発売しました。2017年6月6日からのことです。

凄まじく絶賛しているブログ記事があったりします。

6月21日(水曜)には終了のようだったので、6月19日(月曜)食べに行きました。このカレーについて言えば、確かに評判通り「凄い気合の入れよう」でした。([追記 date="2017-07-07"]今日、松屋の前を通ったら、まだ「ごろごろ煮込みチキンカレー」やっているみたい。6月21日で終了はガセネタだったのか?[/追記]

でも話題はカレーじゃなくて、松屋の食券販売機のことです。僕は、「ごろごろ煮込みチキンカレー」の食券を買うのに手間取ってオタオタしてしまいました。後ろに他の人が並んでいて、ホント焦ってしまって、冷や汗ものでしたよ。カレーが出てきても動悸が収まらず、せっかくの秀逸なカレーの味も(最初のうちは)堪能できませんでした。なんですか、あの券売機は?!


飲食店の食券販売機、例えばラーメン屋さんとかのヤツですと、ドリンクの自動販売機と大差ありません。違うのは、複数の商品を買うので[決定]ボタン([お釣り]とラベルされていることも)があることです。「俺流塩ラーメン 中目黒店」で、

  1. 塩らーめん ¥670
  2. 半ライス ¥150
  3. 餃子 ¥200

を頼むなら*1、次のようにします。

  • 千円札と百円玉を入れる。
  • 3つのボタンを押す。
  • 決定する。
  • 食券が3枚とお釣りが80円出てくる。

何も迷うことはありません。


松屋の券売機って、タッチパネル方式でソフトウェア実装なんですよね。昔は、ドリンク自販機や「俺流塩ラーメン」と同様な機械式だったようです(下の画像は2012年10月4日のもの)。

*2

これでは、季節ごとに変わるメニューや期間限定のキャンペーンへの対応が困難でしょう。ソフトウェア方式への移行は当然と言えます。2014年くらいにはソフトウェア方式に切り変わったようです(下の画像は2015年9月11日のもの)。

*3

ソフトウェアなら、データをを変えるだけで変更に対応できるし、必要があればプログラムの修正と再配布も容易です。それは必然の流れだからいいんだけど、ソフトウェアのデキが悪すぎんじゃないの、松屋のアレは。

松屋券売機は、階層型メニュー(ソフトウェア用語の「メニュー」)インターフェイスを全画面で実装したようなものです。操作手順は、先に引用した記事「松屋の「ごろごろ煮込みチキンカレー」は絶対に食べるべき“日本カレー”の到達点 この柔らかチキンとスパイス感が590円で提供される世の中に感謝しかない」にあります(この操作を予習しときゃよかった)。

トップレベルで「店内」か「お持ち帰り」かの二択から選択します。その下の階層は、たぶん(記憶が定かでないけど):

  • 牛丼
  • カレー
  • 定食
  • ...

みたいな感じ。僕はカレーを選んだんですが、目的の「ごろごろ煮込みチキンカレー」がない。で、「戻る」ボタンを探して、「一階層戻る」だか「トップレベルに戻る」だか「キャンセル」だか、焦っていたんで何だか覚えてないけど何かやって、「アレ、ない、どこだ、どこ?」とかウロウロして … 実は、二階層目に「期間限定メニュー」というカテゴリ項目があって、その下に「ごろごろ煮込みチキンカレー」が配置されていたのでした。

最初「カレー」に目が行ってしまい、カレーの下を探してしまったのです。一覧性が欠如しているので、どこに何があるか見当が付かないです。戻り方もよく分からない。複数の商品を組み合わせて買うのはどうしたらいいかも分からない。あと、お金を入れるタイミングも分からないです。僕の記憶では「決定」ボタンがなかったと思います。なんだか分からないままにお釣りが出てきました。


食券販売機に、カテゴリに分類した階層型メニュー方式を採用するのはバッドアイディアだと思いますよ。例えば、中華料理屋さんで餃子定食が食べたいとします。トップレベル・メニューが:

  • 定番
  • 本日のお勧め
  • ランチサービス

だったら、どれ選ぶんだよ!? 「定番かな?」と選ぶとその下が:

  • 麺類
  • ご飯物
  • 点心

ワシャ餃子とご飯が食べたいんじゃーッ、ムキーッ!! ってなりませんか。


[追記]

操作マニュアル動画が公開されているので(今さら)見ました。

D

この動画だと、直接「ごろごろ煮込みチキンカレー」が買えるような印象ですが、実際は「期間限定メニュー」を選択して下の階層に降りてから「ごろごろ煮込みチキンカレー」を選ぶんだったと思います。画像 http://livedoor.blogimg.jp/narumiii/imgs/1/8/189580b4.jpg を見れば状況を察することができるでしょう。

この動画によると、お金は最後に入れればよくて、動的(状態依存)に出現する[おつり]が[決定]に相当するようです。が、おつりが一定額以下だと自動で決定されたように思います。あらためて見ると、買い物カゴとかタブ切り替えとか、PCのGUI類似のUIコンポネントを使っています。

PC GUIには比較的慣れている僕が焦ってしまったのは、券売機を「階層型メニュー + ウィザード(4ステップ) + タブ切り替え + 買い物カゴ + 動的ボタン」で操作するなんて思ってもいなかったからです。僕が券売機に抱くメンタルモデル(心の準備)とまったくかけ離れてます

[/追記]

*1:僕は大食じゃないのでこんなに頼みませんけど。

*2:画像:http://brogmeshikue.at.webry.info/201210/article_40.html松屋のメニュー複雑すぎ」より

*3:画像:http://tanken.guidenet.jp/?p=45549 「店舗リニューアルと新メニュー 松屋 入谷」より

内海内海 2017/06/30 13:55 松屋の券売機、 確かに決定ボタン無いから戸惑います ^^; 青い戻るボタンと赤いおつりボタンしかないから、 注文をちゃんと受け付けてくれたか分かんないんですよね。 違う牛丼チェーンだとなか卯のやつもUIは酷くて、 お金入れる前に商品ボタン押すと注文出来ずに結構大きめの音声で「先にお金を入れてください」 って注意されるんだけど、 どのメニュー食べるか迷ってる時は何円入れればいいか分かんないんですよね。 完全になか卯に来た事がある前提でシステム作っちゃってる感じ ^^;

m-hiyamam-hiyama 2017/06/30 15:13 内海さん
> 完全になか卯に来た事がある前提でシステム作っちゃってる感じ ^^;
ですよね。初めて、あるいは慣れてないとホント戸惑う。
追記に書きましたが、操作マニュアルをインターネットで公開しているんですよ。
マニュアルが必要な券売機ってどうなのよ? と思います。みんなが事前にマニュアル見るわけもないし。

2017-06-12 (月)

平面タングル、空間タングル、ブレイドなんかが“もつれた”話

| 09:27 | 平面タングル、空間タングル、ブレイドなんかが“もつれた”話を含むブックマーク

単純平面タングルとカウフマン図のキャンバス・基準点について」において、平面タングルに触れました。平面タングルを空間タングルに一般化して、その後で特殊化することでブレイドが出てきます。結び目や絡み目もタングルの特殊なものとして出現しますが、それらの相互関係はけっこうややこしいです -- 絡み合い、もつれ合っています。

内容:

  1. 平面タングルとその変種
  2. 空間タングルとその変種
  3. 方体タングル
  4. ブレイド
  5. タングルの定義
  6. 幾何タングル
  7. 結び目、絡み目、ブレイド
  8. 方体タングルのモノイド圏
  9. 記号的モノイド圏
  10. 組み合わせブレイド
  11. タングルの圏の公理的な特徴付け
  12. もつれを整理すると

平面タングルとその変種

平面タングル(planar tangle)は、穴あき円板をキャンバス(描画領域)にして、その上に紐(ワイヤー、糸、ロープなど)で模様を描いたものです。「単純平面タングルとカウフマン図のキャンバス・基準点について」では、平面タングルの特殊なものとして円環タングル(annular tangle)と、キャンバスが矩形となる矩形タングル(rectangular tangle)も紹介しました。

(一般的な)平面タングル、円環タングル、矩形タングルの三者について表にまとめましょう。

タングルの種類 キャンバス 入口境界 出口境界
平面タングル 穴あき円板 幾つかの円 ひとつの円
円環タングル 円環 ひとつの円 ひとつの円
矩形タングル 矩形 線分 線分

キャンバスは2次元の領域です。キャバスの境界の一部が入口境界(incomming boundary)と出口境界(outgoing boundary)になっています。入口境界と出口境界上に点(ドット)が乗っていて、それらの点が紐の両端になります。

キャンバス上に描かれた紐模様が圏の射となります。圏の対象は、ドットの集合です。入口境界上のドットの集合が射の域、出口境界上のドットの集合が射の余域となります。ドットに個性はないので、ドットの個数を指定すればドットの集合を記述できます。そのため、圏の対象は自然数(0, 1, 2, ...)と同一視します。

空間タングルとその変種

平面タングルのキャンバスを2次元から3次元へと一般化します。空間領域をキャンバスとします。ここで「空間」は、我々が棲んでいる3次元空間のことです。

タングルの種類 キャンバス 入口境界 出口境界
空間タングル 穴あき球体 幾つかの球面 ひとつの球面
球殻タングル 球殻 ひとつの球面 ひとつの球面
方体タングル 方体(直方体) 矩形 矩形

「平面→空間(3次元)」という一般化にともない、「円板→球体」、「円(周)→球面」、「矩形→方体」、「線分→矩形」のような一般化をしています。球殻は、球体から内部の球体を抜いた形、アンコを取り去ったおまんじゅうのような形です。入口境界と出口境界の面上にいくつかのドットを打ち、紐はドットとドットを結ぶように配置します。全般に次元が1上がります。

紐は交差したり分岐したり切れたりしませんが、3次元なので絡み合う/もつれ合うことができます。事情は非常に複雑になります。上の3種のタングルのなかでは、方体タングル(cubical tangle)が一番扱いやすいでしょう。以下、方体タングルに注目することにします。

方体タングル

方体タングルのキャンバス領域は、3次元の方体(直方体)なので、箱とか部屋にたとえることができます。入口境界が天井で、出口境界が床と考えましょう。紐の端になるドットは、直線上に配置されていることにします。

上の絵で、赤はドットが並ぶ直線(線分)で、4個のドットが並んでいます。ドットからドットへと向かう紐は、部屋の内部を通ります。紐の様子は次のような図で描けるでしょう。結び目図(knot diagram)と同じ要領で、交差部分で奥行きが分かるように描きます。

方体タングルでも、複雑な絡み合い/もつれ合いは生じます。

絡み合い/もつれ合いは難しいですね。

ブレイド

方体タングルでは、天井から天井、床から床への紐を認めています。このような紐がつながると、天井にも床にも壁にも触らないで、部屋の内部で閉じる紐ができます -- 結び目(knot)ですね。単一の結び目に限らず、複数の結び目がさらに絡み合う状況も生じます -- 絡み目(link)ですね。

事情を単純にするために、天井から床に向かう紐しか認めないことにします。このように制限した方体タングルはブレイド(braid; 組み紐)になります。ブレイドについては次の記事に書いてあります。

*1

ブレイドを平面に投影して、2種の交差が区別できるように描いた図をブレイド図(braid diagram)と呼ぶことにします。ブレイド図の全体は圏をなします。ブレイド図の圏に関しては、次を参照してください。

2つの結び目図(結び目の射影図)が同じ結び目を表すのは、ライデマイスター移動(Reidemeister moves)で互いに移れるときです。同様に、ライデマイスター移動で互いに移れる2つのブレイド図は同じブレイドを表します。このとき使うライデマイスター移動は、II番とIII番だけで、ライデマイスター移動I番は使いません。(以下の図の左と右を入れ替えるのがライデマイスター移動。まん中は移動の中間状態。)

ブレイドの同値性を定義するにはもう少し精密な議論が必要ですが、後でまたブレイドの話題に触れます。

タングルの定義

今まで、タングルやブレイドという言葉を正確には定義していませんでした。キッチリ議論するなら、例えば「タングル」という言葉の4種の意味を区別すべきです。

  1. 幾何タングルのインスタンス: 幾何的に定義された個々の図形(のパラメータ表示)
  2. 幾何タングルのクラス: 幾何的に定義された個々の図形の同値類
  3. 組み合わせタングルのインスタンス: 組み合わせ的に定義された語(記号の組み合わせ)
  4. 組み合わせタングルのクラス: 組み合わせ的に定義された語の同値類

方体タングルに関して、幾何的な定義をしてみましょう。定義の舞台となる圏の選び方が色々ありますが、ここでは位相多様体連続写像の圏で考えることにします。図形はこの圏の対象 -- つまり位相多様体だけを考えます。

I = {x∈R | 0≦ x ≦1} とします。I3 = I×I×I を(標準的な)方体とします。z軸が鉛直方向(重力方向)下から上に向かうとみなして、床の線分H0と天井の線分H1を定義しておきます。

  • H0 = {(x, 1/2, 0)∈I3 | 0< x <1 }
  • H1 = {(x, 1/2, 1)∈I3 | 0< x <1 }

床の中央線H0の代わりに床全体、天井の中央線H1の代わりに天井全体でもいいのですが、線分H0, H1を定義しておくと若干話が簡単になります。例えば、線分上に乗る有限個の点には全順序を付けることができます。

さて、Xを1次元コンパクト(位相)多様体とします。1次元(境界を許す)コンパクト多様体は線分と円周の有限直和です。円周をS1と書くなら:

  • X ¥stackrel{¥sim}{=} I + ... + I + S1 + ... + S1

と書けます。線分Iの個数をn、円周S1の個数をmとして、次のように書くことにします。

  • X ¥stackrel{¥sim}{=} nI + mS1

3I + 2S1 = (| | | ○ ○)

同相な図形は同一視してしまう、あるいは同相な類から代表を1つだけピックアップすると考えれば、

  • X = nI + mS1

としてもかまいません。

幾何タングルのインスタンス(geometric tangle instance)は、α:X→I3 という連続写像で、次の条件を満たすものです。XはXの内部、∂XはXの境界です。

  1. αは埋め込みである。Xと像α(X)は同相な多様体
  2. α(X) ⊆ (I3)
  3. α(∂X) ⊆ (H0∪H1)

2番目の条件は、紐の両端以外の部分は、部屋の天井・床・壁に接触しないことを表しています。仮に接触しても、少し紐を動かせば部屋の内部に収まりますが、最初からこの条件を付けておくことにします。

3番目の条件は、紐の両端は天井と床の中心線(H0とH1)に乗ることを表しています。X = nI + mS1 だったので、∂Xは2n個の点からなります。k0 + k1 = n + m となる2つの整数k0, k1があり、次の状況となります。

  • α(∂X)のうちk0個の点がH0内にあり、k1個の点がH1内にある。

今定義した幾何タングルのひとつひとつのインスタンスを別々なものとみなすのではなくて、似たものは「同じ」とみなします。「同じ」とみなす基準を次節で述べます。

幾何タングル

α:X→I3, β:Y→I3 を2つの幾何タングルのインスタンスとして、XとYが τ:X→Y で同相であり、α = τ;β のとき、αとβは「同じ」とみなします。αとβがこの意味で「同じ」とき、α(X)とβ(Y)はI3の部分多様体として同じになります。αとβは、描いた図形の形状(=点集合)は同じでパラメータ表示方法(=動作としての描きっぷり)の差があるだけです。

描かれた図形をグニグニ動かしてもいいということを表すためには、アンビエント・イソトピーを使います。Φ:[0, 1]×I3I3 という連続写像があるとき、φt(p) := Φ(t, p) と書くことにします。

2つの幾何タングルのインスタンス α, β:X→I3 に対して、Φ:[0, 1]×I3I3 が、αからβへアンビエント・イソトピー(ambient isotopy)だとは:

  1. tがなんであっても、φt:I3I3同相写像である。
  2. tがなんであっても、φt(H0) = H0 で、φtをH0に制限したものはH0同相写像となる*2
  3. H1に関しても前項と同様。
  4. φ0I3の恒等写像
  5. φ1¥circα = β ('¥circ'は反図式順結合の記号)

αからβへのアンビエント・イソトピーΦがあるとき、αとβはアンビエント・イソトピック(ambient isotopic)と呼びます。1次元コンパクト多様体Xを固定すると、Xからの幾何タングル・インスタンスの全体にはアンビエント・イソトピックによる同値関係が入ります。

「パラメータ表示の違いしかないなら同じ」と「アンビエント・イソトピックなら同じ」という2つの同値関係を組み合わせた同値関係を考えて、これを幾何タングルのインスタンスのあいだの同値関係とします。

幾何タングルのインスタンス全体に今述べた同値関係を入れて、その同値類を幾何タングルのクラス(geometric tangle class)と呼びます。単に幾何タングルと言ったときは、幾何タングルのクラスのことです。あるいは、クラスの代表としてのインスタンスのことです。個々のインスタンスを別物として扱うことはありません。

ここまでの定義では、幾何タングルのインスタンスとクラスを区別しましたが、実際に区別されることはほとんどなくて、文脈により適宜解釈を変えます。

結び目、絡み目、ブレイド

αは幾何タングル(クラスの代表となるインスタンス)とします。αの定義域は X ¥stackrel{¥sim}{=} nI + mS1 だとします。ここで、n, mは任意の自然数で、nが線分(閉区間)の個数、mが円周の個数です。Xの位相同型類は自然数n, mで完全に決まります。

n = (線分の個数), m = (円周の個数) に対して制限を付けます。すると、タングルの特殊ケースが定義できることになります。

  1. n = 0, m = 1 : ただひとつの円周S1から方体I3への写像で定義されるタングル。
  2. n = 0, m = m (制限なし) : m個の円周mS1から方体I3への写像で定義されるタングル。
  3. n = n (制限なし), m = 0 : n個の線分nIから方体I3への写像で定義されるタングル、ただし、天井から床に向かう紐しか認めない。

上記の特殊なタングルには名前が付いていて、次のように呼びます。

  1. 結び目(knot)
  2. 絡み目(link)
  3. ブレイド(braid)

ブレイドだけを相手にしたいときは、パラメータ表示 β:nII3 をもっと制限して考えたほうが便利です。例えば:

  • 紐の境界の点を (i/(n + 1), 1/2, 1), (i/(n + 1), 1/2, 0) (i = 1, 2, ..., n)に限定する。
  • βを β(i, t) (i = 1, ..., n, 0≦ t ≦1) の形に書くとして、π3はz方向への射影として、iがなんであっても π3(β(i, t)) = t。

こうすると、tを時間パラメータと考えて、ブレイドに対する次の描像が生まれます。

  • 初めは直線状にキチンと整列していたn個の点が、2次元矩形内で互いに接触せずに動き回り、最後はまたキチンと整列する。ただし、各点がもとの位置に戻るとは限らず、入れ替わるかも知れない。

方体タングルのモノイド圏

平面の一部に描かれる円環タングルや矩形タングルは、キャンバスの貼り合わせとサイズ調整(リスケーリング)により圏になりました。矩形タングルの場合は、左右に並べて貼り合わせることによりモノイド積が定義できて、モノイド圏となるのでした。

方体タングル(クラス)の全体もモノイド圏になります。モノイド圏の構造を与える方法は矩形タングルのときと同じです。

  • 圏の対象はドットの集合だが、自然数と同一視する。
  • 圏の射は方体タングル(のクラス)
  • 射の域(domain)は天井に並ぶ紐の境界であるドット(結合方向が上から下とする)
  • 射の余域(codomain)は床に並ぶ紐の境界であるドット(結合方向が上から下とする)
  • 射の結合は、キャンバス方体を縦にくっつけて位置とサイズを調整する。紐もちゃんと繋ぐ。
  • 対象のモノイド積は自然数の足し算、射のモノイド積はキャンバス方体を横に並べて位置とサイズを調整する。

こうして方体タングルの全体は圏となります。結び目、絡み目、ブレイド達は、方体タングルの圏の部分圏を形成します。しかし、結び目の圏と絡み目の圏は対象が1つ(0だけ)しかなく、モノイド積と結合が一致してしまい、モノイド圏と考えてもあまり嬉しくないです。でもブレイドの圏は、モノイド圏として考えることに意味があります。

記号的モノイド圏

幾何タングルは図形的な存在なので、絵に描けるし幾何的直感で扱うこともできます。しかし、記号計算の対象にはなりません。これでは不便なので、記号的な計算体系が欲しくなります。

記号的な計算体系を作るには次のようにします。

  1. 有限個の基本記号を準備する。
  2. 基本記号を組み合わせて記号列(複合記号)を作る規則を決める。
  3. 2つの記号列が「同じ」と判定する規則を決める。

記号列のことを(word)と呼びます。基本記号から語を作る規則(文法)は次のようなものです。

  1. 空列()は語である。()を空語とも呼ぶ。
  2. 基本記号は語である。
  3. AとBが語のとき、(A*B)は語である。
  4. AとBが語のとき、(A,B)は語である。
  5. 以上により定義されたものだけが語である。

この規則のなかで使われた丸括弧、星印、カンマは、基本記号(ユーザー指定記号)とは別に最初から準備されているシステム組み込み記号です。a, bが基本記号だとすると、次のような語を作れます。

  1. ()
  2. b
  3. (a*b)
  4. ((a*b);())
  5. (((a*b);())*(b;b;()))

この定義だと圏論的議論には適さないので、もう少し構造を追加します。基本記号の集合Σに、src, trg:Σ→N という写像を付けます。語に対しても src, trg を拡張しながら語を再定義します。

  1. 空列()は語である。src(()) = 0, trg(()) = 0 。
  2. 自然数nは語である。src(n) = n, trg(n) = n 。
  3. 基本記号xは語である。src(x), trg(x) は、x∈Σ なので最初から定義されている。
  4. AとBが語のとき、(A*B)は語である。src((A*B)) = src(A) + src(B), trg((A*B)) = trg(A) + trg(B) 。
  5. AとBが語で、trg(A) = src(B) のとき、(A,B)は語である。src((A,B)) = src(A), trg((A,B)) = trg(B) 。
  6. 以上により定義されたものだけが語である。

以上のようにして定義した語の集合をWord(Σ)とします。src, trg:Σ→N を拡張した写像 src, trg:Word(Σ)→N があり、埋め込み inj:Σ→Word(Σ) もあります。Word(Σ)に適当な同値関係を入れると、Nを対象とするモノイド圏ができます。このモノイド圏はPRO(「PROと代数系 -- toward 量子と古典の物理と幾何@名古屋』参照)なので、PRO(Σ)と書くことにします。

PRO(Σ) = (N, Word(Σ)/〜, dom, cod, id, ;, ¥otimes) として、語Aの同値類を[A]と書くなら:

  • dom([A]) = src(A)
  • cod([A]) = trg(A)
  • idn = [n]
  • [A];[B] = [(A,B)]
  • [A]¥otimes[B] = [(A*B)]

Word(Σ)上の同値関係が煩雑で退屈なので省略しましたが、PRO(Σ)は、我々が厳密モノイド圏に対して行う計算を形式化した記号的体系になっており、それ自身が厳密モノイド圏です。

組み合わせブレイド

自然数を対象、幾何ブレイド(クラス)を射とするモノイド圏をBraidとします。自然数Braidの対象)nに対してエンドセットBraid(n, n)を考えると、これは圏の結合を演算として群になります。これを、n-紐のブレイド群(braid group on n-strands)、あるいはn-ブレイド群と呼びます。

n-ブレイド群は、群の生成系(system of generators)と関係系(system of relations)による表示(presentation)を持ちます。(n - 1)個の生成元 σ1, σ2, ..., σn−1 から生成された自由群を考えて、そのなかで次の関係を導入します。

  1. |i - j| ≧ 2 のとき、 σiσj = σjσi (i, j∈{1, ..., n - 1})
  2. σiσi+1σi = σi+1σiσi+1 (i∈{1, ..., n - 2})

生成系と関係系で定義した群は組み合わせブレイド群(combinatorial braid group)または代数ブレイド群(algebraic braid group)と呼びましょう。組み合わせブレイド群の要素は、σ1, σ2, ..., σn−1 という(n - 1)個の記号とその逆σi-1を何個か(重複を許す)選んで並べたもの(これをブレイド語と呼ぶ)です。ただし、逆元の性質と上記の関係で同値なものは同一視します。

幾何ブレイド群と組み合わせブレイド群は同型です。この事実はアルチン(Emil Artin)により示されました*3(アルチンの定理)。上記の関係式はアルチン関係(Artin relations)と呼ばれます。2番目のアルチン関係は、幾何ブレイドのライデマイスター移動III番に対応します。

ブレイド群はブレイドの圏のエンドセットを取り出したものです。ブレイドの圏全体を組み合わせ的に(生成系と関係系により)定義できないでしょうか。これはアルチンの定理とほぼ同じように示せます。

  • Σ = {b, b'} を基本記号の集合とする。
  • src(b) = trg(b) = 2, src(b') = trg(b') = 2 とする。
  • 基本記号の集合Σから厳密モノイド圏PRO(Σ)を作る。
  • PRO(Σ)にアルチン関係と同様な関係を入れる。

PRO(Σ)に入れる関係は:

  • (b,b') = (b',b) = 2 (bとb'は互いに逆)
  • ((b*1),(1*b),(b*1)) = ((1*b),(b*1),(1*b)) (ライデマイスター移動III)

圏論の標準記法でもっと分かりやすく書けば:

  • b;b' = b';b = id2
  • (b¥otimesid1);(id1¥otimesb);(b¥otimesid1) = (id1¥otimesb);(b¥otimesid1);(id1¥otimesb)

“幾何ブレイドの圏”と“組み合わせブレイドの圏”を区別しないのは、アルチンの定理の圏論*4があるからです。つまり、次が成立します。

  • 幾何ブレイドの圏と組み合わせブレイドの圏のあいだには、対象類(N)上で恒等で可逆な厳密モノイド関手が存在する。

これは具体的で強い結果ですが、もっとザックリ言えば:

  • 幾何ブレイドの圏と組み合わせブレイドの圏は、モノイド圏として同値である。

幾何ブレイドの圏と組み合わせブレイドの圏は、モノイド圏としての構造からは区別できません。そして実際に、ほとんどの場合区別していません。

タングルの圏の公理的な特徴付け

モノイド圏にブレイド構造を入れたものとしてブレイド付きモノイド圏(braided monoidal category)があります。ブレイド付きモノイド圏の概念を使うと、ブレイドの圏は、単一の対象(1個の点)から生成されたブレイド付き厳密モノイド圏として特徴付けられます。別な言い方をすると、ブレイドの圏は「一番簡単なブレイド付きモノイド圏」です。

同様に、タングルの圏やその部分圏、変種の圏などを「一番簡単なナントカ圏」として特徴付けられないでしょうか? この問に答えるのはなかなかに面倒な話です。完成度の高い結果として、シャム(Mei Chee Shum*5)の定理をザッと紹介します。

太さも幅も持たない紐の代わりに幅を持つ帯を使ったタングルを考えます。幅を持ったタングルを枠付きタングル(framed tangle)と呼びます。「枠」とは、向き付き曲線の接ベクトルと接ベクトルに直交する法ベクトル、接ベクトル×法ベクトルというベクトル積で作られる3次元座標系に起因します。ただし、向きも接ベクトルも考えなくても、枠付きタングルの圏を幅(区間との直積)だけで定義できます。パラメータ空間のあいだの同型や、方体のなかでのアンビエント・イソトピーを使って同値関係を入れるのも同じです。

一方、モノイド圏に構造を付けたものとしてリボン圏ribbon category, a.k.a tortile category)があります。名前から、幅付き紐の公理化であろうと想像できます。シャムの定理は、この想像が当たりであることを教えてくれます。

  • 単一の対象から生成されたリボン圏は、枠付きタングルの圏とモノイド圏として同値である。

これは、アルチンの定理の圏論的な発展形と捉えることができます。

もつれを整理すると

タングルやブレイドを素材とする圏、あるいはそれらを公理化した圏(の種別)はたくさんあります。

  • ブレイド付きモノイド圏(braided monoidal category)
  • 対称モノイド圏(symmettric monoidal category)
  • トレース付きブレイド付きモノイド圏(traced braided monoidal category)
  • トレース付き対称モノイド圏(traced symmetric monoidal category)
  • バランス(ひねり)付きモノイド圏(blanced monoidal category)
  • 自律圏(autonomous category)
  • 旋回圏(pivotal category)
  • コンパクト閉圏(compact closed category)
  • リボン圏(ribbon category, tortile category)
  • ...

あまりに色々ありすぎてウンザリします。

セリンガーがこれらを整理するレポートを書いています。

モノイド圏の博物学という感じもしますが、一種のモデル理論と捉えることができます。記号的な定義が構文論で、幾何的な定義が意味論です。アルチンの定理やシャムの定理は、構文的定義と意味的定義の一致を主張しているので完全性定理です。

この種の完全性定理は、“テキスト=記号表現”と“絵=幾何表現”の関係を示しています。テキストと絵の関係を調べることは、証明やコミュニケーションのスタイルを変革する基盤形成になるかも知れません。

*1:画像は http://missanga.seesaa.net/article/21655811.html より

*2同相写像でも扱いが面倒なので、φtはH0, H1を動かさない、あるいはもっと強く、方体の境界は動かさないことにしてもいいです。

*3:アルチンの原論文(1946)がインターネット上にあります。http://www.maths.ed.ac.uk/~aar/papers/artinbraids.pdf 。同名(Theory of braids = Theorie der Zöpfe)のドイツ語論文は、それより20年も前の1926年に出ているようです。

*4圏論版アルチンの定理をハッキリと述べたのはジョイアル/ストリート(Andre Joyal, Ross Street)らしいです。知っていた人はたくさんいるでしょうが。

*5:Mei-Chi Shum という表記もありますが、本人による表記はCheeです。ちなみにMei Chee Shumは女性で、現在は保険会社の幹部です。

2017-06-06 (火)

滝沢カレンさんの言語芸術 その3

| 12:56 | 滝沢カレンさんの言語芸術 その3を含むブックマーク

滝沢カレンさんの言語芸術 その2」で、滝沢カレンさんのインスタグラムを紹介しました。

このインスタグラムから、滝沢さんの長文コメントを12個抜粋した紹介記事があります。

↑この抜粋だけでも、滝沢さん独自の言語世界をうかがい知ることは出来るでしょう。

最初に引用されている滝沢コメントに「国語はなんせ学生時代一番好きな学業だった」とありますが、他でも「子供の頃から読書も文章を書くことも好きだった」旨語っているので、書くことは苦ではないのでしょう。写真にコメントというより、もはや執筆活動です。

滝沢さんの日本語が「わざとだ」という可能性は非常に低いだろうと「滝沢カレンさんの言語芸術 その2」で書きましたが、別な見解として彼女は「言語障害ではないか?」と言う人もいます。「障害」を「常識的な範囲を逸脱している」という意味で使っているなら、「異能」とか「天才」と言い換えても差し支えないでしょう。ともかくも、良くも悪くも、あの語の組み合わせ方と造語のセンスは常人のものではないです。

情報伝達の機能性からは褒められた文章じゃないですが、これはやはり一種の芸(芸術 and/or 芸能)と見るべき言語表現のように思えます。

トラックバック - http://d.hatena.ne.jp/m-hiyama/20170606