You are on page 1of 6

Számtud

Gráfelmélet
Gráf jelölések:
- G = (V, E)
- E(G) 🡪 G gráf éleinek összege
- d(v) 🡪 v csúcs fokszáma
o δ(v) 🡪 v csúcs kimenő fokszáma (irányított gráfban)
o ρ(v) 🡪 v csúcs bemenő fokszáma (irányított gráfban)
- …

Véges gráf, ha fokszámainak összege 2*|E(G)| 🡪 2*( G éleinek összege ).


Mindig páros a fokszám összeg.
G komplementere, olyan G’ gráf, melyeben minden olyan él szomszédos, ami G-ben
nem.
Séta, olyan élsorozat, amelyben minden él legalább egyszer szerepel.
Út, olyan séta, amelyben csúcs nem ismétlődik.
Ha van uv út, van uv séta.
Összefüggő gráf: bármely két pontja között vezet séta.
Egyszerű gráf: nincs benne párhuzamos és hurokél
Összetett gráf: több komponense van
Részgráf: az eredeti gráfból éleket és csúcsokat hagyunk el.
Feszített részgráf: az eredeti gráfból csúcsokat hagyunk el (élei elhagyásával).
Feszítő részgráf: az eredeti gráfból éleket hagyunk el (csúcsai változatlanok).
Erdő: ha G körmentes.
n csúcsú erdő, k komponens: élek száma = |E(G)| = n-k
Fa: ha G összefüggő erdő, azaz körmentes és összefüggő.
n csúcsú fa: élek száma = |V(F)|-1
G akkor fa: ha 3 közül legalább 2 igaz: körmentes, összefüggő, élek száma: |
V(F)|-1
Levél: G gráf v csúcsa, ha d(v) = 1 vagy d(v) = 0.
Gráf algoritmusok
Kruskal (mohó) algoritmus:
- legkisebb költségű feszítőfát talál
- irányított, irányítatlan gráfban
- “módosított Kruskal” 🡪 Legszélesebb út (csökkenő élek szerint)
- elérési és bebefejezési sorrend, előző csúcs
- előre, vissza, keresztél lehet benne
Input: G gráf költség függvénye
Output: G minimális költségű feszítőfája
Lépések:
1. Legkisebb költségű éltől kezdve
2. Egyesével növelve az él értékét
3. Nem alkot kört
4. Minden pont eleme
Lépésszáma: C * ( m2 * m * log 2 (n) )
_________________________________________________________________
BFS - Szélességi bejárás:
- legrövidebb utat talál a súlyozatlan gráfban + bejárja az összes csúcsot
- irányított és irányítatlan gráfban
- bármely pontból fel lehet venni 🡪 r gyökérpont
- nincs benne előre él
Lépések:
1. gyökérpont kiválasztása
2. minden szomszédját felfedezi és megszámozza, majd felírja egy fifo listára a
felfedezett csúcsokat
3. tovább megy az fifo tetején lévő csúcsra és annak is felírja
4. ha nem, akkor még egyet visszalép
5. a 2-4 lépéseket ismételve amíg be nem jártuk a gráfot
A befejezés sorrendje megegyezik a felfedezés sorendjével.
Lépésszáma: C*(n+m) ahol n a csúcsok száma, m az élek száma
_________________________________________________________________
Dijkstra-algoritmus
- Legrövidebb út, legszélesebb út
- pozitív élekre
- irányított, irányítatlan gráf
- gyökérpontból
Lépések:
1. először minden pont eléretlen
2. megnézi melyik szomszédok felé tudunk eljutni
3. majd felviszi a táblába a szomszéd nevét és távolságát, valamint honnan érte el
4. a következő lépéskor hozzáadja az előző lépés értékét a következő ugrástól
5. javítás akkor lép fel, ha egy másik pontból olcsóbban el tudja érni az adott pontot
6. ekkor jelölve a táblázatban befejezett lesz a pont
Lépésszáma: C*n2
_________________________________________________________________
DFS, mélységi bejárás
- irányított, irányítatlan
- a soron következő elért csúcsot a lehető legkésőbb elért csúcsból érjük el
- verem szerkezetet használhatunk az mélységi és az elérési szám
meghatározásához
- irányítatlan gráfban nincs keresztél, csak előre és visszaél
- ha DFS után van visszaél, akkor G tartalmaz irányított kört
- ha DFS után nincs visszaél, akkor G aciklikus azaz G DAG
- ha G aciklikus, akkor a befejezési sorrend megfordítva a topológia sorrend
Lépések:
- gyökérpont meghatározása 🡪 nincs benne befeleél, csak kifeleél (irányított
gráfban)
- egyik szomszéd felé elindul és felírja a felfedezési sorszámot
- majd tovább halad
- ha nem tud tovább menni akkor bejezett sorszámmail is ellátja a csúcsot és
visszalép
- abc szerinte lépeget
A befejezési sorrend megfordítva a topológiai sorrend.
Lépésszáma: …
PERT módszer:
- legrövidebb út (legrövidebb idő)
- irányított gráfban
- súlyozott élek, pozitív
- aciklikus gráfban
- meghatározzuk G egy topológiai sorrendjét (pl. DFS-sel)
Lépések:
1. megkeressük a forrást, ami olyan pont amelyből csak kifelé mennek élek
2. tovább megyünk a legkisebb értékű élen, majd felírjuk az ütem számot
3. kitöröljük az élt majd tovább megyünk, a legkisebb értékű él felé
4. addig ismételjük míg nem tudunk tovább menni eléretlen csúcsba, majd addig
lépünk vissza míg nem tudunk eléretlen csúcsbamenni
Az elért csúcsok sorrendje a topológiai sorrend
Euler :
Minden élet tartalmazza.
Tétel: Egy összefüggő gráfban akkor és csak akkor van Euler kör ha a gráf
minden csúcsának páros a fokszáma.
Tétel: Egy összefüggő gráfban akkor és csak akkor van Euler út, ha a gráfban a
páratlan fokszámú csúcsok száma 0 vagy 2.

