Composición asistida por computador Carlos Agón Jean Bresson.

153
Composición asistida por computador Carlos Agón Jean Bresson QuickTime™ et un décompresseur TIFF (LZW) sont requis pour visionner ce

Transcript of Composición asistida por computador Carlos Agón Jean Bresson.

Page 1: Composición asistida por computador Carlos Agón Jean Bresson.

Composición asistida por computador

Carlos AgónJean Bresson

QuickTime™ et undécompresseur TIFF (LZW)

sont requis pour visionner cette image.

Page 2: Composición asistida por computador Carlos Agón Jean Bresson.

Comienzos (Hiller)

Page 3: Composición asistida por computador Carlos Agón Jean Bresson.

Música Informática

Por que la informática y la composición ?

Herramientas de composicion

Estudio de la calculabilidad

Page 4: Composición asistida por computador Carlos Agón Jean Bresson.

Enfoque simbólico de la CAC

Memorización

CondensaciónEstructuración

Calculo

Lectura/escritura

Page 5: Composición asistida por computador Carlos Agón Jean Bresson.

Un archivo audio

Page 6: Composición asistida por computador Carlos Agón Jean Bresson.

La forma de la onda

Page 7: Composición asistida por computador Carlos Agón Jean Bresson.

Sonograma

Page 8: Composición asistida por computador Carlos Agón Jean Bresson.

Señal vs. símbolo

Piezas mixtas

Escritura de un sonido

vs. CAOTratamiento de señal

Page 9: Composición asistida por computador Carlos Agón Jean Bresson.

Idea musical

obra Rep. simbólica

Representaciones simbólicas

Que es una idea musical ?

No se trata de una traducción

Page 10: Composición asistida por computador Carlos Agón Jean Bresson.

8 sec.

Factor = 441/2000

Onset = 4 sec.

Escritura

Page 11: Composición asistida por computador Carlos Agón Jean Bresson.

Modelisacion

Page 12: Composición asistida por computador Carlos Agón Jean Bresson.

Representación y manipulación

Estructuras &conocimientos musicales

Modelos

Observar

Modificar

Crear

Composicióny Análisis

Lenguajes

Page 13: Composición asistida por computador Carlos Agón Jean Bresson.

Computabilidad

El objetivo es determinar si un problema dado tiene o no una solución algorítmica.

Modelo de calculoentrada x * ={0,1}* salida y * ={0,1}*

problemas de decisión y = 0 o 1

problemas de calculo y ={0,1}*

Page 14: Composición asistida por computador Carlos Agón Jean Bresson.

El problema de la parada

Crear una función “arret?” que determine para todo programa p si p se termina o no.

(defun boucle () (boucle))

(defun test (p)(if (arret? (test p))

(boucle) 1)))

(test test)

El problema de la parada es irresoluble

Page 15: Composición asistida por computador Carlos Agón Jean Bresson.

La tesis de Church-Turing

Maquina de Turing

Funciones recursivas

Lógica de primer orden

Lambda Calculo

Page 16: Composición asistida por computador Carlos Agón Jean Bresson.

Maquinas de Turing

b b b b 0 0 1 1 1 b b b b

q

M = (Q, , q0, , F)

Page 17: Composición asistida por computador Carlos Agón Jean Bresson.

Maquinas de Turing

q0Q estado inicial

Q= { q0,…, qk }

FQ estados finales = alfabeto {0,1,b} : Q x Q x x {I,D,S}

(q1,1) = (q2,0,D)

Page 18: Composición asistida por computador Carlos Agón Jean Bresson.

Descripción instantánea

b b b x ’ b b b

q

= (q, , x, ’)

donde qQ

x

, ’ *

Page 19: Composición asistida por computador Carlos Agón Jean Bresson.

Transición

(q, , x, ’)si

Una relación binaria entre 2 descripciones instantáneas

(q1, 1, x1, 1’)

(q,x) = (q1, x’,m)

m=D 1 =x’ et ’= x1 1’

Page 20: Composición asistida por computador Carlos Agón Jean Bresson.

Definiciones principales

*

M acepta x * si existe qF tq

(q0,x) (q , x’’)

*

El lenguaje asociado a una MT M

{x: x es aceptado par M}

Page 21: Composición asistida por computador Carlos Agón Jean Bresson.

MT no-deterministas

