Lo que está construyendo se conoce en la literatura como descomposición simétrica en cadena del conjunto parcialmente ordenado de los subconjuntos de $[n]$ . Por lo tanto, utilizaré "simétrico" en lugar de "elegante" en todo el texto.
Hay una solución explícita utilizando la factorización catalana, que aprendí de este trabajo de Ömer Eğecioğlu y Alastair King . Identificar subconjuntos de $[n]$ con secuencias de longitud $n$ con entradas en $\{0,1\}$ . La factorización catalana se obtiene como sigue:
-
En primer lugar, subraya dos entradas cualesquiera que sean un $1$ seguido de un $0$ con sólo las entradas subrayadas entre ellas. Repita este paso hasta que no queden entradas de este tipo.
-
Ahora, las entradas que no están subrayadas estarán formadas por algún número de $0$ seguido de un cierto número de $1$ 's. Si no, no habríamos terminado con el paso $1$ .
-
Por último, cualquier entrada que no esté subrayada se sustituye por un nuevo símbolo, $z$ . Además, el número de $1$ que se convirtió en $z$ se registra como un número $k$ . Este resultado final, que consiste en la $(0,1,z)-$ secuencia y el número $k$ es la factorización catalana.
Tenga en cuenta que puede recuperar la palabra binaria original a partir de la factorización catalana sustituyendo la última $k$ casos de $z$ con un $1$ y todos los demás $z$ con un $0$ .
Daré un ejemplo en breve, pero permítanme primero decir cómo la factorización catalana da una descomposición en cadena elegante. Podemos pensar en la factorización catalana como un par ordenado $(w,k)$ , donde $w$ es el $(0,1,z)-$ secuencia, y $k$ es el número de $z$ que representan $1$ 's. Dos subconjuntos están en la misma composición cuando tienen la misma palabra $w$ para su factorización catalana. Es decir, para cada secuencia $w$ donde el número de $z$ es $m$ entonces $$ (w,0)\subset (w,1)\subset\dots\subset (w,m) $$ representa una cadena simétrica de subconjuntos.
Ejemplo: Con $n=15$ , considere el subconjunto $$\{2,3,5,9,10,13,14,15\}$$
Esto corresponde a la secuencia binaria $$ 011010001100111 $$ donde el $i^{th}$ entrada siendo $1$ significa $i$ está en el subconjunto. Primero subrayamos todas las instancias de un $1$ seguido inmediatamente por un $0$ : $$ 01\underline{1010}001\underline{10}0111 $$ Esto crea más pares de $1$ s seguido de $0$ s con sólo las entradas subrayadas entre ellas, así que continuamos: $$ 0\underline{110100}0\underline{1100}111 $$ Ahora, todos los ceros no subrayados ocurren antes de todos los unos no subrayados, así que hemos terminado. Terminamos sustituyendo todas las entradas no subrayadas por un $z$ y anotando el número de $1$ s: $$ z110100z1100zzz,\qquad k=3 $$ Por lo tanto, este subconjunto estará en una cadena simétrica de longitud $6$ correspondientes a los subconjuntos formados manteniendo la misma palabra y sustituyendo $k$ con los números entre $0$ y $5$ inclusive. Esto se ilustra a continuación: $$ \begin{array}{c|c|c} k& \text{binary word} & \text{subset}\\ \hline 0 & 0\underline{110100}0\underline{1100}000 & \{2,3,5,9,10\}\\ 1 & 0\underline{110100}0\underline{1100}001 & \{2,3,5,9,10,15\}\\ 2 & 0\underline{110100}0\underline{1100}011 & \{2,3,5,9,10,14,15\}\\ 3 & 0\underline{110100}0\underline{1100}111 & \{2,3,5,9,10,13,14,15\}\\ 4 & 0\underline{110100}1\underline{1100}111 & \{2,3,5,8,9,10,13,14,15\}\\ 5 & 1\underline{110100}1\underline{1100}111 & \{1,2,3,5,8,9,10,13,14,15\}\\ \end{array} $$