Los coeficientes binomiales cuentan selecciones sin repetición y aparecen en fórmulas, identidades y desarrollos de potencias de binomios.
En el tema 16 estudiamos las combinaciones sin repetición. El número de combinaciones de n elementos tomados de k en k puede escribirse de una forma compacta como C(n, k) o como un coeficiente binomial.
Estos números conectan el conteo de subconjuntos con el álgebra, el triángulo de Pascal, el teorema del binomio y numerosos algoritmos.
El coeficiente binomial se representa de varias maneras:
Se lee “n sobre k” y significa la cantidad de formas de elegir k elementos de un conjunto de n elementos sin importar el orden.
Para enteros con 0 ≤ k ≤ n:
El factorial n! cuenta ordenamientos, pero se divide por k! y por (n-k)! para eliminar los ordenamientos equivalentes de los elementos elegidos y no elegidos.
El número de formas de elegir 2 elementos de un conjunto de 5 es:
Las 10 selecciones son subconjuntos diferentes; el orden de sus elementos no genera nuevos casos.
Indica n y k para calcular C(n,k). La fila completa muestra todos los coeficientes C(n,0), C(n,1), ..., C(n,n).
Los coeficientes binomiales cumplen:
Elegir k elementos equivale a decidir cuáles n-k elementos quedan fuera. Por ejemplo:
Esta propiedad permite reemplazar un cálculo por otro con un valor menor de k.
Una relación fundamental es:
Una selección de k elementos de n puede clasificarse según incluya o no un elemento particular. En el primer caso se eligen k-1 de los n-1 restantes; en el segundo se eligen k de ellos.
Podemos calcular un coeficiente binomial usando la identidad de Pascal y casos base.
function binomial(n, k) {
if (k === 0 || k === n) return 1;
return binomial(n - 1, k - 1) + binomial(n - 1, k);
}
console.log(binomial(5, 2));
console.log(binomial(6, 3));
Para valores grandes, la versión recursiva directa repite cálculos. Más adelante veremos técnicas para guardar resultados y mejorar la eficiencia.
Una forma de construir una fila completa es comenzar con 1 y usar la relación entre términos consecutivos:
function filaBinomial(n) {
const fila = [1];
for (let k = 1; k <= n; k += 1) {
const anterior = fila[k - 1];
fila.push(anterior * (n - k + 1) / k);
}
return fila;
}
console.log(filaBinomial(5));
La fila resultante para n = 5 es 1, 5, 10, 10, 5, 1.
Cada coeficiente binomial representa una cantidad de selecciones:
La suma de una fila cuenta todos los subconjuntos posibles de un conjunto de n elementos.
Para cualquier n:
El lado izquierdo cuenta subconjuntos agrupados por tamaño. El lado derecho cuenta cada elemento con dos posibilidades: pertenecer o no pertenecer al subconjunto.
El triángulo de Pascal organiza los coeficientes binomiales por filas. La fila n contiene:
Los bordes siempre valen 1 y cada valor interior es la suma de los dos valores que están encima. El próximo tema estudiará este triángulo con más detalle.
Los coeficientes binomiales proporcionan una notación compacta para las combinaciones y una estructura rica de propiedades. Pueden calcularse mediante factoriales, recurrencias o filas del triángulo de Pascal.
En el próximo tema estudiaremos el triángulo de Pascal y sus patrones combinatorios.