Todo es igual excepto que es una relación

Q x x Q x x {G,D,S}

Page 22: Composición asistida por computador Carlos Agón Jean Bresson.

Función calculable por una MT

sea f(x), MT calcula la función si para toda xi

si f(xi) esta definida MT para

si f(xi) no esta definida MT no para

Page 23: Composición asistida por computador Carlos Agón Jean Bresson.

Complejidad

TM(x) = numero de transiciones de M a partir de x.EM(x) = numero de casillas de M a partir de x.

M es DTEMPS (f(n))

f: N N

si TM(x) O(f(n))

M es DSPACE (f(n))si EM(x)

O(f(n))

sea M une maquina de Turing

Page 24: Composición asistida por computador Carlos Agón Jean Bresson.

Complejidad

M es NTEMPS (f(n))si k N , c Q tq.

h (calcul tree) <= cf(n)

M est NSPACE (f(n))

si k N , c Q tq.

pour tout chemin de (calcul tree) le nombre de cases es <= cf(n)

Page 25: Composición asistida por computador Carlos Agón Jean Bresson.

P et NP

P =

kN

DTEMPS(nk)

La classe de problemas tq existe un MT en DTEMPS(nk)

NP =

kN

NTEMPS(nk)

La classe de problemas tq existe un MTND en NTEMPS(nk)

P NP

Page 26: Composición asistida por computador Carlos Agón Jean Bresson.

NP-completo

Reducción en tiempo polinomial

Q est NP-complet

Q est NP

Q’ NP Q’<=Q

Q1 <= Q2

Si existe una función f en tiempo polinomial y determinista tq.

x xQ1 ssi f(x) Q2

Q1 es mas fácil o igual de complicado que Q2

Page 27: Composición asistida por computador Carlos Agón Jean Bresson.

Ejemplo

(0 1 0 1 0 0 0 0 1 0 1 0 1 1 2 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)

(2 1 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1)

Page 28: Composición asistida por computador Carlos Agón Jean Bresson.

El agente viajero

Visitar n ciudades pasando exactamente una vez por ciudad y regresar a la ciudad de origen. Que camino escoger para minimizar el costo del viaje ?

O(n!)

Ciudades Posibilidades Tiempo de calculo

5 12 12 s

10 181440 12 horas

25 310E+21 9.8 millares de años

Page 29: Composición asistida por computador Carlos Agón Jean Bresson.

Problemas mal definidos

Dada una composición saber si es bella ?

Un archivo midi es de estilo jazz ?

Quiero fabricar un exito

Page 30: Composición asistida por computador Carlos Agón Jean Bresson.

Dos puntos de vista

Lo calculable

Los lenguajes de programación

El computador puede hacer mas que calcular

IA

Page 31: Composición asistida por computador Carlos Agón Jean Bresson.

Los lenguajes de programación

+ de 2000 lenguajes

ImperativosFuncionales

Lógicos

O-O

ConcurrentesPar AspectosReactivosEtc…

Seguridad

EficienciaMantenimientoExtension

Page 32: Composición asistida por computador Carlos Agón Jean Bresson.

Como herramienta de creación

Como herramienta de investigación

Por que los lenguajes de programación ?

Page 33: Composición asistida por computador Carlos Agón Jean Bresson.

Un problema : CRRC

QuickTime™ et undécompresseur TIFF (LZW)

sont requis pour visionner cette image.QuickTime™ et un

décompresseur TIFF (LZW)sont requis pour visionner cette image.

QuickTime™ et undécompresseur TIFF (LZW)

sont requis pour visionner cette image. =+

Page 34: Composición asistida por computador Carlos Agón Jean Bresson.

Les CRRCM

Page 35: Composición asistida por computador Carlos Agón Jean Bresson.

Los Canones Los Canones afinesafines

Page 36: Composición asistida por computador Carlos Agón Jean Bresson.

Lenguajes para la creación

La composición es imprevisible

Diversidad de estéticas

Modelos como programas

Page 37: Composición asistida por computador Carlos Agón Jean Bresson.

El compositor programador

El compositor no es un usuario

Solución vs. exploración

Proposición de lenguajes adaptados

Medir la influencia de un lenguaje particular

Page 38: Composición asistida por computador Carlos Agón Jean Bresson.

Que es un lenguaje de programación ?

