Cuando una configuración se construye mediante varias etapas sucesivas, la cantidad total de resultados se obtiene multiplicando las opciones disponibles en cada etapa.
En el tema anterior estudiamos el principio de la suma, que cuenta alternativas. El principio del producto resuelve una situación diferente: una solución se construye tomando una decisión, luego otra y finalmente otra.
Si cada etapa puede combinarse con todas las opciones de las etapas siguientes, multiplicar las cantidades permite conocer el número total de configuraciones.
Si una actividad se realiza en k etapas sucesivas, y la primera etapa puede realizarse de n₁ formas, la segunda de n₂ formas y así sucesivamente, el número total de resultados es:
La regla supone que cada elección de una etapa puede combinarse con las elecciones válidas de las etapas posteriores. Si una decisión modifica las opciones siguientes, debemos contar cada caso con más cuidado.
Un formulario tiene 3 opciones de categoría, 2 opciones de prioridad y 4 opciones de estado. Para crear una configuración se elige una opción de cada grupo.
La palabra y es una pista: se elige una categoría y una prioridad y un estado. Por eso se multiplican las cantidades.
Selecciona la cantidad de opciones de cada etapa. La simulación calcula el producto y muestra las configuraciones cuando el total no supera 36 casos.
Supongamos que la primera etapa tiene 2 opciones. Por cada una de ellas se pueden elegir 3 opciones en la segunda etapa. Esto produce:
El producto es una suma repetida: la cantidad de opciones de la segunda etapa se repite una vez por cada opción de la primera etapa. Si agregamos una tercera etapa, el mismo razonamiento se aplica nuevamente.
Una forma directa de aplicar el principio es multiplicar la cantidad de elementos de cada grupo.
const tipos = ["A", "B", "C"];
const niveles = ["bajo", "medio", "alto", "crítico"];
const modos = ["manual", "automático"];
const total = tipos.length * niveles.length * modos.length;
console.log(`Configuraciones posibles: ${total}`);
El resultado es 3 × 4 × 2 = 24 configuraciones.
Para comprobar el cálculo podemos construir cada configuración con recorridos anidados. Esta técnica es útil con conjuntos pequeños, pero no siempre es conveniente generar todos los casos.
const tamaños = ["pequeño", "grande"];
const colores = ["rojo", "azul"];
const materiales = ["metal", "madera"];
const configuraciones = [];
for (const tamaño of tamaños) {
for (const color of colores) {
for (const material of materiales) {
configuraciones.push(`${tamaño}-${color}-${material}`);
}
}
}
console.log(configuraciones);
console.log(`Total: ${configuraciones.length}`);
Hay 2 opciones en cada una de las 3 etapas, por lo que el resultado es 2 × 2 × 2 = 8.
Cuando la cantidad de etapas no está escrita directamente, podemos almacenar las cantidades en una lista y multiplicarlas una por una.
const opcionesPorEtapa = [2, 5, 3, 4];
let total = 1;
for (const opciones of opcionesPorEtapa) {
total *= opciones;
}
console.log(`Total de configuraciones: ${total}`);
La expresión calcula 2 × 5 × 3 × 4 = 120. Comenzamos con 1 porque es el elemento neutro de la multiplicación.
El principio del producto puede utilizarse aunque la cantidad de opciones cambie entre las etapas, siempre que analicemos correctamente cada caso.
Por ejemplo, si hay 3 opciones iniciales y cada una permite una cantidad diferente de continuaciones:
Aquí no podemos escribir simplemente 3 × una cantidad común, porque las ramas tienen tamaños diferentes. Podemos sumar las configuraciones de cada primera decisión o representar el problema con un diagrama de árbol.
Las restricciones pueden reducir la cantidad de opciones de una etapa. Si una selección no permite repetir un elemento, la cantidad disponible disminuye después de cada elección.
La estructura sigue siendo un producto, pero las cantidades ya no son iguales. Este razonamiento conduce posteriormente al estudio de las permutaciones y variaciones.
| Situación | Operación | Ejemplo |
|---|---|---|
| Elegir un camino entre alternativas separadas | Suma | 4 opciones o 3 opciones: 4 + 3. |
| Completar varias partes de una configuración | Producto | 4 opciones y 3 opciones: 4 × 3. |
| Alternativas con etapas internas | Producto dentro, suma fuera | (2 × 3) + (4 × 2). |
Identificar la estructura antes de calcular es más importante que memorizar operaciones aisladas.
En todos estos casos, el producto permite anticipar el crecimiento del número de configuraciones antes de construirlas o explorarlas.
El principio del producto permite contar soluciones formadas por varias decisiones sucesivas. Al identificar las etapas y la cantidad de opciones de cada una, podemos calcular rápidamente el tamaño total del espacio de configuraciones.
En el próximo tema estudiaremos el principio de inclusión y exclusión, que permite corregir conteos cuando distintos grupos comparten elementos.