scholarly journals Dynamic Programming Algorithms Applied to Musical Counterpoint in Process Composition: An Example Using Henri Pousseur’s Scambi

Author(s):  
Louis J. Cochrane ◽  
Derek Gatherer

The Needleman-Wunsch process is a classic tool in bioinformatics, being a dynamic programming algorithm that performs a pairwise alignment of two input biological sequences, either protein or nucleic acid. A distance matrix between the tokens used in the sequences is also required as input. The distance matrix is used to generate a positional pairwise similarity matrix between the input sequences, which is in turn used to generate a dynamic programming matrix. The best path through the dynamic programming matrix is navigated using a traceback procedure that maximises similarity, inserting gaps as necessary. Needleman-Wunsch can align both nucleic acids or proteins, which use alphabets of size 4 and 20 tokens respectively. It can also be applied to any other kind of sequence where distance matrices can be specified. Here, we apply it to chains of Pousseur’s Scambi electronic music fragments, of which there are 32, and which Pousseur categorised by their sonic properties, thus permitting the consecutive construction of distance, similarity and dynamic programming matrices. Traceback through the dynamic programming matrix thus produces contrapuntal duet compositions in which two Scambi chains are played in the maximally euphonious manner, providing also an illustration of the principles of biological sequence alignment in sound.

Mathematics ◽  
2021 ◽  
Vol 9 (19) ◽  
pp. 2480
Author(s):  
Amelia Bădică ◽  
Costin Bădică ◽  
Ion Buligiu ◽  
Liviu Ion Ciora ◽  
Doina Logofătu

We study competitions structured as hierarchically shaped single-elimination tournaments. We define optimal tournaments by maximizing attractiveness such that the topmost players will have the chance to meet in higher stages of the tournament. We propose a dynamic programming algorithm for computing optimal tournaments and we provide its sound complexity analysis. Based on the idea of the dynamic programming approach, we also develop more efficient deterministic and stochastic sub-optimal algorithms. We present experimental results obtained with the Python implementation of all the proposed algorithms regarding the optimality of solutions and the efficiency of the running time.


2021 ◽  
Author(s):  
Alexander Decker de Souza ◽  
Luiz Filipe Menezes Vieira ◽  
Marcos Augusto Menezes Vieira

We propose two new computational problems associated with the charging of mobile devices using wireless power transfer via magnetic induction. Algorithms for these problems may enable ubiquitous charging, meaning the user is no longer required to be aware of the devices charging processes. We prove both problems as being NP-Hard and propose three dynamic programming algorithms to solve them in linear time regarding the size of the time horizon. We also propose three greedy algorithms for the problems. Experiments indicate that the best dynamic-programming algorithm among those proposed reaches between 89% and 97% of effectiveness, while the best greedy reaches between 74% and 92%, depending on the considered scenario.


2012 ◽  
Vol 12 (4-5) ◽  
pp. 445-464 ◽  
Author(s):  
BERNHARD BLIEM ◽  
MICHAEL MORAK ◽  
STEFAN WOLTRAN

AbstractIn this work, we propose Answer-Set Programming (ASP) as a tool for rapid prototyping of dynamic programming algorithms based on tree decompositions. In fact, many such algorithms have been designed, but only a few of them found their way into implementation. The main obstacle is the lack of easy-to-use systems which (i) take care of building a tree decomposition and (ii) provide an interface for declarative specifications of dynamic programming algorithms. In this paper, we present D-FLAT, a novel tool that relieves the user of having to handle all the technical details concerned with parsing, tree decomposition, the handling of data structures, etc. Instead, it is only the dynamic programming algorithm itself which has to be specified in the ASP language. D-FLAT employs an ASP solver in order to compute the local solutions in the dynamic programming algorithm. In the paper, we give a few examples illustrating the use of D-FLAT and describe the main features of the system. Moreover, we report experiments which show that ASP-based D-FLAT encodings for some problems outperform monolithic ASP encodings on instances of small treewidth.


2005 ◽  
Vol DMTCS Proceedings vol. AD,... (Proceedings) ◽  
Author(s):  
Cary Cherng ◽  
Richard E. Ladner

International audience New cache-oblivious and cache-aware algorithms for simple dynamic programming based on Valiant's context-free language recognition algorithm are designed, implemented, analyzed, and empirically evaluated with timing studies and cache simulations. The studies show that for large inputs the cache-oblivious and cache-aware dynamic programming algorithms are significantly faster than the standard dynamic programming algorithm.


Sign in / Sign up

Export Citation Format

Share Document