Hamilton:
Minden csúcsot tartalmaz.
(1) Ha a gráfban létezik k olyan csúcs, amelyeket elhagyva a gráf több mint k
komponensre esik szét, akkor nem létezik a gráfban Hamilton kör.
(2) Ha a gráfban létezik k olyan csúcs, amelyeket elhagyva a gráf több mint k+1
komponensre esik szét, akkor nem létezik a gráfban Hamilton út.
Dirac-tétel:
Ha az n csúcsú (n>=3) gráfban minden csúcsának legalább n/2 a fokszáma,
akkor a gráfban létezik Hamilton kör.
Ore-tétel:
Ha az n csúcsú (n>=3) gráfban minden x,y nem szomszédos (nem a gráf része)
csúcsokra teljesül, hogy d(x)+d(y) >= n, akkor a gráfban létezik Hamilton-kör.
Lemma:
Ha az n csúcsú (n>=3) gráfban d(u)+d(v) >= 3, és a G+uv gráfban van Hamilton
kör, akkor a G gráfban is van Hamilton kör.
Ismétlés nélküli permutáció:
N különböző elem összes lehetséges sorrendje:

n! (n>0)

Ismétléses permutáció
Adott n db elem között az azonosak száma k1,k2,.. ezek lehetséges sorrendje:

n! / (k1!*k2!*..)

Ismétlés nélküli variáció:


Adott n db különböző elem közül k db-ot kiválasztva és sorba rendezve az n db
elem k-ad rendű ismétlés nélküli variációinak száma:

n! / (n-k)!

Ismétléses variáció:
Ha adott n db különböző elem közül kiválasztunk k helyre úgy, hogy
megengedjük ismétlődő elemeket is, akkor a kapott eseteket az n db elem k-ad
rendű ismétléses variációinak a száma:

nk

Ismétlés nélküli kombinció:


N elem közül kiválasztunk k db-ot úgy, hogy a sorrendre nem vagyunk tekintettel.
ezek zsáma:

n! / k!*(n-k)!

You might also like