考察:「文字列間の距離」
 
 元旦はブレークスルーと共に明けました。長年の懸案事項が解けたのです。昔、シンボル認識をしていたとき、シンボルのストローク画素群を記号で表現して、その記号列のパターンの近さ(近似度)でシンボルを認識しようと思ったのですが、シンボル列の近さってなにかな、パターンマッチングをどうすればいいかなと迷いに迷い、断念したのでした。記号は、8近傍の方向ベクトルである東西南北を0から7までの数字で表し、そのチェインでシンボルパターンを表現するというものです。ま、記号の並び方には曖昧性があるし、雑音もあるし、これが記号列がシンボルにより一意に決まらないのです。

 (abc)と(aaaabbcccc)の近似度はどんな値とすればいいでしょうか。思いついたのです。連続する同じ記号は一つの記号で代表させ、新しい文字列を作り、その文字列の間で相同を評価していく。
 2つの文字列の間で、同じ記号同志を対応させていき、その変位値の逆数を距離とする(距離値が大きいほど距離が小さい。距離値最大1、最小0)。これは相似対応の場合で、全体長さ対応ならば、同じ記号を一つにしたときの記号列の長さの比を、この距離に掛けて、それを距離とする。全ての記号についてこの長さをたして、全体の長さで割ったものを近似度とする。同じ記号がとびとびに現れるとき、距離値は最大のものを選択する。

 
対応(a)-----(ac)の距離は、(1+0)/2=0.5となります。ただ曖昧性があって、
対応 (a) -----(ca)の距離は、(0+1/2)/2=0.25となったり、(1+0)/2=0.5になったりします。
 
 
 こんなんで、記号列として画像の輪郭形状を評価できるようになります。ASAMとの連携で考えると大きな発展が期待されます。
 
 
 
終わり