El medio para hacer programas

Que es un programa ?

Page 39: Composición asistida por computador Carlos Agón Jean Bresson.

Léxico

El alfabeto

La niña est jolie

FormalismFormalismee

Page 40: Composición asistida por computador Carlos Agón Jean Bresson.

La sintaxis

While 100 i do < := i ++ i

While i < 100 do i := i ++

Backus Naur FormBackus Naur Form

meta-simbolos + non terminales + terminales

::= , | , ( , )

<nom> « mots »

Page 41: Composición asistida por computador Carlos Agón Jean Bresson.

La BNF

<terme> ::= <nombre signé> | <nombre signé> <op> <terme>

<nombre signé> ::= <nombre> | « + » <nombre> | « - » <nombre>

<nombre> ::= <entier> | <nombre fractionnaire>

<op> ::= « * » |   « / » | … |  « + » | « -»

<nombre fractionnaire> ::= <entier> | <entier> « / » <entier>

<entier> ::= <chiffre> | <chiffre><entier>

<chiffre> ::= « 0 » |  « 1 » | … |  « 8 » | « 9»

1+3-1+3-1/41/4

1+3*11+3*1/4/4

1+3*11+3*1/0/0

Page 42: Composición asistida por computador Carlos Agón Jean Bresson.

La semántica

Cual es el sentido de un programa ?

Que pasa cuando se ejecuta un programa ?

Page 43: Composición asistida por computador Carlos Agón Jean Bresson.

Semántica como una relación

1

2

3

4

5

1

2

E S

R R (E (E S)S)

Page 44: Composición asistida por computador Carlos Agón Jean Bresson.

Semántica

De un programa

De un lenguaje

e e s s

p p e e ss

Programa

determinista

R es una R es una función función

Page 45: Composición asistida por computador Carlos Agón Jean Bresson.

Tres definiciones de la semántica

Por un función

Por une definición inductiva

Por la fermetura reflexiva-transitiva de una relación

DenotacionalDenotacional

OperacionalOperacional

bigstepbigstep

Operacional Operacional smallstepsmallstep

Page 46: Composición asistida por computador Carlos Agón Jean Bresson.

Descripción de alto nivel

Estructuras de datos

Estructures de control

Los resultados

Los medios

Los programas

Programas como ciudadanos de primera categoría

Page 47: Composición asistida por computador Carlos Agón Jean Bresson.

Estructuras de datos

Midi

60

61

67

60

60

60

60

10

1/2

1/4

1/8

1/8

Page 48: Composición asistida por computador Carlos Agón Jean Bresson.

Listas

(60 65 67)

((48 52 68) (49 50 54 68) (50 54 68))

Page 49: Composición asistida por computador Carlos Agón Jean Bresson.

Árboles

1

1 1 1 1

4/4

2 1 14

Page 50: Composición asistida por computador Carlos Agón Jean Bresson.

Árboles

5/4

1 4

1 1 1 1 4 2 1 1

1 1 1 1 1

1 1 1

Page 51: Composición asistida por computador Carlos Agón Jean Bresson.

Estructuras de control

Definir el orden de ejecución

Condicionales

Bucles

Comandos | unificación | composición

Page 52: Composición asistida por computador Carlos Agón Jean Bresson.

La recursión

a = (root , (a1… an))

R(a) = (root , (R(an),…,R(a1)))

Page 53: Composición asistida por computador Carlos Agón Jean Bresson.

Programación funcional

Page 54: Composición asistida por computador Carlos Agón Jean Bresson.

La programación funcional

Funciones « a la Euler »

Funciones « a la Riemann »

1/(1 -x) = 1 + x + x2 + …+ xn + …

E S

Page 55: Composición asistida por computador Carlos Agón Jean Bresson.

Funciones y programas

El razonamiento matemático como objeto de estudio

La demostración automática

El lambda-calculo

Page 56: Composición asistida por computador Carlos Agón Jean Bresson.

El lambda calculo

Aplicación

Abstracción

Variable

Page 57: Composición asistida por computador Carlos Agón Jean Bresson.

Abstracción

? ??

? ??

Page 58: Composición asistida por computador Carlos Agón Jean Bresson.

Aplicación

? ??

Page 59: Composición asistida por computador Carlos Agón Jean Bresson.

