En mis 9 años de edad, hija de la reciente prueba más de la multiplicación y de la agrupación que incluía preguntas sobre el número total de elementos en m grupos de n y de la conversión entre la multiplicación frases y modelos, una cuestión en particular se le preguntó cómo muchas maneras en que uno puede mostrar el 18 de sellos en cualquiera de los grupos de 3, 6 o 9.
Su respuesta fue que tres: 3 × 6, 6 × 3, y 9 × 2. He hecho tres salidas en falso de mi propia tratando de explicar a su manera de abordar el problema.
Método De Recuento De
El primer enfoque que se me vino a la mente fue lo que Marca Jason Dominus en las páginas 131-132 de su libro de Orden Superior Perl llamado el método de recuento, que se generaliza a administrar un generador de permutaciones.
¿Cuál es el patrón aquí? Resulta que de un patrón a otro es bastante simple:
- Escanear los números en el patrón de derecha a izquierda.
- Si usted legalmente puede incrementar el número de hacerlo, y detener.
- De lo contrario, cambie el número actual a 0 y continuar.
- Si usted se cae en el extremo izquierdo, a continuación, la secuencia fue la última.
Este algoritmo debe sonar familiar, porque has aprendido hace mucho tiempo. Es exactamente el mismo que el algoritmo que utiliza para contar.
Me sugirieron que se trate de una simple regla de usar el número más bajo disponible (de 3, 6 o 9) que todavía no se hayan utilizado en cada columna, pero pronto se dio cuenta de que iba a ser problemático.
3 3 3 3 3 3
3 3 3 3 6
3 3 3 6 3
El segundo y tercer particiones son las mismas, pero entrar en combinaciones frente a las permutaciones que parecía que iba a ser un poco más. Pensé que podríamos volver después a tirar duplicados. Pero también, hemos reutilizado 3 en la quinta columna, por lo que tuvimos que modificar la mecánica de la regla de usar el número más bajo disponible no utilizado todavía en ese punto (en el sentido de un árbol de decisión). Ella pareció entender el concepto y giró la manivela para un total de 13 filas.
Me tomó ventaja de un buen momento de enseñanza para sugerir que, cuando parece que el enfoque no está ganando mucho terreno, que es una señal de que es hora de dar un paso atrás y considerar un enfoque diferente.
Programación Dinámica
"Vamos a intentar a partir de un simple caso y de construcción. Lo que si hubo sólo tres sellos? Cuántos posible muestra podría no ser?"
Ella respondió correctamente.
"Ahora lo que si hubo seis sellos?"
Mirando hacia atrás en las dos primeras filas de la anterior tentativa y de nuestra discusión, entonces, ella vio que la respuesta fue de dos.
"Bueno, ¿y para los nueve sellos?"
Con su mesa, ella enumeró las tres posibilidades. A partir de allí, yo no estaba seguro de si ella iba a seguir con más facilidad el salto a los 12 o 18 siguiente. Hmm. Pero en su mesa, ella hizo un árbol con no explícitos los bordes para mostrar que el 3 y el 3 se combinan para hacer de 6, así que ...
Árbol De Recorrido
Anteriormente, ella prefiere comenzar con números más pequeños y trabajar su camino hacia arriba. Me sugirió la división de números a partir del 18 de dar
18 / \ 9 9 / \ / \ 6 3 6 3 / \ / \ 3 3 3 3
Comencé una discusión de la hoja y los nodos internos, y ella le preguntó si podía ir a jugar con su amigo a través de la calle.
La Fuerza Bruta
Tal vez la respuesta se deriva de la fuerza bruta pondría de manifiesto un evidente patrón. La simulación no determinismo con
import Control.Monad
import Data.List
import qualified Data.Set as S
groups = do
a <- [9,6,3,0]
b <- [9,6,3,0]
c <- [9,6,3,0]
d <- [9,6,3,0]
e <- [9,6,3,0]
f <- [9,6,3,0]
guard $ a+b+c+d+e+f == 18
return [a,b,c,d,e,f]
main =
mapM_ print
dado
$
S.toList $
Hablando a través de cómo los grupos de 3 combinado para hacer grupos de 6 y, a continuación, el reagrupamiento de los tres grupos de 6 a 9, 3, 3, 3) parece un poco handwavy, y cómo puedo convencerla de que no habíamos omitido cualquier posible muestra? Asimismo, a partir de la programación dinámica, identificó tres formas de visualización de los nueve sellos, así que el doble que el y también agregar (6, 6, 6), pero que se parezca a producir desde el aire y también puede hacer que sus pregunto qué otras combinaciones que no habíamos considerado.
El uso de las herramientas matemáticas disponibles para un brillante pero joven estudiante, ¿cómo querido Padre hacer la caja hermética para ella?