¿Puede la notación musical (cualquiera que elija) considerarse Turing Complete?

Para implementar una máquina de Turing (o cálculo Lambda o cualquier otro mecanismo que sea equivalente a Turing) necesita un par de cosas: principalmente almacenamiento (la cinta) y una capacidad de toma de decisiones (el programa de Turing que hace una cosa si encuentra una) elemento en la cinta, y hace algo más si hay un elemento diferente). Y luego la máquina necesita producir resultados, que es, como mínimo, una decisión de “sí / no”.

Puede simplificar considerablemente las máquinas de Turing en el departamento de cintas; por ejemplo, puede reemplazar eso por un par de contadores unarios. (O incluso una pila de pushdown). Eso podría implementarse, por ejemplo, agregando objetos punzantes a una nota. Sin embargo, la música no tiene forma de decir “si c-quadruple-sharp es más alto que e-flat, entonces toca esto, de lo contrario toca eso”. La música es determinista.

Del mismo modo, no veo forma de emitir una decisión sí / no.

En conclusión, no creo que sea posible.

Por supuesto, uno podría implementar un sistema de reescritura de música, donde el personal es la cinta, y el programa agregaría / eliminaría / reemplazaría notas, etc., pero no creo que esa sea la respuesta prevista a esta pregunta. Esa sería la respuesta a “¿Se puede visualizar una máquina de Turing con notas musicales”.

Sería sencillo ampliar su lenguaje de programación favorito para incluir una función emit_note (opciones). Las opciones pueden incluir tiempo de inicio, tono, duración, velocidad, etc. Esto podría considerarse una notación musical, ya que tiene la capacidad de representar una partitura musical. También sería Turing completo, ya que admite ramificaciones condicionales y acceso variable. Sería capaz de emitir cualquier secuencia computable de notas.

La notación de música moderna estándar está casi completa como está Turing, ya que tiene bucles condicionales (repeticiones y terminaciones alternativas). Le falta la capacidad de cambiar los atributos de la nota (tono, duración, desplazamiento, etc.) usando expresiones aritméticas (suma, resta y multiplicación), y la notación formal le falta la capacidad de usar estos atributos de nota como condiciones para la repetición. Pero sería fácil modificar para admitir estos.

More Interesting

¿Cómo describirías a los miembros de la facultad en el departamento de CS de tu universidad?

¿Quora incorporó algún modelo de aprendizaje automático en la función 'preguntas para usted'?

¿Podríamos estar viviendo en un mundo generado por procedimientos?

¿Qué cosas críticas hace un sistema operativo para volverse 'autosuficiente' durante el arranque desde un disco duro?

Si todo en Unix se ve como archivos (incluidos los directorios) y luego cuando decimos 'Los archivos se almacenan en directorios', ¿podemos decir 'Los archivos se almacenan en Archivos'?

Si voy a tener una licenciatura en Ciencias de la Computación, ¿debo asistir a un campamento de entrenamiento?

¿Por qué muchos graduados de Carnegie Mellon CS tienen un complejo de inferioridad? ¿Los hace mejores ingenieros?

¿Qué son los problemas de NP hard graph?

¿Cuál es el estado actual del procesamiento del lenguaje natural?

¿Por qué necesitamos medir la entropía de la información en el aprendizaje automático?

¿Cuál fue la función principal de los tubos de vacío en las computadoras de primera generación?

En MIPS, ¿qué son las instrucciones condicionales cargadas y almacenadas?

¿Qué es un algoritmo para encontrar los dos puntos más cercanos entre sí en O (nlogn) dado el punto n en el espacio bidimensional?

¿Qué puedo hacer para etiquetar el archivo que tengo en mi computadora para descargar, de modo que pueda ayudar a otros, en mi blog, creado en blogger.com?

¿Cuál es la diferencia entre base de datos paralela y mapreduce?