(repeat 10 (repeat 3 (random DO3 DO4)))

AbstracciAbstraccióónn

Page 60: Composición asistida por computador Carlos Agón Jean Bresson.

F1(n)=(repeat n (repeat 3 (random DO3 DO4)))

Abstracción

Page 61: Composición asistida por computador Carlos Agón Jean Bresson.

F2(n m)(repeat n (repeat m (random DO3 DO4)))

Abstraccion

Page 62: Composición asistida por computador Carlos Agón Jean Bresson.

F3(n m a b) (repeat n (repeat m (random a b)))

Abstraccion

Page 63: Composición asistida por computador Carlos Agón Jean Bresson.

F3(n m a b) (5)

F4(m a b) (repeat 5 (repeat m (random a b)))

Aplicacion

Page 64: Composición asistida por computador Carlos Agón Jean Bresson.

F4(m a b) (4)

F5(m a b)=(repeat 5 (repeat 4 (random a b)))

Aplicacion

Page 65: Composición asistida por computador Carlos Agón Jean Bresson.

F5(m a b)(C2 )(C5)

(repeat 5 (repeat 4 (random C2 C5)))

Aplicacion

Page 66: Composición asistida por computador Carlos Agón Jean Bresson.

Lambda-Calculo

LéxicoLéxico

= { (, ) , , a,

b, c…}

Page 67: Composición asistida por computador Carlos Agón Jean Bresson.

SintaxSintaxisis

E::= xE::= E EE::= xE

(Aplicacion)(Abstraccion)

Lambda-Calculo

Page 68: Composición asistida por computador Carlos Agón Jean Bresson.

La -reducion

Redex

Forma normal

x.M) N

E tq. E no tiene redex

x.M) N

x. y.(x)y)b)c

N/x]

y.(b)y)c(b)c

Page 69: Composición asistida por computador Carlos Agón Jean Bresson.

La terminación

x.(x)x) x.(x)x

x.(x)x) x.(x)x x.(x)x) x.(x)x

x.(x)x) x.(x)x

Page 70: Composición asistida por computador Carlos Agón Jean Bresson.

Church Rossel

E

E2 E1

*

*

*

*

E3

La forma normal de E, si ella existe, es unica

Page 71: Composición asistida por computador Carlos Agón Jean Bresson.

Estrategias de evaluación

y.v)(x.(x)x) x.(x)x)

y.v)(x.(x)x) x.(x)x)

vy.v)x.(x)x) x.(x)x

y.v)x.(x)x) x.(x)x

Page 72: Composición asistida por computador Carlos Agón Jean Bresson.

Llamado por nombre

v.(z.z)(( w.w)(x ( y.y)))

Reducir siempre el redex el mas a la izquierda

x.z (fact 10)

z

x.x + x (fact 10)

(fact 10) + (fact 10)

Page 73: Composición asistida por computador Carlos Agón Jean Bresson.

Llamado por valor

v.(z.z)(( w.w)(x ( y.y)))

Reducir siempre el redex el mas a la izquierda, pero solo si el argumento del redex es un valor

x.x + x 3628800

7257600

x.x + x (fact 10)

Page 74: Composición asistida por computador Carlos Agón Jean Bresson.

Números de Church

0 = x. y.y1 = x. y.(x)y2 = x. y.(x)(x) y

n = x. y.(x)(x)…(x)(x) y n

Page 75: Composición asistida por computador Carlos Agón Jean Bresson.

Suc = x. y. z.(y)((x) y) z

x. y.(x)(x)…(x)(x)yn

x. y. z.(y)((x) y) z)

y. z.(y)((x. y.(x)(x)…(x)(x)y) y) z) n

y. z.(y)(a.(y)(y)…(y)(y)a) z) n

y. z.(y)(y)(y)…(y)(y) z)n

y. z.(y)(y)(y)…(y)(y) z)

n+1

Page 76: Composición asistida por computador Carlos Agón Jean Bresson.

ADD = x. y. a. b.((x) a) ((y) a) bx. y. a. b.((x) a) ((y) a) b)

y. a. b.((x. y.(x)(x) y) a) ((y) a) b) x. y.(x)(x)(x)y

a. b.((x. y.(x)(x) y) a) ((x. y.(x)(x)(x)y) a) b)

a. b.(y.(a)(a) y) (y.(a)(a)(a)y) b)

