|
Toni Mancini, Davide Micaletto, Fabio Patrizi, Marco Cadoli
Dipartimento di Informatica e Sistemistica
Università di Roma "La Sapienza"
via Salaria 113, I-00198 Roma, Italy
Appeared in
Constraints, 13(4), pages 407-436, 2008.
Web appendix
[CSPLib #] Go to the CSPLib page for this problem Given the twelve standard pitch-classes (c, c#, d, ...), represented by numbers 0,1,...,11, this
problem amounts to find a series in which each pitch-class occurs exactly once
and in which the musical intervals between neighboring notes cover the full
set of intervals from the minor second (1 semitone) to the major seventh (11
semitones). That is, for each of the intervals, there is a pair of neighboring
pitch-classes in the series, between which this interval appears. We consider a generalization of this problem in which the set of numbers is
the range from 0 to n-1, for any given positive 'n'. In particular, given such 'n',
the problem amounts to find a vector s = (s1, ..., sn) that is a permutation of {0, 1,..., n-1} and such that the interval vector v = (|s2 - s1|, |s3 - s2|, ..., |sn - s(n-1)|) is a permutation of {1, 2,..., n-1}.
- n, the number of pitch classes
The set of permutations of integer range [0..n-1]- C1: Each pitch class occurs exactly once
- C2: Differences between neighbouring notes are all different
Problem specifications
Specification | OPL | DLV | LPARSE |
BASE: Base specification |
|
|
|
SBSO: Symmetry-breaking by selective ordering |
|
|
|
AUX: Addition of auxiliary predicates |
|
|
|
GCAD: Exploitation of alldifferent() global constraint |
| -- | -- |
AUX-SBSO: Addition of auxiliary predicates plus Symmetry-breaking by selective ordering |
|
|
|
AUX-SBSO-GCAD: Addition of auxiliary predicates plus Symmetry-breaking by selective ordering plus Exploitation of alldifferent() global constraint |
| -- | -- | Return to the problem list
|