Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

A számítástudomány alapjai 2023. I.

félév
1. gyakorlat. Összeállította: Fleiner Tamás (fleiner@cs.bme.hu)
Tudnivalók
(2) E ⊆ V2 := {{u, v} : u, v ∈ V, u 6= v}

Def: G = (V, E) egyszerű gráf, ha (1) V 6= ∅ és
G gráf esetén V (G) jelöli G csúcsai, E(G) pedig G élei halmazát, azaz G = (V (G), E(G)). A
G = (V, E) gráf véges, ha V és E is véges halmazok.
Def: A G gráf egy diagramja egy olyan lerajzolása, melyben a csúcsoknak (síkbeli) pontok felelnek
meg, éleknek pedig a két végpontot összekötő, önmagukat nem metsző görbék.
Def: Az e = {u, v} élt e = uv-vel jelöljük; u és v az e él végpontjai. Az u és v csúcsok szomszédosak,
ha e a gráf éle. Az e, f élek párhuzamosak, ha végpontjaik azonosak. A hurokél olyan él, melynek
végpontjai azonosak. Nem feltétlenül egyszerű gráfban lehet hurok- és párhuzamos él is.
Def: A G gráf v csúcsának d(v) foka a v végpontú élek száma (hurokél kétszer számít):
Pn
d(v) := |{e ∈ E : v az e végpontja}| + |{e ∈ E : e hurokél v-n}|
Állítás: (KFL) Ha G véges gráf, akkor fokszámösszege 2|E(G)|.
Kn az n-pontú teljes gráf : bármely két pontja össze van kötve. Cn K6
Def: Pn az n-pontú út, Cn az n-pontú kör (ld. az ábrán)
G reguláris, ha fokszámai megegyeznek. ∆(G) ill. δ(G) Gmax ill. min fokszáma.
Def: A G egyszerű gráf komplementere a G := (V (G), V2 \ E(G)) gráf. (Két csúcs pontosan akkor
szomszédos G-ben, ha nem szomszédos G-ben.) A G1 és G2 gráfok izomorfak (G1 ∼ = G2 ), ha G1 és
G2 csúcsai is megszámozhatók 1-től n-ig úgy, hogy ∀ i, j-re pontosan annyi él fut i-ből j-be G1 -ben,
mint G2 -ben. (Különöböző csúcsok különöböző számot kapnak, és minden számot felhasználunk.)
Def: A G gráf sétája olyan (v1 , e1 , v2 , e2 , . . . , vk ) sorozat, melyre ei = vi vi+1 ∈ E(G) (∀i) és
e1 , e2 , . . . , ek−1 páronként különbözők. Ez a séta körséta, ha v1 = vk .
Def: Az út (ill. kör ) olyan (kör)séta, aminek csúcsai (a végpontok azonosságától eltekintve) külön-
bözők. Egyszerű gráfban az út (kör) azonosítható a hozzá tartozó pont- vagy élsorozattal.
Állítás: A G gráfban pontosan akkor létezik u és v között séta, ha létezik u és v között út.
Def: A G gráf összefüggő (öf ), ha bármely két pontja között vezet séta.
Def: K ⊆ V (G) a G gráf komponense, ha bármely u, v ∈ K között létezik G-séta, de nem létezik
uv-séta ha u ∈ K, v ∈ V (G) \ K. Köv.: Minden gráf egyértelműen bontható komponensekre.
Élhozzáadási lemma (ÉHL): A G + e gráfra az alábbiak közül pontosan egy igaz:
(1) e-n keresztül nincs kör, és G + e-nek eggyel kevesebb komponense van, mint G-nek,
(2) e-n keresztül van kör, és G + e-nek ugyanannyi komponense van, mint G-nek.
Def: Legyen G = (V, E) gráf, e ∈ E, v ∈ V . Ekkor G − e = (V, E \ {e}) az éltörlés eredménye; a
csúcstörléssel keletkező G − v gráfhoz V -ből töröljük v-t, E-ből pedig a v-re illeszkedő éleket.
Def: A H gráf a G gráf feszített/feszítő/jelzőnélküli részgráfja, ha H megkapható G-ből csúcstörlé-
sekkel/éltörlésekkel/csúcs- és éltörlésekkel. (0 vagy 1 db törlés is megengedett.)
Állítás: H a G-nek pontosan akkor (1) részgráfja (2) feszítő részgráfja (3) feszített részgráfja, ha
(1) V (H) ⊆ V (G) és E(H) ⊆ E(G), (2) V (H) = V (G) és E(H) ⊆ E(G) ill.
(3) V (H) ⊆ V (G) és E(H) az E(G) azon éleiből áll, amelyek végpontjai V (H)-beliek.
Def: A G véges, egyszerű gráf erdő, ha G körmentes. A G gráf akkor fa, ha G összefüggő erdő.
Állítás: Ha az n csúcsú G erdőnek k komponense van, akkor éleinek száma |E(G)| = n − k.
Köv.: Ha F fa, akkor |E(F )| = |V (F )| − 1. Köv.: Ha egy G véges gráfra az alábbiak közül 2
teljesül, akkor igaz rá a harmadik is: (1) G összefüggő, (2) G körmentes, (3) |V (G)| = |E(G)| − 1 .
Def: A G gráf v csúcsa levél (ill. izolált pont), ha d(v)=1 (ill. ha d(v) = 0).
Állítás: Tfh F fa. Ekkor (1) (F − e)-nek pontosan két komponense van ∀e ∈ E(F )-re. (2) F -nek
pontosan egy uv-útja van ∀u, v ∈ V (F )-re. (3) (F + e)-nek pontosan egy köre van ∀e 6∈ E(F )-re.
(4) Ha |V (F )| ≥ 2, akkor F -nek legalább két levele van.
Def: F a G gráf feszítőfája (ffája), ha F egy G-ből éltörlésekkel kapható fa.
Állítás: (G-nek van feszítőfája) ⇐⇒ (G öf.)
Gyakorlatok
1. Helyezzünk két világos és két sötét huszárt egy 3 × 3-as sakktábla négy sarkába úgy, hogy az
azonos színű huszárok átellenes mezőkön álljanak. A huszárokkal a sakkban szokásos módon
lépünk úgy, hogy sosem állhat egyszerre két figura ugyanazon a mezőn. Elérhető-e így, hogy a
huszárok a tábla sarkaiban állnak, és az átellenes huszárok különböző színűek? (!)
A számítástudomány alapjai 2023. I. félév
2. gyakorlat. Összeállította: Fleiner Tamás (fleiner@cs.bme.hu)
Tudnivalók
Def: A H fa a G feszítőfája, ha H a G feszítő részgráfja (azaz V (H) = V (G)). A H feszítő
részgráf akkor feszítő erdő, ha H erdő és G minden komponensének tartalmazza egy feszítőfáját.
Állítás: Tetsz. G gráfnak pontosan akkor van feszítőfája, ha G összefüggő.
Def: Ha G = (V, E) egy gráf és k : E → R az éleken értelmezett költségfüggvény, akkor G
tetszőleges E 0 élhalmazának k(E 0 ) költsége a E 0 -beli élek összköltsége. Az F ⊆ E élhalmaz minimális
költségű feszítőfa (mkffa), ha (V, F ) a G feszítőfája, és nem drágább a G egyetlen feszítőfájánál sem,
azaz k(F ) ≤ k(F 0 ) teljesül G minden (V, F 0 ) feszítőfájára. min. ktg fesz. erdő definíciója hasonló.
Kruskal (mohó) algoritmus: Input: G = (V, E), k : E → R+ ktgfüggvény. Output: F ⊆ E
Működés: Legyen F0 = ∅, és E = {e1 , e2 ,  . . . , em }, ahol k(e1 ) ≤ k(e2 ) ≤ . . . ≤ k(em ). Az output
Fi−1 ∪ {ei } ha Fi−1 ∪ {ei } körmentes
F = Fm , ahol i = 1, 2, . . . , m-re Fi :=
Fi−1 ha Fi−1 ∪ {ei } tartalmaz kört.
Tétel: Legyen G = (V, E) egy gráf és k : E → R egy tetsz. költségfüggvény, (V, F ) pedig a G
egy feszítőfája. F pontosan akkor mkffa, ha minden c-re teljesül, hogy F tartalmazza a G legfeljebb
c költségű (olcsó) élei alkotta gráf egy feszítő erdejét.
Megfigyelés: A Kruskal-algoritmus F outputjára igaz az előző tételbeli tulajdonság.
Tétel: A Kruskal-algoritmus által kiszámított F élhalmaz a G egy min költségű feszítő erdeje.
Gyakorlatok
1. Adott egy négyzet négy csúcsa a síkon. Hogyan lehet a lehető legrövi- 3 11
debb összhosszúságú vonalak meghúzásával elérni, hogy a meghúzott 7 3 2 12
7 8
vonalakat követve a négy csúcs bármelyikéből el lehessen jutni a másik 2 3 7
három csúcsba? (!) 3
2. Keressünk a fenti ábrán látható G gráfban mkffát! (X) Hány minimális 11 11 2
7
3
költségű feszítőfája G-nek?
3. Adott a G = (V, E) gráf és a k : E → R+ ktgfv, valamint G csúcsainak egy piros és zöld színnel
színezése. Adjunk gyors eljárást olyan minimális összköltségű F ⊆ E élhalmaz megkeresésére,
amire minden piros csúcsból vezet F -beli út (a) legalább egy ill. (b) minden zöld csúcsba.
4. Adott a G = (V, E) gráf és az élein egy k : E → R+ költségfüggvény. Tegyük fel, hogy
ismerünk a G − e gráfon egy minimális költségű F feszítőfát. Határozzuk meg a G gráfnak egy
olyan minimális költségű feszítőfáját, aminek F -fel a lehető legtöbb közös éle van.
a
22 b
22 15 c
25 d
5. A jobb oldali ábrán látható G = (V, E) gráf élei a fel-
21 21
újítandó útszakaszokat jelentik. Minden élén két költség
20 18 20 18 25
van: az olcsóbbik az egyszerű felújítás költsége, a drá- 15 1815 15 15 11 18
15 11 f
gább pedig ugyanez, kerékpárút építéssel. A cél az összes 25
útszakasz felújítása úgy, hogy összefüggő kerékpárúthá- e 22 18 18 21 g 22 h
lózat épüljön ki, amin G minden pontja elérhető.
Határozzunk meg egy legolcsóbb felújítási tervet, ami teljesíti ezt a feltételt. (ZH’15) (X)
6. Abszurdisztán kormánya tendert ír ki n településnek a helyi vízműre történő rácsatlakoztatásá-
ra. Minden ajánlat két helyszín (két település vagy egy település és a vízmű) között kiépítendő
vezeték költségét tartalmazza. Tudjuk, hogy a kormány a lehető legolcsóbb módját választ-
ja annak, hogy az n település a vízműhöz csatlakozzon. Cégünk különféle homályos üzletek
nyélbeütésével lényegében ingyen meg tudná építtetni a Rátót és Piripócs közti vezetéket. Rá-
adásul minisztériumi kapcsolatunk, Mutyi bácsi elárulta nekünk az összes beérkezett ajánlatot.
Hogyan árazzuk a saját Rátót-Piripócs ajánlatunkat, hogy a lehető legnagyobbat szakítsuk?
7. Adott a G = (V, E) gráf és az élein egy k : E → R+ költségfüggvény. Bizonyítsuk be, hogy G
minden egyes minimális költségű F feszítőfája outputja lehet a Kruskal-algoritmusnak alkalmas
(költség szerint monoton növekvő) élsorrend esetén. Bizonyítsuk be, hogy ha a G = (V, E)
gráf minden élének különböző a költsége, akkor G minimális költségű feszítőfája egyértelmű.
8. Adott G = (V, E) gráf és k : E → R+ költségfüggvény mellett a G gráf minden éle ki van
színezve a piros, fehér és zöld színek valamelyikére. Adjunk hatékony módszert, ami G olyan
mkffáját (vagy feszítő erdejét) találja meg, ami a lehető legtöbb zöld, és a lehető legkevesebb
piros élt tartalmazza.
A számítástudomány alapjai 2023. I. félév
3. gyakorlat Összeállította: Fleiner Tamás (fleiner@cs.bme.hu)
Tudnivalók
Def: A G = (V, E) irányított gráf egy bejárásán a V -beli csúcsok alábbiak szerinti végigláto-
gatását értjük. Minden v csúcs állapota kezdetben eléretlen, majd idővel v elértté válik, a bejárás
végére pedig befejezett lesz. A bejárás egy általános lépése az alábbi.
1. Ha van elért csúcs, választunk egyet, mondjuk u-t. (1a) Ha van olyan uv él, amire v eléretlen,
akkor v elértté válik (az uv él mentén). (1b) Ha nincs ilyen uv él, akkor u befejezetté válik.
2. Nincs elért csúcs. (2a) Ha van eléretlen u csúcs, akkor u-t elértté tesszük.
(2b) Ha nincs eléretlen csúcs se (azaz minden csúcs befejezett), akkor a bejárás véget ér.
A bejárás során kialakul a csúcsok egy elérési ill. egy befejezési sorrendje, továbbá minden csúcs-
hoz feljegyezzük azt is, hogy melyik él mentén értük el (ha van ilyen él). Ez utóbbi élek (az ún.
faélek ) alkotják a bejárás fáját (ami egyrészt irányított, másrészt pedig erdő). A G gráf további
uv éle előreél, ha u a bejárás fájában a v őse, visszaél, ha u a v leszármazottja, egyébként pedig
keresztél. (Irányítatlan gráf bejárásakor minden élt oda-vissza irányított élnek tekintünk.)
Köv.: Irányítatlan gráf bejárása után az előreélek megegyeznek a visszaélekkel.
Def: A szélességi bejárás (BFS) inputja a G = (V, E) gráf és egy r gyökércsúcs. A szélességi
bejárás során az r csúcsot már a legelején elértnek tekintjük, valamint az 1. esetben mindig a lehető
legkorábban elért u csúcsot választjuk. A szélességi fa (avagy BFS fa) a szélességi bejárás fája.
Megfigyelés: (1) Szélességi bejárás során az elérési sorrend megegyezik a befejezési sorrenddel.
(2) Gráfél nem ugorhat át faélt: v1 , v2 , . . . , vn BFS elérési sorrend és i < j < k ≤ ` mellett nem lehet
vi v` gráfél ha vj vk faél. Köv.: Szélességi bejárás után nincs előreél.
Def: Tetsz. G gráf az u és v csúcsainak distG (u, v) távolsága a legrövidebb G-beli uv-út élszáma.
Megfigyelés: A BFS bejárás fája az r csúcsból minden más csúcsba a G gráf egy legrövidebb
(legkevesebb élből álló) útját tartalmazza, azaz tetszőleges v csúcs G-beli távolsága r-től megegyezik
az r gyökerű F szélességi fán mért távolsággal: distG (r, v) = distF (r, v).
Def: Adott G = (V, E) (ir) gráf és egy ` : E → R élhosszfv. Egy G-beli (ir) út hossza az út
éleinek összhossza, dist` (u, v) pedig az (ir) uv-utak közül a legrövidebb hosszát jelöli. Az ` hosszfv
konzervatív, ha nincs G-ben negatív összhosszúságú (ir) kör.
Def: Adott G = (V, E) (ir) gráf, r ∈ V és egy ` : E → R élhosszfv. Az f : V → R függvényt
(r, `)-felső becslésnek nevezzük, ha f (r) = 0 és f (v) ≥ dist` (r, v) teljesül G minden v csúcsára. Az
e = uv él menti javítás esetén az f (v) értéket a min{f (v), f (u) + `(uv)} értékkel helyettesítjük.
Megfigyelés: (1) Ha ` konzervatív, akkor tetsz. (r, `)-f.b. élmenti javítása (r, `)-f.b.-t ad.
(2) Ha az f (r, `)-felső becsléshez nincs éredemi élmenti javítás, akkor f (v) = dist` (r, v) ∀v ∈ V .
Dijkstra algoritmusa Input: G = (V, E) (ir) gráf, ` : E → R+ nemneg hosszfv, r ∈ V gyökér.
Output: dist` (r, v) minden v ∈ V -re. Működés: Kezdetben U0 := ∅, f (r) = 0 és f (v) = ∞ ha v 6= r.
Az algoritmus i-dik fázisában (i = 1, 2, . . . , |V |) a következő történik.
1. Legyen ui az a v csúcs a V \ Ui−1 halmazból, amelyre f (v) minimális és legyen Ui := Ui−1 ∪ {ui }.
2. Végezzünk élmenti javításokat minden Ui -ből kivezető ui x élen.
Az output a |V |-dik fázis utáni f függvény. Szokás megjelölni a végső f (v) értékeket beállító éleket.
Megfigyelés: Ha az output az f (r, `)-felső becslés, akkor (1) f (ui ) ≤ f (ui+1 ) ∀1 ≤ i < n-re
(2) f (u1 ) ≤ f (u2 ) ≤ . . . ≤ f (un ), valamint (3) Élmenti javítás nem változtat f -n.
Köv.: (1) A Dijkstra-algoritmus helyesen működik, azaz dist` (r, v) = f (v) ∀v ∈ V teljesül.
(2) Az algoritmus során megjelölt élek egy legrövidebb utak fáját alkotják G-ben: az r gyökérből
minden r-ből elérhető csúcshoz vezet olyan legrövidebb út is, ami csak megjelölt éleket tartalmaz.
(3) A Dijkstra-algoritmus lépésszáma legfeljebb konst · (n2 + m), ahol n = |V | és m = |E|.
Gyakorlatok
1. Törpfalván kitört a járvány: csúf kórság fertőzött meg néhány törpöt. Szerencsére a betegség-
ből minden törp egy nap alatt meggyógyul, és ezután egy napig immunissá válik, ám sajnos
ezt követően újra fertőződhet. Kellemetlen, hogy a törpök még betegen sem adják fel azt a
megrögzött szokásukat, hogy minden egyes nap minden barátjukat meglátogatják. Márpedig
ha beteg és nem immunis törp találkozik, az utóbbi bizonyosan megfertőződik. Mutassuk meg,
hogy ha Törpfalván 100 törp él, akkor a járványnak a kitörését követő 101-dik napon már
A számítástudomány alapjai 2023. I. félév
4. gyakorlat. Összeállította: Fleiner Tamás (fleiner@cs.bme.hu)
Tudnivalók

Ford-algoritmus Input: G = (V, E) (ir) gráf, ` : E → R konzervatív hosszfv, r ∈ V gyökérpont.


Output: dist` (r, v) minden v ∈ V -re. Működés: Legyen E = {e1 , e2 , . . . , em }. Kezdetben legyen
f (r) = 0 és v 6= r esetén f (v) = ∞. Az i-dik fázis i = 1, 2, . . . , n−1 esetén abból áll, hogy elvégezzük
az e1 , e2 , . . . , em élek menti javításokat. A végén az output dist` (r, v) = f (v) minden v-re.
Állítás: (1) A Ford-algoritmus i-dik fázisa után dist` (r, v) = f (v) minden olyan v-re, ahova van
legfeljebb i élű legrövidebb út v-ből. (2) A Ford-algoritmus lépésszáma legfeljebb konst · n3 .
(3) Ahogy Dijkstra esetén, itt is legrövidebb utak fáját alkotják a végső f (v) értékeket beállító élek.
Floyd-algoritmus Input: G = (V, E) (ir) gráf, ` : E → R konz. Output: dist` (u, v) ∀u, v ∈ V .
Működés: Legyen V = {v1 , v2 , . . . , vn } és d(k) (i, j) a legrövidebb olyan vi vj út hossza, aminek
belső pontjai csak v1 , v2 , . . . vk lehetnek. Kezdetben d(0) (i, j) = `(vi , vj ), ha vi vj ∈ E, különben
d(0) (vi , vj ) = ∞. A k-dik fázisban
d(k) (i, j) = min{d(k−1) (i, j), d(k−1) (i, k) + d(k−1) (k, j)} (1)
(k) (n)
alapján a d függvényt határozzuk meg. Az n-dik fázis után dist` (vi , vj ) = d (i, j) az output.
Állítás: Az (1) fennáll, tehát a Floyd-algoritmus helyes. Lépésszáma pedig legfeljebb konst · n3 .
Def: Mélységi bejárás (avagy DFS ) alatt olyan gráfbejárást értünk, amikor mindig a lehető
legkésőbb elért csúcsból kerül elérésre a soron következőnek elért csúcs. Az elérési illetve befejezési
sorrendből adódik minden v csúcshoz egy m(v) mélységi ill. b(v) befejezési szám.
Megfigyelés: (1) A mélységi bejárás lépésszáma lineáris, azaz van olyan c konstans, hogy tet-
szőleges n csúcsú, m élű gráf mélységi bejárásához legfeljebb c(n + m) lépés szükséges.
(2) Ha uv faél vagy előreél, akkor m(u) < m(v) és b(u) > b(v), ha uv visszaél, akkor m(u) > m(v)
és b(u) < b(v), ha pedig uv keresztél, akkor m(u) > m(v) és b(u) > b(v).
(3) Következmény: irányítatlan gráf DFS bejárása után nincs keresztél.
(4) Ha G-ben van visszaél, akkor G tartalmaz irányított kört.
(5) Ha G-ben nincs irányított kör, akkor nincs visszaél, így tetszőleges uv ∈ E esetén b(u) > b(v).
Def: A G = (V, E) irányított gráf aciklikus avagy DAG (directed acyclic graph), ha G-ben nincs
irányított kör. A v1 , v2 , . . . , vn topologikus sorrend, ha V = {v1 , v2 , . . . , vn } és vi vj ∈ E ⇒ i < j, azaz
ha G minden éle „ jobbra” mutat.
Köv.: (1) Ha G DAG, akkor a DFS utáni befejezési sorend megfordítása topologikus sorrend.
(2) Tetszőleges G = (V, E) irányított gráfra az alábbi három tulajdonság ekvivalens:
(a) G DAG, (b) G csúcsainak van topologikus sorrendje, (c) G DFS bejárása után nincs visszaél.
A PERT probléma: Input: a G = (V, E) DAG és egy c : E → R+ hosszfüggvény.
Output: Minden v ∈ V csúcsra egy v-be vezető leghosszabb irányított út és annak a hossza.
(Az órai mese szerint a csúcsok „projekttevékenységek”, a c(uv) „élhossz” pedig azt mutatja, hogy
u megkezdése után legalább mennyi időnek kell eltelnie ahhoz, hogy v elkezdődhessen. Ezért ha
a v tevékenység legkorábbi kezdési idejét k(v) jelöli, akkor k(v) ≥ k(u) + c(uv) teljesül minden
uv ∈ E élre. Következésképp k(v) minden v csúcs esetén megegyezik a v-ben végződő leghosszabb út
hosszával. (A projektmenedzsment szakirodalom máshogyan tekint a feladatra: a csúcsok a projekt
mérföldkövei, az élek az egyes projekttevékenységek, c(e) pedig az e tevékenység végrehajtási ideje.
Ebben a terminológiában k(v) az a legkorábbi időpont, amikor a v mérföldkő elérhető.))
A PERT módszer: Meghatározzuk G egy v1 , v2 , . . . , vn topologikus sorrendjét (pl DFS-sel).
A k(vi ) = max ({k(vj ) + c(vj vi ) : vj vi ∈ E} ∪ {0}) formulával sora kiszámítjuk a k(v1 ), k(v2 ), . . .
kezdési időket ill. megjelöljük mindazon vi vj éleket, amelyek mentén a maximum eléretik.
Def: A PERT kritikus útja a G egy leghosszabb útja, kritikus tevékenység pedig olyan csúcs,
ami kritikus úton van.
Megfigyelés: (1) Kritikus út forrásból nyelőbe vezet, és (2) több kritikus út is lehetséges.
(3) A kritikus utak minden élét megjelöltük a PERT módszer során.
(4) Egy tevékenység pontosan akkor kritikus, ha annak megkezdésében a legkisebb mértékű csúszás
is a teljes projekt befejezésének késését okozza.

Gyakorlatok
A számítástudomány alapjai 2023. I. félév
5. gyakorlat. Összeállította: Fleiner Tamás (fleiner@cs.bme.hu)
Tudnivalók
Def: A G = (V, E) gráf Euler-(kör)sétája a G olyan (kör)sétája, mely G minden élét tartalmazza.
Megfigyelés: Ha a véges G (irányított) gráfnak létezik Euler-körsétája, akkor (1) G izolált
pontoktól eltekintve (irányítatlan értelemben) összefüggő és (2) G minden csúcsának fokszáma páros
(irányított esetben minden v csúcsra δ(v) = ρ(v)). Ha G-ben létezik
P Euler-séta, akkor (1) mellett
teljesül, hogy (2’) G-nek legfeljebb 2 páratlan fokú csúcsa van ( v∈v |δ(v) − ρ(v)| ≤ 2).
Tétel: Tetszőleges G = (V, E) véges gráfra G-nek pontosan akkor van Euler-körsétája (Euler-
sétája), ha a fenti (1) és (2) ((1) és (2’)) teljesül.
Def: A G gráf Hamilton-köre (Hamilton-útja) egy G minden csúcsát tartalmazó kör (út).
Állítás: Ha a véges G gráfban létezik Hamilton-kör (ill. Hamilton-út), akkor G-nek k tetszőleges
pontját törölve, a keletkező gráfnak legfeljebb k (ill. k + 1) komponense van.
Dirac tétele: Ha az n-pontú (n ≥ 3), egyszerű G gráf minden pontjának legalább n2 a fokszáma,
akkor G-nek van Hamilton-köre.
Ore tétele: Ha az n-pontú (n ≥ 3), egyszerű G gráf olyan, hogy uv 6∈ E(G) esetén d(u)+d(v) ≥
n, akkor G-nek létezik Hamilton-köre.
Hízlalási lemma: Ha egy n-pontú G gráfban d(u) + d(v) ≥ n, akkor G-nek pontosan akkor van
Hamilton-köre, ha G + uv-nek Hamilton-köre van.
Köv.: Ha van Hamilton-köre egy olyan G0 -nek, amit a fenti Lemmában leírt élek behúzásával
kapunk G-ből, akkor G-nek is van Hamilton-köre.
Gyakorlatok
1. Legyen G a {p1 , p2 , . . . , p2001 } ponthalmazon az az egyszerű gráf, amire (pi pj ∈ E(G)) ⇐⇒
|i − j| ≤ 2. Van-e G-ben Euler-körséta, Euler-séta, Hamilton-kör ill. Hamilton-út? (X)(V ’01)
2. Legyenek a Gn gráf pontjai az n hosszú (0, 1) sorozatok. Két pont akkor legyen szomszédos,
ha pontosan egy helyen térnek el egymástól (pl. az n = 4 esetben (0, 0, 0, 1) és (0, 1, 0, 1)
szomszédosak). Van-e a Gn gráfnak Euler-körsétája (X) ill. Hamilton-köre? (ZH ’01)
3. Legyenek a G gráf csúcsai az 1, 2, . . . , 101 számok, és az i és a j csúcsok akkor legyenek
összekötve, ha i + j osztható 3-mal. Határozzuk meg, a legkisebb k értéket, amire igaz, hogy
G-be k élt behúzva olyan egyszerű gráf kapható, aminek van Euler-körsétája.
4. Tegyük fel, hogy G = (V, E1 ∪ E2 ∪ . . . ∪ Ek ) összefüggő gráfban az Ei -k egymástól diszjunkt
körséták. Az alábbi sétát végezzük az éleken. Tetszőleges pontjából indulva elkezdjük követni
az E1 körsétát. Mindig egy Ej körsétát követünk azzal, hogy amint olyan csúcsba érünk, amin
átmegy egy eddig nem látott E` körséta, akkor elkezdjük E` -t követni, majd amint befejeztük,
folytatjuk a felhagyott Ej követését. Mit kapunk, amikor befejezzük az E1 körsétát?(*)
5. Mutassuk meg, hogy ha G egy 12-reguláris gráf, akkor élei pirosra és zöldre színezhetők úgy,
hogy minden csúcsból pontosan 6 piros és 6 zöld él induljon. (!)
6. Igazoljuk, hogy tetszőleges véges gráf élei irányíthatók úgy, hogy minden v csúcsra |δ(v) −
ρ(v)| ≤ 1 teljesüljön, ahol δ(v) ill. ρ(v) a v csúcs ki- ill. befokát jelenti.
7. Drótból szeretnénk egy 4 × 4-es négyzetrácsot forrasztani, ahol az egyes négyzetek oldalhossza
pontosan 1 cm. Megoldható-e a feladat akkor, (a) ha 8 db 5 cm-es drótunk van ill. (b) ha 5
db 8 cm-es drótot használhatunk? A drótokat elvágni nem, csak forrasztani szabad.
8. A mellékelt ábra Abszurdisztán fővárosa szennyvízhálózatának vázlatos rajzát mutatja. A
vonalak a csatornákat jelképezik. Minden egyes csomópontban, ahol csatornák találkoznak,
egy-egy létra vezet a felszínre. Nem zárható ki, hogy úgynevezett endzsió terroristák egy sátáni
terv keretében valahol megmérgezték a szennyvízhálózatot. Ezért fertőtleníteni kell minden
egyes csatornát, aminek az a módja, hogy a közszolgálati csatornák élő közvetítésében egy erre
a feladatra speciálisan kiképzett szakember súlyos védőfelszerelésben végigkúszik a csöveken.
Mivel a szkafanderre is rátapadhat a szennyvizet szennyező ismeretlen
méreg, a már fertőtlenített szakaszra nem szabad ismételten behatol-
ni. Legalább hányszor kell a szakembernek kievickélnie a csatornából
ahhoz, hogy a teljes fertőtlenítést elvégezhesse? (ZH ’08)
A számítástudomány alapjai 2023. I. félév
6. gyakorlat. Összeállította: Fleiner Tamás (fleiner@cs.bme.hu)
Tudnivalók
Def: A G gráf síkbarajzolható (SRható), ha létezik G-nek olyan diagramja, amiben az éleknek
megfelelő görbék (töröttvonalak) csak végpontokban metszhetik egymást. Az ilyen tulajdonságú
diagramot síkbarajzolt (SRt) gráfnak hívjuk. A síkbarajzolt gráf a síkot tartományokra (lapokra)
osztja. Lesz egy végtelen tartomány, az ún. külső tartomány. Gömbre rajzoláson lényegében ugyan-
ezt értjük, csak sík helyett a gömb felszínén dolgozunk, külső tartomány nincs.
Tétel: (G SRható) ⇐⇒ (G gömbre rajzolható) Köv.: Tetsz. konvex poliéder élhálója SRható.
Hasznos összefüggés (duális KFL): Pt Ha egy G SRt gráfnak e éle van, és az egyes tartományait
l1 , l2 , . . . , lt él határolja, akkor 2e = i=1 li . (Multiplicitással számolunk: Ha egy uv él mindkét
oldalán ugyanaz a ti tartomány fekszik, akkor uv-t kétszer számoljuk li -be.)
Tétel: Ha G SRt, n csúcsa, e éle, k komponense és t tartománya van, akkor n + t = e + k + 1 .
Köv.: (1) Ha G SRható, akkor bármely síkbarajzolásának ugyanannyi tartománya van.
(2) (Euler-féle poliéderformula) Ha G öf SRt gráf, akkor n + t = e + 2.
(3) Ha G egyszerű, legalább 3-pontú, SRt gráf, akkor e ≤ 3n − 6 .
(4) Ha G-nek háromszöglapja sincs, akkor még e ≤ 2n − 4 is igaz.
(5) Ha G SRható és egyszerű, akkor van legfeljebb 5-ödfokú csúcsa, azaz δ(G) ≤ 5.
(6) Sem K5 , sem K3,3 nem SRható. (K3,3 a „három ház, három kút” gráf.)
Def: Élfelosztás alatt azt értjük, hogy egy él törlünk, és bevezetünk egy másodfokú új csúcsot,
aminek két szomszédja a törölt él két végpontja. A topologikus G olyan gráf, ami G-ből élfelosztások
egymásutánjával kapható. Él összehúzása az él két végpontjának összeolvasztását jelenti.
Állítás: Csúcs és él törlése, él felosztása és él összehúzása megőrzi SRható tulajdonságot.
Köv.: SRható gráf részgráfja SRható. SRható gráfnak nincs se top. K5 , se top. K3,3 részgráfja.
Kuratowski-tétel: (G SRható) ⇐⇒ (G nem tartalmaz se top. K3,3 , se top. K5 részgráfot)
Fáry-Wagner-tétel: Ha G egyszerű és SRható gráf, akkor létezik G-nek olyan síkbarajzolt
diagramja, amiben minden él egyenes szakasz.
Def: Legyen G = (V, E) síkbarajzolt gráf, duálisa az a G∗ = (V ∗ , E ∗ ) gráf, amelyre V ∗ a G
lapjainak halmaza ill. E ∗ = {e∗ : e ∈ E} és e∗ az e-t határoló tartomány(ok)nak megfelelő duális
csúcsokat összekötő él.
Def: A Q ⊆ E(G) élhalmaz vágás, ha Q egy olyan élhalmaz, hogy egyrészt Q elhagyásakor G
szétesik (azaz komponenseinek száma megnő), másrészt Q egy legszűkebb élhalmaz ezzel a tulaj-
donsággal, azaz Q semelyik valódi részhalmazának elhagyásától sem esik G szét. Az e él elvágó él,
ha {e} vágás. A G gráf e és e′ élei soros élek, ha {e, e′ } vágás.
Tétel: Legyen G = (V, E) sr, G∗ pedig a G duálisa n∗ , e∗ , t∗ , k ∗ paraméterekkel. Ekkor
(1) G∗ sr, n∗ = t, k ∗ = 1, azaz G∗ öf.
(2) Ha v ∈ V (G∗ ) a G i-dik lapjához tartozik, akkor d∗ (v) = ℓi .
(3) C ⊆ E(G) kör G-ben ⇐⇒ C ∗ vágás G∗ -ban.(4) Q ⊆ E(G) vágás G-ben ⇐⇒ Q∗ kör G∗ -ban.
(5) e ∈ E(G) a G hurokéle (elvágó éle) ⇐⇒ f (e) a G∗ elvágó éle (hurokéle).
(6) e, e′ ∈ E(G) párhuzamos (soros) élek ⇐⇒ f (e), f (e′ ) soros (párhuzamos) élek.
A (3,4) tulajdonságok neve kör-vágás dualitás.
Whitney egyik tétele: Legyen G∗ a G SRt gráf duálisa. A H öf gráf
pontosan akkor duálisa G egy alkalmas síkbarajzolásának, ha H megkapható
G∗ -ból az ábrán látható Whitney-operációk véges sokszori alkalmazásával.
Whitney másik tétele: Ha a G és H öf gráfok között létesíthető kör- G G1 G1
G′
vágás dualitás, akkor G és H SRható gráfok és alkalmas síkbarajzolásaik
G2 G2
egymás duálisai.
Gyakorlatok
1. Hány csúcsa van egy olyan öf síkbarajzolható gráfnak, aminek három háromszöglapja, három
négyszöglapja és egy ötszöglapja van? (✓)
2. Egy 20-csúcsú poliédernek 12 lapja van, mind K oldalú sokszög. Mennyi a K értéke? (✓)
3. Legyenek v2 , v3 , . . . , v7 , v8 a G gráf csúcsai, és pontosan akkor legyen vi és vj között él, ha
i2 − 1-nek és j 2 − 1-nek van 1-nél nagyobb közös osztója. Rajzoljuk le G egy áttekinthető
diagramját, valamint döntsük el, hogy G síkbarajzolható-e. (✓) (ppZH ’12)
A számítástudomány alapjai 2023. I. félév
7. gyakorlat. Összeállította: Fleiner Tamás (fleiner@cs.bme.hu)
Tudnivalók
Def: Lineáris egyenletrendszer alatt véges sok olyan egyenletet értünk, amiben ismeretlenek
konstansszorosainak összege konstanssal egyenlő. A lineáris egyenletrendszer megoldása olyan hoz-
zárendelés, úgy rendel ami egy-egy értéket minden ismeretlenhez, hogy az egyenletrendszer minden
egyenlete igaz legyen erre az értékadásra.
Def: Lineáris egyenletrendszer kibővített együtthatómátrixa olyan mátrix, aminek i-dik sora az
i-dik egyenletnek felel meg, és az egyes ismeretlenek együtthatóit ill. az egyenlet jobb oldalán álló
konstanst tartalmazza minden értelmes i esetén.
Def: Egy tetsz. M mátrixon elemi sorekvivalens átalakítás (ESÁ) az alábbiak valamelyike:
(1) az i-dik és j-dik sorok cseréje, (2) az i-dik sor egy λ ̸= 0 konstanssal történő végigszorzása ill.
(3) az i-dik sor helyettesítése az i-dik és j-dik sorok összegével valamely i és j esetén.
Megjegyzés: Néha egy csupa0 sor törlését (vagy hozzáadását) is szokás ESÁ-nak tekinteni.
Sorekvivalens átalakítás (de nem elemi, hiszen ESÁ-ok egymásutánjakén megkapható) ha az i-dik
sort helyettesítjük az i-dik sor és a j-dik sor λ-szorosának összegével.
Megfigyelés: A kibővített együtthatómátrixon elvégzett ESÁ nem változtat a megfelelő lineáris
egyenletrendszer megoldásainak halmazán.
Def: Az M mátrix lépcsős alakú (LA), ha (1) minden sor első nemnulla eleme (vezér)1-es (v1)
ill. (2) bármely két v1 esetén a lejjebb álló v1 jobbra esik a feljebb álló v1-től.
M Redukált lépcsős alakú (RLA), ha (1) M LA és (2) M -ben minden v1 felett csak 0-k állnak.
Def: A kib. egyhómxban tilos sor a (0, . . . , 0, x) típusú sor x ̸= 0 esetén.
Ha a kib. egyhómx RLA, akkor az xi ismeretlen kötött változó, ha az xi -hez tartozó oszlopban
van v1. Ha nincs, akkor xi szabad paraméter.
Állítás: Tfh egy lineáris egyenletrendszer M kib. egyhómxa RLA. Ekkor
(1) M minden sora vagy a 0 = 0 azonosságnak vagy a 0 = 1 ellentmondásnak vagy a v1-hez tartozó
változó (szabad paramétereket esetlegesen felhasználó) értékadásának felel meg.
(2) Ha M tartalmaz tilos sort, akkor az egyenletrendszernek nincs megoldása.
(3) Ha M nem tartalmaz tilos sort, akkor a szabad paraméterek tetsz. értékadásá mellett az egyen-
letrendszernek pontosan egy megoldása van. Ha van szabad paraméter, a megoldások száma ∞.
Köv.: A lineáris egyenletrendszer megoldása egy RLA kib. egyhómx-szal felírt egyenletrendszer.
Cél: A lineáris egyenletrendszer kib. egyhómx-át ESÁ-ok segítségével RLA-ra alakítani.
Gauss-elimináció:
Input: M ∈ Rn×k mátrix. Output: Olyan M ′ ∈ Rn×k LA mátrix, ami M -ből ESÁ-okkal kapható.
Működés: Az eljárás fázisokból áll, az i-dik fázisban az i-dik sor vezéregyesét és az alatta álló 0-kat
alakítjuk ki. Konkrétan: Kiválasztjuk az első olyan oszlopot, ami az (i − 1)-dik sor alatt tartalmaz
nemnullát. Ha nincs ilyen sor vagy oszlop, az algoritmus véget ér. Különben egy esetleges sorcserével
elérjük, hogy az i-dik sor es az iménti oszlop metszetében nemnulla álljon. Esetleges konstanssal
szorzással elérjük, hogy megjelenjen az i-dik sorban a v1. Az i-dik sor alkalmas konstansszorosait a
lejjebb álló sorokhoz adva a v1 alatti elemek kinullázhatók.
LA mátrix RLA-vá alakítása: A v1 alatti elemekhez hasonlóan a v1 feletti elemek kinulláz-
hatók a v1 sora alkalmas konstansszorosának a v1 felett álló sorokhoz történő hozzáadásával.
Állítás: Ha egy lineáris egyenletrendszernek pontosan egy megoldása van, akkor az egyenletek
száma legalább annyi, mint az ismeretleneké.

Gyakorlatok
 
1. A jobb oldalon látható mátrixot ESÁ-ok segítségével alakít- 2 6 −4 0 2
suk RLA mátrixszá úgy, hogy először elvégezzük a Gauss-  3 11 −2 −8 9 
eliminációt. 4 9 −14 9 10
2. Oldjuk meg az alábbi lineáris egyenletrendszereket. A második egyenletrendszer megoldásait
minden valós p esetén határozzuk meg.
A számítástudomány alapjai 2023. I. félév
8. gyakorlat. Összeállította: Fleiner Tamás (fleiner@cs.bme.hu)
Tudnivalók
Def: Az Rn tér elemei az n magasságú oszlopvektorok, a műveletek pedig a (koordinátánkén-
ti) vektorösszeadás, és a vektor skalárral szorzása. Nullvektor a csupa0 vektor (jel: 0), az i-dik
egységvektort pedig ei jelöli, az i-dik koordináta 1, a többi 0.
Állítás: Tetsz. u, v, w ∈ Rn ill. λ, µ ∈ R esetén (1) u + v = v + u, (2) (u + v) + w = u + (v + w),
(3) λ(u + v) = λu + λv, (4) (λ + µ)u = λu + λv, ill. (5) (λµ)u = λ(µu) teljesül.
Konvenció: −v := (−1) · v ill. u − v := u + (−v).
Def: V ⊆ Rn altér (jel: V ≤ Rn ), ha V zárt a műveletekre, azaz u + v, λu ∈ V teljesül ∀u, v ∈ V
ill ∀λ ∈ R esetén. Rn triviális alterei: {0} és Rn .
Állítás: Alterek metszete altér: ha Vi ≤ Rn ∀i, akkor i Vi ≤ Rn .
T

Def: Az u1 , . . . uk vektorok lineáris kombinációja alatt egy ki=1 λi ui = λ1 u1 + . . . λk uk kifejezést


P
értünk, ahol λi ∈ R ∀i. Triviális lineáris kombináció: olyan lin.komb., ahol λi = 0 ∀i. Az u1 , . . . uk
vektorok lin.komb.-inak halmazát (avagy az u1 , . . . uk által generált alteret) hu1 , . . . uk i jelöli.
Def: Az u1 , . . . uk vektorok a V ≤ Rn altér generátorrendszere, ha hu1 , . . . uk i = V .
Megfigyelés: V ≤ Rn ⇐⇒ V zárt a lineáris kombinációra.
Def: Az {u1 , . . . uk } vektorrendszer lineárisan független, ha a nullvektort csak a triviális lineáris
kombinációjuk állítja elő, azaz λ1 u1 + . . . + λk uk = 0 ⇒ λ1 = . . . = λk = 0.
Ha az {u1 , . . . uk } vektorhalmaz nem lin. ftn, akkor lineárisan összefüggő.
Lemma: Az {u1 , . . . uk } vektorrendszer pontosan akkor lineárisan független, ha egyetlen ui sem
áll elő a többi uj lineáris kombinációjaként.
Megfigyelés: (1) Ha G a V ≤ Rn generátorrendszere és G ⊆ G0 ⊆ V , akkor G0 is a V
generátorrendszere. (2) Ha F ⊆ Rn lin.ftn és F 0 ⊆ F , akkor F 0 is lin.ftn.
Állítás: Tfh v ∈ Rn , v 6∈ G és hG ∪ {v}i = V ≤ Rn . Ekkor (hGi = V ) ⇐⇒ (v ∈ hGi)
Lemma: Tfh F = {f 1 , . . . , f k } ⊆ Rn lin.ftn. Ekkor (F ∪ {f } lin.ftn.) ⇐⇒ (f 6∈ hF i)
Kicserélési lemma: Ha F ⊆ V ≤ Rn lin.ftn. és hGi = V gen.rsz. akkor ∀ f ∈ F ∃ g ∈ G,
amire F \ {f } ∪ {g} is lin.ftn.
FG-egyenlőtlenség: Tfh G a V ≤ Rn generátorrendszere, és F ⊆ V lin.ftn. Ekkor |F | ≤ |G|.
Állítás: Tfh F ⊆ Rn lin.ftn és f ∈ hF i. Ekkor f egyértelműen áll elő F -beli vektorok lin.komb-
jaként.
Állítás: Tfh M 0 -t ESÁ-okkal kaptuk az M ∈ Rn×k mátrixból. Ha S ill. S 0 az M ill. M 0
sorvektorainak halmaza, akkor hSi = hS 0 i.
Állítás: Tfh az M ∈ Rn×k mátrixból M 0 -t ESÁ-okkal kaptuk és O = {o1 , . . . ok } ill. O0 =
{o01 , . . . o0k } az oszlopvektoraik halmaza. Ekkor O-n és O0 -n ugyanazok a lineáris összefüggések telje-
sülnek: ( ki=1 λi oi = ki=1 µi oi ) ⇐⇒ ( ki=1 λi o0i = ki=1 µi o0i ).
P P P P
Megfigyelés: Az M ∈ Rn×k mátrix pontosan akkor RLA, ha M előállítható az n magasságú
e1 , e2 , . . . , e` oszlopvektorok alkotta mátrixból olyan oszlopok beszúrásával, amelyek mindegyike az
őt megelőző ei oszlopok lineáris kombinációja.

Gyakorlatok
1. Alteret alkotnak-e R4 -ben az alábbi részhalmazok? A V1 elemei azok a vektorok, amelyeknek
minden koordinátája 0 és 1 között van, a határokat is megengedve, míg V2 -t azok a vektorok
alkotják, amelyeknek a második koordinátája megegyezik a 4-dikkel. V3 mindazon vektorok
halmaza, amelyeknek a koordintái monoton növekvő sorozatot alkotnak, V4 pedig azokat a
vektorokat tartalmazza, amelyek páros koordinátáinak összege megegyezik a páratlan koordi-
náták összegével. V5 ill. V6 azon vektorokból állnak, amelyeknek a koordinátái számtani ill.
mértani sorozatot alkotnak.
       
−1 1 1 5
2. Döntsük el, hogy a V = 2 , 1 , 7 altérhez tartoznak-e az u = −1 , v =
2 −1 1 −7
   
−5 1
4 ,w = 1 vektorok. Döntsük el továbbá, hogy az utóbbi három vektor közül a
8 1
V -beliek generálják-e a V alteret.
A számítástudomány alapjai 2023. I. félév
9. gyakorlat. Összeállította: Fleiner Tamás (fleiner@cs.bme.hu)
Tudnivalók
Def: A V ≤ Rn altér bázisa a V egy lin.ftn generátorrendszere.
Az Rn tér standard bázisa {e1 , e2 , . . . , en }.
Állítás: Minden altérnek van bázisa.
Biz: Kétféleképp is előállíthatjuk Rn tetsz. V alterének egy bázisát.
1. lehetőség: Generátorrendszer ritkításával, azaz generátorrendszerből a többi által generált
elem elhagyásával egész addig, amíg a maradék rendszer egyetlen elemét sem generálja a többi
maradék elem. Az így kapott generátorrendszer lin.ftn.
2. lehetőség: Lin.ftn rendszer hízlalásával. Ha van az altérben a lin.ftn. rendszer által nem
generált vektor, akkor azzal a rendszer úgy bővíthető, hogy a lin.ftn tulajdonság megmarad.
Megfigyelés: Tfh az M mátrixból az M ′ RLA mátrix ESÁ-okkal kapható és legyen V az M
oszlopai által generált altér. Ekkor az M ′ -ben v1-t tartalmazó oszlopoknak megfelelő M -beli oszlopok
a V bázisát alkotják.
Def: Homogén lineáris egyenletrendszer alatt olyan lineáris egyenletrendszert értünk, amiben
minden egyenlet jobb oldalán a 0 konstans áll.
Megfigyelés: Tetsz. n ismeretlenes homogén lineáris egyenletrendszer megoldásaiból alkotott
oszlopvektorok zártak az összeadásra és skalárral való szorzásra, így az Rn tér egy alterét alkotják.
Állítás: Homogén egyenletrendszer segítségével megadott altér bázisát alkotják a homogén lineá-
ris egyenletrendszer mindazon a megoldásaihoz tartozó vektorok, amelyekben egy szabad paramétert
1-nek, a többit pedig 0-nak választjuk.
Állítás: Az Rn tetsz. V alteréhez található olyan homogén lineáris egyenletrendszer, aminek a
megoldásaiból képzett oszlopvektorok pontosan a V altér elemei.
A fent leírt egyenletrendszer megkapható úgy, hogy tekintjük V egy G generátorrendszerét
! (pl.
x1
..
egy bázisát), és a G-beli oszlopvektorok alkotta mátrixot kiegészítjük egy . vektorral. ESÁ-
xn
okkal az utolsó oszlop nélkül RLA mátrixot készítünk, és a v1-t nem tartalmazó sorok utolsó elemeit
0-val egyenlővé tesszük.
Tétel: Ha B1 és B2 a V ≤ Rn altér bázisai, akkor |B1 | = |B2 |.
Def: A V ≤ Rn altér dimenziója dim V = k, ha V -nek van k-elemű bázisa.
Megfigyelés: Bármely V ≤ Rn altér tetsz. U ≤ V alterének bázisa kiegészíthető V bázisává,
ezért dim U ≤ dim V .
Állítás: Ha V1 , V2 ≤ V ≤ Rn akkor dim(V1 ∩ V2 ) + dim(V ) ≥ dim(V1 ) + dim(V2 ).
Állítás: Ha B a V ≤ Rn altér bázisa, akkor minden v ∈ V vektor egyértelműen fejezhető ki a
B bázis elemeinek lin.komb-jaként.
Def: Ha B = {b1 , . . . , bk } a V ≤!Rn altér bázisa, és v = ki=1 λi bi akkor a v vektor B bázis
P
λ1
..
szerinti koordinátavektora [v]B = . .
λn
Állítás: A V ≤ Rn altér rögzített B bázisa szerinti koordinátavektorokon a V -beli műveletek
megegyeznek az Rk -beli műveletekkel, azaz [u+v]B = [u]B +[v]B ill. λ·[u]B = [λu]B ∀u, v ∈ V ∀λ ∈ R.
Megfigyelés: Ha B = {u1 , . . . , uk } a V ≤ Rn bázisa és v ∈ V , akkor az (u1 , . . . , uk , v) mátrixból
ESÁ-okkal képzett RLA mátrix utolsó oszlopa a [v]B koordinátavektor.

Gyakorlatok
         
2 −1 0 1 7
1. Tekintsük az u = 0 , v = 2 , w = −1 , a = 0 és b = 6 R3 -beli
−1 0 2 0 −5
vektorokat. Döntsük el, hogy az alábbi vektorrendszerek lineárisan függetlenek-e, és határozzuk
meg egyes halmazok által generált altereket. Az altereket meghatározását úgy végezzük, hogy
egy tetszőlegesen megadott R3 -beli x vektorról gyorsan, néhány egyszerű teszt elvégzésével
el tudjuk dönteni, hogy x az adott altérbe esik-e vagy sem. A = {u, v, w}, B = {u, v, a},
C = {u, a}, D = {u, v, w, b} ill. E = {u, v, b}.
A számítástudomány alapjai 2023. I. félév
10. gyakorlat. Összeállította: Fleiner Tamás (fleiner@cs.bme.hu)
Tudnivalók
Megfigyelés: A 2 és 3 dimenziós példa alapján az e1 , . . . , en vektorok által feszített n dimenziós
paralelotop előjeles térfogatának előjele a szerint pozitív ill. negatív, hogy feszítő vektorok sorrendje
páros vagy páratlan sok páronkénti cserével kapható a fenti sorrendből.
Def: Az e1 , . . . , en vektorok tetsz. sorrendjéhez egyértelműen meghatározhatók az orbitok : min-
den vektor pontosan egy orbithoz tartozik, és minden orbit azt írja le, hogy az orbiton belül milyen
ciklikus sorrendben cserélnek helyet a vektorok az eredeti e1 , . . . , en sorrendhez képest.
Megfigyelés: Ha egy sorrendben két vektort felcserélünk, akkor az így kapott sorbarendezéshez
tartozó orbitok (ill. páros orbitok) száma pontosan 1-gyel tér el az eredeti sorrendhez tartozó (páros)
orbitok számától.
Köv.: Egy sorrend pontosan akkor kapható páros számú párcsere egymásutánjaként, ha orbit-
jainak száma n-nel egyező paritású, vagy, ami ezzel ekvivalens, ha páros orbitjai száma páros.
Def: n elem permutációja alatt egy σ : {1, 2, . . . , n} → {1, 2, . . . , n} kölcsönösen egyértelmű
leképezést értünk. Ezek halmazát Sn jelöli. Az e1 , . . . , en vektorok egy sorrendjéhez az a σ ∈ Sn
permutáció tartozik, amire σ(i) az ei sorszáma az adott sorrendben minden értelmes i-re.
i 1 2 3 4 5 6 7 8
Példa: Az (e3 , e8 , e5 , e7 , e1 , e6 , e2 , e4 ) sorrendhez tartozó σ permutáció: σ(i) 5 7 1 8 3 6 4 2
Def: A σ ∈ Sn permutációban az {i, j} pár inverzióban áll, ha i és j nagyságviszonya a σ(i) és
σ(j) nagyságviszonyával ellentétes. A σ permutáció I(σ) inverziószáma a σ szerint inverzióban álló
elempárok száma.
Példa: Az (e3 , e5 , e1 , e2 , e4 ) sorrendben e5 és e2 inverzióban áll, és megfelelő σ permutáció inver-
ziószáma I(σ) = 5.
Állítás: Ha σ az e1 , . . . , en vektorok egy sorrendjéhez tartozó permutáció, és két vektort felcse-
rélve a σ ′ permutációt kapjuk, akkor I(σ) és I(σ ′ ) különbsége páratlan.
Def: Az e1 , . . . , en vektorok egy sorrendjéhez tartozó bástyaelhelyezés a n × n mátrixnak azon
pozícióit jelenti, ahol 1-esek állnak a fenti sorrendben felírt egységvektorok alkotta mátrixban.
Megfigyelés: A bástyaelhelyezéshez tartozó permutáció inverziószáma megegyezik az ÉK-DNy
pozícióban álló bástyapárok számával.
Def: Az A ∈ Rn×n mátrix determinánsa |A| = det A = σ∈Sn (−1)I(σ) ni=1 ai,σ(i) , ahol ai,j az A
P Q
mátrix i-dik sorának j-dik eleme.
Megjegyzés: A determináns az összes lehetséges bástyaelhelyezéshez tartozó szorzat előjeles
összege, ahol az előjel attól függően pozitív ill. negatív, hogy az ÉK-DNy pozícióban álló bástyapárok
száma páros vagy páratlan.
Def: Az A ∈ Rn×k mátrix determinánsa az az A⊤ ∈ Rk×n mátrix, aminek i-dik sorának j-dik
eleme az A mátrix j-dik sorának i-dik eleme minden értelmes i, j esetén.
Lemma: |A| = |A⊤ | ∀A ∈ Rn×n
Köv.: Egy sorokkal kapcsolatos tulajdonság pontosan akkor teljesül minden determinánsra, ha
a tulajdonság oszlopokra vonatkozó értelemszerű megfelelője is teljesül minden determinánsra.
Lemma: Tfh u1 , . . . , un , u′i ∈ Rn és λ ∈ R. Ekkor
(1) |u1 , . . . , ui + u′i , . . . un | = |u1 , . . . , ui , . . . un | + |u1 , . . . , u′i , . . . un | .
(2) |u1 , . . . , λui , . . . un | = λ|u1 , . . . , ui , . . . un | (3) Ha ui = 0, akkor |u1 , . . . , ui , . . . un | = 0.
(4) Ha i < j, akkor |u1 , . . . , ui , . . . , uj , . . . , un | = −|u1 , . . . , uj , . . . , ui , . . . , un |.
(5) Ha ui = uj , akkor |u1 , . . . , un | = 0.
Lemma: ESÁ hatása tetsz. négyzetes A mátrixra:
(1) Sort λ-val szorozva a determináns is λ-val szorzódik.
(2) Sorcsere hatására a determináns ellentettjére változik.
(3) Egy sorhoz egy másik sort hozzáadva a determináns nem változik.
Def: Az A négyzetes mátrix főátlója az azonos sor- és oszlopindexű elemei halmaza. Az A mátrix
felső háromszögmátrix, ha a főátlója alatt minden eleme 0.
Megfigyelés: (1) Ha az A négyzetes mátrix LA, akkor A felső háromszögmátrix.
(2) Ha A felső háromszögmátrix, akkor determinánsa a főátlóbeli elemei szorzata.
Def: Az A ∈ Rn×n mátrix i-dik sorának j-dik eleméhez tartozó Ai,j előjeles aldetermináns az
i-dik sor és j-dik oszlop elhagyásával keletkező (n − 1) × (n − 1) méretű mátrix determinánsának
(−1)i+j -szerese.
n×n
Pn tétel: Tfh A ∈ R
Kifejtési és ai,j jelöli A i-dik sorának j-dik elemét. Ekkor
(1) |A| = Pi=1 ai,j Ai,j ∀1 ≤ j ≤ n (oszlop szerinti kifejtés) ill.
(2) |A| = nj=1 ai,j Ai,j ∀1 ≤ i ≤ n (sor szerinti kifejtés).

Gyakorlatok
1. Határozzuk meg, hogy páros vagy páratlan annak a σ ∈ Sn permutációnak az inverziószáma,
amire σ(i) = i + 2 ha i < n − 1, σ(n − 1) = 1 és σ(n) = 2.
2. Hányféle módszert ismerünk egy négyzetes mátrix konkrét bástyaelhelyezéshez tartozó kifejtési
tag előjelének megállapítására?
3. Legfeljebb mennyi lehet egy σ ∈ S11 permutáció inverziószáma? Van-e olyan σ ∈ S11 permu-
táció, aminek az inverziószáma I(σ) = 42? Milyen n esetén létezik olyan σ ∈ Sn permutáció,
aminek az inverziószáma I(σ) = 42?
4. Hogyan kell a kifejtési tétel alkalmazásakor gyorsan megállapítani az felbukkanó előjeles alde-
terminánsokhoz tartozó előjeleket?
3 6 −2 0 1 3 5 2
1 3 9 1 2 4
2 1 4 7 −1 1 4 −3
5. Számítsuk ki az alábbi determinánsokat: 0 2 0 5 , 0 p 0 3 , 1 9 81 , 1 3 9
1 10 100 1 9 81
4 0 1 0 2 3 1 1
6. Legyen A az n × n méretű csupa1 mátrix. Legkevesebb hány elemét kell A-nak megváltoztatni
ahhoz, hogy a kapott mátrix determinánsa nemnulla legyen?
7. Tetszőleges A ∈ Rn×n négyzetes mátrix esetén jelölje A◦ azt a mátrixot, amit az A mátrixból
úgy kapunk, hogy A- a középpontja körül 180 fokkal elforgatjuk, azaz ∀i, j-re az A◦ mátrix
i-dik sorának j-dik eleme megegyezik az A mátrix alulról az i-dik sorának jobbról a j-dik
elemével. Hogyan függ az |A◦ | determináns |A|-tól?
8. Bizonyítsuk be, hogy ha az A négyzetes mátrix determinánsa |A| = ̸ 0, akkor A első oszlopának
van olyan eleme, hogy bármely z ∈ R szám esetén ez az elem megváltoztatható úgy, hogy a
kapott mátrix determinánsa z legyen. Van-e mindig ilyen elem akkor is, ha |A| = 0?
9. Legyenek az A ∈ Rn×n mátrix oszlopai u1 , . . . , un , és tfh un ∈ ⟨u1 , . . . , un−1 ⟩. Bizonyítsuk be,
hogy |A| = 0.
10. Legyenek a1 , . . . , an pozitív számok, és legyen az A ∈ Rn×n mátrix i-dik sorának j-dik eleme
ai
aj
ha i + j páros, különben legyen 0. Számítsuk ki az |A| determinánst.
11. Thf az A ∈ Rn×n mátrix i-dik sorának j-dik eleme i + j − 1 minden értelmes i, j-re. Számítsuk
ki az |A| determinánst.
12. Tfh az A ∈ Rn×n négyzetes mátrix minden eleme ±1. Bizonyítsuk be, hogy |A| osztható
2n−1 -gyel.
13. Tfh az egész számokból álló négyzetes A mátrix bármelyik oszlopában is adjuk össze a sorban
található számokat, mindig 42-t kapunk. Bizonyítsuk be, hogy ha A első sorát lecseréljük egy
csupa 1-est tartalmazó sorra, akkor az így kapott A′ mátrixra |A| = 42|A′ | teljesül.
14. Legyen az A ∈ Rn×n mátrix i-dik sorának j-dik eleme ai,j . Számítsuk ki az |A| determinást
értékét, ha (1) ai,j = min(i, j) , (2) ai,j = i · j ill. (3) ai,j = |i − j| teljesül minden értelmes
i, j-re.
15. Az A négyzetes mátrix ferde kifejtése alatt azt értjük, hogy A egy sorának minden elemét A egy
másik sorának ugyanazon oszlopba eső eleméhez tartozó Pn előjeles aldeterminánssal szorozzuk
össze, és az ilyen szorzatokat összeadjuk. (Képlettel: j=1 ak,j Ai,j rögzített k ̸= j sorindexek-
re.) Hogyan lehet |A| segítségével meghatározni a ferde kifejtés során kapott összeget?
16. Mennyi lehet legfeljebb az A ∈ R77×77 mátrix determinánsa, ha A elemeinek abszolút értéke
legfeljebb 2, és a páratlan sorszámú sorok és páratlan sorszámú oszlopok metszéspontjában
mindenütt 0-nak kell állnia?(*)
A számítástudomány alapjai 2023. I. félév
11. gyakorlat. Összeállította: Fleiner Tamás (fleiner@cs.bme.hu)
Tudnivalók
Def: Azonos méretű mátrixok összeadása és mátrix skalárral szorzása a vektorokhoz hasonlóan
koordinátánként történik.
Állítás: Ha A, B, C ∈ Rn×k és λ, κ ∈ R akkor (1) A+B = B +A, (2) (A+B)+C = A+(B +C),
(3) λ(A + B) = λA + λB, (4) (λ + κ)A = λA + κA, (5) λ(κA) = (λκ)A, (6) (A + B)⊤ = A⊤ + B ⊤ ,
és (7) λ · A⊤ = (λA)⊤ .
Def: Az u = (u1 , . . . , un )⊤ és v = (v1 , . . . , vn )⊤ vektorok skaláris szorzata u·v = u1 v1 +. . .+un vn .
Állítás: ∀u, v, w, ∀λ: (1) u · v = v · u, (2) u · (v + w) = u · v + u · w ill. (3) (λu) · v = λ(u · v) .
Def: Az A ∈ Rn×k és B ∈ Rk×ℓ mátrixok szorzata az az n × ℓ méretű mátrix, aminek (i, j)
pozíciójában az A i-dik sorának és B j-dik oszlopának skaláris szorzata áll ∀i, j esetén.
Mátrixszorzás tulajdonságai: (1) λ · AB = (λA)B = A(λ · B), (2) A(B + C) = AB + AC ill.
(A + B)C = AC + BC, (3) A(BC) = (AB)C, (4) AB ̸= BA általában, ill. (5) (AB)⊤ = B ⊤ A⊤ .
Determinánsok szorzástétele: A, B ∈ Rn×n ⇒ |AB| = |A||B|.
Def: In = (e1 , . . . , en ) az n × n méretű egységmátrix, ahol e1 , . . . , en az Rn tér standard bázisa.
Állítás: Tfh A ∈ Rn×k , ei , v ∈ Rn , ej , u ∈ Rk . Ekkor (1) e⊤
i A az A i-dik sora,
(2) Aej az A j-dik oszlopa, (3) In A = A = AIk

(4) v A az A sorainak lin.komb-ja ill. (5) Au az A oszlopainak lin.komb-ja.
Köv.: (1) Ha AB értelmes, akkor AB i-dik sora a B sorainak lin.komb-ja, A i-dik sora szerinti
együtthatókkal. Az AB j-dik oszlopa pedig az A oszlopainak a B j-dik oszlopában szereplő együtt-
hatókkal vett lin.komb-ja.
(2) C pontosan akkor áll elő AB alakban rögzített B-re, ha C minden sora B sorainak lin.komb-ja.
(3) C pontosan akkor áll elő AB alakban rögzített A-ra, ha C minden oszlopa A oszlopai lin.komb-ja.
(4) Ha A′ az A mátrixból ESÁ-okkal áll elő, akkor A′ = BA alkalmas B-re.
Def: Tfh U ≤ Rk és V ≤ Rn . Az f : U → V lineáris leképezés, ha homogén és additív, azaz ha
∀u, v ∈ Rk , és ∀λ ∈ R esetén (1) f (λv) = λf (v) ill. (2) f (u + v) = f (u) + f (v) teljesül.
Megfigyelés: Ha A ∈ Rn×k akkor v 7→ Av egy Rk → Rn lin.lekép.
Állítás: (1) Minden f lin.lekép-hez van olyan [f ] mátrix, amire f (v) = [f ]v minden értelmes
v-re. (2) Ha f : Rk → Rn lin. lekép, akkor [f ] = (f (e1 ), . . . , f (ek )).
k n
PLemma: Tfh
ℓ PUℓ ≤ R , V ≤ R és f : U → V . Ekkor f lin.lekép ⇐⇒ f zárt a lin.komb-ra, azaz
f ( i=1 λi ui ) = i=1 λi f (ui ) ∀λi , ui .
Lemma: Tfh U ≤ Rk , V ≤ Rn , b1 , . . . , bm az U bázisa és v 1 , . . . v m ∈ V . Ekkor egyértelműen
létezik olyan f : U → V lin.lekép, amire f (bi ) = vi ∀i.
Magyarul: a báziselemeken felvett értékek egyértelműen meghatározzák a lin.lekép-t.

Gyakorlatok
   
2 1 1 2 3
1. Legyen A = −1 ill. B =
3 1 . Döntsük el, hogy elvégezhetők-e az alábbi mű-
1 1
veletek, és ha igen a válasz, számítsuk is ki a végeredményt. 2A + 3B, AB, BA, AB + 2B,
BB ⊤ .

2. Tfh az A ∈ R2×3 mátrix minden eleme nemnegatív. Tudjuk, hogy az AA⊤ bal felső eleme 0, a
jobb alsó pedig 14, valamint az A⊤ A mátrix bal felső eleme 9, a jobb alsó pedig 4. Határozzuk
meg az A mátrixot.

3. Döntsük el, igazak-e az alábbi összefüggések minden n × n méretű A, B mátrix esetén. Az


igaz állításokat bizonyítsuk be, a hamisakra adjunk ellenpéldát. AB + B = (A + In )B, (A +
B)(A − B) = A2 − B 2 , (A + In )2 = A2 + 2A + In .

4. Legyen A az az 10 × 10 méretű mátrix, aminek a főátlójában és az alatt csupa 0-k állnak, a


főátló felett pedig minden elem 1-es. Határozzuk meg az A100 mátrixot!

5. Tfh az A ∈ Rn×k mátrix i-dik és j-dik sorának felcserélése nyomán az A′ mátrixot kapjuk.
Igaz-e, hogy A′ előállítható A-ból egyetlen mátrixszorzás segítségével? Ha igen, akkor ehhez
A számítástudomány alapjai 2023. I. félév
12. gyakorlat. Összeállította: Fleiner Tamás (fleiner@cs.bme.hu)
Tudnivalók
Def: Az AB mátrix az A ∈ Rn×n mátrix balinverze, ha AB A = In , az AJ mátrix pedig az A
jobbinverze, ha AAJ = In . Állítás: Ha AB és AJ az A bal- ill. jobbinverze, akkor AB = AJ .
Állítás: Ha A-nak van balinverze, akkor (1) AB előáll A-ból ESÁ-okkal ill. (2) az (A|In ) mát-
rixból ESÁ-okkal kapott RLA mátrix (In |AB ).
Ha A-nak nincs balinverze, akkor az RLA mátrixban van v1 az n-dik oszloptól jobbra.
Állítás: Tfh A négyzetes mátrix. Ekkor (A-nak van balinverze) ⇐⇒ (A sorai lin.ftn-ek) ⇐⇒
̸ 0) ⇐⇒ (|A⊤ | =
(|A| = ̸ 0) ⇐⇒ (A oszlopai lin.ftn-ek) ⇐⇒ (A-nak van jobbinverze)
Def: Tetsz. A négyzetes mátrix esetén akkor A−1 = AB = AJ jelöli A inverzét (ha van).
Ha A-nak van inverze, akkor A reguláris (invertálható), ha A-nak nincs inverze, akkor A szinguláris.
Állítás: Tfh A ∈ Rn×n és a B mátrix i-dik sorának j-dik eleme az Aj,i előjeles aldetermináns
∀1 ≤ i ≤ n, ∀1 ≤ j ≤ n. Ekkor AB = |A|In .
Köv.: Ha A reguláris, akkor A−1 = |A|
1
B, ahol B az előző állításban definiált mátrix.
Def: Az A mátrix s(A) sorrangja (o(A) oszloprangja) az A lin.ftn sorainak (oszlopainak) max.
száma, d(A) determinánsrangja a legnagyobb reguláris négyzetes részmátrixa sorainak száma.
Megfigyelés: (1) o(A) = s(A⊤ ) ∀A, (2) s(A) ill. o(A) az A sorai ill. oszlopai által generált altér
dimenziója ∀A. (3) Ha A RLA, akkor s(A) = o(A) = v1-ek száma. (4) ESÁ során nem változtat
sem a sor-, sem az oszloprangon. (5) s(A) = o(A) ∀A.
Állítás: (s(A) ≥ k) ⇐⇒ (d(A) ≥ k) Köv.: s(A) = o(A) = d(A) ∀A.
Def: Az A mátrix rangja r(A) = s(A).
Rang meghatározása: Az A-ból ESÁ-okkal képzett (R)LA mátrix v1-ei száma.
Lemma: (1) Ha A, B ∈ Rn×k , akkor r(A + B) ≤ r(A) + r(B).
(2) Ha A ∈ Rn×k és B ∈ Rk×ℓ , akkor r(AB) ≤ min(r(A), r(B)).

Gyakorlatok ! !
4 5 1 7 2 −3
1. Határozzuk meg a 3 4 0 ill. 4 1 −7 mátrixok inverzét mindkét tanult módszer-
−2 1 6 6 2 7
rel. Hogyan lehet gyorsan eldönteni egy A ∈ Zn×n mátrixról, hogy van-e inverze, és ha van,
akkor azt, hogy igaz-e, hogy az inverz minden eleme egész szám?
   
4 5 2 1 4 5 15 −30 20
 3 4 1 0 1   1 0 −21 10 
2. Határozzuk meg a  −2 1 −8 6 4  ill.  −2 −8 p 2p − 8 
mátrixok rangját a ta-
1 0 3 0 3 2 9 3 p
nult módszerrel. Hogyan találjuk meg ezeknek a mátrixoknak egy lehető legnagyobb méretű
reguláris részmátrixát?
3. Tfh az AA⊤ és az A⊤ A mátrixok mindegyike reguláris. Bizonyítsuk be, hogy A is reguláris.
4. Tfh A, B ∈ Rn×n és |A| ̸= 0. Bizonyítsuk be, hogy vannak olyan C és D mátrixok, amikre
CA = B = AD teljesül. Igazoljuk azt is, hogy a fenti C és D mátrixok egyértelműek.
5. Tegyük fel, hogy a 10 × 9 méretű A mátrix első 7 oszlopa is és az első 6 sora is lin.ftn rendszert
alkot. Bizonyítsuk be, hogy kiválasztható A-nak egy sora és 7 oszlopa úgy, hogy az első 6 sor, a
kiválasztott sor, valamint a 7 kiválasztott oszlop által meghatározott részmátrix determinánsa
0-tól különböző legyen.
6. Legyen A ∈ R33×44 mátrix, amire |AA⊤ | = 42. Határozzuk meg az |A⊤ A| determináns értékét!
7. Bizonyítsuk be, hogy ha egy mátrix egy elemét megváltoztatjuk, akkor a mátrix rangja legfel-
jebb 1-gyel változik.
8. Tfh A ∈ R100×100 és r(A) = 24. Bizonyítsuk be, hogy megváltoztatható A-nak 18 eleme úgy,
hogy a kapott mátrix rangja 42 legyen.
9. Igaz-e, hogy minden pozitív rangú mátrixnak van olyan eleme, ami megváltoztatható úgy, hogy
csökkenjen a rang? Igaz-e, hogy minden olyan mátrixnak, aminek a rangja kisebb a sorai és
az oszlopai számánál is, van olyan eleme, amit ha megváltoztatunk, akkor növekszik a rang?

You might also like