Está en la página 1de 33

Sistemas de programacin con restricciones para las teoras Modeling Msica y

Composicin

TORSTEN ANDERS y EDUARDO R. MIRANDA, Universidad de Plymouth

Programacin con restricciones es muy adecuado para el modelado computacional de las teoras
de la msica y composicin: su enfoque declarativo y modular comparte similitudes con la
forma en teora de la msica se expresa tradicionalmente, a saber, por un conjunto de reglas que
describen el resultado que se pretende. Diversas disciplinas de teora de la msica han sido
modelado, incluyendo contrapunto, armona, ritmo, forma, y la instrumentacin. Debido a que
el modelado de la msica teoras "de la nada" es una tarea compleja, se han propuesto sistemas
de restriccin de programacin de msica genricos que definir previamente los bloques de
construccin necesarios para modelar una gama de teoras musicales. Despus de introducir el
campo y sus problemas en general, esta encuesta compara estos sistemas genricos de acuerdo
con un nmero de criterios tales como la gama de teoras musicales de estos sistemas soportan.

Palabras y frases clave adicionales: la composicin algortmica, composicin asistida por
ordenador, la restriccin de pro-programacin, la representacin de la msica, teora de la
msica
ACM Referencia Formato:
Anders, T. y Miranda, ER 2011. Sistemas de programacin con restricciones para las teoras de
la msica y el modelado composicin. ACM Comput. Surv. 43, 4, el artculo 30 (octubre de
2011
1. INTRODUCCIN
Los msicos y los cientficos de la computacin por igual han estado fascinados por el
modelado de composicin de la msica con los programas informticos desde hace
dcadas. El Illiac Suite [Hiller yIsaacson 1958]-una composicin generada por ordenador para
cuarteto de cuerdas-testifica que este campo de investigacin es casi tan antigua como la ciencia
de la computacin. El modelado computacional de las teoras de la msica que es interesante
por varias razones. Para los msicos, el clculo modelado ayuda a una mejor comprensin de las
teoras musicales. Los programas resultantes pueden servir como herramientas para la
composicin asistida por ordenador. Para los cientficos de computacin, modelado la msica es
interesante como los requisitos de este dominio pueden llevar a la nueva computacional
modelos y lenguajes.
En el campo de la composicin asistida por ordenador (CAC, tambin conocido como
algortmica composicin) compositores formalizar sus intenciones musicales y aplicar estos
formales especificaciones que los programas de ordenador. Estos programas de msica de
salida, y los compositores a continuacin, utilizar esta salida en sus piezas, posiblemente
despus de editar manualmente. Sistemtico encuestas de tcnicas de CAC-con anotaciones son
histricos proporcionados por los caminos [1996], Miranda [2001], y Taube [2004]. Assayag
[1998] describe la historia de composicin asistida por ordenador. Papadopoulos y Wiggins
[1999] ofrecen una sistemtica vista general con un enfoque en los sistemas basados en tcnicas
de inteligencia artificial. Iceberg [2009] encuestas sistemas de composicin algortmica
seminales.
Durante siglos, el conocimiento explcito acerca de la composicin de la msica ha sido
expresada por los medios de reglas. Hace ms de 1000 aos, se haban utilizado para describir
las reglas que ya la composicin de un organum (una forma polifnica temprano) en el tratado
annimo Musica Enchiriadis (unos 900). Naturalmente, las normas por s solas no son
suficientes, sino que debe complementarse con ejemplos. Sin embargo, an hoy en da, las
normas son un instrumento importante a la hora que describe un estilo musical o cuando se
ensea el arte de la composicin.
Las reglas son muy adecuadas para describir la msica por dos razones: son declarativas y
que describen la naturaleza multidimensional de la msica de una manera modular. En primer
lugar, las normas son declarativo en el sentido de que rara vez se especifican procesalmente
cmo crear un cierto resultado. En cambio, slo se describen las caractersticas importantes que
el resultado que se pretende debe pantalla. En segundo lugar, la formalizacin de una tarea tan
compleja como la composicin es en gran medida simplificado cuando la tarea se afirma de una
manera modular. Cuando la descripcin de la tarea es desglosado en las reglas rtmicas,
meldicas reglas, normas relativas a la armona y as sucesivamente, a continuacin, las diversas
dimensiones musicales se formalizan uno por uno.
Debido a que las reglas son un concepto tan establecido a largo, la programacin de los
enfoques que apoyo construcciones de programacin en reglas como han llamado mucho la
atencin entre los compositores y acadmicos para composicin del modelo de msica. Estos
enfoques se traducen la ventajas de las reglas en el mundo de la programacin informtica:
aplicacin de msica modelos de la teora se convierte en declarativa y modular.

Como los enfoques basados en reglas son declarativas, liberan a los programadores concentrarse
en lo que quieren hacer en un sentido musical, es decir, que no es necesario definir cmo lograr
este resultado. Por el contrario, es muy difcil de msica modelo computacionalmente teoras de
un enfoque de programacin procesal donde se detalla el programador cmo para obtener un
determinado resultado. Adems, el cambio o la adicin de una sola regla puede requerir
rediseo de todo el programa de procedimiento. Estas dificultades son compartidas por rubro
Programacin orientada, para el caso.

Otra ventaja de la utilizacin de enfoques basados en reglas radica en el hecho de que la teora
de la msica modelos se definen de forma modular. Varias reglas pueden incluso afectar a la
misma valor del parmetro. Por ejemplo, un modelo de teora de la msica puede restringir los
tonos de las notas de una puntuacin por reglas meldicas por un lado y por las normas de
armnicas en el otro. Cada uno de esa regulacin especfica afectan a los mismos valores de los
parmetros, a saber, los lanzamientos. Sin embargo, ninguna regla determina necesariamente los
valores de los parmetros en su totalidad. Buscar encuentra uno o ms solucin que cumple con
todas las reglas.

Programacin con restricciones (CP) ha demostrado ser una programacin especial xito
paradigma para la realizacin de sistemas basados gobernada por (otro paradigma es la
programacin lgica). La atraccin de la CP se explica fcilmente. CP permite a los usuarios
modelar problemas complejos de una manera sencilla. Un problema se plantea por un conjunto
de variables (incgnitas) y las limitaciones (relaciones) entre estas variables. En este artculo,
utilizamos la regla de plazo para la msica concepto terico y la restriccin de plazo para su
aplicacin por CP.
Desde un punto de investigacin programacin con restricciones de vista, la msica es una
aplicacin dominio. La complejidad de la msica puede ser comparada con la complejidad del
idioma, sin embargo, el modelado de ambos dominios requiere diferentes enfoques [Lerdahl y
Jackendoff 1983]. Una cuestin relacionada con la msica especial de
la revista Restricciones [Pachet y Codognet 2001], y un Taller Restricciones Musical que fue
parte de la sptima Inter-Conferencia nacional sobre Principios y Prctica de Programacin con
Restricciones en Chipre (CP'2001) subrayan cmo las apelaciones de msica a los informticos.
Al abordar las necesidades de la msica puede dar lugar a nuevos lenguajes de
programacin. Por ejemplo, con el fin de darse cuenta de su sistema de armonizacin Bach
CORAL de manera eficiente

X + Y = 7 X <Y

La figura. 1. Un ejemplo sencillo CSP; posibles soluciones a los problemas son X = 3, Y = 4
y X = 1, Y = 6.

BSL (Backtracking Specification Language), un lenguaje de programacin lgica que es
fundamentalmente diferente de Prolog. Existe una correspondencia simple que traduce un
programa BSL a una frmula de primer orden el clculo de predicados. La ejecucin de un
programa de BSL asciende a demostrar su correspondiente frmula de primer orden. Mientras
Prolog implementa la bsqueda retroceso estrategia, BSL utiliza backjumping para reducir el
espacio de bsqueda.
Investigacin programacin con restricciones para el modelado de la msica tambin puede dar
lugar a nuevas computacional-modelos. PiCO [Rueda et al. 2001] es un clculo que integra
objetos concurrentes y las limitaciones como las nociones primitivas. Este clculo est pensado
como una fun-formal, precisa dacin de los sistemas de composicin, porque las restricciones y
los objetos del modelo de dos importantes enfoques para la construccin de estructuras
musicales. Esta investigacin tambin desarroll Cordial [Rueda et al. 1997], un lenguaje de
programacin visual que comparte la semntica con pico.

Otro ejemplo es el clculo NTCC [Palamidessi y Valencia 2001] que extiende la temporal
concurrente tcc clculo restriccin [Saraswat et al. 1994] por no determinismo y el retardo finito
ilimitado. El diseo del clculo ntcc se inspir en la requisitos de las aplicaciones musicales
[Rueda y Valencia 2004]. Sin embargo, en lugar de centrarse en modelos de programacin y
lenguajes subyacentes, detalles de este artculo, el (Gama de teoras musicales) con el apoyo de
los sistemas existentes.

Plan del artculo
El resto de este artculo est organizado de la siguiente manera. Seccin 2 ofrece una breve e
informal introduccin a la CP(programacin con restricciones). Una amplia gama de problemas
de restriccin musicales existentes se describe en Seccin 3, que esboza las disciplinas de teora
musical comunes, y las campaas de investigacin que implementa las teoras musicales
especficos. Un nmero de sistemas permiten a los usuarios implementar sus propias teoras de
la msica. Estos sistemas se describen en la Seccin 4, en la seccin 5 se comparan de acuerdo a
criterios de evaluacin ortogonales que indican, por ejemplo, la gama de teoras musicales de
estos sistemas de apoyo. El artculo finaliza con una conclusin (Seccin 6).
2. QU ES programacin con restricciones?
Programacin con restricciones es un paradigma de programacin que introduce las tcnicas
para resolver problemas de satisfaccin de restricciones. Una Satisfaccin de la restriccin del
problema (CSP) se compone de un conjunto de variables y relaciones matemticas entre estas
variables que se hace referencia como limitaciones. Por lo general, un CSP presenta un
problema combinatoria. Un solucionador de restricciones encuentra una o ms soluciones para
el problema. La solucin de un CSP muestra para cada variable del problema de un valor
determinado que es consistente con todas las limitaciones. Un sistema de programacin con
restricciones (abreviado: restriccin del sistema) permite a su usuario para definir y resolver los
CSP.
Un ejemplo numrico simple puede ilustrar estos conceptos (Figura 1). El ejemplo introduce las
dos variables X e Y y limita su valor por dos aritmtica bsica operaciones, conectados por una
conjuncin.

Tenga en cuenta que la variable trmino tiene un significado claramente diferente en el
programa de convencionales paradigmas y lenguajes (por ejemplo, C o Java), por un lado ming,
y en el campo de la CP en el otro lado. En los lenguajes de programacin, una variable denota
un estado-entidad computacional ful: una variable tal tiene siempre un valor especfico y un
programa puede modificar el valor de una variable con una instruccin de asignacin en
cualquier momento. Por el contrario, en CP las variables con restricciones se escriben con letras
maysculas. en CP la nocin de una variable es ms similar a la nocin de una variable
o desconocido en matemticas. Ms especficamente, una variable en CP es similar a una
variable en primer orden lgico. El valor de una variable puede ser desconocida o parcialmente
conocida. Para ejemplo, slo puede ser conocido que X {1}... 10. Sin embargo, una variable
nunca cambia su valor, sino que es aptrida. El resto de este texto siempre utilizar el trmino
variable en este ltimo sentido.
A veces, la variable trmino limitado se utilizar para denotar explcitamente una variable en el
contexto de la CP. Una variable restringido es una variable que tiene un dominio, que es un
conjunto de valores que puede tomar en una solucin. Algunos sistemas de restriccin admiten
variables con un dominio infinito (por ejemplo, el dominio de todos los nmeros reales en algn
intervalo).
Sin embargo, en todos los sistemas estudiados en este texto, el dominio de una variable es un
nmero finito conjunto de valores posibles variables. Los valores en el dominio de frecuencia
son todos de la misma tipo (por ejemplo, el dominio de Boole, el dominio entero, o dominio de
conjuntos finitos de nmeros enteros), mientras que otros sistemas de apoyo a los dominios con
tipos mixtos.
En principio, las restricciones pueden ser relaciones matemticas arbitrarias. Los ejemplos
incluyen relaciones numricas, de relaciones establecidas, relaciones lgicas, y de rboles o de
grfico de relaciones. Con sistemas straint predefinir un conjunto de restricciones y, a menudo
permiten al usuario ampliar este conjunto.
Un CSP no se traduce necesariamente en una nica solucin. En cambio, las restricciones y
dependencias expresadas por un conjunto de restricciones reducen el conjunto de candidatos de
solucin.
Sistemas de restricciones existentes pueden resolver de manera eficiente los CSP, un hecho que
es gran concontribuido a la popularidad de la CP. Debido a que el espacio de la bsqueda es el
conjunto de (parcial) candidatos de la solucin de un CSP es a menudo enorme, un solucionador
de restricciones eficiente tiene gran impacto en la usabilidad de un sistema de restriccin.
Existe mucha literatura sobre CP. Por ejemplo, Apt proporciona una visin general del campo
con muchos ejemplos de CSP. Fruhwirth y Abdennadher examinar diferentes enfoques y
sistemas de CP. Dechter se explica principalmente cmo solucionadores de restricciones a
encontrar soluciones. Una coleccin de las encuestas que cubren toda la amplitud y profundidad
del campo de investigacin de CP se presenta en Rossi. Por ltimo, una introduccion menos
formal en el campo se da en el tutorial Web por Bartak, que tambin enlaces a otros recursos
como revistas relacionadas, conferencias, enlaces web, etc

3. PROBLEMAS satisfaccin de restricciones MUSICAL
Usando CP, una tarea composicin se indica por: (i) una representacin de msica en la que
algunos aspectos musicales son desconocidos (y por lo tanto representado por las variables) y
(ii) con limitaciones que restringen estas variables. Por ejemplo, un acorde puede ser expresada
por un conjunto de notas y los tonos de las notas pueden ser variables. Algunas limitaciones
armnicas pueden especificar cmo los emplazamientos de acordes estn relacionados entre s,
otras restricciones definen la relacin con los lanzamientos de otros acordes y as
sucesivamente.
Un CSP musical implementa un modelo de una teora de la msica que describe cierta aspectos
musicales como el ritmo, la armona, la estructura formal, o los instrumentos.
El modelo de la teora no necesariamente tiene que ser coherente con cualquier musical
existente estilo. Por ejemplo, un compositor puede desarrollar algn CSP musical (e
implcitamente definir una modelo de la teora) de una manera ad hoc con el fin de generar un
poco de la subparte de una composicin en un estilo de la novela. Sin embargo, el modelo de
teora de la msica debe ser formalizado por completo (por ejemplo, totalmente expresable en
notacin matemtica). Cuando un CSP musical se resuelve, las variables en la representacin de
la msica se determinan de una manera que se ajuste al modelo2. Incluso si el dominio de una
variable se reducir durante el proceso de bsqueda, el dominio no va a cambiar en cualquier
otra manera. Sin embargo, en la aplicacin real de algunos sistemas se discuten en lo que sigue
el concepto de la variable y su dominio es un tanto desconectados. En tales sistemas, durante la
bsqueda de la variable es de hecho statefully unido a diferentes valores de dominio antes de
aplicar las restricciones de teora. El resultado de un CSP musical puede ser, por ejemplo, un
segmento musical (por ejemplo, una secuencia de tonos lisos), un anlisis de una pieza
determinada (por ejemplo, un anlisis armnico), o una composicion a gran escala.
Muchas teoras de la msica se han modelado e implementado por CP. Adems, composers ya
han hecho un amplio uso de la PC. Los ejemplos incluyen Antoine Bonete (por ejemplo,
para Epitaphe para 8 instrumentos de metal, 2 pianos, orquesta y electroacstica, Magnus
Lindberg (Motor para orquesta de cmara); Georges Bloch (Palm Sax durante siete saxofones,
Orjan Sandred (Kalejdoskop para clarinete, viola y piano.\

El paradigma CP se adapta bien a las necesidades de la composicin asistida por
ordenador. Composers menudo prefieren una forma de trabajo que se encuentra en algn lugar
entre la composicin "A mano" y formalizar el proceso de composicin de manera que puede
ser delegada en el equipo; CP apoya esta forma de trabajar muy bien [Anders y Miranda
2009b]. Por ejemplo, los compositores pueden determinar algunos aspectos de la msica (por
ejemplo, ciertos tonos) a mano y restringir otros aspectos por las
restricciones. Alternativamente, los compositores pueden especificar la estructura de alto nivel
(por ejemplo, la estructura formal) de forma manual y dejar que el equipo de llenado en los
detalles. Por otra parte, los compositores no suelen formalizar plenamente determinados
aspectos del proceso de composicin antes de empezar a componer. En cambio, la
formalizacin es a menudo un aspecto integral del proceso de composicin en s. Una tarea de
composicin definida por medio de CP puede ser en forma de una manera muy flexible durante
el proceso de composicin por la adicin, eliminacin y cambio de las limitaciones individuales.
En esta seccin se muestra la variedad de los CSP musicales que se han publicado. Nosotros
describir primero una simple (pero no trivial) Ejemplo de satisfaccin de restricciones musical
en su totalidad a detalle. A continuacin presentamos brevemente las disciplinas de teora de la
msica clsica, y la encuesta de trabajo que ha aplicado estas teoras usando CP. Disciplinas de
teora de la msica clsica se centran en las parcelas, y por lo tanto la mayor parte de los CSPs
musicales presentados restringen principalmente nota lanzamientos de alguna manera.
3.1. Un primer ejemplo: All-Intervalo Series
En esta seccin se presenta un primer ejemplo CSP musical que surge de la msica serial
composicin. En esta tcnica, el compositor organiza los lanzamientos en una composicin con
la ayuda de una fila de tono (tambin conocido como la serie dodecafnica). Una fila de tono es
una secuencia de 12 tonos que organiza las doce clases de tono cromtico (nombres de tono) en
un determinado orden, en donde se produce cada clase de tono exactamente una vez. Una fila
puede ser transformada en muchas maneras. Las transformaciones ms comunes son la
transposicin, retrgrada (reversin en tiempo), y la inversin (reflejado a lo largo de un eje de
inclinacin). Compositores utilizan filas de tono como un dispositivo para lograr la coherencia
en la msica, incluso si la msica abandona la armona convencional. La libro de texto seminal
sobre la composicin de serie es Perle [1991], y Krenek [1952] proporciona una introduccin
prctica a esta tcnica de composicin.
Ha habido muchos casos en que los compositores tomaron gran cuidado en el diseo de su tono
filas. Un ejemplo destacado de filas especiales de tono es el conjunto de todo el intervalo de la
serie. En una serie de todos los intervalos de, no slo las 12 clases de paso, sino tambin los
intervalos entre once de ellos estn por parejas distintas (es decir, cada intervalo se produce slo
una vez). Otro ejemplo para filas especiales de tono son hileras simtricas, en el que algunos
sectores de la fila es un tranformacion estricto de otra seccin.


La Figura 2 muestra un ejemplo serie de todos los intervalo y Krenek. Se puede observar que
cada clase de la echada se produce slo una vez en la serie. Del mismo modo, Tambin cada
intervalo entre los pasos es nico (reportado por nmeros enteros por encima del personal,
medido en semitonos). Estos intervalos se calculan de una manera tal que sean equivalente
inversional: intervalos complementarios quinta hacia arriba tal y cuarto la baja contar como el
mismo intervalo (es decir 7). En este caso particular, la serie es aunque tanto una serie de todos
los intervalos y una serie simtrica (retrgrada saber transpuesto).
Ahora presentamos una definicin serie completa de todos los intervalos, a fin de demostrar
cmo un CSP musical puede verse (Figura 3). La definicin crea primero una representacin de
la msica, que consiste en las dos listas PitchClasses e intervalos. La lista
representa PitchClasses la secuencia de las clases de la echada, que es la solucin de serie de
todos los intervalos. La lista de Intervalos representa la secuencia de los intervalos entre estas
clases de tono. Cada clase de la echada est representado por un nmero entero entre 0 y 11 (es
decir, entre C y B). Cada intervalo es representado por un nmero entero entre 1 y 11 (0 sera
unsono, pero este intervalo hace no ocurre en una serie dodecafnica). Las clases de paso y los
intervalos son los limitados variables de este problema: sus valores slo se encontraron durante
la bsqueda de la solucionador de restricciones.
El resto de la definicin consiste en un conjunto de restricciones sobre esta msica
representacin. En primer lugar, la relacin entre todos los pares de clases de la echada
consecutivos y la en intervalos entre ellos est restringido por la
restriccin inversionalEquivalentInterval (ver La Figura 3 (b)). La restriccin distinta obliga a
que todas las variables en las listas PitchClasses



La figura. 4. La msica polifnica se compone de varias voces que acompaan uno al otro, la
msica barroca expresa una progresin armnica implcita (JS Bach, Inventio 1, empezando).

y los intervalos son pares distinta. Por ltimo, dos restricciones adicionales determinan el
primera y la ltima clase de la echada con el fin de prohibir las transposiciones de la serie, y
para amplificar la informacin disponible para el solucionador de restricciones para la
eficiencia. Esta definicin tiene los 3.856 soluciones conocidas de la literatura.
Este artculo introduce una nueva terminologa con el fin de simplificar la discusin de las
limitaciones y su efecto en un CSP musical. Vamos a utilizar esta terminologa posterior al
describir y comparar diferentes sistemas en los que los usuarios pueden poner en prctica sus
propios CSPs. Este texto se refiere a conjuntos de variables (u objetos score) que estn
relacionados entre s de la misma manera como instancias de la misma puntuacin de contexto.
Los ejemplos incluyen los conjuntos de pares de notas consecutivas en una meloda, conjuntos
de notas simultneas en una partitura, conjuntos de intervalos entre las notas simultneas, juegos
de todos los objetos de puntuacin que pertenecen a una sola bar y as sucesivamente.
Este texto tambin introduce el alcance restriccin trmino para referirse a todos los contextos
de puntuacin para que se aplica una sola restriccin (un conjunto de conjuntos de variables o
anotar los objetos). En la msica CP, una restriccin a menudo se aplica de manera uniforme a
mltiples conjuntos de variables o anotar objetos. Por ejemplo,
la inversionalEquivalentInterval restriccin se aplica a 11 conjuntos de variables en la Figura 3.
CP es slo una manera de poner en prctica modelos de teora de la msica. Morris y Starr
presentar un algoritmo especialmente desarrollado para calcular serie de todos los
intervalos. Sin embargo, msica CP tiene la ventaja de que el usuario slo tiene que indicar el
problema declarativa sin desarrollar un algoritmo especial, que es a menudo una actividad que
requiere mucho tiempo. Por ejemplo, un usuario del sistema restriccin puede agregar
fcilmente las limitaciones adicionales que requerir la solucin a ser tanto una serie de todos los
intervalos y una serie simtrica (como la fila de ejemplo en la Figura 2). Por el contrario, el uso
de un enfoque algortmico a menudo requiere una rediseo algoritmo laborioso cuando los
cambios en la especificacin del problema. Sin embargo, un algoritmo especialmente diseado a
menudo se ejecuta de manera ms eficiente.
El resto de esta seccin examina las disciplinas de teora de la msica clsica y la restriccin
sistemas correspondientes.
3.2. Contrapunto
La msica polifnica se compone de varias voces que acompaan uno al otro. Figura 4 presenta
un ejemplo. A travs de los siglos, muchos libros de texto de contrapunto han sido escritos diez
que ensear cmo componer msica polifnica. Los diferentes libros de texto a menudo cubren
difeEntes estilos musicales. Hoy en da, dos familias de estilo se ensean con mayor
frecuencia. Un enfoque est orientado a la msica del Renacimiento y del compositor Palestrina
en particular. Fux escribi el tratado seminal sobre este enfoque, mientras que el libro de texto
clsico por Jeppesen se refiere al estilo de Palestrina con mayor precisin. Mientras que en la
primera aproximacin consideraciones armnicas son en el mejor de secundaria, el otro-e
histricamente ms joven-enfoque ensea cmo componer msica polifnica que expresa una
armnica progresin. Msica barroca, por ejemplo, por lo general sigue este enfoque (Figura
4). Importantes libros de texto portantes de contrapunto armnico son Schoenberg [1964] y el
pistn [1947]. Por ltimo, algunos autores ensean diferentes estilos contrapuntsticas [Motte
1981].
El siglo 20 y 21 vio la posterior evolucin de la msica polifnica. Estos son raramente es
cubierta por los libros de texto de contrapunto, pero sin embargo se han abordado en musicales
CSP. Ejemplos importantes incluyen la tcnica dodecafnica de Schoenberg y otros [Perle
1991] (consulte el precedente de todos los intervalos ejemplo la serie), sus descendientes
gustara serialismo o frmula de composicin de Stockhausen [Conen 1991], el micropolifona
desarrollado por Ligeti [Bernard 1994], y el contrapunto rtmico de Nancarrow [Gann 2006].

Existen varios sistemas de creacin de msica polifnica a travs de CP. Escolar contrapunto
(por ejemplo, la fiel aplicacin del Fux [1725]) cuenta con un estricto conjunto especial de
reglas cuando se compara con otras subdisciplinas teora de la msica, por ejemplo, el ritmo o
forma. Un conjunto de reglas estrictas que hace modelos formales ms fcil, lo que explica por
qu los contrapunto ha sido de gran inters para los diseadores de sistemas basados en
reglas. Sin embargo, contrapunto armnico rara vez ha sido tratado, ya que es ms compleja, ya
que implica una teora del modelo de la armona.

Ebcioglu [1980] propone un sistema para la creacin de dos partes contrapunto florida: a una
dado cantus firmus el sistema compone una voz coincidente que es rtmicamente
dependiente. El autor enumera casi 50 restricciones contrapunto implementados, que incluir
restricciones complejas de alto nivel, tales como "los tonos de diferente mximos locales (Es
decir, los picos meldicos) dentro de las tres medidas de la voz son nicos ". Las fuentes de
restricciones fueron Joseph Marx y Charles Koechlin. Debido a que sus normas eran
insuficientes para la composicin automtica, Ebcioglu aadi reglas propias. La estrategia de
bsqueda se incrusta heurstica que prefieren pasos para saltos y lanzamientos en cuenta que no
se han producido antes. Dos soluciones, presentados por Ebcioglu [1980], demuestran que el
sistema alcanza su objetivo-crear tpico contrapunto "nivel de conservatorio" ejercicios bastante
bien.
Un sistema para la creacin de especies contrapunto fue introducido por Schottstaedt [1989],
que quiere seguir el conjunto de reglas de Fux [1725] en la mayor medida posible. El sistema de
implementa las cinco especies con capacidad para seis voces. Sin embargo, el autor modific el
conjunto de reglas de Fuxian originales (ms de 40 normas se citan en el artculo) para acercarse
aEjemplos reales Fux '. De acuerdo con los tericos de la msica (incluyendo Fux) ese estado
que las reglas no son ms que directrices y hay absolutos, el sistema asigna cada restriccin un
valor de penalizacin numrico para indicar su importancia relativa: el sistema busca una
solucin con una pequea penalizacin acumulada. En comparacin con otro contrapunto
estudios, Schottstaedt [1989] lograron ejemplos relativamente avanzadas (por ejemplo, quinto
especies a cinco voces). Sin embargo, los resultados mostrados musicales revelan algunas
limitaciones del sistema de conjunto de reglas: en particular, la estructura rtmica es atpica para
el estilo de Palestrina (casi marchar-like), y las melodas contienen muchos grandes saltos, en
contraste con el Fuxian ejemplos.
La msica polifnica en el estilo de Josquin des Prez se aborda en Laurson [1996], que
implement varias reglas del captulo Josquin de Motte [1981]. Sin embargo, el objetivo de esta
investigacin no es tanto para simular un estilo histrico especfico, sino a estudiar el problema
de los CSP polifnicos en general. Los PWConstraints sistema resultante y su subsistema de
Score-PMC se discute ms en breve.
Varios investigadores abordaron problemas polifnicos fuera del canon de la convencional
contrapunto. CSP musicales que crean densas texturas Ligeti-como han sidopropuesto por
Laurson y Kuuskankare [2001] y Chemillier y Truchet [2001].Jones [2000] desarroll una
herramienta pragmtica para los compositores que implementa pas atonal contrapunto. Por
ltimo, Chemillier y Truchet [2001] modelan dos voces canon siguiente normas que son tpicos
para el arpa repertorio Nzakara de la Repblica Centroafricana va CP.

La figura. 5. Diferentes enfoques de la armona sealar diferentes relaciones armnicas:
comparacin de Romano nmeros vs anlisis funcional (vase la nota 6).
3.3. Armona
Al igual que con el contrapunto, existe una gran cantidad de literatura sobre el tema de
harmony. Autores difieren menos en su enfoque en un cierto estilo, la historia de los
espectculos de la armona un desarrollo ms continua cuando se compara con el
contrapunto. Sin embargo, existen diferentes enfoques para explicar los fenmenos
armnicos. La mayora de los autores describen harmonic progresiones como progresiones de
acordes de races y analizar todos los acordes en trminos de su relacin con la tnica. Esta idea
se remonta a Rameau [1722], pero diferente se sacan conclusiones por autores posteriores. Un
enfoque se basa en el supuesto que las races de acordes indican uno de los siete (mayor o
menor) escalar grados, que son convencionalmente anotada por nmeros romanos, letras
minsculas se utilizan comnmente para la acordes menores. Schoenberg [1911] escribi un
libro de texto sobre todo consumado el uso de este enfoque. Otro enfoque (a menudo llamada la
armona funcional) slo acepta tres diferentes principales funciones armnicas, a saber, la
tnica, dominante y subdominante, por lo general anotada con sus iniciales T, D, S. Este
enfoque explica todo acordes como variantes de estas funciones principales [Riemann 1887]. El
enfoque basado en los altos grados de la escala enciende el intervalo diatnico entre las races
de acordes, mientras que la armona funcional denota que los acordes pueden sustituir entre
s. La Figura 5 compara ambos enfoques.Finalmente, Schenker [1935] y Schoenberg [1969]
hacen especial nfasis en la mayor escala estructuras en progresiones armnicas.
Como contrapunto, el desarrollo de la armona y su estudio se encuentran an en curso y estos
acontecimientos son de particular inters para los compositores que utilizan sistemas de
restriccin. Por ejemplo, el lenguaje armnico de la msica atonal, Msica en 12 tonos igual
temperament sin un centro tonal y, a menudo compuesto por acordes de gran complejidad, se
describe en el influyente trabajo de Forte [1973] en trminos de conjuntos de la clase de tono.
Msica microtonal, y en particular de la msica en la entonacin justa, es otro ejemplo
importante para el desarrollo continuo. El trabajo seminal sobre la entonacin justa es Partch
[1974], mientras que Doty [2002] escribi un tutorial sobre el tema, y una extensa enciclopedia
sobre la entonacin justa teora se presenta por Monzo [2005].

Muchas investigaciones se han llevado a cabo en materia de armonizacin basado en
restricciones. Pachet y Roy [2001] proporcionan una encuesta sobre este tema. El resto de esta
subseccin crticas sistemas de armonizacin basado en restricciones.
CORAL [Ebcioglu 1987; 1992] es un sistema que crea cuatro partes armonizaciones al estilo de
Johann Sebastian Bach por las melodas corales dadas. CORAL recibi mucha atencin por la
calidad musical de su produccin: segn su autor, CORAL logrado la competencia de un
estudiante de msica con talento. Anlisis detallado de Ebcioglu de composiciones de Bach
como resultado la cantidad impresionante de cerca de 350 restricciones implementadas por el
sistema. Estos se refieren a dos subtareas: la armonizacin (creando la esqueleto acorde, la
modulacin de estilo apropiado y cadencia) y la generacin de la meloda (Con especial cuidado
de las voces externas). El artculo citado a menudo por Tsang y Aitken [1991] propone un
sistema lcido con una pequeo conjunto de 20 restricciones, que crea armonizaciones de cuatro
partes de una meloda coral.
El sistema diseado por Ramrez y Peralta [1998] tambin se armoniza de forma automtica una
meloda dada con una secuencia de acordes apropiada. El sistema encuentra una secuencia de
nombres de los acordes absolutos tales como C, Dm, G, C , mediante el cual el sistema est
limitado a una sola melodas clave y slo considera tradas diatnicas en la solucin. Para
aumentar el musical la calidad, el sistema restringe an ms las soluciones para seguir los
patrones de acordes estndar (por ejemplo, I, II, V, I ) almacenados en una base de datos.
Coppelia [Zimmermann 2001] crea progresiones de acordes homfonas que tambin FEAture
una estructura rtmica. El modelo de teora de la msica se divide en dos capas submodelos que
son ejecutados por dos aplicaciones independientes. El subsistema de Aaron crea un plan
armnico, representada por funciones armnicas en la tradicin de Hugo Riemann (Tales
como T, S3, D7, T ) y complementa este plan con informacin adicional (por ejemplo, la
duracin de cada acorde y ms restricciones a las voces individuales, tales como "la soprano
meloda se mover hacia abajo "). COMPOzE [Henz et al. 1996], el segundo subsistema, crea la
progresin de acordes a cuatro voces reales de este plan armnico.
Phon-Amnuaisuk presenta otro sistema que crea armonizaciones corales en al estilo de Johann
Sebastian Bach [Phon-Amnuaisuk 2001; 2002]. Phon-Amnuaisuk critica CORAL [Ebcioglu
1992] afirma que este sistema es difcil de modificar. A cuenta de un diseo de sistema de
restriccin ms adaptable, propone un lenguaje de control que regula el orden temporal de las
decisiones durante el proceso de composicin (variable de pedido). Para el ejemplo de coro a
cuatro voces de Bach, el proceso de bsqueda puede crear primero el esqueleto armnico de la
meloda dada, entonces esbozar el esqueleto bajo, crear una proyecto de las otras voces, y,
finalmente, crear la versin final de cada voz, aadiendo ornamentaciones tales como notas de
paso.
Directrices Anders y Miranda [2009a] modelo de Schoenberg para cuerda convincente
progresiones [Schoenberg 1911]. Mientras que la mayora de otros sistemas armonizan una
determinada meloda-a menudo la creacin de un nuevo acorde para cada nota de la meloda
(armonizacin coral)-este modelo crea una progresin armnica desde cero. El modelo de
trabajo de Schnberg explicacin de sus recomendaciones en lugar de las normas actuales, y de
esa manera generaliza estos recomendaciones ms all de las progresiones diatnicas, incluso
para la msica microtonal.
Un CSP basado en el conjunto de clases de tono dodecafnicos es descrito por Laurson
[1996]. En este CSP, una solucin consiste en una secuencia de (posiblemente se superponen)
juegos de clase de tono: tales soluciones pueden ser utilizados por un compositor para organizar
la estructura armnica de la msica.
3.4. Melody y el Formulario
Melody-escritura es altamente dependiente de estilo, y este tema es tradicionalmente menos
establecida en teora de la msica de contrapunto y armona. No obstante, el tema est cubierto,
por ejemplo, por algunos libros de texto generales sobre la composicin. Por ejemplo,
Schoenberg [1943, 1967, 1995] (los tres libros de texto se ordenan en funcin de su tendida
audiencia desde nivel de entrada a avanzado) explica cmo en la msica clsica de una meloda
expresa la armona subyacente y cmo una meloda se compone de motivos y su
variaciones. Mientras que Schoenberg ensea composicin meloda de una manera ms
sistemtica manera, Motte [1993] Los estudios diversos aspectos de melodas de diferentes
estilos musicales (Que van desde el canto Gegorian a Ligeti, incluido el de los nios y las
canciones de batalla polticos).
La investigacin sobre la modelizacin meloda y la forma se encuentra todava en una etapa
temprana. Al final de su encuesta sobre la armonizacin basada en restricciones, Pachet y Roy
[2001] sealan: "Cmo nunca, lo que queda por resolver es el problema de producir
musicalmente agradable o interesante melodas ".
El trabajo de Lothe [1999] constituye uno de los pocos ejemplos de la literatura en la regla
composicin meloda basada. Sistema de Lothe crea melodas minu (a principios clsica estilo)
a travs de una progresin armnica dada. El autor describe varias reglas de ejemplo (Basado en
varias fuentes, incluyendo la literatura teora de la msica del perodo clsico, Por ejemplo,
Koch [1793]) en detalle y demuestra el efecto de diferentes conjuntos de reglas con ejemplos
musicales. Sin embargo, estas normas son realmente nicas reglas de armnicos contrapunto
aplica a una sola lnea meldica, sino que no se ocupan de la forma musical.
Motivos y su variacin son muy importantes para la composicin de la meloda clsica y
formulario. Anders [2009] sostiene que la base para el modelado con xito de la armona era el
modelado de conceptos armnicos tales como lanzamientos, intervalos, acordes y escalas.
Como un primer paso hacia un modelo de composicin de la meloda clsica, el autor presenta
un modelo formal de motivos musicales. El modelo define la relacin entre la msica
representacin de una instancia especfica motivo, las caractersticas distintivas de una ms
abstracta Descripcin motivo, y cmo estas caractersticas son variadas en diferentes instancias
de motivos. Porque el modelo se implementa por las limitaciones, los motivos resultantes
tambin pueden depender de las condiciones musicales nonmotivic tales como las limitaciones
armnicas, meldicas o rtmicas.
3.5. Ritmo
Durante siglos, la msica occidental se centr en el desarrollo de la estructura de paso en lugar
de ritmo, que puede ser la razn por la cual tambin teora de la msica en gran parte
descuidado la rtmica aspecto. En uno de los libros de texto raros sobre el tema, Cooper y Meyer
[1960] claramente definir trminos rtmicos (como el pulso, metro, ritmo, acento, el estrs, la
corbata, la sncopa, y suspensin) y explicar sus relaciones en una teora del ritmo que estudia la
naturaleza jerrquica de la organizacin rtmica. Sin embargo, el siglo 20 vio considerable
desarrollos del aspecto rtmico. Los ejemplos incluyen el "aditivo" rtmica permutaciones de
motivos que resultan en cambios de la estructura mtrica introducidos por Stravinsky [Boulez y
Nattiez 1990] y ms tarde desarrollado por Messiaen [1944], Contrapunto rtmico ya
mencionado de Nancarrow, la tcnica de eliminacin gradual en el msica de Reich [2002], y
los sorprendentemente complejas estructuras rtmicas en el trabajo de Ferneyhough [1995].
Algunos CSPs musicales en la literatura son de naturaleza puramente rtmica. Truchet et
al. [2001] proponen un problema polyrhythmic en la que cada voz repite literalmente una patrn
rtmico sino inicios comunes entre las voces que se evitan. Un sistema completamente dedicado
a la rtmica CSPs es OMRC [Sandred 2000, 2003]. Para ejemplo, Sandred [2004] propone una
cuantificacin basada en restricciones de los ritmos de gestos cotidianos (por ejemplo, extrado
del sonido de un tren que pasa) y obliga a stas gestos en la notacin musical legible. Las
restricciones pueden controlar lo que las firmas de tiempo estn permitidos y con qu frecuencia
el tipo de comps puede cambiar. Adems, el compositor Se pueden aplicar otras
restricciones. Por ejemplo, el compositor puede exigir que el resultado quantificado ser
notificada a construir a partir de motivos precompuestos.
3.6. Instrumentacin y Orquestacin
El arte de la instrumentacin implica la escritura para diferentes instrumentos, teniendo tcnicas
particulares de interpretacin y las limitaciones de los instrumentos en cuenta. La disciplina
orquestacin, adems, aborda cmo musicalmente instrumentos de equilibrio. Berlioz y Strauss
[1904] escribi un libro de texto seminal sobre la orquestacin. Instrumentacin y orquesta an
se estn desarrollando en la actualidad. Un ejemplo importante es la msica de Lachenmann,que
introdujo muchos nuevos sonidos mediante tcnicas de juego nuevos.
Laurson y Kuuskankare [2000, 2001] presentes CSPs musicales en las que meldico, harmonic
limitaciones principales, y vocales, son complementadas por las limitaciones de
instrumentacin, y que estn presentando soluciones que muestran escritura instrumental
idiomtica. Los autores discuten la guitarra y latn instrumento digitacin en dos estudios de
caso. Por ejemplo, escribir msica para la guitarra de una manera que es bien jugable requiere-
instrumento tpico consideraciones. La msica de guitarra se realiza en seis cuerdas (afinadas de
una manera particular) sobre la cual se colocan slo cuatro dedos de la mano
izquierda. Adems, los dedos slo pueden ser estir hasta una cierta cantidad y moviendo los
dedos requiere una cierta cantidad de tiempo.
Un trabajo reciente de Carpentier y Bresson [2011] propone un sistema de orquestacin. Los
usuarios proporcionan un sonido de destino (por ejemplo, una grabacin o salida de la sntesis
de sonido) y el sistema busca una combinacin de instrumentos (una puntuacin simblica) que
imita a esta sonar. Los usuarios pueden restringir la solucin por las restricciones cuantitativas a
los atributos de todas las notas de un segmento de tiempo, tales como el nmero de instrumentos
y campos pueden estar involucrados, o cules son sus dinmicas mnimas deberan ser. Sin
embargo, el sistema no toma conocimientos de instrumentacin (como se encuentra en los
tratados de instrumentacin) en cuenta.
4. SISTEMAS DE MSICA CONSTRAINT GENRICO
Los sistemas estudiados en la Seccin 3 anterior demostrar que tiene mucha investigacin
llevado a cabo en la implementacin de modelos de teora de la msica por el CP. La mayora
de estos sistemas fueron diseados exclusivamente para resolver un nico CSP o una pequea
gama de problemas (por ejemplo, la armonizacin automtica de una meloda dada).
Aunque algunos autores informan que no es particularmente difcil de escribir tal programa de
[Schottstaedt 1989], el diseo de un sistema que resuelve un complejo con CSP eficiencia
razonable es exigente. Por ejemplo, Ebcioglu [1992] estim necesario desarrollar primero un
nuevo lenguaje de programacin para la tarea (es decir, BSL).
Por otra parte, los sistemas de la msica con restricciones comparten requisitos importantes. En
primer lugar, cualquier sistema musical de restricciones sic requiere un poco de solucionador de
restricciones. En segundo lugar, los CSP especficos de dominio compartir una considerable
cantidad de conocimiento especfico del dominio: todos los CSPs musicales requieren modelado
del conocimiento musical. Por ejemplo, conceptos como la nota, el tono o la voz son se requiere
en un gran nmero de los CSP musicales. Siempre que un CSP musical se define "desde rayar ",
todo este conocimiento debe ser modelada de nuevo. Optimizaciones especficas del dominio
del proceso de bsqueda tambin debe llevarse a cabo de nuevo. En consecuencia, varios ms
genrico Se han propuesto sistemas para la msica CP desde principios de los aos noventa que
en gran medida simplifican la definicin de los CSP musicales.
En este artculo se introduce el trmino sistema de restriccin de msica genrica para indicar
un sistema que est diseado para resolver un nmero considerable de los CSP musicales, en
contraste con un sistema diseado especficamente para resolver un solo CSP o un pequeo
conjunto de problemas. Un genrico sistema se desarrolla a menudo para los usuarios que no
considerara el diseo de un nuevo sistema de restriccin a partir de cero, como compositores y
tericos de la msica-pero quin puede contribuir en gran medida a la investigacin en este
campo.
Un sistema de restriccin de msica genrico permite a los usuarios definir y resolver su propio
musical CSP. Con el fin de ser ms genrico, estos sistemas normalmente tienen por objeto ser
de estilo neutrales: apoyar una amplia gama de estilos musicales.
Sistemas de restriccin de msica genrica implementar los siguientes componentes: a la
msica representacin, un formalismo restriccin, y una estrategia de bsqueda. Cada
caractersticas del sistema una representacin de la msica : representa informacin de
resultados tales como los lanzamientos, notas o voces en la solucin. Esta informacin puede
ser conocido en la definicin de CSP, o puede ser desconocido y expresada por variables
restringidas. Por ejemplo, las duraciones de las notas en la calificacin o la estructura armnica
subyacente puede ser desconocida. Una restriccin para formalismo especifica cmo se definen
y se aplican a la representacin de msica limitaciones. Por ltimo, el solucionador de cada
sistema implementa una determinada estrategia de bsqueda. En el seguimiento detallamos
varios sistemas de restriccin de msica genrica, y siempre vamos a mirar a estos tres
componentes. Adems, tambin vamos a hablar de la interfaz de usuario de algunos sistemas.
Los cinco sistemas siguientes se discuten prximos: PWConstraints (Seccin 4.1); Situacin
(seccin 4.2); musas volvindose contestatarios (Seccin 4.3); OMClouds (Seccin 4.4), y
Strasheela (Seccin 4.5). Estos sistemas se estudian en orden cronolgico, aunque su historia de
desarrollo puede que se superpongan entre s, ya que estos sistemas han sido desarrollado a lo
largo de varios aos.
En aras de la exhaustividad, una serie de nuevos sistemas debe mencionarse brevemente. Estos
sistemas son o no en uso activo ms, o ampliar algn otro sistema. El nmero de los sistemas
existentes destaca el inters por la CP para el modelado teoras musicales. Carla [Courtot 1990]
es un sistema de restriccin de msica genrica pionero. Arno [Anders 2000] apoya los CSP en
la representacin de la msica de los sistemas de composicion Musical comn [Taube 1997]
con la restriccin solver Screamer [Siskind y McAllester 1993]. Finalmente, algunos sistemas se
extienden PWConstraints. JBS-Restricciones es una gran coleccin de restricciones predefinidas
para PWConstraints [Schilingi 2009]. Sandred, el autor de OMRC (ver anterior), ha propuesto
recientemente un nuevo sistema pWMC que extiende las capacidades de PWConstraints
introduciendo una representacin de msica adicional[Sandred 2009, 2011].
4.1. PWConstraints
Esta seccin presenta los PWConstraints lenguaje CP [Laurson 1996; Rueda et
al.1998]. Estudiamos este sistema en muchos detalles, porque constituye un buen ejemplo de la
introduccin de problemas y enfoques de los sistemas de restriccin de msica genrica
importantes en general. Otros sistemas se presentan luego ms brevemente.
PWConstraints fue desarrollado originalmente como una biblioteca en la parte superior de
PatchWork [Laurson 1996; Assayag et al. 1999], un lenguaje de programacin visual para
asistida por ordenador composicin implementado en Common Lisp. PatchWork mientras tanto
se convirti en PWGL [Laurson et al. 2009] y la biblioteca se llama ahora
PWGLConstraints. Sin embargo, este artculo utiliza el nombre antiguo PWConstraints para
referirse a ambas versiones del sistema porque desde el punto de vista del usuario, estos
sistemas son muy similares. Adems, la mayora de la literatura disponible actualmente discute
el sistema antiguo.
PWConstraints consta de dos sistemas principales de restricciones de la msica que comparten
un parecido estrategia de bsqueda: PMC y Score-PMC. PMC es un lenguaje CP general para
restringir simples tipos de datos, en listas particulares de los nmeros enteros. Score-PMC es un
lenguaje especial de CP para los CSP polifnicos.
Construcciones de programacin en patchwork (y PWGL) se presentan como cajas graficas, lo
que es tpico para muchos lenguajes de programacin visual. En consecuencia, cada parte
principal de PWConstraints se presenta como un cuadro de este tipo: hay una caja para PMC y
de Score-PMC. Sin embargo, PWConstraints complementa su interfaz grfica por un interfaz
textual: la CSP real se define por cdigo Lisp textual, utilizando funciones / macros
proporcionado por PWConstraints.
4.1.1. La Representacin de Msica de PMC.
El formato de representacin de la msica de PMC consiste en una lista de variables con
restricciones. PMC admite variables con mbito universal

La figura. 6. La declaracin de los dominios de lanzamientos de meloda para PMC.

es decir dominios variables pueden consistir en valores arbitrarios. Ejemplos de dominios
comunes son nmeros enteros y smbolos. El nmero de variables (es decir, la longitud de la
lista) es siempre determinado en la definicin CSP.
A modo de ejemplo, supongamos un compositor quiere crear una meloda coral. Ella es nica
interesado en los tonos de las notas, y por lo tanto una secuencia normal de plazas es
suficiente. Todo tonos de meloda se sitan en el intervalo entre un 3 (una octava por debajo de
la afinacin de concierto) y un 4 (tono de concierto). Uso de los nmeros de tono MIDI
[Selfridge-Field 1997], el dominio { un 3 , ..., a 4} est codificado como el dominio de enteros
{57 , ..., 69} (Figura 6).
Los usuarios pueden interpretar libremente los valores de variables. Por ejemplo, una secuencia
de nmeros enteros puede interpretarse como los MIDI-tonos de una meloda o como valores de
duracin. Una lista de las listas de nmeros enteros se pueden interpretar, por ejemplo, como
una secuencia de acordes (donde una lista de nmeros enteros representa los tonos de acordes
por nmeros MIDI sin especificar la duracin acorde) o como una secuencia de motivos
rtmicos (donde una lista de nmeros enteros representa una secuencia de en cuenta las
duraciones).
Los usuarios pueden determinar ciertas variables en la definicin CSP. Por ejemplo, en una lista
de variables de tono usuarios pueden especificar que cualquier solucin comienza y termina con
un cierto lanzar especificando este paso que el nico valor de dominio para estas variables.
4.1.2. La Representacin de Msica de Score-PMC.
PMC es apropiado nicamente para los CSP que pueden ser definido al restringir una secuencia
variable. Varios CSPs musicales se pueden expresar de esa manera, los modelos de la teora
especial de la msica que pertenecen a una determinada etapa de preparacin del proceso de
composicin real, por ejemplo, la creacin de una figura puramente rtmica, seguidos por tonos
(ver anterior), o una progresin armnica.
Sin embargo, la mayora de la msica occidental es polifnico por naturaleza. Aqu, el trmino
polifona se utiliza en un sentido ms general de lo habitual: la mayora de la msica se organiza
en mltiples capas, por ejemplo, mltiples voces, una meloda ms acompaamiento, o
cualquier otro musical textura donde mltiples eventos se reproducen simultneamente.
Un sistema de restriccin debe tener la naturaleza polifnica de la msica en cuenta para la
mayora CSP fuera de la categora de los CSP preparativa. Sin embargo, los CSPs polifnicos
son difciles de expresar slo una representacin de la msica secuencial. Un sistema de
restriccin con slo un representacin secuencial puede, en principio, representan soluciones
polifnicos complejos despus de todo, formatos de representacin de la msica como un
archivo MIDI [Selfridge-Field 1997], o una Puntuacin Csound [Boulanger 2000] son
secuenciales y puede expresar las puntuaciones de alta complejidad. Sin embargo, todava es
muy difcil de expresar CSPs polifnicos con una msica secuencial formato de representacin.
CSP polifnicos menudo requieren restringir contextos puntuacin complejas (recordemos que
conjuntos de objetos de puntuacin que se interrelacionan en la misma forma son instancias de
la misma anotar contexto, Seccin 3.1). Por ejemplo, una restriccin contrapuntstica comn
permite distonos(disonante) de las notas Sonora en situaciones en las que se cumplan varias
condiciones que involucran a variosaspectos musicales: una nota puede ser disonante en los
casos en los que es una nota de paso en una dbil batir y por debajo de una cierta duracin. El
contexto puntuacin de esta restriccin implica harmonic informacin (si cierta nota disonante);
informacin meldica (ya sea esta nota es una nota de paso), informacin mtrica (si esta nota
es sobre un tiempo dbil); y la informacin rtmica (duracin de la nota). Es difcil de expresar y
limitar una puntuacin de contexto tan complejo en una representacin secuencial, porque la
informacin necesaria para deducir que la puntuacin objetos o variables que pertenecen a un
contexto como falta.
Este problema se supera mediante la adicin de informacin para la representacin de
msica. Rebsqueda en representacin de la msica sugiere un enfoque importante para agregar
informacin cin que las marcas de puntuacin de los contextos: la organizacin jerrquica de la
representacin en una restriccin

La figura. 7. En PWConstraints, las especificaciones de dominio variable y las limitaciones de
un CSP son mano independientemente al solucionador de restricciones.

rbol o incluso un grfico [Dannenberg 1993; Wiggins et al. 1993]. Por ejemplo, la informacin
que nota pertenece a qu voz se puede expresar de manera adecuada mediante la agrupacin de
todos los notas de una voz especfica en un contenedor de voz.
El PWConstraints subsistema Score-PMC aborda este problema mediante la definicin de una
ms la representacin de la msica elaborada que apoya explcitamente contextos de puntuacin
adicionales. En contraste con la representacin de la msica de una dimensin de PMC, la
representacin de la msica de Score-PMC parece ms un "mapa musical" de dos
dimensiones. Aqu, la principal "Dimensiones" son notas en orden secuencial en una voz y notas
simultneas. Ms especficamente, la representacin de la msica de Score-PMC soporta los
siguientes contextos.
- Contexto Meldico. Para cualquier voz en una partitura polifnica, tiendas de la representacin
de la msica el orden horizontal de notas.
- Contexto de armnicos. Un conjunto de notas que estn sonando simultneamente en el
tiempo de ataque de una nota dada.
- . Contexto Mtricas El contexto mtrica de una nota dada expresa el patrn rtmico esta nota
pertenece a (por ejemplo, una sucesin de una octava-triplete) y la posicin de este nota en el
patrn (por ejemplo, la segunda nota del triplete).
Una restriccin importante de Score-PMC radica en el hecho de que la nota lanzamientos son la
nica variables en la representacin de la msica. Todos los dems aspectos-en particular, la
rtmica estructura de la puntuacin-debe determinarse plenamente en la definicin CSP, sin
embargo, la estructura rtmica puede ser arbitrariamente compleja. La razn de esta limitacin
es la estrategia de bsqueda aplicada por Score-PMC, que est optimizado para los CSP con
estructura rtmica predefinido (vase la Seccin 4.1.4).
En Textura-PMC [Laurson y Kuuskankare 2001], una extensin alternativa de PW-
restricciones, otros parmetros de notas tambin pueden ser restringidos (por ejemplo, valores
rtmicos). Sin embargo, el programa an requiere una estructura rtmica predefinida, que es
potencial-parcialmente sobrescrito durante el proceso de bsqueda. Internamente, todava se
codifican todas las variables como tonos de las notas.
Puntuacin-PMC no soporta las extensiones de usuario. Por ejemplo, los usuarios no pueden
definir contextos adicionales de puntuacin que pueden ser necesarios para los CSP complejos.
4.1.3. El formalismo de constricciones.
Despus de la introduccin de las representaciones musicales de PWConstraints que se han
dado anteriormente, esta seccin se explica cmo se definen y aplican restricciones a estas
representaciones musicales.
En PMC, un CSP se define al complementar la declaracin de los dominios variables por las
limitaciones que suponen restricciones a una solucin. Figura 7 seala que el dominio y las
limitaciones se dan por separado al solucionador de restricciones. Mltiple Entrega limitaciones
para el editor de resolucin expresa implcitamente una conjuncin de todas estas limitaciones.

PWConstraints tambin utiliza el trmino contexto puntaje , pero lo utiliza en un sentido ms
estrecho, que slo denota los contextos mencionados en esta subseccin.

La figura. 8. Un ejemplo definicin de restriccin PMC, que establece que el intervalo entre dos
consecutivos parcelas no deben exceder de una quinta parte (es decir, siete semitonos).

Variables reales son creados por el sistema de "detrs del escenario". Score-PMC utiliza el
mismo enfoque, pero adems de los dominios variables y las limitaciones de un totalmente
puntuacin determinada se le da al solucionador de restricciones. Como slo tonos de las notas
son variables en Score-PMC, esta puntuacin determina todos los dems aspectos, en particular,
la rtmica estructura.
Cada sistema de restriccin de la msica debe ser compatible con algn mecanismo para aplicar
restricciones a las variables en la representacin de la msica. Este mecanismo tambin controla
el alcance de un restriccin (recuerde que el mbito de aplicacin de una restriccin es el
conjunto de todos los conjuntos de variables para que se aplica una nica restriccin).
PWConstraints introduce un mecanismo de coincidencia de patrones para este propsito. Pattern
matching coincidente golondrina de mar es bien conocido, por ejemplo, de la cscara de UNIX,
donde un patrn es un marcador de posicin para una secuencia de caracteres. El patrn *
test.txt coincide con los nombres de los archivos MyTest.txt as como mi-otro-test.txt.
El mecanismo de coincidencia de patrones de PMC introduce un mini lenguaje que denota la
posicin de los elementos en la representacin de msica secuencial. Este lenguaje consiste en
slo tres construcciones. Hay dos lugares titulares: el smbolo place-holder ? coincide
exactamente un elemento de la secuencia, y el smbolo * coincide con cero o ms
elementos. Las variables de comparacin de patrones constituyen la tercera construccin.
Un ejemplo ilustrar este lenguaje de coincidencia de patrones. En la expresin [? , * , P1, P2],
El lugar titular? coincide con el primer elemento de la msica secuencial resentacin. El
smbolo * coincide tampoco ningn elemento, o el segundo, o el segundo y el tercero y as
sucesivamente. En consecuencia, las dos variables de coincidencia de modelos P1y P2 coincidir
con cualquier par de dos elementos sucesivos, excepto el primer par. Tenga en cuenta que no
hay final * es requerida que habra que coincida con el resto de la secuencia.
Un PWConstraints definicin de la restriccin consiste en una parte y un patrn de coincidencia
cuerpo restriccin. Figura 8 presenta la definicin de una restriccin meldica que restringe el
intervalo entre dos lanzamientos consecutivos de tonos pitch1 y Pitch 2 a un quinto como
mximo (es decir, siete semitonos). El patrn coincide con cualquiera de los dos elementos
consecutivos de una secuencia de variables (la representacin de la msica de PMC). El patrn
de coincidencia de variables Pitch1y Pitch2 enlazar las variables libres en la definicin del
cuerpo restriccin. La cuerpo de una restriccin es siempre una expresin que devuelve un valor
booleano. Para todos los solucin a un CSP, PWConstraints se asegura de que el cuerpo de una
restriccin de retornos vlido para todos los partidos de su correspondiente expresin
coincidencia de patrones. Debido a que el campos se codifican numricamente, los usuarios
pueden definir las relaciones numricas entre ellos.
11 PWConstraints tambin introduce una cuarta construccin, variables de ndice, para mayor
comodidad. Sin embargo, todos los patrones utilizando variables de ndice puede ser
reproducida con las tres construcciones introducidas en esta seccin.
12 En PWConstraints, las restricciones se definen en Lisp; este texto utiliza una notacin basada
en la lgica de primer orden lugar (y deja fuera algunos detalles formales para simplificar).
13 Esta restriccin es una versin simplificada de una regla de contrapunto de estilo Palestrina,
que se refleja por muchos tratados de contrapunto. En su forma ms estricta, permite intervalos
entre un menor segundo y un quinto, o una octava.
Hacia arriba, tambin se permite la sexta menor. Adems, la norma prohbe todos disminuir y
aumentar intervalos meldicos [Jeppesen 1939].
El ejemplo introduce una nueva variable limitado intervalo y se aplica una conjuncin de dos
limitaciones.
Como se explic anteriormente, la representacin de la msica de PMC es una lista plana de
variables. La mecanismo de aplicacin de la restriccin basada en la coincidencia de patrones es
conveniente para tal estructura de datos. Sin embargo, los CSPs polifnicos menudo incluyen
conjuntos de objetos de puntuacin no secuenciales(por ejemplo, notas simultneas que se
producen en diferentes voces). Polifnica PWConstraints 'por lo tanto, subsistema de
Puntuacin-PMC define una representacin jerrquica de msica y apoya la secuencia del
contexto nota meldica, notas simultneas, y la mtrica posicin de una nota (ver
anterior). Puntuacin-PMC simplifica la aplicacin de restricciones a estos contextos,
ampliando el lenguaje coincidencia de patrones de PMC [Laurson y Kuuskankare 2005]. En
lugar de hacer coincidir slo las variables individuales, idioma adicional apoyan la coincidencia
de palabras clave de notas (una estructura de datos compuesto) en una secuencia de notas de la
meloda, conjuntos de notas simultneas, y los conjuntos de notas en las posiciones mtricas
especficas.
La representacin de la msica de Score-PMC ofrece una interfaz de funciones y macros para
tener acceso a ms informacin sobre su puntuacin. En un escenario tpico, nota objetos se dan
a los un cuerpo de restriccin a travs de parmetros de patrones y la nota como sus
lanzamientos son a continuacin, se accede por funciones dentro del cuerpo. El mbito de
aplicacin de una restriccin (es decir, que establece de las variables que afecta) De este modo
se especifica con una expresin de coincidencia de modelos, opcionalmente complementado con
funciones de acceso.
CSP polifnicos altamente complejas se pueden expresar con Score-PMC. Sin embargo, su
formalismo restriccin tiene algunas limitaciones. El lenguaje de patrones de coincidencia es
axiomaticamente limitado a lo que puede ser expresada por un patrn. Por ejemplo, un solo
PWrestricciones patrn no puede expresar "cualquier par de variables consecutivas en una
secuencia de este tipo que los pares no se superponen ". Adems, los usuarios acceden a las
variables PWConstraints slo dentro una definicin de restriccin: una restriccin no se puede
aplicar directamente a las variables. Tambin, una definicin de la restriccin siempre define
tanto la restriccin real (el cuerpo) y su alcance (La expresin de patrones): la restriccin real y
su aplicacin son siempre acoplada. En consecuencia, las restricciones no se pueden anidar,
debido a que un patrn de coincidencia de expresin slo puede ocurrir en el nivel superior de
una definicin de restriccin.
4.1.4. La estrategia de bsqueda.
El solucionador de PWConstraints realiza una cronolgico back-seguimiento (BT) de bsqueda
[Dechter 2003]. Este algoritmo visita primero una variable y selecciona un valor de su
dominio. El algoritmo comprueba si este valor satisface todos con restricciones sobre esta
variable. En ese caso, el algoritmo procede a la siguiente variable. Si cualquier restriccin de
falla, el algoritmo trata secuencialmente los otros valores de dominio para la variable actual, y
tan pronto como un valor de dominio cumple con todas las restricciones, el algoritmo procede a
la siguiente variable. Sin embargo, si no hay valor de dominio satisfaga todas las restricciones,
entonces el algoritmo encontr con un callejn sin salida. En ese caso, el retroceso se produce:
el algoritmo vuelve de nuevo a la variable visitada anteriormente y contina para probar su otro
dominio valores. Cuando se determinan todas las variables, el algoritmo encuentra una solucin
a la CSP. BT realiza una completa bsqueda (es decir, si existen soluciones, el algoritmo
encuentra uno). BT puede encontrar uno, mltiples o todas las soluciones. Sin embargo, BT
cuenta con varios bien conocidos debilidades [Dechter 2003].
-BT siempre detecta un conflicto demasiado tarde: slo despus de que todas las variables
afectadas por una restriccin se determinan, la restriccin puede o bien tener xito o
fracasar. Este problema se aborda por enforcing consistencia y propagacin de
restricciones . Ovans [1990] probablemente aplicado consistencia cumplir la primera vez para
las aplicaciones musicales (Vanse tambin las secciones 4.3.3 y 4.5.3 que siga).
-Los fallos con la misma causa se producen repetidamente ( paliza ): BT no analiza lo que
variable causa una restriccin al fracaso. Este problema se aborda mediante tcnicas como
backtracking inteligente (o backjumping ). Ebcioglu [1987] backjumping pionero para
aplicaciones musicales en su BSL idioma (Seccin 1).
-Cuando despus de dar marcha atrs las variables algoritmo comprueba que ya comprob be-
tanto, que no se acuerda de qu valor combinaciones fracas antes y comprobar de nuevo ( el
trabajo redundante ). Este problema se aborda mediante tcnicas como el back-marcado .
-Por ltimo, BT realiza decisiones en un orden que se fij antes de la bsqueda comenz (orden
de las variables esttica , tambin conocido como esttica seleccin de variables). La variable
ordering de PMC es el orden secuencial de las variables en la representacin de la msica. Una
variable de orden estatica no puede tener en cuenta la informacin que slo se gana durante el
proceso de bsqueda; ordenamientos variables estticas, por tanto, puede dar lugar a una
bsqueda de mayor rbol. Este problema se aborda ordenamientos variables dinmicas (vase
la Seccin 4.5.3).
Sin embargo, BT tiene la ventaja de que una cantidad mnima de informacin debe ser
mantenido en el proceso de bsqueda, lo cual es beneficioso para los problemas con un gran
nmero de variables, pero con relativamente pocas restricciones (CSP underconstrained). Estos
"problemas fciles" no son infrecuentes para la msica.
Las variables con dominio universal, permiten valores de dominio compuestos. Vari-Composite
dominios capaces podran utilizarse en principio para expresar y restringir una estructura
jerrquica, incluso si la representacin de la msica es puramente secuencial (como en
PMC). Sin embargo, Compuesto dominios perjudican gravemente la eficiencia: la
determinacin de una cantidad variable de este tipo a un ineficiente generar-y-test. Un enfoque
ms eficiente utiliza una estructura de datos compuesta que contiene mltiples variables que se
pueden determinar de forma independiente (como en Score-PMC).
Score-PMC tambin realiza BT. Sin embargo, el sistema calcula primero una orden eficiente en
que se visitan las notas durante el proceso de bsqueda (esttica orden de las variables). Para
este final, Score-PMC evala la estructura rtmica de la solucin. El uso de este rtmica
estructura, Score-PMC calcula una orden de bsqueda de la representacin de la msica
polifnica de tal manera que el proceso de bsqueda siempre procede "de izquierda a derecha",
es decir las notas con un valor de tiempo de inicio ms pequeo son visitados primero. Esta
estrategia de bsqueda es la razn por la cual Puntuacin-PMC requiere que la estructura
temporal de cualquier CSP que se determine totalmente en la definicin del problema.
Adems de las limitaciones estrictas (que una solucin debe obedecer siempre), PWConstraints
soporta limitaciones heursticas que permiten a los usuarios expresar meras preferencias y evitar
situaciones overconstrained (donde mltiples restricciones contradicen entre s).
El cuerpo de una restriccin heurstica devuelve un nmero en lugar de un valor booleano. Para
soluciones "mejores" la restriccin devuelve un nmero ms alto. En caso de conflicto entre
limitaciones heursticas, la restriccin heurstica ms importante (el que tiene un mayor valor
heurstico) es preferido para celebrar. Limitaciones heursticos afectan a la ordenacin de valor,
que es el orden en el que se comprueban los valores de dominio. Durante el proceso de
bsqueda, un valor del dominio de la variable actual con el ms alto valor heurstico se
comprueba en primer lugar.
Por lo tanto, las limitaciones heursticas guan la bsqueda de encontrar mejores soluciones
antes, pero lo hacen no garantiza encontrar una solucin ptima.
4.2. Situacin
Situacin [Rueda et al. 1998; Assayag et al. 1999] fue concebido originalmente en colaboracin
cin entre el compositor Antoine Bonete y el informtico Camilo Rueda como un sistema de
restriccin para la solucin de una serie de CSPs armnicas. Situacin fue desarrollado por
primera vez como una biblioteca de patchwork, y fue ms tarde ampliado y portado como
OMSituation [Bonete y Rueda 1999] para el sucesor PatchWork OpenMusic [Assayag et
al. 1999]. Nunca antes, este texto se referir a cualquier versin del sistema simplemente como
situacin. Situacin est escrito en Common Lisp.
Las primeras versiones de las cuasi componentes listos sistema apoyado para definir harmonic
CSP. Por ejemplo, en lugar de definir las limitaciones de la nada, el usuario utiliza predefinidos
"plantillas de restriccin", es decir las limitaciones que esperan argumentos de la


La figura. 9. La representacin de la msica de la situacin consiste en objetos que contienen los
puntos y las distancias entre estos puntos.
usuario al detalle su efecto. Aunque este enfoque limita los CSPs el usuario puede definir, sino
que tambin simplifica el proceso de definicin para el usuario. Ms tarde, el sistema era
extendido a apoyar a un conjunto ms amplio de los CSPs (por ejemplo, los CSP, adems,
rtmicos). An as, el diseo del sistema se entiende mejor con su historia en mente.
4.2.1. Representacin de Msica.
La representacin de la msica de la situacin consiste en una secuencia de objetos (Figura
9). Un objeto tiene una estructura interna: consiste en una o ms puntos , y Situacin define las
distancias entre estos puntos. En muchos CSPs, una punto representa un campo de nota, un
objeto representa un acorde que contiene varios campos, y una distancia representa un intervalo
entre dos tonos de las notas.
Situacin distingue entre las distancias internas y las distancias externas. Un distancia
interna representa la distancia entre dos puntos de un solo objeto (tambin llamado distancia
vertical: interpretado como la distancia entre dos tonos de las notas vecinas en un acorde
individual), y una distancia externa representa la distancia entre dos puntos de diferentes
objetos (tambin llamados distancia horizontal: interpretarse como la distancia entre
lanzamientos de nota a juego de dos acordes consecutivos).
Los puntos y las distancias constituyen las variables de un CSP. Su dominio consiste de
nmeros. Limitaciones implcitas controlan la relacin entre los puntos y distancias.
Los usuarios pueden interpretar libremente el sentido de las letras y las distancias entre ellos.
Por ejemplo, los puntos pueden representar campos medidos en teclado MIDI nmeros, o
frecuencia valores medidos en hertz Los puntos tambin pueden representar horas de inicio de
la nota medido en pulsaciones, en el que las distancias de caso representan intervalos
temporales. Situacin apoya esta flexibilidad al permitir que el control de usuario que las
limitaciones implcitas en realidad tienen entre puntos y distancias. Por ejemplo, en los puntos
de caso representan teclado MIDI nmeros, a continuacin, la relacin entre los puntos y las
distancias se rige por adicin de restricciones. Si, sin Alguna vez, los puntos representan las
frecuencias, y luego multiplicar las restricciones rigen la relacin entre los puntos y las
distancias. Sin embargo, la representacin de la msica de la situacin es particularmente
adecuado para los CSP sobre secuencias de acordes: una representacin explcita de plazas y los
intervalos entre ellos es adecuado para muchos de estos problemas.
Situacin tambin ofrece un modo de representacin alternativa que consiste en una llanura
secuencia de variables. Este modo de representacin admite variables con Universal dominios,
como la representacin de la msica de PMC (Seccin 4.1.1).
4.2.2. El formalismo de constricciones.
Situacin proporciona restricciones predefinidas que no son slo primitivas de restricciones
como las operaciones numricas (por ejemplo, =, > o +), pero restricciones generalizadas para
los propsitos de composicin. Por ejemplo, la situacin define un conjunto de restricciones que
imponen los patrones de varios puntos de vista de la msica (por ejemplo, las restricciones que
afectan a una.
14 Internamente, cada punto est representado por su propia variable, mientras que se representa
una secuencia de distancias por una sola variable cuyo dominio se compone de secuencias de
nmeros.

La figura. 10. Sintaxis tpica de una aplicacin de mini-idioma restriccin En la situacin (a);
ejemplo con hormign especificaciones de rango (b).

expresar el perfil al restringir el nmero de consecutivo de ascenso y descenso movimiento tos o
el nmero de intervalos meldicos repetidas). Situacin complementa estos restricciones
predefinidas por medio de las restricciones definidas por el usuario (funciones booleanas).
Similar a PWConstraints, situacin ofrece un mini-cmodo y eficaz el lenguaje para expresar el
alcance de una restriccin. Sin embargo, la situacin define individuo mini-lenguajes para
diferentes limitaciones, y tambin define muchos ms smbolos de PWConstraints 'lenguaje de
patrones de coincidencia. Sin embargo, para muchas limitaciones de su aplicacin de mini-
lenguaje tiene una estructura similar: una secuencia alterna de ndice especificaciones de rango
complementados por otros argumentos (Figura 10 (a)).
Los datos de alcance ndice de controlar el alcance de una restriccin. Por ejemplo, la usuario
puede aplicar una restriccin a la primera, segunda, quinta y objeto en la msica representa con
< argumentos >1 y para la septimo-dcimo objeto con < argumentos >2 (Figura 10 (b); ndices
son basado en 0, 0 ndice apunta al primer objeto). El lenguaje utilizado en los < argumentos >
expresiones restriccin es-dependiente y por lo tanto no ms discutido aqu.
15
A diferencia del mecanismo de aplicacin de restriccin de PWConstraints, la aplicacin
mecanismo de Situacin es totalmente genrico: una nica restriccin se puede aplicar a
cualquier conjunto de variables en la representacin de la msica. Sin embargo, debido a la
estructura secuencial de su representacin de la msica, la situacin slo es compatible con los
contextos de puntuacin definidos por posicional relaciones de los objetos (y sus puntos a favor
distancias). En consecuencia, es difcil expresar restricciones que limitan contextos de
puntuacin complejos segn se requiera, por ejemplo, en CSP polifnicos. Va a ser muy difcil
de definir una restriccin de contrapunto que requiere el acceso a la informacin de resultados
como el contexto armnico, y la posicin de una mtrica note. Por el contrario, Score-PMC
admite CSP polifnicos complejos.
4.2.3. Estrategia de bsqueda.
En comparacin con PWConstraints, restriccin solucionador de Situacin lleva a cabo una
estrategia de bsqueda ms sofisticada. Situacin aplica una variacin de avance-
comprobacin [Dechter 2003], una forma limitada de propagacin de restricciones. adelante
Minimal comprobacin [Dent y Mercer 1994] retrasa la reduccin del dominio de variables (es
decir, la comprobacin de hacia delante) a travs de la evaluacin perezosa [Abelson et
al. 1985] hasta que estas variables son realmente visitaron durante la bsqueda. De esta manera,
el algoritmo proporciona beneficios de la comprobacin hacia adelante (a podar de dominios, es
decir, para reducir el espacio de bsqueda) mediante la reduccin de la obra que el algoritmo
tiene que realizar (posiblemente buscando a travs de grandes dominios de valores coherentes).
De Situacin encontrado primero con visin de comprobacin algoritmo [Rueda y Valencia
1997] se adapta hacia adelante mnima comprobacin para dominios jerrquicos. Una variable
para las distancias (una variable cuyo dominio consiste en secuencias de nmeros, vase
anterior) a menudo tiene un gran dominio.
Por lo tanto, Situacin organiza opcionalmente este dominio de una manera jerrquica para
eficiencia. Un dominio Tal jerrquicamente estructurado combina subconjuntos de valor de
dominio que comparten alguna propiedad en un sub-rbol del dominio. De esa manera, una
restriccin en esta propiedad comn puede ser propagado por todos los valores de dominio en el
sub rbol a la vez.
De forma predeterminada, esta propiedad comn es la suma de los elementos de la secuencia (es
decir, la suma de

15Adems de los datos de alcance de ndice, un nmero de otros factores que afectan el alcance
de una restriccin incluyendo los argumentos asociados con una especificacin de rango de
ndice, el nmero de argumentos esperados por una funcin la implementacin de una
restriccin de usuario, y el acceso opcional de objetos ya determinados (predecesores de objeto
actual) dentro de una definicin de usuario en restricciones.

La figura. 11. Restriccin aplicada a mltiples conjuntos de variables mediante un bucle con
acceso a variables explcita, segn lo propuesto por Musses volvindose contestatarios.

oponerse distancias), porque esta propiedad se ve limitada en muchos CSP armnicas. La
usuario puede especificar una propiedad comn diferente.
Adems de los CSP estrictos, situacin tambin es compatible con los CSPs con restricciones
blandas. Para restricciones blandas, un valor numrico preferencia se especifica para cada
restriccin.
4.3. Musses volvindose contestatarios
La combinacin de las impertinencias del sistema de restriccin [Roy y Pachet 1997] y el Musas
de representacin de la msica [Pachet 1993; Pachet et al. 1996] constituye una expresin
altamente siva y el sistema de restriccin de msica extensible que se ha aplicado a varios
musical problemas tales como la armonizacin automtica [Pachet y Roy 1995,
1998]. Impertinencia y Musas se implementan en el lenguaje de programacin Smalltalk.
4.3.1. Representacin de Msica.
Como se indica anteriormente, PMC y el grupo Situacin puntuacin objetiva de proyectos en
su representacin de msica en secuencias. Por ejemplo, una puntuacin de la situacin es
siempre una secuencia de objetos de puntuacin donde cada objeto contiene puntos y distancias.
Score-PMC define una representacin de msica jerrquicamente anidados, pero en cada
objetos de puntuacin capa elegante estn dispuestos en un cierto orden secuencial.
Musas utiliza un enfoque diferente. Cada objeto temporal en Musas (por ejemplo, cada nota)
almacena su hora de inicio y duracin. Objetos temporales se pueden agrupar en un temporal
coleccin. Una coleccin temporal asegura que sus objetos contenidos siempre estn ordenadas
en funcin de su hora de inicio y duracin [Pachet et al. 1996]. Este diseo permite un acceso
fcil y eficiente a, por ejemplo, todos los objetos en una coleccin temporal dentro de un
determinado perodo de tiempo. Sobre la base de esta capacidad, musas define un conjunto
exhaustivo de temporal las relaciones entre los objetos temporales.
Sin embargo, el hecho de que las colecciones temporales implcitamente ordenar su contenan
objetos limita la expresividad de estas colecciones. En primer lugar, las colecciones temporales
no pueden ser anidado en Musas (sera perturbar el orden temporal automtico). Un CSP puede
nevERTHELESS definir varias colecciones temporales (por ejemplo, para la representacin de
varias voces).
En segundo lugar, otras relaciones (por ejemplo, las relaciones de posicin) no estn presentes
en la representacin. Por ejemplo, la informacin que el "siguiente nota" de una meloda no es
de fcil acceso- ble de sus objetos temporales [Pachet 1994].
Musas es altame nte extensible. Mientras que las representaciones de PWConstraints y
Situacin se proporcionan "tal cual" (slo pocas alteraciones son posibles, por ejemplo, el
nmero de puntos en un objeto de Situacin se puede cambiar), los usuarios pueden reemplazar
los musas musas incorporados objetos con sus propios objetos. Musas consiste en un conjunto
de clases de Smalltalk y usuarios puede extender la representacin incremental definiendo
subclases de musas existentes clases.
4.3.2. Aplicacin de restricciones.
Variables restringidas son accesibles directamente en la respuesta insolente, mientras que las
variables slo se puede acceder indirectamente en PWConstraints y situacin a travs de los
mecanismos de aplicacin de restriccin de estos sistemas (por ejemplo, bsqueda de
patrones). Como consecuencia, en las estructuras de control comn backtalk se puede utilizar
para aplicar limitaciones a variables. Por ejemplo, los usuarios backtalk puede utilizar un bucle
para la aplicacin de una restriccin meldica para cada par de notas consecutivas. El ndice de
carrera i del bucle se utiliza para el acceso pares de notas consecutivas en una meloda (se
refieren a Roy y Pachet [1997]). La Figura 11 muestra un bucle como en notacin lgica de
primer orden.
Para las restricciones de complejos, sin embargo, se vuelve tedioso para acceder explcitamente
toda la variabilidad involucradas. Incluso para este sencillo ejemplo que necesitamos para
realizar operaciones aritmticas en los ndices. Para presentar un ejemplo ms complejo, una
restriccin de la voz lder como "evitar quintas y octavas paralelas abiertas "implica pares de
notas consecutivas en mltiples voces y al mismo tiempo de los intervalos entre las notas
simultneas. Expresando estos puntuacin contextos por bucles anidados se traducira en un
programa complejo. La restriccin aplicacin de mecanismos PWConstraints y Situacin
mostrados antes son ms convenientes para casos complejos. Por ejemplo, Score-PMC ofrece
aplicadores adecuados para la voz principal limitaciones.
A la inversa, los mecanismos de aplicacin de la restriccin PWConstraints y Situacin son
limitados en su generalidad. Por el contrario, las estructuras de control tales como bucles
anidados son totalmente genrico.
4.3.3. Estrategia de bsqueda.
Backtalk constituye un sistema para la resolucin de CSPs sobre finita DOMINIO DE red de
objetos Smalltalk arbitrarias. Debido a que la eficiencia de las estrategias de bsqueda es
altamente dependiente del problema, la respuesta insolente implementa una biblioteca de
restriccin resolver algoritmos de la cual los usuarios pueden elegir el algoritmo que mejor se
adapte a sus propsitos.
En una primera etapa, el solucionador reduce los dominios de las variables y de ese modo
reduce el espacio de bsqueda (a menudo drsticamente!), sin quitar ninguna solucin. Varios
genrico arco-consistencia algoritmos de hacer cumplir [Dechter 2003] se proporcionan para
este propsito (AC-3, AC-4, ..., AC-7).
En una segunda etapa, el solucionador realiza la bsqueda real donde el solucionador hace deci-
nes que pueden fallar y necesitar ser llevado de vuelta (marcha atrs). Una vez ms, varios
algoritmos estn previstos para esta etapa incluyendo backtracking cronolgico, con visin de
comprobacin, backjumping, y backmarking.
Musses mejora sustancialmente la eficiencia del proceso de bsqueda tambin representa de
forma explcita la informacin analtica. Por ejemplo, Musas ofrece objetos que representar
intervalos, escalas y acordes. Adems de ser beneficioso para la definicin de CSP, este
esquema de representacin proporciona el algoritmo de la aplicacin de la coherencia con
informacin adicional que es til para reducir el espacio de bsqueda (por ejemplo, slo ciertos
combinaciones de intervalo de paso forman un acorde) [Pachet y Roy 1995].
4.4. OMClouds
OMClouds [Truchet et al. 2001; Truchet y Codognet 2004] constituye una con-msica sistema
de straint que es particularmente fcil de usar. Se extiende el sistema de composicin
OpenMusic, y se ejecuta en Common Lisp.
4.4.1. Estrategia de bsqueda.
La estrategia de bsqueda aplicada por OMClouds difiere claramente de las estrategias de los
sistemas discutidos antes. Mientras que la mayora de los sistemas de restriccin de la msica
apoyar una bsqueda completa, OMClouds se basa nicamente en una estrategia de bsqueda
heurstica que iterativa mejora una solucin aleatoria inicial a un CSP. Ms especficamente,
OMClouds 'solucionador de restricciones lleva a cabo una estrategia de bsqueda local de la
mejora [Codognet y Daz 2001; Codognet et al. 2002]. Esta estrategia encuentra rpidamente
una solucin aproximada a un problema restriccin de que cumpla muchos o la mayora de las
restricciones impuestas.
Internamente, una restriccin es implementado por una funcin de coste, que devuelve un valor
numrico valor que indica cunto se viol su restriccin. En pocas palabras, el algoritmo
comienza mediante la determinacin de todas las variables de la CSP a algn valor al azar de su
dominio. Entonces, el algoritmo calcula el coste acumulado de todas las funciones de coste para
cada variable para encontrar la variable cuyo valor actual se ajusta menos una solucin para el
CSP. Este variable se actualiza para la siguiente iteracin. OMClouds extiende esta idea bsica
de un tab Bsqueda mtodo [Glover y Laguna 1997]: los valores de variables no exitosos no
son juzgados de nuevo por un tiempo, a fin de evitar los mnimos locales en el espacio de
bsqueda.
A nivel de usuario, sin embargo, un CSP se expresa por las limitaciones estrictas (por
ejemplo, X = Y ). Slo internamente, estas restricciones se traducen en funciones de costos (por
ejemplo, X = Y es transformado en | X - Y |).

El enfoque heurstico de OMClouds hace que la definicin de los CSP ms fcil porque no
puede ocurrir situacin overconstrained. En un sistema que slo admite limitaciones estrictas,
el CSP debe manejar de manera explcita los casos especiales en los que alguna restriccin se
pueden despreciar. En OMClouds, definiciones de restricciones pueden ser menos
cuidadosamente formulados: la heurstica estrategia de bsqueda no rechaza una solucin
debido a que algunas limitaciones no se cumplen para ciertas variables.
Bsqueda adaptativa no se ejecuta una bsqueda completa. Si el sistema se pregunt mltiple
veces para una solucin al mismo problema por lo general viene con diferentes soluciones, pero
el sistema no puede todas las soluciones de salida. Adems, el sistema no garantiza para
encontrar una solucin ptima, incluso si existe una solucin de este tipo. Por ejemplo, las
limitaciones como "Todos los elementos de una lista estn en pares distintos" son difciles de
cumplir y el algoritmo puede nunca encontrar una solucin exacta a un CSP con esta restriccin
(por ejemplo, puede que nunca OMClouds encontrar una verdadera serie de todos los
intervalos).
4.4.2. Representacin de Msica.
En OMClouds, dominios variables pueden consistir en cualquier valor en principio. Sin
embargo, algunas de sus limitaciones slo admiten nmeros enteros debido a la implementacin
de su funcin de costes. Adems, todas las variables comparten el mismo dominio. Este
restriccin simplifica la definicin de los CSP, pero tambin limita lo que los CSPs pueden
definirse.
Similar a PMC (ver Seccin 4.1.1), la representacin de la msica OMClouds 'consta de un piso
lista de variables. Este formato de representacin directa fue elegido probablemente en orden
Para evitar cualquier sesgo causado por una representacin de la msica ms expresiva. Un
puramente representacin secuencial puede expresar varias estructuras musicales. Sin embargo,
como ha sido explic antes, una estructura de este tipo es poco adecuado para ms complejas
CSP musicales, en problemas particulares de llamada polifnicos.
4.4.3. El formalismo de constricciones.
OMClouds soporta significa fcil de utilizar para la aplicacin de restricciones a las variables de
la CSP. Todas las restricciones de un CSP se fusionan por un implcito conjuntamente en cuasi
una nica restriccin, que se aplica a todas las variables en un modo homogneo. Por ejemplo,
las limitaciones se pueden aplicar a todas las variables de una o de cada par de dos variables
consecutivos. Sin embargo, todas las restricciones comparten la misma constraint
alcance. Tambin, OMClouds no proporciona ningn medio para aplicar slo una restriccin a
un subconjunto especfico de las variables (por ejemplo, slo en la primera y tercera variable),
en contraste a los mecanismos de aplicacin de restriccin de otros sistemas como
PWConstraints y Situacin. Una vez ms, este diseo resulta en un sistema que es
particularmente fcil de usar, pero que tambin es muy limitado en lo CSPs pueden definirse
con l.
4.4.4. Interfaz de usuario.
OMClouds no slo es fcil de usar, ya que slo admite una gama muy limitada de los CSP
musicales. Adems, los CSP estn definidos plenamente con un visual lenguaje de
programacin en OMClouds. Con su lenguaje visual, los usuarios no necesitan memorizar un
montn de palabras clave, las funciones, y as sucesivamente, ya que se pueden seleccionar en
un men.
El lenguaje utiliza una sintaxis simple y uniforme: las cajas se conectan mediante acordes de
parches.
4.5. Strasheela
El diseo de Strasheela [Anders 2007] apunta a una restriccin de la msica muy genrico sys-
tem. Strasheela soporta varios CSP que son muy difciles o incluso imposibles de realizar

16 De hecho, OMClouds cuenta con tres casos de representacin: la solucin constituye o bien
una secuencia de variables, un ciclo de variables, o una permutacin de las variables. En todos
los casos la solucin est representada por un piso lista. El segundo caso, sin embargo, cambia
ligeramente el mecanismo de aplicacin de la restriccin, mientras que el tercer caso hace
cumplir una restriccin adicional. En el segundo de los casos-los elementos del ciclo de todos
(incluyendo primera y ltima) tienen un predecesor y sucesor. En el tercer caso-la permutacin-
el nmero de variables en la msica representacin es igual al nmero de valores de dominio
especificado y todos los valores de dominio aparece slo una vez en un solucin. De esa
manera, OMClouds puede evitar una restriccin de todo-diferente en la solucin, que es difcil
de cumplir por su bsqueda heurstica.

en otros sistemas, como los problemas en los que el rtmico, armnico, contrapuntstico, y
estructura formal se ven limitados a la vez. Sin embargo, al igual que anterior sistemas,
Strasheela busca encontrar un equilibrio entre la generalidad y eficacia a fin para ser til en la
prctica.
Como Strasheela es un sistema relativamente reciente, su diseo se benefici de examinar la
diseo de los sistemas anteriores. Strasheela est implementado en el lenguaje de programacin
Oz, un lenguaje con soporte incorporado para la CP.
4.5.1. Representacin de Msica.
Un objetivo importante del diseo de la msica de Strasheela representacin es que los usuarios
deben ser capaces de controlar qu informacin se almacena en la msica representacin. En
lugar de proporcionar una nica plantilla de representacin de msica, como en Score-PMC o
situacin, Strasheela proporciona un conjunto de bloques de construccin para varios conceptos
Sical. Los usuarios seleccionan los bloques de construccin necesarios para sus CSPs
particulares, y la construccin de la representacin mediante el uso de estos. Una amplia gama
de teora de la msica conceptos ya se modela como bloques de construccin que incluyen
elementos tales como notas o silencios, conceptos analticos como intervalos, escalas, acordes, o
metro, que agrupa conceptos tales como contenedores que organizan su contenido
secuencialmente o en paralelo en el tiempo, as como conceptos para la organizacin de la
forma musical, como motivos.
El conjunto de estos bloques de construccin puede ser libremente extendido. Los bloques de
construccin son instancias de clases, y los usuarios pueden extender las clases existentes por
herencia, una instalacin tambin proporcionada en musas.
Diseo de la representacin musical de Strasheela combina beneficios de los sistemas existentes
que excluidos previamente entre s. Pachet [1994] compara el diseo de las Musas con el diseo
del humo de la representacin de la msica [Papa 1992]. HUMO apoya arbitrariamente listas de
eventos anidados y los eventos en una lista de eventos se pueden organizar en cualquier
orden. Sin embargo, un evento de humo no proporcione acceso a su hora de inicio: esta
informacin slo es conocida por su lista de eventos. Por el contrario, toda la informacin
disponible en un musas anotar objeto puede puede acceder desde el objeto directamente. Sin
embargo, las musas slo admite un solo nivel anidamiento jerrquico.
Strasheela soporta anidacin jerrquica arbitraria de objetos de puntuacin, y, adems, cualquier
informacin disponible sobre un objeto de puntuacin se puede acceder desde el objeto
directamente.
Estas caractersticas han llevado a cabo por dos principios de diseo: enlaces bidireccionales y
propagacin de restricciones. Strasheela permite anidamiento jerrquico de los
contenedores. Cmo Alguna vez, los objetos de puntuacin jerrquicamente anidados en
Strasheela estn vinculados de forma bidireccional: cada contenedor proporciona acceso a sus
artculos contenidos y viceversa. Adems, parmetros de intercambio de conocimientos sobre
sus valores (que estn restringidos variables), debido a la propagacin de restricciones. Por
ejemplo, la informacin acerca de los parmetros temporales tales como hora de inicio, duracin
del tiempo del fin, y se propaga entre los contenedores temporales y eventos.
Sobre la base de este diseo, Strasheela apoya conjunto exhaustivo Musas de temporal
relaciones, as como cualquier otro contexto puntuacin. Su aplicacin puede ser menos
eficiente en Strasheela que en Musas (que potencialmente pueden atravesar la partitura), pero es
todava lo suficientemente rpido, ya que los objetos se debe acceder una sola vez (despus de
una restriccin es aplicada, el proceso de bsqueda no requiere acceso a los objetos de nuevo).
Strasheela tambin apoya restringir la estructura jerrquica de la partitura, aunque slo sea en de
una manera muy limitada. La duracin de los objetos de puntuacin temporales puede ser
obligado a 0, y estos objetos se consideran inexistente. Secciones enteras de la partitura pueden
ser "removidos" con este enfoque.
4.5.2. Aplicacin de restricciones.
El diseo de Strasheela combina la comodidad de restricciones especiales mecanismos de
aplicacin que se encuentran en PWConstraints y Situacin en el

17Por eficiencia, objetos de puntuacin no existentes slo pueden ocurrir en el extremo de un
recipiente con el fin de evitar simetras.

La figura. 12. Restringir pares de notas simultneas con el aplicador de restriccin de orden
superior mapSimNotePairs : pares de notas simultneas estn obligados a estar en consonancia.

por un lado, con la generalidad de la utilizacin de estructuras de control arbitrarias propuestos
por Back- Reacciona por otra parte. Strasheela aboga aplicadores de restriccin basado en
mayor programacin para [Anders y Miranda 2011]. Una restriccin es un procedimiento y un
aplicador de restriccin es un procedimiento de orden superior esperando una representacin de
msica y una restriccin como argumentos. Este enfoque es totalmente genrico, porque
internamente una aplicador restriccin puede realizar cualquier recorrido de la puntuacin y as
definir cualquier constraint alcance. Al mismo tiempo, este enfoque es conveniente debido a que
estos detalles son encapsulado en un aplicador de restriccin.
La figura 12 muestra un ejemplo que se aplica una restriccin a todos los pares de simultnea
notas. Los de orden superior del aplicador restriccin mapSimNotePairs espera una lista de
puntuacin objetos, en el ejemplo de todas las notas de myScore . Para cada
nota, mapSimNotePairs internamente accede a sus notas simultneas y se aplica la
restriccin isConsonant a cada uno tales par nota. Tenga en cuenta que este aplicador restriccin
puede utilizarse incluso si el Rhytmicamente estructura es indeterminada en la definicin
CSP. mapSimNotePairs retrasa la aplicacin de restriccin hasta que la informacin rtmica
necesaria se encuentra en el proceso de bsqueda.
Strasheela predefine aplicadores de restriccin para una amplia gama de casos de uso. El
sistema de tambin proporciona variantes de orden superior de los mecanismos de aplicacin de
PWConstraints y Situacin. Lo ms importante, sin embargo, los usuarios pueden definir
nuevos aplicadores de restriccin si es necesario.
4.5.3. Estrategia de bsqueda.
Strasheela utiliza el modelo de CP de su lenguaje de implementacin Oz [Schulte 2002]. Este
modelo combina la propagacin de restricciones con la bsqueda.
Propagacin de restricciones realiza deducciones lgicas que reducen dominios variables sin la
eliminacin de cualquier solucin, al igual que el arco-consistencia aplicacin de algoritmos
empleado por impertinencia. En contraste con los algoritmos de arco de consistencia genricos,
cmo Alguna vez, los algoritmos de propagacin de restricciones estn altamente optimizadas
para un dominio especfico y restricciones y son por lo tanto ms eficiente. Backtalk utiliza un
algoritmo de arco-consistencia slo una vez para prefiltrado los dominios antes de que los reales
se inicia la bsqueda. El mejorado eficiencia de la propagacin de restricciones permite un
enfoque diferente, donde la propagacin y la toma de bsqueda real resulta: antes de cada
decisin hecha por la bsqueda, propagacin de restricciones se ejecuta y reduce dominios
variables.
La mejora de la eficiencia de la propagacin de restricciones tiene una disyuntiva: la variable
domina la red se limita a los "tipos" especficos. Strasheela actualmente admite variables con
enteros no negativos y los conjuntos de enteros. Otros dominios pueden ser definidos;
disponibles dominios para propagadores son intervalos reales [Daz et al. 2005], los grficos
[Doom et al.2005], y mapas (dominio de las funciones) [Deville et al. 2005], 18pero hacerlo
requiere programacin de bajo nivel en C + +. Sistemas como PMC o impertinencia, por otro
lado, permitir dominios universales que contienen valores arbitrarios.
Mientras que la respuesta insolente ofrece una amplia gama de algoritmos de bsqueda para
elegir, el Oz Modelo de CP va an ms lejos: este modelo proporciona abstracciones que hacen
la bsqueda programable proceso en un nivel alto [Schulte 2002]. La variable de y valor de
pedido(El orden en que se consideran las variables y sus valores de dominio durante la
bsqueda proceso) tiene un gran impacto en el tamao del rbol de bsqueda y por lo tanto
sobre la eficiencia de la bsqueda [van Beek 2006]. Buenas heurstica pedidos dan como
resultado un rbol de bsqueda con

18Las referencias que figuran en este punto a la sentencia de la literatura relacionada con la
onza que es de relevancia inmediata para Strasheela. Schulte [2002, p. 1] proporciona ms citas
generales sobre dominios variables.

Tabla I. Comparacin del sistema: estrategia de bsqueda de algoritmos soportados por Solver
A Comprobacin Forward es posible, en principio, pero slo por las limitaciones con visin de
comprobacin definidos explcitamente.
B Una solucin aproximada se encuentra de forma rpida, pero una solucin estricta es,
posiblemente, nunca se encontr.


relativamente pocos nodos. En el modelo de restriccin de Oz, de variable y valor
ordenamientos puede ser definido libremente por los usuarios. Oz apoya ordenamientos
dinmicos: la decisin de qu variable es visitada a continuacin y cmo su dominio se reduce
en la bsqueda slo se realiza cuando este decisin es debido.
Anders [2007] muestra que los CSP musicales pueden beneficiarse mucho de una adecuada
solucin de ordenamiento dependiente. Por ejemplo, el autor compara la eficiencia de las
diferentes variables ordenamientos capaces de un CSP que tanto la estructura rtmica y
contrapunto florido la estructura de paso estn limitados. En un orden de las variables, primero
de todo rtmica parmetros se determinan a continuacin, los lanzamientos. El segundo pedido
implementa un variante dinmica de la orden de las variables de Score-PMC: Las variables son
visitados "de izquierda a la derecha "en el orden de la hora de inicio de sus objetos de
puntuacin. Para la florida contra-punto CSP en cuestin, la segunda orden es tres rdenes de
magnitud ms rpido que el primer pedido. Sin embargo, diferentes CSPs pueden requerir
diferente orden variable reuniones. Por ejemplo, los CSPs contrapunto armnico se resuelven a
menudo ms eficiente cuando la estructura armnica se determina por completo antes de hacer
frente a los tonos de las notas reales.
Strasheela ofrece puntaje especial ordenamientos variables que cubren una amplia gama de
musical CSPs.
5. COMPARACIN DE LOS SISTEMAS DE MSICA CONSTRAINT GENRICO
La seccin anterior present una serie de sistemas de restriccin de msica genrica uno
despus de la otra. Esta seccin resume esta encuesta y compara estos sistemas de acuerdo con
un nmero de criterios ortogonales.
La comparacin se ve por primera vez en la bsqueda de estrategias implementadas por estos
sistemas, porque las secciones de comparacin posteriores dependen de ella (seccin 5.1). Las
dos secciones siguientes comparar la expresividad de estos sistemas: lo CSPs musical son
compatibles? En lugar de la inclusin de una lista potencialmente infinita de teoras musicales
apoyado, criterios abstractos son estudiado como qu informacin de resultados con el apoyo de
un sistema y qu subconjunto esta informacin puede ser limitada (el formato de representacin
de la msica, la seccin 5.2), y cmo se aplican restricciones (seccin 5.3). Finalmente, la
Seccin 5.4 se compara la facilidad los sistemas son de usar.
5.1. Estrategia de bsqueda
Sistemas de restriccin Msica emplean muy diferentes solucionadores de restricciones. Tabla I
enumera estos algoritmos. La tabla indica una tendencia hacia enfoques ms sofisticados en Los
sistemas ms recientes. El desarrollo de dos aspectos se destaca. Por un lado, el filtrado de
dominios Algoritmos gradualmente se vuelven ms sofisticados. PWConstraints usa
backtracking con ningn tipo de filtro de dominio, situacin que hace uso de la comprobacin
de hacia adelante y optimiza la tcnica con evaluacin perezosa, impertinencia ofrece una gama
de diferentes algoritmos para prefiltrado dominios y Oz (y por tanto Strasheela) apoya la
propagacin de restricciones


donde los algoritmos de filtrado estn optimizados para dominios y limitaciones
especficas. Propagacin algoritmos mejoran en gran medida la eficiencia de la bsqueda y se
utilizan hoy por prcticamente todos los principales sistemas de PC (por ejemplo, SICStus
Prolog [Carlsson et al. 2009], Eclipse [Cheadle et al. 2003], GNU Prolog [Daz y Codognet
2001], Gecode [Schulte et al.2010]).
Por otro lado, el proceso de bsqueda real se vuelve ms flexible en los sistemas posteriores.
PWConstraints y Situacin admiten un nico algoritmo de bsqueda con una variable esttica
ordenar, impertinencia compatible con una amplia gama de algoritmos para elegir, y en Oz el
proceso de bsqueda se puede programar en un alto nivel de abstraccin. Un caso especial, no
son directamente comparables con los algoritmos de los otros sistemas, es la heurstica locales
algoritmo de mejora de OMClouds.
Diferentes enfoques de bsqueda conducen a diferentes caractersticas del solucionador. Por
ejemplo, todos los sistemas realizan una bsqueda completa, excepto OMClouds. Los sistemas
que realizan una bsqueda completa Tambin puede buscar todas las soluciones (Tabla II).
A veces es interesante para encontrar una mejor solucin de acuerdo con algunos especificado
por el usuario CRITerion (por ejemplo, una funcin de la comparacin de dos soluciones). Sin
embargo, la recogida de todas las soluciones primera con el fin de encontrar el mejor es
computacionalmente costosa. Situacin y Oz (Strasheela)apoyar una bsqueda mejor solucin
(algoritmo branch-and-atado [Schulte 2002]), que durante el proceso de bsqueda siempre
constrie la siguiente solucin para ser mejor que el anterior. Junto con la propagacin de
restricciones este enfoque mejora en gran medida la la eficiencia de la bsqueda de una mejor
solucin, ya que no necesita para encontrar todas las soluciones de primera.
Teoras musicales de modelado requiere restricciones duras (que siempre se cumplen) y
restricciones blandas (reglas que pueden ser rotas, por ejemplo, en un overconstrained lo
contrario situacin). Por ejemplo, se necesitan restricciones duras para el modelado de un todo-
intervalo series o para afirmar que las clases de tono pertenecen a un acorde. Sin embargo,
muchas de las normas en teora de la msica sirven slo de gua y estn mejor implementados
por restricciones blandas. La Tabla III muestra que la mayora de los sistemas proporcionan
restricciones duras como una primitiva, y suave restricciones se aplican mediante una tcnica
especial. Una vez ms, lo puramente heurstica OMClouds es la excepcin, ya que no admite
restricciones duras.
Hubiera sido interesante comparar la eficacia de los genricos presentado sistemas de restriccin
de la msica en un punto de referencia. Sin embargo, una comparacin de este tipo de
rendimiento se reunira graves dificultades. En primer lugar, no existe ningn conjunto de
establecido y problemas de referencia bien definidos para los CSP musicales. Por consiguiente,
sera necesario definir en primer lugar un conjunto de este tipo de problemas. Sin embargo, cada
uno de estos sistemas es compatible con una diferentes gama de CSPs musicales, como se
detalla en el artculo. Para un punto de referencia que lo hara necesario elegir los CSP que son
compatibles con cada sistema que se presenta, que es slo el caso de los CSP, donde la
representacin de la msica es un plano secuencia de variables (Por ejemplo, la serie de todos
los intervalos). 19 Medir el desempeo de tales CSP simple sera no ser muy interesante ni
sera esta comparacin sea justa (por ejemplo, sistemas ms simples podra tener ventaja,
porque la representacin de la msica ms compleja y la bsqueda de sistemas ms expresivos
aade algo de sobrecarga). Adems, la medicin del desempeo de un sistema de heurstica
como OMClouds es problemtico incluso para los CSP simples, como la serie de todos los
intervalos. Mientras que el sistema llega a una solucin aproximada muy rpidamente,
posiblemente nunca se encuentra una serie de todos los intervalos exactos. Es difcil
formalmente decidir en qu momento la solucin es lo suficientemente bueno como para poner
fin a una actuacin medicin (segn OMClouds potencialmente nunca encuentra una solucin
exacta, no se detiene buscar por s mismo). Adems, algunos sistemas permiten varias
optimizaciones (por ejemplo, Back-Talk admite diversas estrategias de bsqueda, y uno de los
objetivos de diseo de Strasheela fue incluso para hacer la bsqueda programable por los
usuarios). Qu optimizaciones seran permitido para el punto de referencia? Si se les permitira
optimizaciones arbitrarias, entonces para la feria-ness los CSPs como punto de referencia se
implementan mejor por alguien que conoce ntimamente el sistema respectivo (por ejemplo, sus
autores). Sin embargo, las mediciones de rendimiento tienen slo se ha publicado con pocos
sistemas (por ejemplo, Pachet y Roy [1995] y Anders [2007], ver tambin la Seccin 6), y estas
publicaciones slo describen el CSP cuyo desempeo tiene han medido: no proporcionan los
detalles necesarios para reproducir este CSP exactamente en otros sistemas para una
comparacin de rendimiento justo.
5.2. Representacin Music
El formato de representacin de la msica de un sistema influye en gran medida que los CSP
musicales it puede definir, como se ha demostrado antes que el sistema PWConstraint (Seccin
4.1.2). Este seccin compara las representaciones de los sistemas de restriccin de msica
genricos mirandoen tres criterios: que se representa de manera explcita la informacin, que
puntan contextos puede puede acceder desde esta informacin explcita, y que parte de la
informacin explcita es constrainable.
5.2.1. Explcitamente Representado Informacin.
Todos los sistemas proporcionan algunos datos compuestos estructura que expresa la
informacin sobre su puntuacin representado de forma explcita. Por ejemplo, musical
conceptos como parmetros individuales (por ejemplo, duraciones, lanzamientos), ob-score
primaria proyectos (por ejemplo, notas, silencios), u objetos de puntuacin compuesto (por
ejemplo, los acordes, motivos) se representan por objetos en esta estructura de datos. En todos
los sistemas descritos aqu, las soluciones son expresionado directamente en este formato en
lugar de ser codificado de alguna manera. En consecuencia, cada uno sistema se limita a los
CSP para que las soluciones se pueden expresar mediante la msica representacin de este
sistema.
Tabla IV compara los formatos de la estructura de datos. Muchos sistemas estn altamente
extienden-capaz. Por lo tanto, en lugar de mirar las nociones simples como "que tenga en cuenta
los parmetros estn soportados por el sistema X ? "este cuadro se comparan las propiedades
estructurales de estos datos estructuras. La tabla informa acerca de si o no representaciones
apoyar objetos para tener

19 En principio, PMC y OMClouds permiten datos compuestos como dominios variables, que
podra ser utilizado para expresar una representacin jerrquica de la msica (por ejemplo, una
secuencia de acordes homofnica). Sin embargo, la bsqueda a continuacin, equivale en parte
a una prueba de generar-y-ineficiente, porque los valores anidados en un valor de dominio
compuesto son no han sido evaluados de forma individual.
20 Este trmino se utiliza en esta seccin, en un sentido general y no necesariamente denota
objetos en un orientado a objetos de programacin sentido.


atributos, un tipo, y cmo los objetos estn dispuestos (la topologa de la puntuacin). Por
ejemplo, la la representacin de la msica de PMC es una lista fija de valores. Por el contrario,
la representacin de Score-PMC consiste en varios tipos de objetos de puntuacin tales como
notas, acordes, piezas, etc, para los que se define un conjunto fijo de caractersticas, y que estn
dispuestos jerrquicamente en una manera predefinida. Tenga en cuenta que la tabla distingue
entre "definido por el usuario" y "usuario definibles ": en este ltimo caso, los usuarios pueden
utilizar los ajustes predefinidos o definir su poseer.
Anidamiento jerrquico permite a los objetos de la calificacin del grupo que de alguna manera
pertenecen alguntos (por ejemplo, la que seala formar un motivo, cuerda, o la voz, qu
secciones forman un movimiento, y as sucesivamente). CSP que hacen uso de dicha
informacin requieren que esta informacin est representado. Los atributos y la topologa de
puntuacin tanto contribuyen a la jerrquica anidacin de una partitura, pero ambos estn
enumerados por separado, para hacer la tabla ms fcil de leer.
Tenga en cuenta que la topologa de la puntuacin de muchos sistemas es una secuencia plana, y
agrupando por lo tanto no puede ser expresado por la topologa.21En tales sistemas es difcil
modelar la msica teoras que se basan en la agrupacin de informacin tal como contrapunto
(que se basa en la relaciones entre las diferentes partes), o la forma musical. Musas es nico, ya
que siempre temporalmente ordena los elementos de una coleccin, y que un CSP puede constar
de mltiples puntuaciones compuestas. Slo Score-PMC y Strasheela permiten anidamiento
jerrquico, y Strasheela es el nico sistema que soporta una puntuacin anidados
arbitrariamente. Al modelar teoras puede ser importante distinguir entre la puntuacin diferente
tipos de objetos (por ejemplo, notas frente a los restos, o acordes frente escalas). Escriba la
informacin puede expresarse, ya sea por el tipo de datos o simplemente un atributo de tipo,
pero los objetos con diferentes tipos tambin pueden diferir en su conjunto de atributos. Varios
sistemas slo permiten una solo tipo en un CSP (en situacin, los usuarios pueden controlar el
conjunto de atributos de los objetos, pero todos objetos comparten uniformemente el mismo
conjunto de atributos). Musas y Strasheela definen un tipo jerarqua mediante la definicin de
una jerarqua de clases en el sentido de la programacin orientada a objetos para anotar los
objetos: la herencia simplifica la definicin de nuevos tipos que comparten similitudes con tipos
existentes.
5.2.2. Contextos Score accesible.
En este artculo se introdujo el trmino contexto puntaje para denotar conjuntos de objetos
correspondiente puntuacin. Teoras Msica menudo restringen contextos puntuacin
complejas, como se ha demostrado antes (Seccin 4.1.2).
Un contexto de puntuacin puede verse limitada directamente, sino que a menudo tambin se
utiliza para acceder a informacin derivada. Por ejemplo, la mayora de las representaciones
almacenan slo tonos de las notas de forma explcita, pero los intervalos meldicos entre dos
campos se pueden derivar si pares de notas consecutivas en un voz son accesibles.

21En principio, tambin es posible expresar agrupacin por atributos especiales (por ejemplo,
un parmetro que nota indica su parte), pero este enfoque hace que sea difcil para agregar ms
informacin sobre los objetos de nivel superior(Por ejemplo, la parte de s mismo) o para
introducir ms niveles jerrquicos.


Tabla V se muestran los contextos de puntuacin accesibles de cada sistema. Naturalmente, la
accesibles anotar contextos dependen del formato de la representacin de la msica que
acabamos de discutir: si la puntuacin topologa es un plano secuencia, a continuacin, slo los
objetos relacionados posicionalmente son accesibles (por ejemplo, pares de objetos
consecutivos). Sin embargo, algunos sistemas de restringir an ms el acceso anotar
contextos. En varios sistemas de puntuacin de los contextos slo son accesibles a travs de la
restriccin mecanismo de aplicacin y los mecanismos de PWConstraints y OMClouds son no
totalmente genrico (Seccin 4.1.3 y 4.4.3). Adems, tenga en cuenta que por razones de
eficiencia slo contextos temporalmente relacionados son apoyados por las musas. Por ejemplo,
el contexto meldico de notas consecutivas es de difcil acceso de una coleccin temporal,
donde las notas pueden tambin ocurrir simultneamente (Seccin 4.3.1). Slo Strasheela apoya
el acceso arbitrario anotar contextos.
5.2.3. Informacin Constrainable.
Hasta ahora, hemos hablado de la naturaleza de la informacin que puede ser expresada por el
esquema de representacin de los diferentes sistemas. Detalles Tabla VI donde pueden ocurrir
las variables en estas representaciones, es decir que las piezas de informacin puede ser
restringido.
Obviamente, las variables slo pueden ocurrir dentro de los lmites de la representacin de la
msica formato de cada sistema. Por ejemplo, la representacin de la msica de PMC es una
secuencia plana de los valores, y estos valores pueden ser variables. Sin embargo, no todos los
objetos puntuacin siempre se puede ser sustituido por una variable. Por ejemplo, slo en cuenta
lanzamientos pero sin parmetros rtmicos pueden ser variables en Score-PMC, por razones de
eficiencia: Score-PMC requiere un determinado estructura rtmica para el clculo de su esttica
orden de las variables antes de que comience la bsqueda(Seccin 4.1.4).
Sistemas no slo difieren en donde las variables son compatibles, sino tambin en el apoyo
dominios variables. Los dominios soportados dependen de la estrategia de bsqueda (Seccin
5.1).

Los sistemas que utilizan backtracking cronolgico (PMC y Score-PMC) pueden, en principio,
apoyar un dominio universal, que consiste en valores arbitrarios. En Score-PMC, cmo-nunca,
tonos de las notas deben tener un dominio entero (los nmeros de nota MIDI). La solucin
campos enteros se insertan automticamente como 12 tonos lanzamientos temperamento igual
en el editor de partituras de su sistema de acogida, y la msica microtonal, por tanto, no est
respaldada por Puntuacin-PMC.22 Backtalk utiliza algoritmos de hacer cumplir genrico de
arco de consistencia y no-tanto tambin admite variables con dominio universal. Los sistemas
que utilizan especficos de dominio
Los algoritmos de propagacin para la eficiencia (Situacin y Strasheela) slo admiten los
dominios variables para las que se ha aplicado la propagacin.
Tenga en cuenta que algunos detalles no estn constrainable en cualquiera de estos sistemas. En
particular, la topologa de la puntuacin se fija antes de la bsqueda, y el tipo de los objetos de
puntuacin no puede ser limitado.
5.3. Restriccin de aplicaciones
Los sistemas existentes difieren ampliamente en los medios previstos para la aplicacin de las
restricciones a la variables en la representacin de la msica (Tabla VII). PWConstraints, la
situacin y OMClouds proporcionan mini-lenguajes especiales para este fin. Estos son
convenientes para muchos casos, pero menos adecuados para otros (Seccin 4.1.3 y 4.2.2). El
mecanismo de aplicacin de OMClouds es particularmente limitantes: bsicamente, todas las
variables estn limitados en un forma homognea (Seccin 4.4.3).
Por el contrario, las musas con impertinencia y Strasheela permiten acceder directamente a la
variables en la representacin de la msica. Estructuras de control arbitrarias pueden ser
utilizados en estos sistemas para la aplicacin de restricciones a estas variables. Mientras musas
volvindose contestatarios utiliza las estructuras de control comn, tales como bucles,
Strasheela tambin proporciona una coleccin de convenientes procedimientos de orden
superior para diversos fines (por ejemplo, algunos procedimientos modelo mini-lenguajes de
PWConstraints y situacin).
5.4. Usabilidad
Hay dos objetivos de diseo importantes para un sistema de restriccin de la msica. Por un
lado, diseadores apuntan a ajustar los sistemas adecuados para una amplia gama de
composicin problemas. La historia de la situacin es un ejemplo de este objetivo: en un
principio el sistema de apoyo portado slo CSPs armnicas, y ms tarde se generaliz para
apoyar CSPs rtmicos como as. Por otro lado, los sistemas deben, por supuesto, ser fcil de
usar. Estos dos objetivos de diseo son contradictorias a un cierto grado. Los usuarios de la
msica sistemas constraint incluyen compositores y tericos de la msica (a menudo con poca
programacin experimentar), adems de los informticos o matemticos. Al definir musical
CSP, estos usuarios siempre escriben los programas de ordenador. Haciendo restriccin musical
sistemas fciles de usar por lo que pueden significar hacer la programacin de computadoras
ms fcil para no programadores

22El nico sistema con un apoyo explcito a la msica microtonal es Strasheela: formatos de
exportacin de Strasheela y restricciones predefinidas toman lanzamientos microtonal en
diversas representaciones en cuenta, y hay muchos ejemplos microtonal Strasheela disponibles.
Lenguajes de programacin visuales han tenido mucho xito en la toma de la programacin ms
accesible a los no programadores en el campo de la msica por ordenador en general. Sin
embargo, mientras que los lenguajes de programacin visual simplificar la sintaxis de
programacin, no pueden sustituir los conceptos de la informtica en la que la generalidad de la
msica Sistemas de restriccin se funda. Los sistemas ms genricos tienden a aplicar la
informtica conceptos que estn ms avanzados para los no programadores. Por ejemplo,
Strasheela de mecanismo de aplicacin de la restriccin es ms genrico que el mecanismo del
PMC, pero su concepto subyacente (programacin de orden superior) tambin es ms abstracto
que el mecanismo de reconocimiento de patrones de PMC. Mientras que cualquier concepto de
la informtica puede ser integrado en un lenguaje visual, en principio (por ejemplo, OpenMusic
apoya orden superior programacin), los usuarios deben entender estos conceptos con el fin de
emplearlos con xito. Programacin Visual es, pues, hay una varita mgica para hacer la
programacin ms fcil: los conceptos de la informtica en s no son ms fciles de comprender
en un visual que un lenguaje textual.
Los sistemas existentes generalmente se inclinan hacia uno solo de estos dos objetivos de diseo
(Tabla VIII). OMClouds es el ms fcil de usar entre los sistemas existentes. Proporciona un
lenguaje de programacin puramente visual. Adems, debido a su bsqueda puramente
heurstica CSP son ms fciles de definir: los usuarios no pueden definir problemas
overconstrained. Al mismo tiempo, OMClouds est tambin ms restringida en el rango de CSP
compatibles, como tiene ha demostrado anteriormente. Musas volvindose contestatarios y
Strasheela se inclinan hacia el otro objetivo de diseo. Estos sistemas son particularmente
expresivo, como se ha mostrado antes.
Sin embargo, estos sistemas han sido diseados para los programadores
experimentados. PWConstraint y situacin estn situados ms en el medio a este respecto. A
superficial indicacin es su sintaxis, que combina la programacin visual y textual. Mientras
Musas volvindose contestatarios y Strasheela son sistemas de programacin reales,
PWConstraints y cuasi Situacin proporcionan plantillas de CSP en el que el usuario puede
cambiar muchos ajustes pero nunca cambiar la estructura general del programa. Este enfoque
hace que estos sistemas menos expresivo que Musas volvindose contestatarios o Strasheela,
pero al mismo tiempo que se simplifica su uso.
Adems de la facilidad de la definicin de CSP, otros factores tambin contribuyen a la
facilidad de uso. Un aspecto importante es el entorno de programacin en el que la restriccin
de la msica sistema est incrustado. Por ejemplo, muchos sistemas estn integrados en Asistido
por Ordenador composicin (CAC) sistemas como PWGL o OpenMusic, que tambin
proporciona bibliotecas para otras tcnicas de composicin algortmica, y donde los editores de
puntuacin expresivos son disponibles (Tabla VIII). Por el contrario, las musas con
impertinencia y Strasheela son build directamente encima de los lenguajes de programacin de
propsito general.
Tambin los puntos aparentemente menores pueden tener un impacto decididamente en la
usabilidad. Por ejemplo, en caso de un problema de overconstrained con ninguna solucin, los
sistemas de apoyo a la propagacin (Por ejemplo, Strasheela) suelen informar de inmediato de
que no existe una solucin, mientras que dar marcha atrs-sistemas basados en lugar pueden
buscar un tiempo muy largo. Es difcil en la depuracin CSPs cada sistema, pero algunos
sistemas (por ejemplo, PWConstraints) pueden proporcionar informacin sobre la que
restricciones causaron el fracaso.
6. CONCLUSIN
Programacin con restricciones (CP) es un paradigma muy adecuado para computacionalmente
modeling teoras de la msica y composicin. El paradigma de CP se ha utilizado durante varios
dcadas en este campo, y muchas subdisciplinas teora de la msica se han abordado
INCLUYENDO contrapunto, la armona, el ritmo y la instrumentacin (Seccin 3).
Sin embargo, muchos aspectos complejos de la teora musical y composicin siguen esperando
modelado basado en restricciones. En particular, ms investigacin sobre la modelizacin de la
instrumentacin-
Se requiere tacin y orquestacin. Otros campos abandonados incluyen contra-armnica punto,
y el modelado de la meloda y la forma musical.Mientras que las teoras de la msica a menudo
se modelan "desde cero" por medio de CP, msica genrica sistemas de restricciones se han
desarrollado durante ms de una dcada (Secciones 4 y 5). Estos sistemas predefinir bloques de
construccin importantes compartidos por muchos musical Los problemas de restriccin de
satisfaccin (CSP) y de esa manera simplifican enormemente su definicin.
Al hacerlo, hacen msica CP accesible para un pblico ms amplio. Cada uno de estos sistemas
tiene una estructura similar: se implementa una representacin de msica, define mecanismos
para definir y aplicar restricciones a las variables en la representacin de la msica, y
proporciona un solucionador de restricciones. Sin embargo, los sistemas se diferencian en el
diseo actual de estos componentes.
Como resultado, los sistemas de restriccin de msica genrico difieren en gran medida en el
rango de la msica teoras que apoyan. Por ejemplo, pocos sistemas de apoyo a los CSP de
contrapunto, como este tipo de problemas requieren una representacin de la msica ms
expresiva. Los dos sistemas Musas volvindose contestatarios (Seccin 4.3) y Strasheela
(Seccin 4.5) son especialmente expresivo: son adecuados para las teoras musicales de gran
complejidad como una de pleno derecho teora de la armona o contrapunto. Importante para
esta expresividad es que estos sistemas de proporcionar efectivamente bibliotecas de software:
los usuarios tienen una gran libertad en la organizacin de los componentes proporcionados, y
estos sistemas tambin son altamente extensible. Sin embargo, estos sistemas estn diseados
para los programadores experimentados. OMClouds (Seccin 4.4) es exactamente lo contrario
en trminos de expresividad y facilidad de uso. La gama de teoras musicales apoyado es el ms
pequeo entre los cinco sistemas revisados, mientras que al mismo tiempo OMClouds es el
sistema ms fcil de usar. Su lenguaje visual y su puramente heurstica bsqueda, que evita
problemas overconstrained, hace OMClouds ms adecuado para los usuarios sin experiencia
previa en programacin. PWConstraints los dos sistemas (Seccin 4.1) y Situacin (Seccin
4.2) se sitan entre estos dos extremos.
Estos sistemas definen las plantillas de CSP que restringen la gama de teoras admitidas. Sin
embargo, la plantilla de un sistema como PWConstraints 'subsistema Score-PMC todava
permite para una amplia gama de CSP de contrapunto complejos.
Para el uso prctico, una preocupacin importante es la velocidad a la que los CSP musicales
pueden ser resuelto. Los problemas sencillos (por ejemplo, una serie de todos los intervalos o de
primera especie de contrapunto Fuxian) se resuelven en un par de milisegundos [Anders
2007]. Los problemas ms complejos, como la armonizacin de una meloda o contrapunto
florido a dos voces, tmese unos segundos [Pachet y Roy 1995; Anders 2007]. Sin embargo, los
CSPs musicales pueden ser extremadamente complejos, y la bsqueda de una solucin para un
problema complejo puede llevar mucho tiempo. Una bsqueda eficiente estrategia es altamente
dependiente del problema, y por lo tanto los sistemas ms genricas proporcionan un amplio
control sobre el proceso de bsqueda (Secciones 5.1). Sin embargo, tales optimizaciones son de
nuevo el mejor hecho por un programador experimentado.
En general, los sistemas que soportan una mayor gama de teoras musicales y ms compleja
teoras tienden a ser ms difciles de utilizar, ya que requieren ms experiencia en programacin
de sus usuarios. Sin embargo, los usuarios potenciales, tales como compositores y tericos de la
msica-que podra contribuir en gran medida a este campo-a menudo no son entrenados como
programadores. Para el futuro investigacin, sera interesante hacer el poder expresivo de la
msica disponible en CP hoy ms accesible para el pblico.
Algunos desarrollos recientes de la investigacin sobre el CP, en general, sera muy til para
msica CP, pero no se han adoptado en el sistema existente hasta el momento. Por ejemplo, hay
un sistema admite que la estructura jerrquica de la puntuacin se puede restringir libremente,
pero tales una caracterstica sera muy til para el modelado de la forma musical. Variables con
el grfico dominio [Doom et al. 2005] podra ser un enfoque adecuado para esto. Restricciones
blandas son particularmente importante para la msica. Los sistemas existentes que se basan en
restricciones duras modelo restricciones blandas utilizando diversas tcnicas (seccin
5.1). Apoyo a la verdadera suave limitaciones [Bistarelli 2004] que se pueden combinar con
restricciones duras seran beneficioso. Por ltimo, la msica CP es computacionalmente costosa
debido a que el espacio de bsqueda puede ser enorme. Hasta ahora, el rendimiento de los
sistemas era cuasi mejorado automticamente tiempo debido a que cada nueva generacin de
CPU funcion en una frecuencia de reloj ms alta que la anterior generacin. Este desarrollo se
ha ralentizado mientras tanto hacia abajo. Sistemas de restricciones futuras mejorar su
rendimiento mediante el uso de mltiples procesadores en paralelo a paralelo buscar [Schulte
2002].