(2015) : Klöckner, Andreas
DOI: https://doi.org/10.1007/978-3-319-17518-8_29
#FSMs #mission_management #ai #behaviour_tree #my_bibtex
Successful algorithmic music composition requires the efficient creation of works that reflect human preferences. In examining this key issue, we make two main contributions in this dissertation: analysis of the computational complexity of algorithmic music composition, and methods to produce music that approximates a commendable human effort. We use species counterpoint as our compositional model, wherein a set of stylistic and grammatical rules governs the search for suitable countermelodies to match a given melody. Our analysis of the complexity of rule-based music composition considers four different types of computational problems: decision, enumeration, number, and optimization. For restricted versions of the decision problem, we devise a polynomial algorithm by constructing a non-deterministic finite state transducer. This transducer can also solve corresponding restricted versions of the enumeration and number problems. The general forms of the four types of problems, however, are respectively NP-complete, #P-complete, NP-complete in the strong sense, and NP-equivalent. We prove this by first reducing from the well known Three-Dimensional Matching problem to the music composition decision problem, and then by reducing among the music problems themselves. In order to compose music both correct and human-like, we formulate new “artistry” rules to supplement traditional rules of musical style and grammar. We also propose the fuzzy application of these artistry rules, to complement the crisp application of the traditional rules. We then suggest two methods to model human preferences: (1) distinguish an expert’s compositions from alternative compositions by determining rule weights; (2) train an artificial neural network to reflect an expert’s musical preferences through the latter’s evaluations of a set of compositions. We were able to approximate that elusive factor of human preference with better than 75% accuracy. To solve the optimization problem, we adapt two different search algorithms: best-first search with branch-and-bound pruning (for m ≥ 1 optimal solutions), and a genetic algorithm (for m ≥ 1 near-optimal solutions). Through these algorithms, we test the techniques of rule weightings and of trained neural networks as evaluation functions. Our adaptation of the genetic algorithm produced optimal countermelodies in execution time favorably comparable to that taken by the best-first algorithm.
Each summer in Australia, bushfires burn many hectares of forest, causing deaths, injuries, and destroying property. Agent-based simulation is a powerful tool for decision-makers to explore different strategies for managing such crisis, testing them on a simulated population; but valid results require realistic underlying models. It is therefore essential to be able to compare models using different architectures to represent the human behaviour, on objective and subjective criteria. In this paper we describe two simulations of the Australian population's behaviour in bushfires: one with a finite-state machine architecture; one with a BDI architecture. We then compare these two models with respect to a number of criteria.
Context Models, as the main artifact in model-driven engineering, have been extensively used in the area of embedded systems for code generation and verification. One of the most popular behavioral modeling techniques is the state machine. Many state machine modeling guidelines recommend that a state machine should have more than one state in order to be meaningful. However, single-state state machines (SSSMs) violating this recommendation have been used in modeling cases reported in the literature. Objective We aim for understanding the phenomenon of using SSSMs in practice as understanding why developers violate the modeling guidelines is the first step towards improvement of modeling tools and practice. Method To study the phenomenon, we conducted an exploratory study which consists of two complementary studies. The first study investigated the prevalence and role of SSSMs in the domain of embedded systems, as well as the reasons why developers use them and their perceived advantages and disadvantages. We employed the sequential explanatory strategy, including repository mining and interview, to study 1500 state machines from 26 components at ASML, a leading company in manufacturing lithography machines from the semiconductor industry. In the second study, we investigated the evolutionary aspects of SSSMs, exploring when SSSMs are introduced to the systems and how developers modify them by mining the largest state-machine-based component from the company. Results We observe that 25 out of 26 components contain SSSMs. Our interviews suggest that SSSMs are used to interface with the existing code, to deal with tool limitations, to facilitate maintenance and to ease verification. Our study on the evolutionary aspects of SSSMs reveals that the need for SSSMs to deal with tool limitations grew continuously over the years. Moreover, only a minority of SSSMs have been changed between SSSM and multiple-state state machine (MSSM) during their evolution. The most frequent modifications developers made to SSSMs is inserting events with constraints on the execution of the events. Conclusions Based on our results, we provide implications for developers and tool builders. Furthermore, we formulate hypotheses about the effectiveness of SSSMs, the impacts of SSSMs on development, maintenance and verification as well as the evolution of SSSMs.