はてなキーワード: 同値関係とは
定義 1: M理論の基本構造を、完全拡張可能な (∞,∞)-圏 M として定義する。
定理 1 (Lurie-Haugseng): M の完全拡張可能性は、以下の同値関係で特徴付けられる:
M ≃ Ω∞-∞TFT(Bord∞)
ここで、TFT は位相的場の理論を、Bord∞ は∞次元ボルディズム∞-圏を表す。
命題 1: 超弦理論の各タイプは、M の (∞,∞-n)-部分圏として実現され、n は各理論の臨界次元に対応する。
定義 2: 弦の標的空間を、導来 Artin ∞-超スタック X として形式化する。
定理 2 (Toën-Vezzosi): X の変形理論は、接∞-スタック TX の導来大域切断の∞-圏 RΓ(X,TX) によって完全に記述される。
定義 3: 弦場理論の代数構造を、∞-オペラッド O の代数として定式化する。
定理 3 (Kontsevich-Soibelman): 任意の∞-オペラッド O に対して、その変形量子化が存在し、Maurer-Cartan方程式
MC(O) = {x ∈ O | dx + 1/2[x,x] = 0}
の解空間として特徴付けられる。
定義 4: n次元量子場理論を、n-カテゴリ値の局所系 F: Bordn → nCat∞ として定義する。
定理 4 (Costello-Gwilliam-Lurie): 摂動的量子場理論は、因子化∞-代数の∞-圏 FactAlg∞ の対象として完全に特徴付けられる。
定理 5 (Kontsevich-Soibelman-Toën-Vezzosi): カラビ・ヤウ∞-スタック X と Y のミラー対称性は、以下の (∞,2)-圏同値として表現される:
ShvCat(X) ≃ Fuk∞(Y)
ここで、ShvCat(X) は X 上の安定∞-圏の層の (∞,2)-圏、Fuk∞(Y) は Y の深谷 (∞,2)-圏である。
定義 5: M理論のコンパクト化を、E∞-リング スペクトラム R 上の導来スペクトラルスキーム Spec(R) として定式化する。
定理 6 (Lurie-Hopkins): 位相的弦理論は、適切に定義されたスペクトラルスキーム上の擬コヒーレント∞-層の安定∞-圏 QCoh(Spec(R)) の対象として実現される。
定義 6: M理論の C-場を、∞-群対象 B∞U(1) への∞-函手 c: M → B∞U(1) として定義する。
定理 7 (Hopkins-Singer): M理論の量子化整合性条件は、一般化されたコホモロジー理論の枠組みで以下のように表現される:
[G/2π] ∈ TMF(M)
ここで、TMF は位相的モジュラー形式のスペクトラムである。
定義 7: 量子化された時空を、スペクトラル∞-三重項 (A, H, D) として定義する。ここで A は E∞-リングスペクトラム、H は A 上の導来∞-モジュール、D は H 上の自己随伴∞-作用素である。
定理 8 (Connes-Marcolli-Ševera): 量子重力の有効作用は、適切に定義されたスペクトラル∞-作用の臨界点として特徴付けられる。
定義 8: 弦理論の真空構造を、導来∞-モチーフ∞-圏 DM∞(k) の対象として定式化する。
予想 1 (∞-Motivic Mirror Symmetry): カラビ・ヤウ∞-スタック X と Y のミラー対称性は、それらの導来∞-モチーフ M∞(X) と M∞(Y) の間の∞-圏同値として表現される。
定義 9: 完全な量子重力理論を、(∞,∞)-圏値の拡張位相的量子場理論として定式化する:
Z: Bord∞ → (∞,∞)-Cat
定理 9 (Conjectural): M理論は、適切に定義された完全拡張可能な (∞,∞)-TFT として特徴付けられ、その状態空間は量子化された時空の∞-圏を与える。
情報と存在の関係を数理化するために、高次圏論、ホモトピー型理論、および量子場の理論を統合した形式化を提案する。
まず、(∞,∞)-圏 C を考える。この圏の n-射は n 次元の情報構造を表現し、これらの間の高次の関係性を捉える。存在を表現するために、この (∞,∞)-圏上の (∞,∞)-シーフを考える。
(∞,∞)-シーフ F: C^op → (∞,∞)-Cat を定義し、これを「存在の超シーフ」と呼ぶ。ここで、(∞,∞)-Cat は (∞,∞)-圏の (∞,∞)-圏である。F(X) は対象 X に関連付けられた存在の可能性の (∞,∞)-圏を表す。
このシーフ F は以下の超層条件を満たす:
任意の対象 X と X 上の ∞-被覆 {U_i → X}_i に対して、以下の ∞-極限図式が (∞,∞)-圏の同値となる:
F(X) ≃ lim[∏_i F(U_i) ⇉ ∏_{i,j} F(U_i ×_X U_j) ⇛ ... ]
次に、ホモトピー型理論 (HoTT) の拡張として、∞-累積階層理論 (∞-CUT) を導入する。これにより、以下の型構成子を定義する:
さらに、高次 univalence 公理を採用し、以下を仮定する:
(A ≃^n B) ≃^(n+1) (A =^n B)
ここで、≃^n は n 次の同値関係を、=^n は n 次の同一性型を表す。
量子場理論の概念を取り入れるために、圏値場の理論を拡張し、(∞,∞)-圏値場 Φ: Bord^(∞,∞) → (∞,∞)-Cat を導入する。ここで、Bord^(∞,∞) は無限次元ボルディズム圏である。この場は以下の公理的場論の条件を満たす:
Φ(M ∐ N) ≃ Φ(M) ⊗ Φ(N)
Φ(∅) ≃ 1
Φ(M^op) ≃ Φ(M)^*
ここで、⊗ は (∞,∞)-圏の対称モノイダル構造を、* は双対を表す。
情報と存在の動的な相互作用を捉えるために、導来高次代数の概念を用いる。C の導来 (∞,∞)-圏 D(C) を考え、F の導来関手 LF: D(C)^op → D((∞,∞)-Cat) を定義する。情報の流れに沿った存在の進化は、以下の超越的余極限として表現される:
hocolim^∞_i LF(X_i)
最後に、情報と存在の根源的な関係を捉えるために、トポス理論を無限次元に拡張した ∞-トポスの概念を導入する。∞-トポス E = Sh^∞(C) 内で、存在を表す対象 Ω^∞ を定義し、これを無限次元部分対象分類子とする。
経済を表現する空間を E とし、これを局所凸位相線形空間とする。価格空間 P を E の双対空間 E* の部分集合とし、商品空間 X を E の部分集合とする。
Z: P × Ω → X を一般化された超過需要関数とする。ここで Ω は外生パラメータの空間である。Z は以下の性質を満たす:
(b) 一般化された同次性:任意の λ > 0 に対して Z(λp, ω) ≈ Z(p, ω)
(c) 一般化されたワルラスの法則:<p, Z(p, ω)> = 0
ここで <・,・> は E* と E の間の双対性を表す
(d) 境界条件:p が P の境界に近づくとき、||Z(p, ω)|| は無限大に発散
価格の動的調整を表現するために、以下の無限次元力学系を導入する:
dp/dt = F(Z(p, ω))
ここで F: X → TP は C^1 級写像であり、TP は P の接束を表す。
定理1(均衡の存在):適切な位相的条件下で、Z(p*, ω) = 0 を満たす p* ∈ P が存在する。
証明の概略:KKM(Knaster-Kuratowski-Mazurkiewicz)の定理を一般化した不動点定理を応用する。
定理2(局所安定性):p* の近傍 U が存在し、初期値 p(0) ∈ U に対して、解軌道 p(t) は t → ∞ のとき p* に収束する。
証明の概略:リャプノフ関数 V(p) = ||Z(p, ω)||^2 / 2 を構成し、V の時間微分が負定値となることを示す。
不均衡状態における経済主体の行動を記述するために、以下の最適化問題を導入する:
最大化 U_i(x_i)
制約条件 <p, x_i> ≤ w_i + Σ_j p_j min{z_ij, 0}
ここで U_i は効用汎関数、w_i は初期富、z_ij は財 j に対する主体 i の超過需要である。
確率空間 (Ω, F, P) 上で、以下の確率微分方程式を考察する:
dp(t) = F(Z(p(t), ω))dt + σ(p(t), ω)dW(t)
ここで W(t) は適切な次元のウィーナー過程、σ はボラティリティ作用素である。
ε dp/dt = F(Z(p, ω))
この解析により、短期的な価格調整と長期的な均衡の関係を明らかにする。
定理3(一般化された不動点定理):P が局所凸位相線形空間 E の非空、凸、コンパクト部分集合であり、F: P → P が連続写像であるとき、F は不動点を持つ。
この定理を用いて、より一般的な経済モデルにおける均衡の存在を証明できる。
ε → 0 のとき、特異摂動問題 ε dp/dt = F(Z(p, ω)) の解の漸近挙動は、元の動的システムの長期的均衡と一致する。
常識的に考えて「公式が設けたガイドライン」というのと「ツイフェミが言ってたからダメ」というのは同値関係にならない、というのはわかる?
だって、その「お気持ち」の後ろにある背景が違いすぎるでしょ。
ツイフェミの「お気持ち」は「自分たちの主張を世間にも認めてもらいたいという気持ち」以上でも以下でもない。だって外野だもん。
よく考えたけど、なるでしょ。
えっとそれ単純に今思いついた嘘じゃん
いやなんか卒業文集に「将来は9000兆円欲しいです」って書いてたなら謝るけどさ
これ、確かに、2行目だけみたら、卒業文集に書いてある⇒欲している、だけで、書いてない時については何も言ってないように読める。
だけど、1行目を見ると、お前は、書いてない場合について、「今思いついた嘘」と断じている。つまり、卒業文集に書いていない⇒今思いついた嘘=欲していない、も成り立つ。
だから、p⇒qと!p⇒!qが同時に成り立つから、お前は、「卒業文集に書いてある」⇔「欲している」という同値関係を前提に話しているわけ。
やっぱりお前はバカ。
まあ自転車置き場の議論感はあるけど, 自転車置き場の議論は楽しいので許してほしい, と言い訳をした上で書く. くだくだしくどうでもいいことを書くのでお暇な方だけどうぞ. 私自身は円周率3.14で教えるべきか否か, というのには特に意見がない. それはそれとして, の話.
お前がその議論をどうしても続けたいんならしてやるが、同値関係とかの話にどうしてもなるぞ? 意味無いと思うならもうやめようぜ?
http://anond.hatelabo.jp/20130325172822 の続き
言語はJava7を想定。(Java8が迫っていますが、Lambdaなど関数型は、まだ早いと言うことで)
選定理由は、C++と比較して学べるところが大きく、安全でシンプルな言語だから。
※いきなりJavascriptはやめとけ、PHPは論外。
Ruby・Scalaでないのは、筆者が初心者には適切には教えられないから。
おもちゃ・ToyとしてjQueryで遊ぶのは、悪くは無いと思う。
これ以降は名著の紹介や学習方法の紹介が主体となります。名著のコンポジションという形が時間的限界ですね。
量については「初級になるなら、専門書を計3,000ページは修得することは覚悟してね」なんて言ったりしています。
Javaで初級のわかりやすい指標ですと、[amazon:Effective Java]とGoFまでの修得。
初級になるまでに登竜門への挑戦期間を含めて、3~4年はかかっても仕方が無いとも思います。
※逆に「一山いくらのコーダー」というのは、Effctive JavaやGoFが達成している技術も知らずに「自分がJavaプログラマー」だと誤解してしまっているような人達です。
そういったコーダーは何年経とうとも初級プログラマーにすら敵いません。
初級を目指して、プログラミングを楽しんでください。
ただ、学ぶべきことはべらぼうですが、「各分野毎に、エレガントな方法がある。だから探して修得する」ということが大切です。
※「一を聞いて十を知る」ような優秀な人に、50冊くらいドーンと本を置いてあげて、各本の目次を読ませるだけで、
底の見え無さを悟ってくれたりすると、嬉しくなってしまいます。
※余談ですが、その底の見え無さは数学という学問そのものですね。例えば、関数型言語の底流に「圏論」というここ100年の最新の数学があります。
また中級くらいで、Liskovの置換原則などが載っている本を紹介しますが、
そのLiskovの置換原則の周辺で出てくるcovariant(共変)って、圏論という数学の概念だったりします。
数学畑出身としては、数学が現実に活かされている嬉しい事例です。
「速く正確に大量の出力」という能力は、プログラミングをする上でも、ドキュメントを書く上でも、何より「つまらん仕事」の時間圧縮ができるようになるため、重要です。
スローガンとしては「思考のスピードで出力することを目指そう」です。
紹介するエディターはemacsやvimやExcelです。ついでにIMEとしてATOKを使用しているため、ATOKの操作をEmacsライクにする話も紹介します。
ExcelはWindows環境でMeadowすら入れさせてくれない場合の最後の砦という扱いです。
コマンドラインは、「コマンドラインというものがある」「時として非常に強力である」程度の紹介です。
※筆者はzshは全然使えません。使いこなしている方々と接する度に「勉強しなきゃな~、でも、あっちの方を先にやりたい・・・」とグズグズして、はや何年・・・
正規表現は置換を用いて、テキストの一括編集が重要です。後、遭遇したくない事態ですが、スパゲッティコードの解析をする上での最後の砦です。
※遭遇したくない例
ん?何か変なところで副作用のある処理があるようだなぁ(消沈)、SQLのInsertかUpdateか一応Mergeも使っているところから逆算して原因箇所を探すか・・・(諦念)
この糞コードがっ!!こんなところに書くんじゃねぇ!!(憤怒激高)
(ここで、他にやらかしていそうな似たようなコードを正規表現でgrep検索。改行コード込みにすれば複数文検索も可能)
わはは、予想通り共通化すべきロジックのメソッドがそこら中にある・・・
入門編で一つLinkedListというアルゴリズムを学びました。
少なくとも一つ本を読みながら自力でアルゴリズムを学べる人なら、大成できる可能性があります。
前に紹介した[amazon:C++実践プログラミング]には、LikedListやStackなど基本的なアルゴリズムが載っておりますが、
これに加えて、初級になるためにはこれくらいは知っておいて欲しいというものを紹介します。
※後、最初から必ずしも手を出さなくても良い上限も紹介いたします。
プログラムは、データを入力して、加工して出力・保存する処理の繰り返しです。
つまり、各一連の繰り返し毎に、「正しい入力」「正しい出力」を定式化する必要があります。
それを人間の手では無くコンピューターにやらせられるように、つまり自動テストできるようにテストをプログラミングします。
そこで処理の進捗を確認するためにロギングし、処理が想定通りであるかをアサーションでチェックし、
不正な入力・不正な出力=例外が起きたら、対処策をプログラミングします。
(ex 途中で処理を中断して、入力者に適切な入力のメッセージを伝えてあげる。入力の自動補正などもあり得る)
で、ここら辺をまとめてどうあるべきかとして「契約プログラミング」があります。
※余談。定式化・テストに際して、数学畑の人間としては、Javaだとequalsのオーバーライドでも必要になるし、同値関係・同値分割だけでなく、集合論・群論から学んで欲しい・・・(ここいらは数学科の学部1~2年の学習内容)
名著は英語で読みましょう。名著が名著たる由縁は、度々引用されることにあります。
つまり最新の技術書を読むときに、引用された名著のフレーズが、新旧のリンクをなし、理解の助けになります。
壁打ちといって、独り言で思考補助をするよりも遙かに有益です。
※素晴らしい師匠を探すなら、大学行くのが一番ですが、見聞を広げていく中で出会いを待つしかないとも思います。
マルチスレッドが難しいのは「バグを起こしにくいプログラミング」を求められるから。
つまりTry and Errorからの決別が求められ、今後の仕様変更・拡張も踏まえて慎重に慎重にデザインする必要があります。
できる限りステータス変数を持たずに安全に、でもマルチスレッドにするのだから、効率を追求しなければ本末転倒。
でも効率のためにはメモ化に代表されるキャッシングは必須と、アンビバレンツな要素のバランス取りが難しい。
このために、リエントラントな実装・抽象と実装の分離など様々なエッセンスを駆使することが必要です。
というよりも孔子曰く、知っているよりも好きであること。好きであることよりも楽しめることのほうが強く、
気づいたら日々時間が許す限りプログラミングをしてしまうのが理想です。
※仕事として嫌々スキルを磨かなきゃということが、これほど不幸な職業も無いですね。
学習の達成度を測るには、簡単すぎる不適切な問題ですね。
写経は数学の証明問題を、教科書のテンプレ通りに、数値や名称だけ変えて記述することしか出来ない人の発想。
つまり「矛盾無く一貫した論理モデル」の構築が自由に出来ず、テンプレの微修正しか出来ない人の発想。
また、外部の「矛盾無く一貫した論理モデル」の吸収が不自由で、アルゴリズムを「手順」としてしか捉えられないように見受けられる。
「連続」であること確かめるための「ε-Δ論法」(数学科の学部1年の学習内容)
事前知識無く、このモデルを理解できる人は、十分に「矛盾無く一貫した論理モデル」を構築できる人。