Considere el elemento j de una matriz de longitud n, dada como;
[matemáticas] A_ {n-k + 1, k} (j) [/ matemáticas]
donde, inicialmente;
[matemáticas] k = 1 [/ matemáticas]
Tal que k comienza en 1. La longitud de la matriz disminuye a medida que k crece. Entonces, ahora, podemos definir las matrices posteriores utilizando una fórmula recursiva como;
[matemáticas] A_ {n-k + 1, k} (j + 1) = A_ {nk, k + 1} (j) [/ matemáticas]
- ¿Por qué si tenemos una reducción en el tiempo polinomial de un problema de P a un problema de NP, esto no muestra que P = NP (pero al contrario)?
- ¿Cómo se puede saber el mejor lugar para colocar una pieza determinada en Tetris?
- Si un problema np-hard se resuelve en tiempo polinómico, ¿es eso una prueba de que p = np o este problema se ha clasificado incorrectamente?
- ¿Cómo se animan dos arcos usando matplotlib?
- He reprobado mucho un título de CS, pero la gran emoción de diseñar un algoritmo innovador todavía está en mí, ¿qué debo hacer?
Donde su matriz original viene dada por;
[matemáticas] A_ {n, 1} (j) = [E_1, E_2, E_3 … E_n] [/ matemáticas]
[Math] n-k + 1 [/ math] asegura que la matriz disminuya de tamaño a medida que se aplican las iteraciones. [Math] j + 1 [/ math] es solo una forma de decir tomar la última matriz y comenzar una más tarde. El [math] j [/ math] solitario en el lado derecho sugiere que esta nueva matriz toma el segundo elemento de la última matriz como primera y así sucesivamente como 3 a 2 y 4 a 3. Los subíndices de [math] k [/ math] y [math] k + 1 [/ math] nos dice que así es como usamos la última matriz para determinar la siguiente, sin importar qué [k] sea [math].
Ejecutar esto de k = 1 a n-1, da lo que siento que estás buscando. Este proceso se repite 1 menos que el número total de celdas, porque estamos eliminando una matriz de n celdas, celda por celda comenzando desde la izquierda.
Siempre tomará iteraciones ‘n-1’ (suponiendo que siempre desee dejar al menos dos elementos restantes {si desea que quede 1 elemento, debe ir desde 1 hasta ‘n’})