Combinación de Programas Lógicos y Redes Bayesianas y su Aplicación a Música Eduardo Morales Enrique Sucar Roberto Morales
Contenido Introducción Redes Bayesianas Redes Bayesianas + nodos “lógicos” Mecanismo de razonaminto Ejemplo musical (1) Redes Bayesianas dinámicas Ejemplo musical (2) Conclusiones y trabajo futuro
Introducción Las dos áreas más utilizadas para representar conocimiento en una máquina son: Lógica: permite representar objetos, sus propiedades, y relaciones con otros objetos Probabilidad: permite representar y manejar información con incertidumbre
Propuesta Este trabajo de investigación plantea como combinar: Cláusulas de Horn: aprovechando su capacidad expresiva con Redes Bayesianas: aprovechando su manejo eficiente de información con incertidumbre
Redes Bayesianas RB son una herramienta poderosa para tratar incertidumbre Utilizan una representación gráfica de dependencias entre variables aleatorias Nodos: variables proposicionales Arcos: dependencias probabilísticas
Redes Bayesianas (2) RB representan relaciones de independencia condicional. Por ejemplo, E es independiente de {A,C,D} dado {B}
Redes Bayesianas (3) Mecanismo de Razonamiento: propaga evidencia (variables conocidas) a través de la red hasta obtener probabilidades posteriores (de variables desconocidas) Expresividad: RB están limitadas a un formalismo proposicional
Representación Musical Una representación en música debe de incluir: Relaciones entre notas, voces, métricas, ... Preferencias entre notas, métricas, reglas, ...
Representación Musical (2) Una representación natural es: Lógica de primer orden para representar relaciones entre objetos musicales Distribuciones de probabilidad para expresar preferencias entre objetos musicales
Propuesta: Utilizar redes Bayesianas para expresar preferencias musicales y extenderlas con lógica de predicados para expresar relaciones
Propuesta (2): : Nodo lógico : Nodo con variable aleatoria Z puede ser: Binario (T ó F): relación(X,Y) Multivaluado: relación(X,Y,Z)
Razonamiento La distribución de probabilidad de “z” depende de los valores de “x” y “y”, y de que la relación “R” se satisfaga o no para esos valores
Razonamiento (2) Considerando variables discretas: Para obtener P(z) tenemos que evaluar la relación para todos los posibles valores no instanciados de “x” y “y”
Ejemplo (2) Supongamos: x y >
Ejemplo (3)
Razonamiento (3) Alternativamente, podemos: calcular “fuera de línea” la relación para todos los posibles valores de las variables involucradas z=true x=1 x=3 y=0 1 y=2 z=false x=1 x=3 y=0 y=2 1
Razonamiento (4) (ii) Construir un nodo determinístico (iii) incluirlo directamente en una RB
Razonamiento (5) La estrategia “en línea”: Evalua solo las filas y columnas de las variables desconocidas Puede ser útil cuando el tamaño de la tabla de probabilidad condicional es “muy grande” Se puede utilizar con variables continuas usando técnicas de muestreo sobre distribuciones de probabilidad
Razonamiento (6) La estrategia “fuera de línea”: Está limitada a variables discretas con tablas de probabilidades condicionales “pequeñas” Se calcula solo una vez y puede utilizarse con cualquier herramienta de RB
Aplicación a Música
Aplicación a Música (2) Para aplicar la representación propuesta a análisis de contrapunto, necesitamos: Distribuciones de probabilidad (expresando preferencias) sobre: Notas de cantus firmus Reglas de contrapunto Métricas
Aplicación a Música (2) 2. Relaciones entre notas (considerando métricas) expresando las reglas de contrapunto 3. Distribuciones de probabilidad sobre las notas de contrapunto
Algunas Relaciones Musicales Consonancia perfecta: quinta, octava, unisono, docena_mayor. Consonancia imperfecta: tercera, sexta y decima (mayor y menor) Disonancia: el resto. Movimientos de pares de notas: contrario, oblicuo y paralelo.
Ejemplo de Mov. Contrario
Reglas de Contrapunto Primera: de consonancia perfecta a perfecta en movimiento contrario u oblicuo Segunda: de consonancia perfecta a imperfecta en cualquier dirección Tercera: de consonancia imperfecta a perfecta en movimiento contrario u oblicuo Cuarta: de consonancia imperfecta a imperfecta en cualquier dirección
Posible Pedazo de Nodo Lógico regla(Int1, Int2, Mov1, Mov2, uno) :- cons_dis(Int1,cons_perf), cons_dis(Int2,cons_perf), movimiento(Mov1,Mov2,Tipo), member(Tipo,[contrario,oblicuo]).
Aplicación a Música (3)
Aplicación a Música (5) Esta representación nos permite: Sugerir las notas de contrapunto y/o de cantus firmus más probables Analizar qué regla de contrapunto se usa en ciertas notas Sugerir notas y reglas de contrapunto siguiendo las distribuciones de probabilidad a priori
Representación Temporal En música es importante representar relaciones temporales En redes Bayesianas dinámicas, los valores de ciertas variables en un tiempo pueden afectar los valores de otras variables en tiempos futuros
Representación Temporal (2)
Ejemplo Musical Din. En nuestro ejemplo musical necesitamos ligar nodes de tiempos anteriores y repetir la misma estructura N-2 veces, donde N es el número de notas en el cantus firmus
Ejemplo Musical Din. (2)
Ejemplo Musical Din. (3) A partir de: do, mi (cf) sol (cp) r1, r2 y r4
Capacidades de la Representación La red se puede usar para análisis musical, p.ejem., estimar las reglas de contrapunto más probables Conociendo las notas de contrapunto, estimar los valores más probables del cantus firmus y de las reglas utilizadas
Capacidadesa de la Representación (2) La red puede usarse para generar música siguiendo las distribuciones de probabilidad y las relaciones expresadas en ella
Conclusiones La combinación de redes Bayesianas con lógica es un poderoso formalismo para representar conocimiento y razonar con él La representación puede servir para análisis y composición musical y en principio para otros dominios
Trabajo Futuro Probar la propuesta con un ejemplo musical “grande” y en otros dominios Extender la representación a variables continuas con técnicas de muestreo Aprender la red a partir de datos musicales y conocimiento del dominio