$1 unistroke recognizerについて学ぶ
$1、およびその発展(?)であるProtractorや$Nというのは、http://depts.washington.edu/aimgroup/proj/dollar/
にある百行くらいで書かれたジェスチャー認識のアルゴリズムです。ちょっとした勉強のために、これらをSqueak Smalltalkで実装してみました。
http://ss3.gemstone.com/ss/Dollar1.html
$1はまさにシンプルで、すばらしい発明によくある「なんだ、これだったら俺でも発明できたよ」感を与えるものです。Protractorはいちおう発展のはずで、$1より速いのは確かですが、アルゴリズムは少し複雑になっているのが珠に傷ではあります。論文とサンプルコードにも怪しいところがありますし。でもいちおう話はわかったので、ちょいと改良して使っていくかもしれません。
ちなみに、この分野の嚆矢であるRand TabletのGRAILで使われていたアルゴリズムの解説は
http://dl.acm.org/citation.cfm?id=1464355
にあります。こちらは認識できる記号の集合は拡張できず、アルファベットの特性に依存した条件分岐も多々紛れ込んではいるのですが、ストロークを終了する前にも認識を完了できるという利点があるところが面白い点ではあります。