Esta pregunta puede ser más adecuada para Stack Overflow, pero tengo debilidad por este sitio, así que pensé en darle una oportunidad:
Estoy intentando hacer un algoritmo (¿podría ser incluso recursivo?) que genere una lista de los posibles resultados de n pruebas de bernoulli. Primero ordenando los resultados por el número de aciertos, luego ordenando esos subconjuntos lexicográficamente . Por ejemplo, con 2 ensayos me gustaría una matriz que se parece a esto: $$ \left(\begin{array}{cc}0&0\\1&0\\0&1\\1&1\end{array}\right) $$ Or, for 3,4,5 trials it would look like: $$ \left(\begin{array}{ccc}0&0&0\\1&0&0\\0&1&0\\0&0&1\\1&1&0\\1&0&1\\0&1&1\\1&1&1\end{array}\right) \ \left(\begin{array}{cccc}0&0&0&0\\1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\\1&1&0&0\\1&0&1&0\\1&0&0&1\\0&1&1&0\\0&1&0&1\\0&0&1&1\\1&1&1&0\\1&1&0&1\\1&0&1&1\\0&1&1&1\\1&1&1&1\end{array}\right) \ \left(\begin{array}{ccccc}0&0&0&0&0\\1&0&0&0&0\\0&1&0&0&0\\0&0&1&0&0\\0&0&0&1&0\\0&0&0&0&1\\1&1&0&0&0\\1&0&1&0&0\\1&0&0&1&0\\1&0&0&0&1\\0&1&1&0&0\\0&1&0&1&0\\0&1&0&0&1\\0&0&1&1&0\\0&0&1&0&1\\0&0&0&1&1\\1&1&1&0&0\\1&1&0&1&0\\1&1&0&0&1\\1&0&1&1&0\\1&0&1&0&1\\1&0&0&1&1\\0&1&1&1&0\\0&1&1&0&1\\0&1&0&1&1\\0&0&1&1&1\\1&1&1&1&0\\1&1&1&0&1\\1&1&0&1&1\\1&0&1&1&1\\0&1&1&1&1\\1&1&1&1&1\end{array}\right)$$ Esta disposición es importante debido a la disposición de otras entradas para el script R que estoy escribiendo.
EDIT: Acabo de darme cuenta de algo interesante: la matriz es simétrica en cierto modo... si doblas después de la fila central, un 0 corresponde a un 1 (y viceversa) en la posición opuesta al pliegue.
¿Alguna idea? Ahora mismo estoy pensando en hacer salidas lexicográficas para cada conjunto de resultados que compartan un número de aciertos y luego enmendarlas? Pero incluso entonces estoy teniendo dificultades para producir las permutaciones lexicográficas.
¿Alguna idea? ¿O debería mover esto a Stack Overflow?