2012-11-01から1ヶ月間の記事一覧

ぱらぱらめくる『クヌース本1』

The Art of Computer Programming Volume 1,Fascicle 1:MMIX―A RISC Computer for the New Millennium日本語版 (Ascii Addison Wesley programming series)作者: ドナルド・E.クヌース,Donald E. Knuth,有澤誠,青木孝,和田英一出版社/メーカー: アスキー発売…

ppm形式

Rで簡単に画像を扱う形式にppm形式というのがある ライブらるpixmapをインストールするとppm形式の画像を読み込む関数read.pnm()がある x <- read.pnm(system.file("pictures/logo.ppm", package="pixmap")[1]) plot(x) print(x) 読み込んだオブジェクト x …

簡単な画像形式 ppm

Primitive

こちらでBDDのことをやっていて、Primitiveな配列というものが出てきた ある長さLの配列がn個(複数)あって、それらをタンデムにつないで、長さが2倍の配列(長さ2L)を作るときのこと 連結するにあたって、同じものを組み合わせないで作る配列が「長さ2LのPri…

ZDD:ぱらぱらめくる『クヌース本4.1』

ZDD:ゼロ抑制BDD 組合せ論で力を発揮する に行きつく経路が多いときに有用である BDDと違う点 節点の解釈が違う 終点ははないこともある 節点からの2本のエッジが同一のノードに接続することもある 節点数が節約されることがある BDDではノードが「Primitiv…

BBD:ぱらぱらめくる『クヌース本4.1』

昨日の続き 二分決定図 BDD グラフ状 ノードとエッジがある ノードからは2本のエッジが出る(特別な2つのノード,を除く エッジには2種類ある ノードから出る2本のエッジは2種類が1本ずつ ノードには1本以上のエッジが入る(1つのルートノードは例外で…

ブール演算のビット毎の演算のテクニック:ぱらぱらめくる『クヌース本4.1』

ブール演算・ビット毎演算を用いて、色々な効率化・高速化アルゴリズムがある。その例が以下に挙げられている 複数の情報、を詰め込む・へばらす 2012年11月10日を20121110と表すことを考える 年が2 年を構成する4つの数字を6桁左へシフトして 月を構成す…

ビットごとにブール演算する(ビット毎演算)と3つの基本ブール演算:ぱらぱらめくる『クヌース本4.1』

2進数表記での算術演算にブール演算を使う 非負の整数xをk桁で二進数表記しよう to_bin.ry <- function(k, x){ if(k <= 0){ return(c()) } else { return(append(Recall(k-1, x%/%2), x%%2)) } } to_bin_rev.ry <- function(x){ sum(x*2^((length(x)-1):0))…

16通りのブール演算:ぱらぱらめくる『クヌース本4.1』

という演算はの値の取り方4通りのそれぞれに(0,1)のいずれかを対応付けることで網羅できるから、通りある 16種類の演算のそれぞれについて2x2テーブルを作ってみる boolean.op <- array(c(t(expand.grid(rep(list(0:1),4)))),c(2,2,16)) # The i-th operati…

目次:ぱらぱらめくる『クヌース本4.1』

MMIX 16通りのブール演算 ビット毎演算 ブール演算のビット毎の演算のテクニック BBD

MMIX:ぱらぱらめくる『クヌース本4.1』

BDD,ZDDのことを書いた(こちら) クヌース先生の以下の本で扱っているという The Art of Computer Programming Volume 4, Fascicle 1 Bitwise Tricks & Techniques; Binary Decision Diagarms 日本語版 (ASCII Addison Wesley Programming Se)作者: Donald E.…

Recall()

Recall()関数というのを教えてもらった # Recall()を使う ## A trivial (but inefficient!) example: fib <- function(n) if(n<=2) { if(n>=0) 1 else 0 } else Recall(n-1) + Recall(n-2) fibonacci <- fib; rm(fib) ## renaming wouldn't work without Rec…

メモ

今日のMIKU 統計学基礎の勉強会で「思ったより珍しいこと」の例としてバースデイパラドクス(こちら)を扱ったので、その流れで、階乗とガンマ関数について少し勉強 ついでにRのソース書きも ガンマ関数とって…参照 また、走化性に鑑み、以下を議論 生物の観測…

感動するための数学

こちらに桜井進氏のインタビュー記事がある 引用させていただこう 『大学生になると数学を学ばなくなります。数学ができる子は理学部や工学部に入るけれど、そこでは数学は道具でしかない。授業も限定され、おもしろさの追求はできません。でも、ぼくが数学…

BDD/ZDD

日本語総説はこちら 組合せ発散に対する、この方法の効果はこちらの動画と実行例コードで BDD:binary decision diagram 個の2分岐がの場合を作る。それを表したのが二分決定木(binary decision tree) BDDは二分決定木を簡略したグラフ の3分岐の「○、×」が…