14. Variaciones sin repetición

Las variaciones sin repetición cuentan ordenamientos de una cantidad parcial de elementos diferentes cuando el orden importa.

14.1 Introducción

En una permutación simple se utilizan todos los elementos. En una variación sin repetición se eligen y ordenan solo algunos de ellos.

Por ejemplo, si hay 5 candidatos y queremos asignar 3 puestos diferentes, no usamos a los 5. Elegimos 3 y además importa qué candidato ocupa cada puesto.

14.2 Qué es una variación sin repetición

Una variación sin repetición de n elementos tomados de k en k es una secuencia de longitud k formada con elementos distintos del conjunto original.

Conjunto: {A, B, C, D}
Variaciones de 2 elementos:
AB, AC, AD, BA, BC, BD,
CA, CB, CD, DA, DB, DC

Hay 4 opciones para la primera posición y 3 para la segunda: 4 × 3 = 12.

14.3 Condiciones principales

  • Hay n elementos disponibles.
  • Se ocupan solo k posiciones.
  • El orden de las posiciones importa.
  • No se puede repetir un elemento.
  • Se cumple 0 ≤ k ≤ n.

Si el orden no importara, estaríamos ante una combinación. Si se permitiera repetir, estudiaríamos variaciones con repetición.

14.4 Fórmula

La cantidad de variaciones sin repetición de n elementos tomados de k en k es:

V(n, k) = n! / (n - k)!

También puede escribirse como un producto descendente:

V(n, k) = n × (n - 1) × ... × (n - k + 1)

El producto tiene exactamente k factores.

14.5 Ejemplo con puestos

De 6 personas queremos elegir presidente, secretario y tesorero. Los cargos son diferentes, por lo que el orden de asignación importa.

V(6, 3) = 6 × 5 × 4 = 120

Hay 6 opciones para presidente, 5 para secretario y 4 para tesorero.

14.6 Simulación: generar variaciones

Escribe entre 3 y 6 elementos y elige cuántas posiciones se deben ocupar. La simulación genera ordenamientos parciales sin repetir elementos.

Generador de variaciones sin repetición

14.7 Relación con las permutaciones simples

Si tomamos todos los elementos, es decir, si k = n, la fórmula se convierte en:

V(n, n) = n! / (n - n)! = n! / 0! = n!

Por lo tanto, las permutaciones simples son un caso particular de las variaciones sin repetición en el que se utilizan todos los elementos.

14.8 Un ejemplo en JavaScript

La función siguiente genera variaciones de longitud k utilizando una construcción recursiva.

function variaciones(elementos, k) {
  if (k === 0) return [[]];
  const resultados = [];

  elementos.forEach((elemento, indice) => {
    const restantes = elementos.filter((_, posicion) => posicion !== indice);
    variaciones(restantes, k - 1).forEach(resto => {
      resultados.push([elemento, ...resto]);
    });
  });
  return resultados;
}

const resultado = variaciones(["A", "B", "C", "D"], 2);
console.log(resultado.map(variacion => variacion.join("")));

En cada etapa se elimina el elemento elegido para impedir que vuelva a aparecer en la misma variación.

14.9 Cálculo eficiente

Para calcular la cantidad no es necesario generar las variaciones. Podemos usar directamente un producto descendente:

function contarVariaciones(n, k) {
  let resultado = 1;
  for (let factor = 0; factor < k; factor += 1) {
    resultado *= n - factor;
  }
  return resultado;
}

console.log(contarVariaciones(6, 3));

El resultado es 6 × 5 × 4 = 120. Esta forma suele ser más eficiente que construir las 120 secuencias.

14.10 Restricciones

Las variaciones pueden incorporar restricciones. Si un elemento no puede ocupar la primera posición, se reduce la cantidad de opciones iniciales. Si dos elementos no pueden aparecer juntos, debemos filtrar las secuencias o contar casos válidos por separado.

Sin restricciones: V(n, k)
Con restricciones: contar solo las secuencias válidas

La enumeración es útil en problemas pequeños para verificar cuáles variaciones cumplen las condiciones.

14.11 Comparación con otros métodos

Método¿Se usan todos?¿Importa el orden?¿Se repite?
Permutación simpleNo
Variación sin repeticiónSolo kNo
Combinación sin repeticiónSolo kNoNo
Variación con repeticiónSolo k

14.12 Aplicaciones en informática

  • Asignar personas a cargos diferentes.
  • Crear códigos sin repetir símbolos.
  • Ordenar una cantidad parcial de tareas.
  • Generar secuencias de prueba de longitud limitada.
  • Seleccionar y ordenar rutas o prioridades.
  • Analizar espacios de búsqueda con posiciones diferenciadas.

14.13 Errores frecuentes

  • Usar n! cuando solo se ocupan k posiciones.
  • Olvidar que el orden distingue dos variaciones.
  • Permitir que un elemento se repita.
  • Confundir V(n, k) con una combinación.
  • Usar valores donde k es mayor que n.

14.14 Qué debes recordar de este tema

  • Una variación sin repetición ordena solo una parte de los elementos.
  • El orden importa y no se repiten elementos.
  • La fórmula es V(n, k) = n! / (n - k)!.
  • También puede calcularse como un producto de k factores descendentes.
  • Si k = n, se obtiene una permutación simple.
  • Las restricciones reducen el conjunto de variaciones válidas.

14.15 Conclusión

Las variaciones sin repetición permiten contar ordenamientos parciales de elementos diferentes. Son apropiadas cuando se ocupan posiciones diferenciadas, el orden importa y ningún elemento puede repetirse.

En el próximo tema estudiaremos las variaciones con repetición, donde un mismo elemento puede utilizarse varias veces.