58 * 1, Add a latticehist_t into kb_t, use a temporary method to allow polymorphism of initialization of vithist_t and latticehist_t. 2, remove the logic kb_set_mllr and put it to adapt_set_mllr
64 * Log. This is a big refactoring for kb.c and it is worthwhile to give
65 * words on why and how things were done. There were generally a problem
66 * that the kb structure itself is too flat. That makes it has to
67 * maintained many structure that could be maintained by smaller
68 * structures. For example, the count of A and the array of A should
69 * well be put into the same structure to increase readability and
70 * modularity. One can explain why histprune_t, pl_t, stat_t and
71 * adapt_am_t were introduced with that line of reasoning.
72 *
73 * In srch_t, polymorphism of implementation is also one important
74 * element in separting all graph related members from kb_t to srch_t.
75 * One could probably implement the polymorphism as an interface of kb
76 * but it is not trivial from the semantic meaning of kb. That is
77 * probably why srch_t is introduced as the gateway of search interfaces.
78 *
79 * Another phenonemon one could see in the code was bad interaction
80 * between modules. This is quite serious in two areas: logging and
81 * checking. The current policy is unless something required cross
82 * checking two structures, they would be done internally inside a module
83 * initialization.
84 *
85 * Finally, kb_setlm is now removed and is replaced by ld_set_lm (by
86 * users) or srch_set_lm (by developers). I think this is quite
87 * reasonable.
88 *
89 * Revision 1.10 2005/06/19 19:41:23 archan
90 * Sphinx3 to s3.generic: Added multiple regression class for single stream MLLR. Enabled MLLR for livepretend and decode.
91 *
92 * Revision 1.9 2005/05/11 06:10:38 archan
93 * Code for lattice and back track pointer table dumping is now wrapped in reg_result_dump. The function is shared across mode 4 and mode 5. Possibly later for mode 3 and mode 6 as well.
94 *
95 * Revision 1.8 2005/04/25 23:53:35 archan
96 * 1, Some minor modification of vithist_t, vithist_rescore can now support optional LM rescoring, vithist also has its own reporting routine. A new argument -lmrescore is also added in decode and livepretend. This can switch on and off the rescoring procedure. 2, I am reaching the final difficulty of mode 5 implementation. That is, to implement an algorithm which dynamically decide which tree copies should be entered. However, stuffs like score propagation in the leave nodes and non-leaves nodes are already done. 3, As briefly mentioned in 2, implementation of rescoring , which used to happened at leave nodes are now separated. The current implementation is not the most clever one. Wish I have time to change it before check-in to the canonical.
97 *
98 * Revision 1.7 2005/04/20 03:36:18 archan
99 * Remove setlm from kb entirely, refactor it to search implementations, do the corresponding change for the changes in ascr and pl
100 *
101 * Revision 1.6 2005/03/30 01:22:47 archan
102 * Fixed mistakes in last updates. Add
103 *
104 *
105 * 14-Jun-2004 Yitao Sun (yitao@cs.cmu.edu) at Carnegie Mellon University
106 * Modified struct kb_t to save the last hypothesis.
107 *
108 * 07-Jul-1999 M K Ravishankar (rkm@cs.cmu.edu) at Carnegie Mellon University
109 * Added kb_t.ci_active.
110 *
111 * 02-Jun-1999 M K Ravishankar (rkm@cs.cmu.edu) at Carnegie Mellon University