Scorealgorithm1 composes musical scores using controlled, randomized procedures. It is written in Python, and the output is compatible with the digital synthesis software CSound. Scorealgorithm1 is a flexible composition tool that can create varied styles of music with changing harmonic, melodic, and rhythmic textures. The program also features various tuning systems and adaptable performance controls. Complex repetition, even canonic imitation, is possible. Visit the Web site for tutorials, documentation, and examples of music created using the software.
The MOEA Framework is a Java library for developing and experimenting with multiobjective evolutionary algorithms (MOEAs) and other general-purpose optimization algorithms and metaheuristics. A number of algorithms are provided out-of-the-box, including NSGA-II, ε-MOEA, GDE3, and MOEA/D.
Multi-Dimensional Data Structure (mdds) is a C++ library that includes a collection of various data structures designed to efficiently store and query multi-dimensional data for various filtering criteria. Different structures are optimized for different query needs. The library is provided as a header only, meaning that programs do not need to link to any additional shared library in order to use these data structures. The data structures are all available as C++ templates.
Global Paths Matching is an implementation of the global paths graph matching algorithm proposed by Maue and Sanders in "Engineering Algorithms for Approximate Weighted Matching" (WEA'07). Given a graph G=(V,E), a matching M is a set of edges without common vertices, i.e. the graph G=(V,M) has a degree of at most one. The algorithm scans the edges in order of decreasing weight (or rating), constructing a collection of paths and even length cycles. These paths initially contain no edges. While scanning the edges, the set is extended by successively adding applicable edges, which are those connecting two endpoints of different paths or two endpoints of an odd length path. Optimal solutions/matchings are computed for each path and cycle using dynamic programming.