
ロシア人の同僚に、ロシアには3進コンピュータがあったらしいよね、という話をしたら、僕の大学の教授がそのコンピュータの発明者と一緒に仕事してたよ、と言われたことがあった。ソビエト連邦には3進数のコンピュータが実際にあったのだ。その奇妙な機械についてちょっと書いてみよう。 普通の2進コンピュータでは、数の1桁を1ビットといって、1ビットで2つのパターンを表すことができる。同じように、3進コンピュータでは、数の1桁をトリット(trit)といって、1トリットで3つのパターンを表すことができる。 3進コンピュータで最も興味深いのは、負の数を表すための特別な符号ビットがいらないことだ。2進コンピュータでは最上位ビットが1なら数全体が負を表している、みたいな特別なルールが必要なのだが、3進コンピュータでは、各桁が-1, 0, 1のどれかを表していることにすれば、自然と負の数が表現できてしまう。 説明をコ
スタンフォードのコンピュータサイエンスの授業で、ときどきこれは良問と思う問題がテストで出ることがある。僕の印象に残っているのは「xをfloatとするとき、x + 0.25 - 0.25 = xが成り立たないxを求めよ」というものだ。浮動小数点数を理解していないと、両辺が同じにならないケースがあるほうが不自然に思えるだろうから、この問題は浮動小数点数の奇妙さを結構うまく突いていると思う。この問題を元に浮動小数点数についてちょっと説明してみよう。 まずコンピュータ上での数について少し考えてみよう。コンピュータにおける数と、数学の整数や実数は、よく考えてみると全然違う。コンピュータは有限の記憶領域しか持っていないので、無数にある数を表すことが根本的にできない。つまりコンピュータ上の数は「本物の数になるべく似せた別の何か」だ。現実的には、例えば32ビットの数なら2^32パターンしか表せないので、そ
オンライン・オフラインのリソースで勉強に使ってるもの一覧。 多少プログラミングしていて少々の知識があるといいかも。 人工知能・機械学習に必要な教材やTipsを載せていくブログはこちら 努力1mmブログ Coursera Machine Learning 言わずと知れた機械学習の動画。Andrew Ngさんが丁寧に教えてくれる。日本語字幕あり。 Coursera : Machine Learning Coursera Natural Language Processing Courseraの自然言語処理講座。英語。 Coursera : Natural Language Processing 言語処理100本ノック こちらも言わずと知れたリソースかも。自然言語処理をプログラミングするために必要なプログラミングテクニックとかが学べる。 自然言語処理100本ノック Udacity Design
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く