2024-10-07

Grafteori

Riktad graf

En riktad graf är en graf G=(V,E) där:

V:mängd av noder
EV×V:mängden av riktade kanter

En kant (v,w)E tolkas som en riktad kant från v (startnod) till w (slutnod).

Exempel

V={1,2,3}
E={(1,2),(2,3),(3,2)}

-d
1,2,3
(1,2),(2,3),(3,2)
Note

Det kan inte finnas riktade och oriktade kanter i samma graf. En oriktad graf kan representeras som en riktad graf där alla kanter är riktade åt båda håll. D.v.s:

(c,d)E:(c,d)=(b,a)(a,b)E

Riktad väg

En väg v0,v1,v2,,vnV (från v0 till vn) där (v0,v1),,(vn1,vn)E.

Riktad cykel

En #riktad väg med v0=vn utan upprepade kanter.

Starkt sammanhängande graf

Se även: 2024-09-26#Sammanhängande graf

En #riktad graf G=(V,E) är starkt sammanhängande om det finns en #riktad väg mellan alla möjliga par av noder u,vV.

Eulerväg

Låt G=(V,E) vara en (oriktad) graf.
En Eulerväg i G är en väg som innehåller varje kant exakt en gång.

Euler på 1700-talet frågade: Kan man passera samtliga broar i Köningsberg exakt en gång och avsluta där man börjar?

Eulercyklel

En #eulerväg där v0=vn och utan upprepade kanter.

Alternativ definition

En Eulercykel är en cykel som innehåller varje kant i G exakt en gång.

Hitta Eulercykler
Sats 7.11

En sammanhängande graf G innehåller en Eulercykel om och endast om alla gradtal i G är jämna.

Sats 7.12

Låt u,vV,uv i en sammanhängande graf G=(V,E). G innehåller minst en Eulerväg från u till v om och endast om du och dv är udda och alla andra noder wV har dw jämnt.

Givet att det finns en Eulercykel i G:

Flera metoder:

Givet grafen G:

1,2,3,4,5,6
(1,2),(1,3),(1,4),(1,6)
(2,3)
(3,6),(3,4)
(4,5),(4,6)
(5,6)
  1. Börja med triangeln 1-2-3-1:
1,2,3,_,_,_
1-2-3-1
  1. Ta bort kanterna från G:
1,_,3,4,5,6
(1,4),(1,6)
(3,6),(3,4)
(4,5),(4,6)
(5,6)
  1. Välj en till cykel, t.ex. 1-4-6-1:
1,_,_,4,_,6
1-4-6-1
  1. Ta bort kanterna:
_,_,3,4,5,6
(3,6),(3,4)
(4,5)
(5,6)

Även detta är en cykel: T.ex. 4-3-6-5-4.

De sammansatta cyklerna från steg 1-3 blir en Eulercykel:

  1. 1-2-3-1
  2. 1-4-6-1
  3. 4-3-6-5-4

TODO: Hur?

Note

Algoritmen är idén till beviset av 7.11

Multigraf

En multigraf är en oriktad graf som tillåter flera oriktade kanter mellan två noder.

Relationsgrafer

En relation kan beskrivas med en riktad graf:

Låt A vara en mängd och R en relation på A. Det implicerar RA×A

Låt GR=(A,R) vara den riktade grafen med nodmängd A och kantmängd R.

GR kallas relationsgrafen till R.

Note

Ekvivalensklassser motsvarar sammanhängande komponenter/delgrafer i relationsgrafen.

Matriser

Vad är en matris?

Från Matrismatte för labb 2

En matris är en tabell av element som har ett antal rader och kolumner.

En matris A=[123456] har 2 rader och 3 kolumner. Man kan även säga att A är av typen 2×3 eller att A har dimensionen (2,3).

Ett element på rad i och kolumn j i matrisen A betecknas Aij
I matrisen ovan är t.ex. A21=4

Generell formulering

A är en matris av typen m×n:

A=[a11a12a1na21a22a2nam1am2amn]

Ett element i Araden i och kolonnen j noteras Aij.

Hela raden i betecknas Ai. och hela kolonnen j betecknas A.j

Specialfall

En kolonnvektor är en matris av typen m×1, d.v.s. bara en kolonn.
En radvektor är en matris av typen 1×n, d.v.s. bara en rad.

Note

I radvektorer och kolonnvektorer noteras i:te elementet, d.v.s. element A1i i en radvektor och Ai1 i en kolonnvektor, som Ai

En matris av typen m×n där m=n kallas en kvadratisk matris.

Räkneregler

Addition

Givet att A,B är av typen m×n gäller:

A+B=[a11+b11a12+b12a1n+b1na21+b21a22+b22a2n+b2nam1+bm1am2+bm2amn+bmn]

eller (A+B)ij=Aij+Bij

Note

Anledningen till att matriserna måste vara av samma typ och inte kan "expanderas" med 0 är att matrisernas egenskaper ändras för mycket om man ändrar matrisens typ.

Subtraktion

A,B är m×n-matriser.

(AB)ij=AijBij

Multiplikation

Överkurs — Hadamard-produkten

Det kanske känns intuitivt att multiplicera matriser med samma princip som addition och subtraktion ovan, d.v.s. varje element i matris A multipliceras med elementet på samma position i matris B. Det kallas Hadamard-produkten och noteras: AB. Denna definitionen av multiplikation används dock sällan.

Skalärprodukten

Givet en radvektor a=(a1,,an) och en kolonnvektor b=(b1bn). Definieras skalärprodukten som:

ab=i=1naibi
Definition

Matrismultiplikation definieras som:

(AB)ij=Ai.B.j

Där Ai.B.j är #skalärprodukten mellan i:te raden i A och j:te kolonnen i B.

Utvecklat kan detta även skrivas som:

(AB)ij=k=1nAikBkj

Där n är storleken av den gemensamma dimensionen i A och B. Om A inte har lika många kolonner som B har rader så är produkten odefinierad.