a. b.(a)(a) (a)(a)(a) b)

x. y.(x)(x) y)

x. y.(x)(x)(x)y

Page 77: Composición asistida por computador Carlos Agón Jean Bresson.

Faux

x. y. y

Vrai

x. y. x

Et x. y((x) y) x

Page 78: Composición asistida por computador Carlos Agón Jean Bresson.

Recursividad

Yh. (x.(h)(x) x)) x.(h)(x) x

(E) G

=G(x.(E)(x) x)) x.(E)(x) x

h. (x.(h)(x) x)) x.(h)(x) x) E

(E) (x.(E)(x) x) x.(E)(x) x)

Y(E)

G (E)G

Page 79: Composición asistida por computador Carlos Agón Jean Bresson.

Material musical

y

Procesos de composición

Page 80: Composición asistida por computador Carlos Agón Jean Bresson.

Programacion orientada-objetos

Page 81: Composición asistida por computador Carlos Agón Jean Bresson.

Historia

« Los años objeto »

Musica

Ordenamiento de funciones

Page 82: Composición asistida por computador Carlos Agón Jean Bresson.

La POO

Lenguaje comun de representacion

Reificacion

Ventajas

Page 83: Composición asistida por computador Carlos Agón Jean Bresson.

PPO

Objetos = datos + operaciones

Lenguajes a clases

vs.

Lenguajes a prototipos

Page 84: Composición asistida por computador Carlos Agón Jean Bresson.

Clases

Estructuras y comportamiento

Slots

chord

base

intervalles

0

(5 7)

Page 85: Composición asistida por computador Carlos Agón Jean Bresson.

Metodos

0

(5 7)

0

(5 7)

QuickTime™ et undécompresseur TIFF (LZW)

sont requis pour visionner cette image.

Dibujar

Tocar

Page 86: Composición asistida por computador Carlos Agón Jean Bresson.

Class1

superclassslot1slot2

Method1

Method2

subclass

slot1

slot3

Method1

Method3

Class2

Class3

Class4

Herencia

Page 87: Composición asistida por computador Carlos Agón Jean Bresson.

Instanciacion

Isa

Slot1-valueSlotn-value

Classname

Meth1

Methn

Superclass1Meth1

Methm

Superclass2Meth1

Methk

Page 88: Composición asistida por computador Carlos Agón Jean Bresson.

Dynamic binding

Message

Class1

Class2

Class3

inst

Method

Page 89: Composición asistida por computador Carlos Agón Jean Bresson.

Ejemplo

Jerarquia de clases

Page 90: Composición asistida por computador Carlos Agón Jean Bresson.

Dispatch multiple

mensaje

instancia

instancia

mensaje

method1

method2

…methodn

method1

method2

…methodn

Page 91: Composición asistida por computador Carlos Agón Jean Bresson.

Organisacion des metodos

M1 M2 M3 Mn…

M1 M2 M3 Mn…

M1 M2 M3 Mn…

FG

C

Page 92: Composición asistida por computador Carlos Agón Jean Bresson.

Polimorfismo

Universel

parametrico

Ad hoc

inclusion

overloading

cohercion

Gen-fun

Length

2 ---> 2.0

2 + 3 , 2.0 + 3.0

Page 93: Composición asistida por computador Carlos Agón Jean Bresson.

Ejemplo

(defgeneric transpose ((object pause) interval))

Page 94: Composición asistida por computador Carlos Agón Jean Bresson.

Clases OM

Los objetos musicales son complejos

Hacer convivir entidades con sistemas temporales difirentes

ms (Midi, Audio)

Partage d'entiers (structures symboliques)

Page 95: Composición asistida por computador Carlos Agón Jean Bresson.

oe

oe u

oe u

oe u

Clases OM

Un sistema temporal, en numeros enteros,

Adaptado a cada nivel de profundidad de las estructures musicales.

o = offsete = extendu = unity

Page 96: Composición asistida por computador Carlos Agón Jean Bresson.

0

4 10

4 1

6

2

30

6 3

0

4 1

06 3

6

2

3

06 30

3 3 33 3

0

4 3

0

6 30

6 3

42 3

Representacion interna

Page 97: Composición asistida por computador Carlos Agón Jean Bresson.

Classes

simple-containerparentQvalue offsetextent

container inside

