Kombinatorik
Kunna räkna permutationer och kombinationer och använda dem i sannolikhetsproblem.
Öva i Mattegrafen ↗ · Sannolikhet och statistikFörkunskaper
Intuition
Multiplikationsprincipen är grunden för allt: ska du välja flera saker efter varandra multiplicerar du antalet val.
Du har 3 tröjor och 4 byxor. Antal outfits: 3 · 4 = 12.
Två frågor avgör vilken formel du behöver:
| Fråga | Betydelse |
|---|---|
| Spelar ordningen roll? | «ABC» ≠ «CBA» eller «ABC» = «CBA»? |
| Får man upprepa? | kan samma sak väljas två gånger? |
| Ordning? | Upprepning? | Formel | Exempel |
|---|---|---|---|
| Ja | Ja | kodlås med 4 siffror: | |
| Ja | Nej | vem vinner guld, silver, brons | |
| Nej | Nej | vilka 5 i laget, Lotto | |
| Nej | Ja | 3 glasskulor av 8 smaker |
Ordning spelar roll heter permutation. Ordning spelar ingen roll heter kombination. Skillnaden är den vanligaste förväxlingen.
Formellt
Fakultet: , och .
Antalet sätt att ordna saker i rad är . Det växer obegripligt fort:
| 5 | 120 |
| 10 | 3 628 800 |
| 20 | ~2,4 · 10¹⁸ |
| 52 | ~8 · 10⁶⁷ (en kortlek) |
Det sista talet är större än antalet atomer i vår galax. Blandar du en kortlek ordentligt har den ordningen med största sannolikhet aldrig funnits förut.
Binomialkoefficienten läses «n över k» och är antalet sätt att välja av utan hänsyn till ordning.
Delningen med är hela skillnaden mot permutationer: varje urval har räknats gånger, en för varje möjlig ordning, och de ska räknas som en.
Två egenskaper värda att kunna:
Den första är intuitiv: att välja ut 3 av 10 är samma sak som att välja ut vilka 7 som inte ska med.
Kopplingen till sannolikhet. När alla utfall är lika sannolika:
Lotto som exempel: 7 rätt av 35 tal.
Födelsedagsproblemet är det klassiska motexemplet mot magkänslan: hur många personer behövs för att två troligen fyller år samma dag? Räkna på motsatsen — att alla har olika dagar:
Vid är den under 0,5. 23 personer räcker — vilket nästan alla 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
Logga in för att göra övningarna och bygga upp din behärskning.
Källor
- Matteboken (Mattecentrum) — fri läsning, ideell förening
- Khan Academy — matematik — CC BY-NC-SA 3.0
- Wikipedia — Combinatorics (CC BY-SA 4.0) — CC BY-SA 4.0