We published a tutorial paper on the Tree Edit Distance on arXiv, namely:
Paaßen, B. (2018). Revisiting the tree edit distance and its backtracing: A tutorial. arXiv: 1805.06869 [cs.DS]
With that publication, we also updated the toolbox again and fixed some bugs in the trees module. Special Thanks go to Martin Donath for spotting further bugs.
- sets via the new
setsmodule. A set alignment is performed via the Hungarian algorithm and requires O(n³) operations where n is the number of elements in the larger set
- trees via the new
treesmodule. For the tree edit distance we support the Algorithm by Zhang and Shasha (1989). We also implement backtracing, both crisp and soft.
- forests via the new
treesmodule. Forests can be either ordered lists of trees, in which case we perform a standard string edit distance based on the tree edit distances between all pairwise tree assignments; or forests can be defined as unordered lists of trees, in which case we perform a set edit distance via the Hungarian algorithm.
Surface_mesh 1.1 is now available for download. This is mostly a bug-fix release. Go to the project page and grab a copy.
FSMT now features a remote stop function using 0MQ. Moreover, FSMT docs are deployed here: http://docs.clf.cit-ec.de/fsmt/$version.
These are the docs for 0.20 (0MQ) http://docs.clf.cit-ec.de/fsmt/0.20/zmq_remote.html
Version 3.0.1 contains more convenience functions in the primitives module and a few bugfixes for the primitives and visualization module.
Please have a look at the 'examples' directory directory in the GIT repository to inspect the new version of the toolbox in more detail.
New tutorials about writing recipes and distributions are online:
Also, the landing page: https://opensource.cit-ec.de/projects/citk
has been updated in order to reflect the latest developments
Description of the Startup & Shutdown Synchronization Protocol (SSSP) as well as all required control signals.
Furthermore, the AMiRo-BLT software project is briefly described as well.
A source code style guide is provided as well as a set of hints on how to write efficient real-time C++ code for microcontrollers.
A bash script is provided to completely setup the system environment for software development.
- Thomas Schöpping
AMiRo-OS - the software framework for the Autonomous Mini Robot (AMiRo) consisting of development tools, a bootloader, and operating system - is now available for everyone as open-source project. Since this is the first release, bugs are somewhat expected. Please report any issues you have to the project managers Thomas Schöpping (preferred) or Timo Korthals.
We hope you will enjoy your time with AMiRo and this development toolchain!
- Thomas Schöpping
- Instead of the Sequence datastructure the toolbox has been revised to support arbitrary input in List form. That means: You can now input whatever input you like, as long as it implements the java.util.List interface.
- This also means that using the TCS Alignment Toolbox has become significantly easier: There is no need to construct a NodeSpecification or an AlignmentSpecification anymore. You just need your data in List form, a Comparator and an AlignmentAlgorithm.
- The Sequence datastructure is still supported (and implements the java.util.List interface now) but is not mandatory anymore and has been refactored to isolated modules
- Many implementations in the algorithms-lib module had to be removed to make maintaining the toolbox easier.
- The remaining implementations in the algorithms-lib module (global alignment and DTW) have been revised to be more efficient. Combined with the reduced overhead caused by the Sequence datastructure this leads to speedups up to factor 10.
- The gradient computation mechanism has been revised to be easier to understand. See the DerivableAlignmentDistance, the DerivableComparator and the Gradient interface for more details.
- The ReplacementComparator has been revised to be easier to understand and more efficient.
- We have added four new comparators providing a normalized Euclidean and Manhatten distance with and without relevance weighting.
- The java examples are now isolated maven projects, making them easier to use.
Please have a look at the 'examples' directory in the GIT repository to inspect the new version of the toolbox in more detail.
We fixed some bugs in three modules of the TCSAlignmentToolbox, namely:
- sequences module: The validate() method of VectorialKeywordSpecification and SymbolicKeywordSpecification accepts null values now.
- algorithms module: The Operation class validates DELETIONREPLACEMENT and INSERTIONREPLACEMENT OperationType consistency in the constructor now.
- algorithms module: The calculateComparatorDistances() method of the Operation class called the skipDelete() method before if the OperationType SKIPINSERTION was given. This is corrected now.
- adp module: The FlexibleGrammar could not handle DELETIONREPLACEMENT and INSERTIONREPLACEMENT before. This is fixed now.
Also available in: Atom