NewContainer (u = 1 par défaut.)

AddTo container1 container2 at (at est exprimé en fraction de noire. )

u = u(container1)p = ppcm(u, denominator(at))u(container1)= po(container2) = at * po(conti) = o(conti) * p / u pour tout conti sous-conteneur immédiat de container1

Page 98: Composición asistida por computador Carlos Agón Jean Bresson.

Interface

c = NewContainer ()

AddTo (c, csymb, 4)

AddTo(c, caudio, 1300/1000)

u(c) = 10, o(csymb) = 40, o(caudio) = 13

Page 99: Composición asistida por computador Carlos Agón Jean Bresson.

Visualization

Music World

Representacion para el usuario

User Representation

Music Representation

Page 100: Composición asistida por computador Carlos Agón Jean Bresson.

Jerarquia de clases OM

Container

Simple-se Comp-seelements

NoteMidiDurVelchan

Seq-se para-se

Ch-seq

measure

voice chordLmidiLdurLvelLchan

poly

Page 101: Composición asistida por computador Carlos Agón Jean Bresson.

Interface Lmidic

Comp-seelements

LmidiLdurLvelLchan

chorddo1fff1

mi1fff1

sol1fff1

(do mi sol)

(1 1 1)

(fff fff fff)

(1 1 1)

Page 102: Composición asistida por computador Carlos Agón Jean Bresson.

Un ejemplo

New-Chord

Read-dur

(do mi sol)

(1 1 1)

(fff fff fff)

(1 1 1)

do1fff1

mi1fff1

sol1fff1nil

nilnilnil

write-dur (2 2 2)

(1 1 1)

Page 103: Composición asistida por computador Carlos Agón Jean Bresson.

Programación por Restricciones

Page 104: Composición asistida por computador Carlos Agón Jean Bresson.

Harmonización

Page 105: Composición asistida por computador Carlos Agón Jean Bresson.

Harmonización

Existen reglas de harmonia (Johann J. Fux 1725)

Reglas horizontales

Page 106: Composición asistida por computador Carlos Agón Jean Bresson.

Otras Reglas

Reglas Verticales

Mixtas

Page 107: Composición asistida por computador Carlos Agón Jean Bresson.

Observaciones

Respectar las reglas no garantiza un resultado musical “interesante”

Las reglas no constituyen un algoritmo

Page 108: Composición asistida por computador Carlos Agón Jean Bresson.

Construcción de resultados

CAO y restricciones

Dato Resultado

Base Perfecto mayor

+ tercera+ quintaCalculo

Page 109: Composición asistida por computador Carlos Agón Jean Bresson.

CAO y restricciones

variables

restricciones

terceraquinta Resolucion

Page 110: Composición asistida por computador Carlos Agón Jean Bresson.

Sistema de restricciones

Un sistema de restricciones SC es definido por :

-Un algoritmo que decide para toda L si puede ser satisfecha en M o no.

-Un lenguaje lógico L (léxico + sintaxis).

-Una estructura M en la cual interpretamos las formulas de L (semántica).

Page 111: Composición asistida por computador Carlos Agón Jean Bresson.

CSP Definición

Un problema de restricciones CSP es una tripleta (X,D,C)

X ={x1,...,xn} un conjunto finito de variables

D un conjunto de dominios finitos

C un conjunto de restricciones de la forma (Y,R)

Page 112: Composición asistida por computador Carlos Agón Jean Bresson.

Variables y dominios

:X --> P(D)

(i) denota el dominio de xi (puede ser la unión de dominios)

Page 113: Composición asistida por computador Carlos Agón Jean Bresson.

Restricciones

Una restricción (X,R) sobre las variables x1,...,xr es un sub-conjunto del producto cartesiano de los dominios de las variables

  (x1) ... (xr) R(x1,...,xr ) Los valores vx1 (x1) ,..., vxr (xr) satisfacen la restricción R(x1,...,xr) si (vx1,..., vxr) R(x1,...,xr)

Page 114: Composición asistida por computador Carlos Agón Jean Bresson.

Instanciacion

Una instanciacion I es un conjunto de valores (vz1,...,vzr) asignados a un sub-conjunto ZX. Si ZX, I es una instanciacion parcial

I es consistente si para toda restricción Ci conteniendo variables en Z las asignaciones de I satisfacen Ci

