[Dynamite] (no subject)
Ian Holmes
ihh@fruitfly.org
Mon, 24 Jul 2000 13:03:21 -0700 (PDT)
just to elaborate:
> Note also that in the following HMM:
>
> START --> INSERT_QUERY_A --> INSERT_QUERY_B --> MATCH --> INSERT_QUERY_C --> INSERT_QUERY_D --> END
>
> ...INSERT_QUERY_A and INSERT_QUERY_B are both still pre-loop, and
> INSERT_QUERY_C and INSERT_QUERY_D are both still post-loop
>
> Perhaps it is too obscure to expect the algorithm to autodetect these
> (though it's not hard); I had considered adding *optional* tags
> e.g. "preloop" and "postloop"
...this is not total fluff---the point is that loop states change the
actual functionality of the model, whereas singlet states that aren't loop
states (like INSERT_QUERY_* above) don't change the functionality (the
scores returned by algorithms will be the same; it will just shave a bit
off the running time of the algorithm because you don't store a whole
bunch of empty cells in the matrix).
in other words, singlets are just a compiler pragma unless they're in loop
cliques. does that make any sense?
this is why i favoured "loop" as a name (because loops are the only point
of having special states really; they are the only kinds of special state
which aren't just optimisation tricks).
ian