Entries from 2010-01-01 to 1 year

Function that returns function that repeats boolean results

TrueだったらFalseで、FalseだったらTrueにしたい。なんかそんなことそこかしこで必要で、その為の便利なものがあるのかなぁと思ったんだけど無いぽい。 0と1を次々返す方法 - When it’s ready. Yieldpython実装は自然だが、next()がわずらわしい。 404 Blog…

Iterable of integers except specific value

数値計算の実装を行っていると、ある特定の数値を除外した数列を生成したくなることがあります。行列の特定の行や列を除いた要素を処理する際、例えば枢軸演算を行う場合がこれにあたります。Pythonで簡単に実装すると以下となります。 for i in range(N): i…

Symbol Font on PostScript

PostScriptにはSymbolというフォントが用意されています。ギリシャ文字を用いるにはこのフォントを使用します。例えば、πを出力するには以下のようにします。 /Symbol findfont 10 scalefont setfont 0 0 moveto (p) show文字は8進数数値としても与えられる…

Symbol Font on PostScript

Parse Tree Dynamic Visualization

多忙だったこともあり、久しぶりのエントリとなってしまいました。さて、Gmailのメッセージ検索にはダッシュ(-)、OR演算子および括弧が用意されています。これらの演算子は大変便利で、強い依存性があるように思います。それぞれの演算子の用法は大変簡潔で…

Parse Tree Dynamic Visualization

Oriented Bounding Box using Covariance Matrix

まとまった時間があったので、共分散行列(Covariance Matrix)を用いた主成分分析(Principal Component Analysis)にて生成した有向バウンディングボックスのデモをGoogle Gadgetsを用いて書いてみました(有向バウンディングボックスについては、過去のエント…

Oriented Bounding Box using Covariance Matrix

Installing imaxima on Snow Leopard

先日のエントリにてMac OS X 10.6に数式処理システムのMaximaをインストールする方法を記載しました。今回のエントリでは、Cocoa EmacsとteTeXにて構築している環境にimaximaをインストールする方法を記載します。 imaximaは本田康晃さんががメンテナンスさ…

Installing Maxima on Snow Leopard

Mac OS X 10.6にMaximaをインストールしました。Maximaは数式処理システムです。数値計算ではなく、数式のまま計算を行なう非常に強力なシステムです。例えば、2数の和の3乗を考えてみましょう。以下の等式の右辺は左辺の括弧を展開したものであり、また左辺…

How Breadth First Search uses Queue

先日のエントリにて、幅優先探索を用いたダイクストラのアルゴリズムを考察しました。今回は、幅優先探索が如何にキューを用いるかをまとめてみました。名著アルゴリズムCでは、幅優先探索はレベル順(level-order)の走査として、第1巻第4章、木の章にてごく…

How Breadth First Search uses Queue

Visualizing Dijkstra's, and A* Search Algorithm

先日話題になっていた最短経路探索問題を考察するにあたり、探索回数を如何に減らすかを主眼において考えてみました。それに伴い、いくつかの可視を行いました。 ダイクストラのアルゴリズムを伴った幅優先探索において、すでに訪れた節点を再度訪れる場合と…

Visualizing Dijkstra’s, and A* Search Algorithm

Finding Shortest Path using Breadth First Search Algorithm

面白い問題があったので解いてみました。問題の詳細は、出題者さんのエントリでご確認ください。 さて試験問題です。内容は、壁とスペースで構成された迷路が与えられたとき、スタート地点からゴール地点に至る最短経路を求めよ、というものです。 人生を書…