Variace (kombinatorika)

Variace k-té třídy z n prvků je každá uspořádaná k-tice vytvořená z celkového počtu n prvků, přičemž při výběru záleží na pořadí jednotlivých prvků. Rozlišujeme variace s opakováním a bez opakování. Pro výpočet hodnoty je používán faktoriál.

Variace bez opakování

  • Variace bez opakování je k-členná skupina utvořená z daných n prvků tak, že v nich záleží na pořadí a žádný z daných prvků se v ní neopakuje.
  • Počet k-členných variací z n prvků: V ( k , n ) = n ( n 1 ) ( n 2 ) . . . ( n k + 1 ) = n ! ( n k ) ! {\displaystyle V(k,n)=n(n-1)(n-2)...(n-k+1)={\frac {n!}{(n-k)!}}} pro k n {\displaystyle k\leq n}
  • například: 2členná variace ze 3 prvků a, b, c: (ab), (ba), (ac), (ca), (bc), (cb) = 3 ! ( 3 2 ) ! = 6 {\displaystyle ={\frac {3!}{(3-2)!}}=6}

Variace s opakováním

  • Variace s opakováním je uspořádaná k-tice z n prvků sestavená tak, že každý se v ní vyskytuje nejvýše k-krát. Opět záleží na pořadí.
  • Počet k-členných variací s opakováním z n prvků: V ( k , n ) = n k {\displaystyle V'(k,n)=n^{k}} platí i pro k < n {\displaystyle k<n}
  • například: 2členná variace s opakováním ze 3 prvků a, b, c: (aa), (ab), (ac), (ba), (bb), (bc), (ca), (cb), (cc) = 3 2 = 9 {\displaystyle =3^{2}=9}

Příklady

Příklad 1

Kolik trojciferných čísel je možné sestavit z číslic 1, 2, 3, 4, jestliže:

a) se v čísle každá cifra může vyskytovat nejvýše jednou

V ( 3 , 4 ) = 4 ! ( 4 3 ) ! = 4 ! 1 ! = 4 3 2 = 24 {\displaystyle V(3,4)={\frac {4!}{(4-3)!}}={\frac {4!}{1!}}=4\cdot 3\cdot 2=24}

b) se v čísle cifry mohou opakovat

V ( 3 , 4 ) = 4 3 = 64 {\displaystyle V'(3,4)=4^{3}=64}

Příklad 2

Kolik je možností pro obsazení 1., 2. a 3. místa v závodě s 20 účastníky?

V ( 3 , 20 ) = 20 ! ( 20 3 ) ! = 20 ! 17 ! = 20 19 18 17 ! 17 ! = 20 19 18 = 6840 {\displaystyle V(3,20)={\frac {20!}{(20-3)!}}={\frac {20!}{17!}}={\frac {20\cdot 19\cdot 18\cdot 17!}{17!}}=20\cdot 19\cdot 18=6840}

Příklad 3

Posádka lodi potřebuje k dorozumívání vytvořit 50 různých signálů. Budou jim k tomu stačit 4 různobarevné praporky?

  • jednopraporkové signály: V ( 1 , 4 ) = 4 {\displaystyle V(1,4)=4}
  • dvoupraporkové signály: V ( 2 , 4 ) = 4 ! 2 ! = 4 3 = 12 {\displaystyle V(2,4)={\frac {4!}{2!}}=4\cdot 3=12}
  • třípraporkové signály: V ( 3 , 4 ) = 4 ! 1 ! = 4 ! = 4 3 2 = 24 {\displaystyle V(3,4)={\frac {4!}{1!}}=4!=4\cdot 3\cdot 2=24}
  • čtyřpraporkové signály: V ( 4 , 4 ) = P ( 4 ) = 4 ! = 24 {\displaystyle V(4,4)=P(4)=4!=24}
celkem lze vytvořit: 4 + 12 + 24 + 24 = 64 {\displaystyle 4+12+24+24=64} signálů
Na vytvoření 50 signálů budou 4 různobarevné praporky stačit.

Příklad 4

Kolika způsoby můžete nastavit šestimístný číselný kód trezoru?

V ( 6 , 10 ) = 10 6 = 1000000 {\displaystyle V'(6,10)=10^{6}=1000000}

Algoritmus

Algoritmus pro nalezení všech variací znaků (s opakováním, v jazyku Java)

    public static List<String> variaceSOpakovanim(int trida, String pouzitelneZnaky) {
        List<String> list = new ArrayList<String>((int) Math.pow(pouzitelneZnaky.length(), trida)/*(1)*/);

        if (trida == 0) {
            list.add(""); /*(2)*/
        } else {
            List<String> l = variaceSOpakovanim(trida - 1, pouzitelneZnaky);
            for (char c : pouzitelneZnaky.toCharArray()) { /*(3)*/
                for (String s : l) {
                    list.add(c + s); /*(4)*/
                }
            }
        }
        return list;
    }
  1. Počet variací s opakováním je dán jako počet použitelných prvků umocněný na třídu variace.
  2. Variace nulté třídy je právě jedna: prázdná množina.
  3. Variace s opakováním se dá vnímat jako kartézský součin množiny použitelných prvků s množinou variací ze stejných použitelných prvků, ale s třídou o jednu menší. Z toho vyplývá použití rekurze.
  4. Přidá do výstupního (vraceného) seznamu příslušný prvek, vzniklý spojením jednoho (každého) prvku s jednou (každou) variací nižší třídy.

Literatura

  • VOŠICKÝ, Zdeněk. Matematika v kostce: pro střední školy. Havlíčkův Brod: Fragment, 2007 (1. vydání). ISBN 978-802-5301-913. 

Související články

  • Permutace
  • Kombinace