タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

mathとprogrammingに関するhideokiのブックマーク (3)

  • データ型のクレイジー計算 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    sumiiさん曰く: 「積型(組)と和型(バリアント)はあるから、多項式にテイラー展開すれば√τみたいな型も考えられる」という話を思い出しました。どこで聞いたのか思い出せないのですが… R. F. C. Waltersの"Categories and Computer Science (Cambridge Computer Science Texts)"ってのChaper 4 "Data Types"に、crazy calculation と称して無限級数の計算が載っています(sumiiさんのソースとは違う気がするが)。けっこう笑えるので紹介しましょう。 項目がAである列 まず、「I + A + AA + AAA + ... って面白いよ」と同じ例。項目の型(値の集合だと思ってください)がAである列(sequence)をSとすると、方程式は: S = I + A×S (Iは空列だけからな

    データ型のクレイジー計算 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • プログラムの算術的計算法(続き&完結) - 檜山正幸のキマイラ飼育記 (はてなBlog)

    昨日の続き。 ※印刷の時はサイドバー消えます。 内容: 特別なプログラム文 簡潔な記法と計算法則 計算例 手順から直感へ、そしてふたたび手順へ 非決定性の繰り返し whileの実現 計算法と図解法 前編 特別なプログラム文 A, Bなどの大文字は、プログラムの文(複文や複雑な表現も含める)を表すと約束したのですが、これらは何か特定の文ではなくて文一般を表します。それに対して、以下のIとOは特定の文を表す固有名詞として使います。 I (skip)-- 空文、何もしない O (hang) -- 先に進めないで制御不能/無反応になる Iはおなじみの空文です。Oのほうは、制御がつまってしまって(ささって)進めず終われずの状態になる文です。無限ループに陥る文だと思ってもいいです。記号「I」「O」は、「1」「0」に似せて選んでいるのですが、実際、Aが何であっても次の法則が成立します。 A;I = I;

    プログラムの算術的計算法(続き&完結) - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • プログラムの算術的計算法 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    あー、やっぱりな -- 連休で調子がくるって、まだ何かおかしいよ。 で、少し頭のトレーニングになる話でもしましょうか。 pが論理式で、Aが文とか文の並びだとして、if (p) {A;} else {A;}って書く人はあまりいませんよね、これは単にA;と書いても“同じ”だから。次の3つの表現も事実上“同じ”なのはわかるでしょう。 // その1 if (p) { ; } else { if (q) { A; } } // その2 if (!p) { if (q) { A; } } // その3 if (!p && q) {A;} 次の「その2」はなんだか無意味みたいですが、「その1」と“同じ”です。 // その1 while (p) {A;} // その2 if (p) { A; while (p) {A;} } さて、一般に2つのプログラムコードが“同じ”であることを判定するのは難しいことで

    プログラムの算術的計算法 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 1