タグ

ブックマーク / m-hiyama.hatenablog.com (15)

  • デイヴィッド・スピヴァックはデータベース界の革命児か -- 関手的データモデル - 檜山正幸のキマイラ飼育記 (はてなBlog)

    最近、「おおおー、これは凄い、すんばらしい!」と思ったことがあるので、それについて書きます。 最初に言葉についてのお断り; "categorical"の訳語をどうしようか? と。片仮名で「カテゴリカル」が無難ですが、漢字で書きたい。「圏論的」が落ち着きがいいようですが、必ずしも「論」の意味を含まないときもあります。そこで、以下、「圏的」を使います。 [追記 date="2013-02-12"]入門的解説を書きました。→「衝撃的なデータベース理論・関手的データモデル 入門」[/追記] スピヴァックと関手的データモデル デイヴィッド・スピヴァック(David I. Spivak, http://math.mit.edu/~dspivak/)は、MITの研究者です。 彼は圏的情報学(categorical informatics)を提唱しています*1。圏的情報学の中心的な概念が関手的データモデル

    デイヴィッド・スピヴァックはデータベース界の革命児か -- 関手的データモデル - 檜山正幸のキマイラ飼育記 (はてなBlog)
    ogijun
    ogijun 2013/01/31
    あとで読む(かも)
  • 不快感をもよおす衒学的文章とはどんなものか - 檜山正幸のキマイラ飼育記 (はてなBlog)

    http://d.hatena.ne.jp/m-hiyama/20100225#c1267490716 : 何人かがご指摘なさっているように「郡司さんは真剣なんだ/真面目なんだ」を否定する気は全然ありません(そうなんだろうと思っています)。であるなら、どうしてデタラメを書くんでしょうか? デタラメという表現方法でしか真意を語れないのでしょうか? -- 僕はそんなことはないと思います。痒いところに手が届かないような語り口でも、デタラメよりは効率的なコミュニケーション方法はあるはず。 以前、bonotakeさんもおっしゃっていた事ですが、「それで誰が幸せになるのか?」です。郡司さんになんらかの「真意」があるにしても、晦渋で難解、デタラメな用語法・推論では「真意」の理解者を減らすだけだろうし、「こけおどしの装飾」との評価もいたしかたないでしょう。 と、なんか「親切な忠告」風なことを書いてしまいま

    不快感をもよおす衒学的文章とはどんなものか - 檜山正幸のキマイラ飼育記 (はてなBlog)
    ogijun
    ogijun 2011/09/23
    さらに面白すぎるwwww
  • 笑いが恐怖に変わるとき:江本勝さんと郡司ペギオ-幸夫さん - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「僕がだんだんと郡司ペギオ-幸夫さんに批判的になっていった様子」(今日の別エントリー): この引用だけでは、僕の心境が変化した理由は読めないでしょうね。またそのうち書きます。 今日のうちに書きます。 水の詐欺師・江勝さんのときと似てると思います。江さんや郡司さんに対する僕自身の好奇心のあり方はずっと変わってなくて「おもしろいな」って気分のほうが強いのです。当初は「こんなことをマに受けるヤツはいないだろう」みたいな甘い認識だったのが、けっこう信じている人が多い事実に気付いて、「それはないだろ/マズイ、ひじょーにマズイ」と思い直す、というパターン。 「さらに「水は生きている」-- ウチには子供がいるってこと」から引用します: 僕が今回なんでショックを受けてしまったかというと、江<えもと・ぼん>へのコメントが43件もあるのに、ほとんどがマジに書いてること。ムキになっての批判や意地悪な揶揄

    笑いが恐怖に変わるとき:江本勝さんと郡司ペギオ-幸夫さん - 檜山正幸のキマイラ飼育記 (はてなBlog)
    ogijun
    ogijun 2011/09/23
    これ面白すぎる
  • 掛け算から足し算を作る(パズルとしてやってみよう) - 檜山正幸のキマイラ飼育記 (はてなBlog)

    とある論文に、パズルのネタになりそうな計算の話があったので紹介します。予備知識は特に要りませんが、けっこう難しい。 小学校で最初に習う計算は足し算です。しばらくして掛け算を習います。整数の掛け算、例えば 3×4 は、足し算の繰り返しとして導入することもできます。3×4 := 3 + 3 + 3 + 3 。 掛け算を先に習って、掛け算をベースに足し算を定義するような学習コースは聞いたことがありません。が、宇宙のどっかに、そんな順序で計算を教えている星があるかもしれません。我々地球人には不自然ですが、掛け算をもとに足し算を定義することは出来るようです。 実数の集合に対して、足し算を忘れてしまい、掛け算だけを考えます。掛け算の法則は全部使えます。具体的に書けば: (a×b)×c = a×(b×c) a×b = b×a a×1 = a a≠0 ならば、a×a' = 1 となるa'(aの逆数)が存在

    掛け算から足し算を作る(パズルとしてやってみよう) - 檜山正幸のキマイラ飼育記 (はてなBlog)
    ogijun
    ogijun 2010/06/29
  • マイクロフォーマットとクリーンHTML - 檜山正幸のキマイラ飼育記 (はてなBlog)

    ここ何日かマイクロフォーマット(microformats)の話題を続けています。僕がマイクロフォーマットを思い出したキッカケは、WebAPIのデータ形式について考えていたときです。マイクロフォーマット方式でマークアップされたHTML断片をWebAPIで使えないかな?と思ったのです。 多くのWebAPIでは、特定のURLにHTTPリクエストを送ると、XMLやJSONのデータが応答として返ってきます。仮に、とあるAPIがJSON形式の人物情報を返してくるとします。独自に人物情報のデータ形式を考えるよりは、何か標準を採用すれば、考える手間も省けるし、相互運用性からも好ましいでしょう。 そこで、hCardのサブセットを使うことにします。スキーマ(型定義)を示すことはしませんが、例えば次のJSONオブジェクトは人物情報のインスタンスだと考えられます。 { "vcard" : { "fn" : "檜山

    マイクロフォーマットとクリーンHTML - 檜山正幸のキマイラ飼育記 (はてなBlog)
    ogijun
    ogijun 2010/03/30
  • HTTPメソッド、URL、そして標準化された動詞 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    [追記]「訂正補足:HTTPメソッド、URL、そして標準化された動詞」、「そろそろ決着、HTTPメソッド、URL、そして標準化された動詞」を書きましたので、あわせてお読みください。[/追記] 「HTTPメソッドの正統的使い方と現実的対処法」において、HTTPメソッドの来の意味と、その来の意味を損なわずにブラウザからリクエストする方法を述べました。最近また、Catyとの関係で、HTTPメソッドとURLをどう使うのが望ましいのか? という問題を考えました。 HTTPメソッドには、GET, PUT, DELETE, HEAD, POST がありますが、ブラウザから発行できるメソッドはGETとPOSTだけです。「HTTPメソッドの正統的使い方と現実的対処法」において、GET/POSTを使って他のメソッド(PUT, DELETE, HEAD)を表現するために、_methodというクエリパラメータ

    HTTPメソッド、URL、そして標準化された動詞 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    ogijun
    ogijun 2010/01/13
  • コンピュータ系実務者のための双対性(概略) - 檜山正幸のキマイラ飼育記 (はてなBlog)

    直積スタンピング関手(掛け算関手)は簡単な関手ですが、驚くほど役に立ちます。コモノイド/モノイドをスタンピングする関手は、それぞれコモナド/モナドを定義します。コモナド/モナドは互いに双対です。その実例として「参照と更新の双対性」があります。さらに具体化して、データベース操作に関して述べるなら、次のような双対性があります。 参照 更新 DBを参照する DBを更新する クエリ 更新リクエスト クエリの実行 更新のコミット クエリ結果の使い回し 更新リクエストのキューイング イミュータブルなスコープ トランザクション 更新操作がモナドを構成するのですが、ストレージ更新(書き込み)モナドとストレージ状態空間へのコミットは、線形代数(線型代数)と次の類似性を持ちます。 ストレージ更新 線形代数 更新モナド スカラー体 ストレージ ベクトル空間 更新リクエスト スカラー リクエストの連接 スカラーど

    コンピュータ系実務者のための双対性(概略) - 檜山正幸のキマイラ飼育記 (はてなBlog)
    ogijun
    ogijun 2009/10/14
  • JSONの可能性がグンと拡がるぞ! JSONスキーマ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    JSON(http://www.json.org/)データはけっこうよく使うので、何度か話題にしたことがあります(例えば「もう一度、ちゃんとJSON入門」)。でも、JSONには型情報/メタ情報が付けられないのがとても不満で、JSON改なんてもんを考えたこともありました。(後でXIONに改名) JSONデータに対するスキーマ定義の仕様がかたまりつつあることを、ごく最近になって知りました。 http://json-schema.org/ JSON体はRFC 4627になっていますが、JSONスキーマの標準化のステータスは、あまりハッキリとは分かりません(僕には)。http://groups.google.com/group/json-schema?pli=1 を覗き見した感じでは、現状ワーキングドラフトという位置付けらしいです。 なかなか面白いし役に立ちそうなので紹介します。ただし、僕にとっ

    JSONの可能性がグンと拡がるぞ! JSONスキーマ - 檜山正幸のキマイラ飼育記 (はてなBlog)
    ogijun
    ogijun 2009/04/23
  • 告知:「Erlang 30% + JavaScript 60% + 未知成分 10%」のセミナーやります - 檜山正幸のキマイラ飼育記 (はてなBlog)

    http://d.hatena.ne.jp/m-hiyama/20081120/1227159984 : 全体で90分、質疑応答でだいぶ時間を使ったので、スライドにあることを全部しゃべったわけではありません。特に、後半の Web Communication Channels は簡単なデモをしただけでした。機会があれば、もう少し説明したいと思っています。 「ちゃんと準備をしてから」とか言っていると来年になりそうなので、年内にやります。12月20日(土曜)午後にやります。 日時:2008年12月20日(土曜日) 14:00 15:00 より 時間:150分程度を予定 場所:(株)シンメトリック(安達ビジネスパークビル)3F 最寄り駅:小田急・代々木八幡駅、千代田線・代々木公園駅 地図:Googleマップ 定員:20人(空間と椅子に起因する上限値です) 申し込み:メール、またはPayPal寄付

    告知:「Erlang 30% + JavaScript 60% + 未知成分 10%」のセミナーやります - 檜山正幸のキマイラ飼育記 (はてなBlog)
    ogijun
    ogijun 2008/12/11
  • バエズとステイのロゼッタストーン論文と現代のヒエログリフ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    バエズとステイが「ロゼッタストーン」と題されたサーベイを書いているようで、そのドラフトが公開されました。 題名: Physics, Topology, Logic and Computation: A Rosetta Stone 著者: John Baez, Michael Stay URL: http://math.ucr.edu/home/baez/rose.pdf [追記 date="2008-03-28"]完成版は http://math.ucr.edu/home/baez/rosetta.pdf です。[/追記] ジョン・バエズは、カリフォルニア大学の先生で異常に精力的な数理物理学者です。マイク(Mike/Michael)・ステイ*1は、「CPS(継続渡し方式)変換をJavaScriptで説明してみるべ、ナーニ、たいしたことねーべよ」でも紹介した人で、Googleの社員です*2。

    バエズとステイのロゼッタストーン論文と現代のヒエログリフ - 檜山正幸のキマイラ飼育記 (はてなBlog)
    ogijun
    ogijun 2008/02/22
  • マスロフ式算数がやたらに面白いんですけど - 檜山正幸のキマイラ飼育記 (はてなBlog)

    インド式算数って、速算処方箋の寄せ集めでしょ。ロシア発のマスロフ式算数は、質的に新しい演算を扱う奧が深い算数ですよ。マスロフ式算数を学んでも速算の役には立たないけど、背後にある数理的構造/現象の神秘に触れられるかもよ。 内容: マスロフ式算数の由来 maxとminの算数 足し算的演算 足し算的演算の実例 マスロフ和 マスロフ和の極限 プランク定数と脱量子化 マスロフ式算数の由来 1980年代に、ロシアの物理学者マソロフ(Victor P. Maslov)により始められた脱量子化(Maslov Dequantization)という手法があり、現在では、数学、物理学、工学の広い範囲に影響を与えてます。マソロフ脱量子化の入り口は、変形した足し算を含む計算です。この計算は、普通の算数と同じ簡単な法則に従いますが、エキゾチックな世界を記述する道具になります。 このエキゾチックな算数の構造は、高校生

    マスロフ式算数がやたらに面白いんですけど - 檜山正幸のキマイラ飼育記 (はてなBlog)
    ogijun
    ogijun 2008/01/22
  • いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    オブジェクトとクラスの関係について、次のような説明を見かけました(文言の引用ではなくて、檜山による要約)。 オブジェクトとクラスは全体としてツリー構造をしていて、ツリーの末端をオブジェクト、末端以外のノードをクラスという。末端であるオブジェクトは、その親ノードであるクラスのインスタンスと呼び、クラスどおしの親子関係を継承関係と呼ぶ。 うーむ、この説明、ある意味「簡潔でわかりやすい」とも言えるのだけど、ちょっと単純化し過ぎでしょ。 オブジェクトやクラスの概念て、そんなに美しくもなきゃ、整合的でもありません。実用性やら実装上の都合やらでゴチャゴチャですがね。しかし、そのゴチャゴチャが悪いともいえません。ゴチャゴチャを無理に単純化することなく、必然性を持った(幾分は偶発的だけど(苦笑))複雑さとして理解すべきかと思います。 というわけで、メタクラスやレイフィケーション(reification)な

    いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)
    ogijun
    ogijun 2008/01/11
  • 檜山正幸のキマイラ飼育記 - グラフ理論の基本概念とその誤用例 -- mixiがどうしたってぇ?

    僕にしては反応早いぞ(「僕にしては」だけどね(苦笑))。 FPN-Mixiの持つ数学構造の強み−批判に対して何故強靭なのか -- 以下、「FPN山崎記事」として参照。 どこが数学構造なんだぁ? それに、こんなんが「批判に対して何故強靭なのか」の説明になっているとはとうてい思えんがね -- とまぁ、僕のVOODOOセンサーに引っかかったので論評しておきます。 批判めいた事ばかり書いても建設的じゃないので、グラフ理論の基概念/基用語の解説を織り交ぜます(目的を二つにするのがロクな結果を生まないことは僕も知っているのだけどさ)。僕もさほど詳しいわけではないので、次の二冊(同じ題名)を適宜参照します。 『グラフ理論 (シリーズ 情報科学の数学)』 恵羅博<えら・ひろし>/土屋守正<つちや・もりまさ>(産業図書) -- 読みやすい。話題も豊富。以下、文献[1]として参照。 『グラフ理論 (Spr

    檜山正幸のキマイラ飼育記 - グラフ理論の基本概念とその誤用例 -- mixiがどうしたってぇ?
    ogijun
    ogijun 2006/12/14
    おもろ
  • 檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」

    気まぐれと偶然となりゆきで、ここ2,3回はモナドを話題にしました。googleで「モナド」を引いてザッと眺めると、「モナドはむずかしいー」とか「モナドで挫折した」みたいな雰囲気が感じられて、説明芸人の血が少し騒ぎましたね。「なら、予備知識ゼロでモナドの説明をしてやろうじゃねーか」と。 タイトルはだいぶ煽っちゃった…… けど、ハッタリじゃないつもり…… けど、実際はどうかな? ※印刷のときはサイドバーが消えます。 内容: とりあえず、あたりさわりなくモナドの来歴を紹介する こんな課題を考えてみよう:副作用付き計算 カウントアップする関数達 カウントアップしたい意志を戻り値で伝える それでは、いったい誰がカウントアップをするのだ 関数の引数の型をCountup型にまで拡張する そして、これがモナドだ とりあえず、あたりさわりなくモナドの来歴を紹介する 今からここで説明する「モナド(monad)

    檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」
    ogijun
    ogijun 2006/04/20
    説明はわかったが、もっと理論的なことが知りたくなった
  • JavaScriptでカリー化 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    JavaScriptでカリー化。ありがち、つうか実際にあるでしょうね。小ネタと思ってやりはじめたら、意外と混乱した。一種のメタプログラミングのはずだが、実際にはテキスト加工処理。 内容: カリー化ってなに? カリー化を行う関数を作る:準備 カリー化を行う関数を作る:テキストのパッチワーク カリー化を行う関数を作る:組み立て ●カリー化ってなに? 2引数の関数f(x, y)に対して、「gがfのカリー化」だとは、f(x, y) = g(x)(y) が常に成立すること -- ゴチャゴチャ説明するより実例実例: functio sum(x, y) { return x + y; } このsumのカリー化の例: function curried_sum(x) { return function (y) {return sum(x, y);} } curreid_sum関数は1引数で、戻り値として関数

    JavaScriptでカリー化 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 1