Generar funciones es útil cuando diseña algoritmos de conteo. Es decir, no solo cuando busca el número de objetos que tienen una determinada propiedad, sino también cuando busca una forma de enumerar estos objetos (y, tal vez, generar un algoritmo para contar los objetos). Hay una muy buena presentación en el capítulo 7 de Matemáticas concretas por Ronald Graham, Donald Knuth y Oren Patashnik . Los siguientes ejemplos son de estos libros (los errores y la falta de claridad son míos).
Suponga que está buscando formas de hacer cambios con un conjunto de monedas dado. Por ejemplo, con denominaciones comunes de EE. UU., Las monedas posibles son . Para dar ¢ 42 en cambio, una posibilidad es ; otra posibilidad es . Escribiremos . De manera más general, podemos escribir una función generadora para todas las formas de dar cambio:
En términos más técnicos, es un término en el espacio de series de potencia sobre las cinco variables[ 25 ] [ 10 ] [ 5 ] [ 1 ] [ 1 ] [ 10 ] [ 10 ] [ 10 ] [ 10 ] [ 1 ] [ 1 ] 42 ⟨ [ 25 ] [ 10 ][ 1 ] , [ 5 ] , [ 10 ] , [ 25 ] , [ 100 ][ 25 ] [ 10 ] [ 5 ] [ 1 ] [ 1 ][ 10 ] [ 10 ] [ 10 ] [ 10 ] [ 1 ] [ 1 ]H = Σ h ≥ 0 Σ q ≥ 0 Σ d ≥ 0 Σ n ≥ 0 Σ p ≥ 0 [ 100 ] h [ 25 ] q [ 10 ] d [ 5 ] n [ 1 ] p42 ⟨ [ 25 ] [ 10 ] [ 5 ] [ 1 ]2⟩ = ⟨ [ 10 ]4 4[ 1 ]2⟩
H= ∑h ≥ 0∑q≥ 0∑re≥ 0∑n ≥ 0∑p ≥ 0[ 100 ]h[ 25 ]q[ 10 ]re[ 5 ]norte[ 1 ]pag
[ 100 ] , [ 25 ] , [ 10 ] , [ 5 ] , [ 1 ] ⟨ [ 100 ] h [ 25 ] q [ 10 ] d [ 5 ] n [ 1 ] p ⟩ = 100 h + 25 q + 10 d + 5 n + p v v H PH[ 100 ] , [ 25 ] , [ 10 ] , [ 5 ] , [ 1 ]. Defina la valoración de un monomio en este espacio mediante
Entonces, las formas de dar centavos en cambio son el número de monomios cuya valoración es . Podemos expresar de manera incremental, primero escribiendo las formas para dar cambio solo en centavos, luego las formas para dar cambio en centavos y monedas de cinco centavos, y así sucesivamente. ( decir moneda)
⟨ [ 100 ]h[ 25 ]q[ 10 ]re[ 5 ]norte[ 1 ]pag⟩ = 100 h + 25 q+ 10 d+ 5 n + p
vvHPAGI P = I + [ 1 ] + [ 1 ] 2 + [ 1 ] 3 + … = InorteyoPAG= Yo+ [ 1 ] + [ 1 ]2+ [ 1 ]3+ ... = Iyo- [ 1 ]norte= ( I+ [ 5 ] + [ 5 ]2+ [ 5 ]3+ ... ) P= Pyo- [ 5 ]D = ( I+ [ 10 ] + [ 10 ]2+ [ 10 ]3+ ... ) N= Nyo- [ 10 ]Q = ( I+ [ 25 ] + [ 25 ]2+ [ 25 ]3+ ... ) D = Dyo- [ 25 ]H= ( I+ [ 100 ] + [ 100 ]2+ [ 100 ]3+ ... ) Q = Qyo- [ 100 ]
Si quieres contar y no solo enumerar las formas de dar cambio, entonces hay una manera simple de usar la serie formal que hemos obtenido. Aplique el homomorfismo
El coeficiente de en es el número de formas de dar centavos en cambio.
S:[ 1 ] ↦ X,[ 5 ] ↦ X5 5,[ 10 ] ↦ X10, [ 25 ] ↦ X25, [ 100 ] ↦ X100
XvS( C)v
Un ejemplo más difícil: suponga que desea estudiar todas las formas de mosaico de rectángulos con dominó 2 × 1. Por ejemplo, hay dos formas de colocar un rectángulo de 2 × 2, ya sea con dos fichas de dominó horizontales o con dos fichas de dominó verticales. Contar el número de formas de enlosar un rectángulo es bastante fácil, pero el caso rápidamente no se hace evidente. Podemos enumerar todas las posibles inclinaciones de una banda horizontal de altura 3 al unir las fichas de dominó, lo que produce rápidamente patrones repetitivos:
2 × n3 × n
⎧⎩⎨⎪⎪⎪⎪⎪⎪U= o + L V+ Γ Λ + ≡ UV= YoU+ =-VΛ =yoU+-=Λ
donde las formas divertidas representan arreglos de dominó elementales: no es domino, es un dominó vertical en la parte superior de la parte izquierda de un dominó horizontal, es un dominó vertical alineado con la parte inferior de la banda de altura 3, es un dominó horizontal alineado con la parte superior de la banda más dos fichas de dominó horizontales debajo y un paso a la derecha, etc. Aquí, la multiplicación representa la concatenación horizontal y no es conmutativa, pero hay ecuaciones entre los patrones elementales que forman variables en esta serie de potencias. Como antes con las monedas, podemos sustituir por cada ficha de dominó y obtener una serie generadora para el número de tiros de un
oLyo-=X3 × ( 2 n / 3 )Rectángulo (es decir, el coeficiente de es la cantidad de formas de enlosar un rectángulo de área , que contiene fichas de dominó y tiene un ancho de ). La serie también se puede utilizar de formas más versátiles; por ejemplo, al distinguir las fichas de dominó verticales y horizontales, podemos contar las inclinaciones con un número determinado de fichas de dominó verticales y horizontales.
X3 k6 k3 k2 k
Nuevamente, lea Matemáticas concretas para una presentación menos apresurada³.
¹ Sé que mi lista está incompleta; suponga un EE. UU. simplificado adecuado para ejemplos matemáticos.²
² Además, si aparece, suponga monedas esféricas.
³ Y mejor composición tipográfica.