Este es un desafío de policías y ladrones como el golf . Este es el hilo conductor de la policía; El hilo de los ladrones está aquí.
Policías
Su tarea es definir un sistema de reescritura abstracta en el que la accesibilidad de una palabra a otra sea difícil de determinar. Preparará las siguientes cosas:
Un conjunto de símbolos, llamado alfabeto. (Puede utilizar caracteres Unicode para estos, pero no utilice espacios en blanco o símbolos que sean difíciles de distinguir entre sí).
Una cadena fuente compuesta de símbolos de su alfabeto.
Una cadena objetivo compuesta de símbolos de su alfabeto.
Un conjunto de reglas de reescritura utilizando caracteres de su alfabeto. (Consulte a continuación la definición de una regla de reescritura).
Una prueba que muestra si su cadena de origen se puede convertir en su cadena de destino mediante la aplicación sucesiva de sus reglas de reescritura. Esta prueba puede consistir en una secuencia real de pasos de reescritura, o una prueba matemática de que dicha secuencia debe existir, o una prueba matemática de que dicha secuencia no existe.
Publicará los primeros cuatro de estos, manteniendo la prueba en secreto; los ladrones intentarán descifrar su respuesta proporcionando su propia prueba de que su cadena de destino puede o no ser alcanzada desde su cadena de origen. Si su envío no se resuelve en dos semanas , puede marcarlo como seguro y editarlo en su prueba.
Las presentaciones se puntuarán de acuerdo con el número de caracteres en sus reglas de reescritura y sus cadenas de origen y destino, como se detalla a continuación. El ganador será la presentación sin descifrar con la puntuación más baja.
¿Qué es una regla de reescritura?
Una regla de reescritura es simplemente un par de cadenas en su alfabeto. (Cualquiera de estas cadenas puede estar vacía.) Una aplicación de una regla de reescritura consiste en encontrar una subcadena que sea igual a la primera cadena del par y reemplazarla por la segunda.
Un ejemplo debería aclarar esto:
Supongamos que el alfabeto es A
, B
y C
; la cadena de origen es " A
"; la cadena de destino es " C
" y las reglas de reescritura son
A:B
B:BB
B:A
AA:C
entonces la cadena de destino es accesible de la siguiente manera:
A
B (using rule 1)
BB (using rule 2)
AB (using rule 3)
AA (using rule 3)
C (using rule 4)
Tanteo
Tu puntaje será
- la longitud de su cadena de origen,
- más la longitud de tu cadena objetivo,
- más la longitud de todas las cadenas incluidas en sus reglas de reescritura,
- más un punto extra por cada regla de reescritura.
Si escribe sus reglas de reescritura con un separador de dos puntos como se indica arriba, esta es solo la longitud total de todas las reglas de reescritura (incluido el separador), más las longitudes de las cadenas de origen y destino. Una puntuación más baja es mejor. El número de caracteres distintos en su alfabeto se usará para romper los lazos, y menos serán mejores.
Generosidad
Me gustaría ver respuestas que realmente vayan para puntuaciones bajas. Otorgaré 200 repeticiones a la primera respuesta que obtenga menos de 100 puntos en este desafío y no se quiebre.
Mx -> Mxx
regla, por lo que terminaría mucho más complicado que el de Hofstadter original.