Una solución es una instanciacion consistente con Z=X

Page 115: Composición asistida por computador Carlos Agón Jean Bresson.

Ejemplo

X = {x, y, z}

(x)= {1,2,3} (y)= {1,3,5} (z)= {2,4,6} C1 : x < y+z C2 : x2 = y + z

x =3, y= 1, z= 4 x =3, y= 5, z= 4

x =3, y= ?, z= 4

Page 116: Composición asistida por computador Carlos Agón Jean Bresson.

La solución

Decision

Complexité

Calculo

Page 117: Composición asistida por computador Carlos Agón Jean Bresson.

Exemple

Page 118: Composición asistida por computador Carlos Agón Jean Bresson.

N-queens

X ={x1, x2, x3, x4}

xi xj

(x1)= (x2)= (x3)= (x4)= {1,2,3,4}

xi xj +(j -i)xi xj - (j - i)

Page 119: Composición asistida por computador Carlos Agón Jean Bresson.

Resolucion

LockBack

Backtracking

Filtraje

Page 120: Composición asistida por computador Carlos Agón Jean Bresson.

Lock Back

Muy costozo en tiempo

Page 121: Composición asistida por computador Carlos Agón Jean Bresson.

Backtracking

Page 122: Composición asistida por computador Carlos Agón Jean Bresson.

BacktrackingFunction Bactracking (csp)

Return recursive-backtracking (nil, csp)

Backjumping

Function recursive+Bactracking (assigned, csp)

If assigned is complete return assigned

Var first (unselected-vars(csp))

For value in domaine(Var) do

if consistent (value + assigned)

result recursive+Bactracking ((value + assigned), csp)

if result < > nil return result

Return nil

Page 123: Composición asistida por computador Carlos Agón Jean Bresson.

Filtraje

Définition de la consistance de noeud : Un CSP (X,D,C) est consistant de noeud si pour toute variable Xi de X, et pour toute valeur v de D(Xi), l'affectation partielle {(Xi,v)} satisfait toutes les contraintes unaires de C.

ExempleC contient la contrainte "X1 > 2", le domaine de X1 = {1,2,3,4,5}, Donc le CSP n'est pas consistant de noeud. Pour qu'il soit consistant de noeud, il faut que le domaine de X1 soit égal à {3,4,5}

Page 124: Composición asistida por computador Carlos Agón Jean Bresson.

Filtrage

Définition de la consistance d'arc : Un CSP (X,D,C) est consistant d'arc si pour tout couple de variables (Xi,Xj) de X, et pour toute valeur vi appartenant à D(Xi), il existe une valeur vj appartenant à D(Xj) telle que l'affectation partielle {(Xi,vi),(Xj,vj)} satisfait toutes les contraintes binaires de C.

Exemple, si C contient la contrainte "X1 + X2 > 2", et si D(X1)=D(X2)={0,1,2}, alors le CSP n'est pas consistant d'arc, car lorsque X1=0, il n'y a aucune valeur de D(X2) pour satisfaire la contraintPour qu'il soit consistant d'arc, il faudrait queD(X1)=D(X2)={1,2},

Page 125: Composición asistida por computador Carlos Agón Jean Bresson.

Forward checking

Page 126: Composición asistida por computador Carlos Agón Jean Bresson.

Propagación

X1 [1,10] X2 [1,10] X3[1, 10]

C1 : X1 > 2*X2 + X3

C2 : X2 > X3

C3 : X1 < 7

Page 127: Composición asistida por computador Carlos Agón Jean Bresson.

Look-Ahead

Page 128: Composición asistida por computador Carlos Agón Jean Bresson.

Heurísticas

Taille du domaine

Ordre d'instanciation

Page 129: Composición asistida por computador Carlos Agón Jean Bresson.

Recherche adaptative

Algorithmo de recherche locale (P. Codognet 2000)

CSP format

Muy rapido (P. Codognet et D. Diaz 2001)

Page 130: Composición asistida por computador Carlos Agón Jean Bresson.

{V1,…,Vn}

D1,…,Dn

{C1,…,Cm}

f1,…,fm

P Funcion de error para cada variable

F Funcion de costo total

Definicion de un problema

Page 131: Composición asistida por computador Carlos Agón Jean Bresson.

Algorithmo

Random initializationRepeat

