Estoy tratando de estudiar la reordenación de las secuencias. Estoy teniendo dificultades para encontrar algún artículo erudito, probablemente porque no conozco las palabras clave para buscar. Espero que si describo lo que quiero hacer alguien pueda ampliar mis conocimientos o nombrar lo que estoy haciendo para poder investigarlo yo mismo.
Quiero definir una reordenación de una secuencia de forma que se pueda codificar fácilmente. Para ello utilizaré $S(...)$ .
Empiezo con la secuencia de números enteros más sencilla.
$1,2,3,4,5,...$
Tal vez quiera intercambiar pares de ellos para convertirse:
$2,1,4,3,6,5,... = S(3,-1)$ lo que significa saltar hacia adelante 3, luego saltar hacia atrás 1 y repetir.
o trillizos inversos
$3,2,1,6,5,4,9,... = S(5,-1,-1)$ lo que significa saltar hacia adelante 4, luego saltar hacia atrás 1, y una vez más hacia atrás 1 y repetir.
o algo más complicado como
$5,4,2,3,1,10,9,7,8,6,15... = S(9,-1,-2,1,-2)$
así que defino una función $S(...)$ que puede hacer eso que toma como parámetros la secuencia de pasos de la secuencia original para hacer la nueva (no lo he explicado muy bien pero tened paciencia).
Ahora claramente puedo codificar S
sin dificultad, sólo necesito retener el suficiente historial de la secuencia entrante para saltar hacia atrás y hacia adelante según las indicaciones.
¿Existe un nombre para esta función? $S$ ¿o algo similar? ¿Hay alguna manera de examinar los parámetros de S
para determinar si la secuencia resultante:
- emite toda la secuencia original
- no emite duplicados
Por ejemplo, $S(2,-1)$ produciría la secuencia $2,1,3,2,4,3,...$ que no es aceptable porque 2 se repite. Y $S(2)$ generaría $2,4,6,8,...$ que se salta algunos y tampoco es aceptable.
¿Existe una forma de generar estos ordenamientos? Está claro que hay una forma nula $S(1)$ que podría considerarse el primero.
Añadido
Este proceso consiste en manipular una secuencia infinita aplicando $S$ repetidamente. Los dos requisitos se aplican a toda la secuencia infinita generada. Así, por ejemplo $S(24,-23)$ no es válido porque eventualmente surgirá un duplicado aunque la primera iteración no lo haga.