計算機科学

圏論に案内される

『圏論の道案内』を読んだ。本稿はその読書メモである。

コンピュータ・ソフトウェア関係の人間であれば、だいたいHaskellのモナドから圏論に触れるのではないか。御多分に洩れず私もその一人だった。

私はHaskellが好きだし関数プログラミングは素晴らしいと信じているが、Haskellで仕事をしているプロフェッショナルのプログラマーではない。よって、私がHaskellに対して思っていることは、も

もっとみる

顔認識をめぐる報道 - Misread Footnotes .04

Misreading Chat, 今週は向井が Go の並列性バグの調査、森田が顔認識アルゴリズムについて話ました。

顔認識への視線

顔認識テクノロジーをめぐる報道をいくつか紹介してみたいと思います。

森田が最初に目に止めたのは今年1月の報道でした。ACLU という団体が、AWS の API が多くの政治家の顔写真を誤判定したと報じたのです。AWS はconfidence levelも見ろと

もっとみる

The Art of Computer Programming を読む(5)

1.3.2 MIX アセンブリ言語から。

MIX Assembly Language, MIXALについて。
ほぼほぼMIXの機械語と同じだが、いくつか重要な違いがある。

・LOCにラベルがつけられる
・OPに、実際の命令ではない擬命令がある
・* (アスタリスク) という、自分のメモリ番地自体を示す記法がある

LOCにラベルがつけられる

これは、実際に機械語に翻訳された時点ではメモリの番

もっとみる

The Art of Computer Programming を読む(4)

1.3.1の演習問題の続きから。

26.

ブートストラッピング問題。

MIXの場合は、カードから起動時の処理を読み込むという処理が組み込まれている (GOボタン)。したがって、この最初に読み込むカードに、「カードを読み込む」という処理、つまりカードローディングルーティンを書いておく必要がある。

現代のコンピュータで言えば、MBR (Master Boot Record) に書かれている処理

もっとみる

The Art of Computer Programming を読む(3)

1.3.1の演習問題の続きから。

18.

与えられた下記プログラムを実行すると、コンピュータの内部状態(レジスタ・トグル・メモリ)がどうなるか、という問題。

STZ 1ENNX 1 STX 1(0:1)SLAX 1ENNA 1INCX 1ENT1 1 SRC 1 ADD 1DEC1 -1 STZ 1CMPA 1MOVE -1,1(1) HLT 1

ちゃんと命令を追っていけば難しい問題では

もっとみる

Facebook の Android - Misread Footnotes .03

Misreading Chat, 今週は向井が Android で ML をする辛さについて、森田が論文の書き方についての論文を読みました。

森田はもともと Mobile GPU に関する論文を探して読むつもりでしたが、NVIDIA などから出ている情報量に比べ Qualcomm や ARM からの情報開示の少なさは想像を超えており、意味のある読み物を見つけることができず挫折しました。ただ今週の

もっとみる

The Art of Computer Programming を読む(2)

前回の続き。

今日は1.3.1の演習問題から。

16.

メモリセルの0000-0099をすべてゼロに初期化する問題。(a)コードが短いプログラムと(b)実行時間が短いプログラムがそれぞれ求められている。

(a)
STZ命令とMOVE命令を使う。MOVE命令は、rI1で指定された場所に、Fで指定された数のワードを動かす。Fは1バイトなのでMIXの規格上63以下しか入れられない。ということでM

もっとみる

The Art of Computer Programming を読む(1)

今年は、一日少しでも The Art of Computer Programming を読み進める、というのを目標にしようと思う。

The Art of Computer Programming といえば、TeXや文芸的プログラミングなどで有名な Donald Knuth 先生の名著である。TAOCPと略すようだ。ちなみに複数巻構成で、現在4巻まで出ているが完成していない。

ちなみに、私の本書

もっとみる

会社より長生きな建物たち - Misread Footnotes .02

Misreading Chat, 今週は向井が Facebook の NVM 利用事例を、森田が GPGPU できない昔の GPU を紹介しました。

今回の例にかぎらず、Facebook の技術スタックはしばしばぶっとんだ展開を見せることがあります。個人的にいちばん慄いた事例は Sandcastle という内製 CI インフラ。リンク先のテックトークで, この内製 CI サービスはエラーを起こし

もっとみる

肩透かしと不思議な乱数 - Misread Footnotes .01

(Misread Footnotes は、Misreading Chat のおまけ記事を書いてみる試みです。気が向いたら続けます。飽きたらやめます。)

今週は向井が Federated Learning 応用編、森田が MCMC の入門について話しました。それぞれが前回からの続き物です(向井前回、森田前回) が、前回を聞いてなくても特に支障ありません。

Federated Learning は

もっとみる