- Compute the cost for every variable- Select the most expensive one X, among those not marked as Tabu- Search a better value for X

if there is one : iterateelse : X is marked Tabu and iterate

Until the global cost is zero

Page 132: Composición asistida por computador Carlos Agón Jean Bresson.

Exemple

1

1

3

2

1

Cost of eachqueen

8

Global cost

Page 133: Composición asistida por computador Carlos Agón Jean Bresson.

5-queens

6 8 6 2

0

1

3

2

2

Page 134: Composición asistida por computador Carlos Agón Jean Bresson.

Adaptive search

0

0

0

1

1

2

5-queens

Page 135: Composición asistida por computador Carlos Agón Jean Bresson.

Restricciones primitivas

Arithmetic

Equality

Inequality

Membership

Logical connectors and / or

Different or all-different

Existential and universal quantifiers

Page 136: Composición asistida por computador Carlos Agón Jean Bresson.

| V1 - V2 |

max (0, 1 + V1 - V2 )

min (V1 - v), v

V2

max (fC1 , fC2

)

Card (Vi=Vk, i < k)

max fC1 (V1), V1 V2

V1= V2

V1 < V2

V1 V2

C1 C2

alldiff (V1 … Vn )

V1 V2 , C

(V1)

Funciones de costo

∀ ∈

Page 137: Composición asistida por computador Carlos Agón Jean Bresson.

Funciones de costo de alto nivel

Increase (V1 ... Vn )

i<j<nVi >Vj

∑ Vi −Vj

Page 138: Composición asistida por computador Carlos Agón Jean Bresson.

Ritmos no simultáneosMauro Lanza

Variables = des motifs rythmiques, de longueurs fixéesChaque motif est joué de manière répétitive par une voix.

Contrainte = pendant une durée choisie, jamais deux onsets simultanés

Page 139: Composición asistida por computador Carlos Agón Jean Bresson.

Solution approximative Solution exacte

Ejemplo

Page 140: Composición asistida por computador Carlos Agón Jean Bresson.

Ejemplo

Page 141: Composición asistida por computador Carlos Agón Jean Bresson.

(Georges Bloch)

minimizeDistance Estrada (Chi, FixCh)i Πchords

minimizei Πchords

Virfun (Chi) -Virfun (Chi+1)

FixCh =

Page 142: Composición asistida por computador Carlos Agón Jean Bresson.

RA en CAO

Siempre hay un resultado

Solución progresiva

Soluciones aproximativas / CSP sin solución

Jerarquía de restricciones

Tiempo de calculo

Metodo incompleto

Page 143: Composición asistida por computador Carlos Agón Jean Bresson.

Programacion visual

Page 144: Composición asistida por computador Carlos Agón Jean Bresson.

Que es ?

Programas utilisando mas de una dimension

If x> 0

then x

else -1 * x

If x> 0 then x else -1 * x

If x> 0

then x

else -1 * x

Colores

ImagenesAudio

Relaciones espaciales

Page 145: Composición asistida por computador Carlos Agón Jean Bresson.

Estrategias

Mezcla con texto

Generalizacion a toda aplicacion

Aplicaciones especificas

Page 146: Composición asistida por computador Carlos Agón Jean Bresson.

Por que ?

Evita errores lexicos y sintaxicos

Facilita el acceso a los conceptos del lenguaje

Hacer programas mas rapidamente

Hacer programas mas lisibles

Page 147: Composición asistida por computador Carlos Agón Jean Bresson.

Especificacion

Lenguajes a iconos

Enfoque espacial

Enfoque gramatical

Page 148: Composición asistida por computador Carlos Agón Jean Bresson.

OM Lexique

Cadres simples

Cadres composés

Lignes

Cadre de texte

Texte

Page 149: Composición asistida por computador Carlos Agón Jean Bresson.

OM Syntaxe

Classes

Slots

Héritage

Page 150: Composición asistida por computador Carlos Agón Jean Bresson.

OM Sémantique

Page 151: Composición asistida por computador Carlos Agón Jean Bresson.

Sentido y denotacion

Page 152: Composición asistida por computador Carlos Agón Jean Bresson.

2/M

M

Page 153: Composición asistida por computador Carlos Agón Jean Bresson.

-Material musical

(particion)

-Procesos de composicion

(programas)

Partitura potencial