Reworked the algorithm of finding terminal symbols to remove from terminal symbol classes in a template regular expression grammar at each determinization iteration. The process of learning 14 example grammars is now 2.5 times faster.
Reworked an example program that demonstrates learning a language.
This version of QSMM is more than all previous versions oriented to help scientists to do productive research. The following new features of the package could help to develop efficient algorithms of solving problems that require intelligent behavior.
The most important improvement made is handling a case when a state transition matrix and an action emission matrix of a node are sparse ones. It is the most typical case for those matrices, which probability profiles are specified by an assembler program loaded into the node. Special support for sparse matrices allows fast execution of an assembler program that contains thousands of states. Before this improvement, execution of such an assembler program, which contained merely a hundred of states, was extremely slow, and this made impossible creating complex assembler programs to address problems that occur in practice. I hope that now the framework would help to solve those problems.... read more
Feedback on the project, which does not fall into categories of bug reports, feature requests, and support requests, should be sent to the mailing list:
https://lists.sourceforge.net/lists/listinfo/qsmm-users
If you are hesitating whether to send feedback using a tracker or the mailing list, then send it to the mailing list. Also, if you consider that your feedback is more appropriate to be sent to the mailing list, then send it to this mailing list.
The package has been transformed into a framework for development of intelligent systems.
The framework provides means to implement spur-driven behavior of a system and includes low-level functions for generating optimal actions by the system, accessing statistics storage, and guessing current environment state, as well as high-level functions for building multinode models.
In a multinode model nodes represent components of a system you develop that choose optimal actions using the framework and can correspond to entities external to the system and which behavior is to be learnt.... read more
For request/response mode of interaction, support for multitier model of interlocutor states has been implemented. The second accompanying paper has been rewritten and now describes a multitier system.
Testing methodology of request/response mode of interaction of the system and the interlocutor has been changed. The request/response interaction implementation has been labelled as "experimental".
In this release of QSMM package, the first steps towards the creation of a system that performs linguistic request/response interaction with environment have been made. That is, the environment becomes an abstract interlocutor for the system.
In contrast to continuous mode of interaction with environment, implemented in previous package releases, when the languages of inbound and outbound signal streams for the system could be different, the request/response mode of interaction in a language, common for all dialog remarks accepted and emitted, requires much lesser amount of system memory. Therefore, the latter mode of interaction had been considered as having prospects in efficient implementation, and became the new line of package development. For now, flat model of transitions between the characters of language alphabet is supported, with all the ensuing consequences for simplicity of the language.... read more
This version contains source code enhancements, a bug fix, and has improved speed. Source code has been changed to enable support for arbitrary number of energy (spur) types.
QSMM is intended to be a workplace for development, implementation, and testing of ideas how a system can build an environment state model and use that model to produce actions. For description of the ideas see project home page http://qsmm.sourceforge.net/ .
In this release, the program tries to interact optimally with environment represented by deterministic finite automaton. Energy increments are assigned to automaton output signals. They take place when corresponding output signals are emitted by the automaton. The goal of program operation is to emit the sequence of automaton input signals that yields maximal amount of energy.