Hoppa till innehållet
AI-grafen
CByggareMatematik· ca 30 min· grundkunskap som ändras sällan· verifierad 2026-09-21

Kombinatorik

Kunna räkna permutationer och kombinationer och använda dem i sannolikhetsproblem.

Öva i Mattegrafen ↗ · Sannolikhet och statistik

Intuition

Multiplikationsprincipen är grunden: när du gör flera val i tur och ordning multiplicerar du antalet alternativ för varje steg.

Du har 3 skjortor och 4 byxor. Antal kombinationer: 3 · 4 = 12.

Två frågor avgör vilken formel du behöver:

FrågaBetydelse
Spelar ordningen roll?Är «ABC» samma sak som «CBA»?
Får man upprepa?Kan samma alternativ väljas mer än en gång?
Ordning?Upprepning?FormelExempel
JaJankn^kPIN-kod med 4 siffror: 10410^4
JaNejn!(n−k)!\dfrac{n!}{(n-k)!}Rangordning i en tävling (guld, silver, brons)
NejNej(nk)=n!k!(n−k)!\dbinom{n}{k} = \dfrac{n!}{k!(n-k)!}Välja 5 av 10 kandidater, Lotto
NejJa(n+k−1k)\dbinom{n+k-1}{k}3 val av 8 smaker glass (ordning spelar ingen roll)

Ordning spelar roll kallas permutation. Ordning spelar ingen roll kallas kombination. Skillnaden är den vanligaste källan till felräkning.

Formellt

Fakultet: n!=n⋅(n−1)⋯2⋅1n! = n \cdot (n-1) \cdots 2 \cdot 1, och 0!=10! = 1.

Antalet sätt att ordna nn objekt i en rad är n!n!. Värdet ökar extremt snabbt:

nnn!n!
5120
103 628 800
20~2,4 · 10¹⁸
52~8 · 10⁶⁷ (en kortlek)

Det sista talet är större än antalet atomer i Vintergatan. Om du blandar en kortlek ordentligt är det nästan säkert att den ordningen aldrig har funnits tidigare.

Binomialkoefficienten (nk)\binom{n}{k} läses «n över k» och anger antalet sätt att välja kk av nn utan hänsyn till ordning.

(nk)=n!k! (n−k)!\binom{n}{k} = \frac{n!}{k!\,(n-k)!}

Divisionen med k!k! är skillnaden mot permutationer: varje urval har räknats k!k! gånger (en för varje möjlig ordning), och dessa ska räknas som ett enda fall.

Två egenskaper att känna till:

(nk)=(nn−k),(n0)=(nn)=1\binom{n}{k} = \binom{n}{n-k}, \qquad \binom{n}{0} = \binom{n}{n} = 1

Den första är intuitiv: att välja 3 av 10 är samma sak som att välja vilka 7 som inte ska med.

Kopplingen till sannolikhet. När alla utfall är lika sannolika:

P(ha¨ndelse)=antal gynnsamma utfallantal mo¨jliga utfall P(\text{händelse}) = \frac{\text{antal gynnsamma utfall}}{\text{antal möjliga utfall}}\

Lotto som exempel: 7 rätt av 35 tal.

(357)=6 724 520  ⟹  P(7 ra¨tt)=16 724 520\binom{35}{7} = 6\,724\,520 \;\Longrightarrow\; P(\text{7 rätt}) = \frac{1}{6\,724\,520}

Födelsedagsproblemet är ett klassiskt exempel på hur magkänslan kan vilseleda: hur många personer behövs för att sannolikheten ska vara över 50 % att två fyller år samma dag? Räkna på motsatsen — att alla har olika födelsedagar:

P(alla olika)=365365⋅364365⋯365−n+1365P(\text{alla olika}) = \frac{365}{365}\cdot\frac{364}{365}\cdots\frac{365-n+1}{365}

Vid n=23n = 23 är sannolikheten för alla olika dagar under 0,5. 23 personer räcker — vilket de flesta gissar fel på.

Kod

from math import factorial, comb, perm

# Multiplikationsprincipen
print(3 * 4, "outfits")                      # 12

# Med ordning, utan upprepning: guld, silver, brons av 8 löpare
print(perm(8, 3), "=", factorial(8) // factorial(5))      # 336 = 336

# Utan ordning: välj 5 av 12 i ett lag
print(comb(12, 5))                            # 792

# Med upprepning, med ordning: fyrsiffrigt kodlås
print(10 ** 4, "koder")                       # 10000

# Symmetrin: att välja 3 av 10 = att välja bort 7 av 10
print(comb(10, 3), comb(10, 7))               # 120 120

# Lotto: 7 rätt av 35
mojliga = comb(35, 7)
print(f"{mojliga:,} möjliga rader → chansen är 1 på {mojliga:,}")
# 6,724,520 möjliga rader → chansen är 1 på 6,724,520

# Fyra rätt av sju dragna, av 35 tal
gynnsamma = comb(7, 4) * comb(28, 3)
print(f"4 rätt: {gynnsamma:,} sätt → {gynnsamma / mojliga:.5f}")

# Födelsedagsproblemet — räkna på motsatsen
def alla_olika(n, dagar=365):
    p = 1.0
    for i in range(n):
        p *= (dagar - i) / dagar
    return p

for n in (10, 20, 23, 30, 50, 70):
    print(f"  {n:>2} personer: P(minst två samma dag) = {1 - alla_olika(n):.3f}")
#   10 personer: 0.117
#   23 personer: 0.507      ← över hälften redan här
#   50 personer: 0.970
#   70 personer: 0.999

# Hur snabbt fakulteter växer
for n in (5, 10, 20, 52):
    print(f"  {n}! = {factorial(n):.3e}")
#   52! = 8.066e+67     ← fler än atomerna i Vintergatan

Behärskning innebär

  • Använder multiplikationsprincipen
  • Skiljer permutationer från kombinationer
  • Använder resultaten i sannolikhetsproblem

Förkunskaper

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser