D· AI-utvecklarematematik· ca 45 min· grundläggande — ändras sällan· verifierad 2026-09-20
Diskret matematik: grafer och relationer
Kunna beskriva grafer med noder och kanter, förstå riktade grafer och cykler — modellen bakom kunskapsgrafen själv.
Förkunskaper
- BAlgoritmiskt tänkandekrävs
Intuition
En graf är noder (punkter) och kanter (linjer mellan dem). Det är en av de mest användbara modellerna som finns: vänskaper, vägar, webblänkar, beroenden mellan uppgifter — och den här plattformens kunskapskarta.
- Oriktad: kanten går åt båda håll (vänskap).
- Riktad: kanten har riktning (A är förkunskap till B).
- Cykel: en väg som kommer tillbaka till sig själv.
- DAG (riktad acyklisk graf): riktad utan cykler — då går den att topologiskt sortera, alltså lägga i en ordning där varje nod kommer efter allt den beror på.
AI-grafen måste vara en DAG. En cykel skulle betyda «A kräver B som kräver A» — omöjligt att lära sig i någon ordning.
Kod
graf = {"vektorer": [], "matriser": ["vektorer"],
"neuronnat": ["matriser", "derivata"], "derivata": [],
"backprop": ["neuronnat"]} # nod -> förkunskaper
def topologisk(g):
besokt, ordning, pagaende = set(), [], set()
def besok(n):
if n in besokt: return
if n in pagaende: raise ValueError(f"cykel vid {n}")
pagaende.add(n)
for f in g[n]:
besok(f)
pagaende.discard(n); besokt.add(n); ordning.append(n)
for n in g: besok(n)
return ordning
print(topologisk(graf))
# ['vektorer', 'matriser', 'derivata', 'neuronnat', 'backprop']
Varje förkunskap kommer före den nod som kräver den. Det är precis så lärvägarna i plattformen byggs — och pagaende-mängden är cykelkontrollen som grafinvarianterna kör vid varje import.
Behärskning innebär
- Beskriver en graf med noder och kanter
- Skiljer riktad från oriktad graf och upptäcker cykler
Logga in för att göra övningarna och bygga upp din behärskning.
Källor
- Wikipedia — Graf (matematik) (CC BY-SA 4.0) — CC BY-SA 4.0
- Wikipedia — Topologisk sortering (CC BY-SA 4.0) — CC BY-SA 4.0