1.54k likes | 1.71k Views
Composición asistida por computador. Carlos Agón Jean Bresson. Comienzos (Hiller). Por que la informática y la composición ?. Música. Informática. Herramientas de composicion. Estudio de la calculabilidad. Enfoque simbólico de la CAC. Memorización. Condensación. Estructuración.
E N D
Composición asistida por computador Carlos AgónJean Bresson
Por que la informática y la composición ? Música Informática Herramientas de composicion Estudio de la calculabilidad
Enfoque simbólico de la CAC Memorización Condensación Estructuración Lectura/escritura Calculo
Señal vs. símbolo Tratamiento de señal vs. CAO Piezas mixtas Escritura de un sonido
Rep. simbólica Representaciones simbólicas Idea musical obra Que es una idea musical ? No se trata de una traducción
8 sec. Escritura Onset = 4 sec. Factor = 441/2000
Observar Composición y Análisis Modificar Crear Modelos Lenguajes Representación y manipulación Estructuras & conocimientos musicales
Computabilidad El objetivo es determinar si un problema dado tiene o no una solución algorítmica. Modelo de calculo entrada x S* ={0,1}* salida y S* ={0,1}* problemas de decisión y = 0 o 1 problemas de calculo y ={0,1}*
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
La tesis de Church-Turing Maquina de Turing Funciones recursivas Lógica de primer orden Lambda Calculo
q b b b b 0 0 1 1 1 b b b b … Maquinas de Turing M = (Q, S, q0, d, F)
Maquinas de Turing Q= { q0,…, qk } q0Q estado inicial FQ estados finales S = alfabeto {0,1,b} d : Q x S Q x S x {I,D,S} d (q1,1) = (q2,0,D)
Descripción instantánea q b b b x b b b … ’ a = (q, , x, ’) donde qQ x S , ’ S*
a a’ Transición Una relación binaria entre 2 descripciones instantáneas (q, , x, ’) (q1, 1, x1, 1’) si (q1, x’,m) d (q,x) = m=D 1 =x’ et ’= x1 1’
a * a’ * Definiciones principales M acepta x S* si existe qF tq (q0,x) (q , wx’w’) El lenguaje asociado a una MT M {x: x es aceptado par M}
MT no-deterministas Todo es igual excepto que d es una relación dQ x S x Q x S x {G,D,S}
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
Complejidad sea M une maquina de Turing 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))
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)
P et NP P = DTEMPS(nk) kN La classe de problemas tq existe un MT en DTEMPS(nk) NP = NTEMPS(nk) kN La classe de problemas tq existe un MTND en NTEMPS(nk) P NP
NP-completo Reducción en tiempo polinomial 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 Q est NP-complet Q est NP Q’ NP Q’<=Q
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)
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 12 12 ms 181440 12 horas 25 310E+21 9.8 millares de años
Problemas mal definidos Dada una composición saber si es bella ? Un archivo midi es de estilo jazz ? Quiero fabricar un exito
Dos puntos de vista Lo calculable IA Los lenguajes de programación El computador puede hacer mas que calcular
Imperativos Funcionales Lógicos Los lenguajes de programación + de 2000 lenguajes O-O Seguridad Concurrentes Eficiencia Par Aspectos Mantenimiento Reactivos Extension Etc…
Por que los lenguajes de programación ? Como herramienta de investigación Como herramienta de creación
Lenguajes para la creación Diversidad de estéticas La composición es imprevisible Modelos como programas
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
Que es un lenguaje de programación ? El medio para hacer programas Que es un programa ?
Léxico El alfabeto La niña est jolie Formalisme
::= , | , ( , ) <nom> « mots » La sintaxis While 100 i do < := i ++ i While i < 100 do i := i ++ Backus Naur Form meta-simbolos + non terminales + terminales
La BNF <terme> ::= <nombre signé> | <nombre signé> <op> <terme> <nombre signé> ::= <nombre> | « + » <nombre> | « - » <nombre> <nombre> ::= <entier> | <nombre fractionnaire> <nombre fractionnaire> ::= <entier> | <entier> « / » <entier> <entier> ::= <chiffre> | <chiffre><entier> <chiffre> ::= « 0 » | « 1 » | … | « 8 » | « 9» <op> ::= « * » | « / » | … | « + » | « -» 1+3-1/4 1+3*1/4 1+3*1/0
La semántica Cual es el sentido de un programa ? Que pasa cuando se ejecuta un programa ?
1 2 3 4 5 … 1 2 … E S Semántica como una relación R (E S)
Semántica De un programa e s De un lenguaje p e s Programa determinista R es una función
Tres definiciones de la semántica Por un función Denotacional Operacional smallstep Por la fermetura reflexiva-transitiva de una relación Operacional bigstep Por une definición inductiva
Descripción de alto nivel Estructuras de datos Los resultados Los programas Estructures de control Los medios Programas como ciudadanos de primera categoría
60 61 67 60 60 60 60 10 1/2 1/4 1/8 1/8 Estructuras de datos Midi
Listas (60 65 67) ((48 52 68) (49 50 54 68) (50 54 68))
1 1 1 1 4 2 1 1 Árboles 1 4/4
1 4 1 1 1 1 4 2 1 1 1 1 1 1 1 1 1 1 Árboles 5/4