50
ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 Szerkesztette: Balogh Tamás 2015. június 20. Ha hibát találsz, kérlek jelezd a [email protected] e-mail címen! Ez a Mű a Creative Commons Nevezd meg! - Ne add el! - Így add tovább! 3.0 Unported Licenc feltételeinek megfelelően szabadon felhasználható. 1

ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

Embed Size (px)

Citation preview

Page 1: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

ZÁRÓVIZSGA TÉTELKIDOLGOZÁS2015

Szerkesztette: Balogh Tamás

2015. június 20.

Ha hibát találsz, kérlek jelezd a [email protected] e-mail címen!

Ez a Mű a Creative Commons Nevezd meg! - Ne add el! - Így add tovább! 3.0 UnportedLicenc feltételeinek megfelelően szabadon felhasználható.

1

Page 2: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

ElőszóA kidolgozásban szereplő tételek teljességéért, hibamentességéért nem vállalok felelősséget.Ha egy új tétel elkészül, azzal automatikusan bővíteni fogom a dokumentumot, de biztosannem fog elkészülni az összes tétel. A tételek kidolgozása során felhasználtam a tantárgyak-hoz tartozó előadásdiákat, az előadók által írt könyveket, a saját jegyzeteimet, valamintaz internetet fellelhető anyagokat is. A Mesterséges Intelligencia tétel Dr. Gregorics Tibormunkája.

2

Page 3: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

Tartalomjegyzék

1. Függvények határértéke és folytonossága 61.1. Reláció és függvény . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2. Függvények határértéke . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3. Függvények folytonossága . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.4. Kompakt halmazon folytonos függvények tulajdonságai . . . . . . . . . . . 81.5. Hatványsorok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.6. Analitikus függvények . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2. Differenciál- és integrálszámítás 112.1. Differenciálszámítás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2. Függvényvizsgálat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.1. Előzetes vizsgálatok . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.2. Folytonosság . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.3. Monotonitás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.6. Szélsőérték . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.7. Konvexitás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3. Integrálszámítás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.3.4. Riemann-integrál . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.4. Differenciálegyenlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3. Numerikus módszerek 16

4. Számelmélet, gráfok, kódoláselmélet 174.1. Relációk, rendezések . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.2. Függvények és műveletek . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3. Számfogalom, komplex számok . . . . . . . . . . . . . . . . . . . . . . . . . 184.4. Leszámlálsok véges halmazokon . . . . . . . . . . . . . . . . . . . . . . . . 194.5. Számelméleti alapfogalmak, lineáris kongurencia-egyenletek . . . . . . . . . 194.6. Általános és síkgráfok, Euler- és Hamilton gráfok, gráfok adatszerkezetei . 204.7. Polinomok és műveleteik, maradékos osztás, Horner-séma . . . . . . . . . . 214.8. Betűnkénti kódolás, Shannon- és Huffman kód. Hibajavító kódok, kódtávol-

ság, lineáris kódok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

5. Valószinűségszámítási és statisztikai alapok 235.1. Diszkrét és folytonos valószínűségi változók . . . . . . . . . . . . . . . . . . 235.2. Statisztikai becslések . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.3. Statisztikai próbák . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.3.1. u-próbák . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.3.2. t-próbák . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

6. Mesterséges intelligencia 286.1. Útkeresési probléma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286.2. Állapottér reprezentáció . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286.3. Keresések . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

6.3.1. Lokális keresések . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296.3.2. Visszalépéses keresések . . . . . . . . . . . . . . . . . . . . . . . . . 296.3.3. Gráfkeresések . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3

Page 4: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

6.3.4. Kétszemélyes játékok . . . . . . . . . . . . . . . . . . . . . . . . . . 31

7. Programozás 327.1. Egyszerű programozási feladat megoldásának lépései . . . . . . . . . . . . . 32

7.1.1. Specifikáció . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327.1.2. Tervezés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327.1.3. Megvalósítás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327.1.4. Tesztelés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

7.2. Az adattípus fogalma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337.2.6. Szövegesen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

7.3. Visszavezetés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347.4. Felsoroló specifikációja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347.5. Felsorolóra megfogalmazott programozási tételek . . . . . . . . . . . . . . . 34

7.5.1. Összegzés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347.5.2. Számlálás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357.5.3. Maximum kiválasztás . . . . . . . . . . . . . . . . . . . . . . . . . . 357.5.4. Feltételes maximumkeresés . . . . . . . . . . . . . . . . . . . . . . . 367.5.5. Kiválasztás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367.5.6. Lineáris keresés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

7.6. Nevezets gyűjtemények . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377.6.1. Intervallum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377.6.2. Sorozat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377.6.3. Tömb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377.6.4. Szekvenciális fájl . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377.6.5. Halmaz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

8. Programfejlesztési modellek 39

9. Programok fordítása és végrehajtása 39

10.Programnyelvi alapok 39

11.Formális nyelvek 4011.1. Alapfogalmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4011.2. Formális nyelvtanok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4011.3. Nyelvtanok osztályozása . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

11.3.1. Jelölések . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4011.3.2. Chomsky-féle nyelvhierarchia . . . . . . . . . . . . . . . . . . . . . 41

11.4. Környezetfüggetlen nyelvek tulajdonságai és elemzésük . . . . . . . . . . . 4111.4.2. Elemzés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

11.5. Reguláris nyelvek tulajdonságai és alkalmazásai . . . . . . . . . . . . . . . 4111.5.5. Felhasználási területek . . . . . . . . . . . . . . . . . . . . . . . . . 42

11.6. Automaták . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

12.Logika és számításelmélet 44

13.Alapvető algoritmusok és adatszerkezetek 44

14.Haladó algoritmusok 44

4

Page 5: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

15.Operációs rendszerek 44

16.Számítógépes hálózatok és Internet eszközök 4416.1. Rétegek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4416.2. Fizikai réteg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

16.2.1. Feladata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4516.2.2. NRZ-L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4516.2.3. Manchester kód . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4516.2.4. Alapsáv és szélessáv . . . . . . . . . . . . . . . . . . . . . . . . . . 4516.2.5. Médiumok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

16.3. Adatkapcsolati réteg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4616.3.1. Feladata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4616.3.2. Keretezés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4616.3.3. Hibafelügyelet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4616.3.6. Folyamfelügyelet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4716.3.7. Médiumhozzáférés . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

16.4. Hálózati réteg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4816.4.1. Feladata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4816.4.2. Internet Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4816.4.3. Statikus routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4816.4.4. Dinamikus routing . . . . . . . . . . . . . . . . . . . . . . . . . . . 4916.4.5. DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

16.5. Szállítói réteg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4916.5.1. Feladata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4916.5.2. TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4916.5.3. UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

17.Osztott rendszerek 50

18.Adatbázisok tervezése és lekérdezése 50

19.Adatbázisok optimalizálása és konkurencia kezelése 50

20.Felhasznált irodalom 50

5

Page 6: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

1. Függvények határértéke és folytonosságaFüggvények határértéke, folytonossága. Kompakt halmazon folytonosfüggvények tulajdonságai: Heine-tétel, Weierstrass-tétel, Bolzano-tétel.A hatványsor fogalma, Cauchy-Hadamard-tétel, analitikus függvények.

1.1. Reláció és függvény1.1.1 Definíció. Legyen A és B két tetszőleges halmaz. Az A×B az A és a B halmazDescartes-szorzata, melynek elemei rendezett párok:

(a, b) := {{a}, {a, b}} (a ∈ A, b ∈ B).

Az A × B Descartes-szorzat bármely részhalmazát (bináris) relációnak nevezzük. Ha∅ 6= r ⊂ A× B és valamilyen a ∈ A, b ∈ B elemek esetén (a, b) ∈ r, akkor az a, b elemek(r−)relációban vannak. Az r értelmezési tartománya:

Dr := {x ∈ A : ∃ (x, y) ∈ r},

Az értékkészlete pedigRr := {y ∈ B : ∃ (x, y) ∈ r}.

1.1.2 Definíció. Legyenek ∅ 6= A,B halmazok, és f ⊂ A×B reláció. Tetszőleges x ∈ Aelemre legyen

fx := {y ∈ B : (x, y) ∈ f}.

Az f reláció függvény, ha tetszőleges x ∈ A választással az fx halmaz legfeljebb egy elemű.Ekkor tehát

∀x ∈ Df ∃! y ∈ Rf : (x, y) ∈ f.

1.2. Függvények határértékeAz f számsorozat, ha Df = N. Ekkor ∃ lim f és lim f = A ∈ K, ha ∀K(A) környezetesetén fn = f(n) ∈ K(A). A számsorozatok speciális f ∈ K1 → K2 függvények, a határ-érték kiterjeszthető tetszőleges f ∈ K1 → K2 függvényekre, ahol (egymástól függetlenül)K1,K2 = R, vagy C.

Legyen tehát f ∈ K1 → K2 és a ∈ D′f . Ekkor az f függvénynek az a helyen vanhatárértéke, ha ∃A ∈ K2, amelyre tetszőleges K(A) ⊂ K2 környezetet is véve megadhatóaz a-nak olyan k(a) ⊂ K1 környezete, amellyel

f [k(a) \ {a} ∩ Df ] ⊂ K(A)

teljesül, vagyisf(x) ∈ K(A) (a 6= x ∈ k(a) ∩ Df ).

1.2.1 Tétel. Tegyük fel, hogy az f ∈ K1 → K2 függvénynek az a ∈ D′f helyen vanhatárértéke. Ekkor ∃!A ∈ K2, amely eleget tesz a definíciónak, azaz

∀K(A) ⊂ K2 ∃ k(a) ⊂ K1 : f(x) ∈ K(A) (a 6= x ∈ k(a) ∩ Df ).

6

Page 7: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

1.2.2 Definíció (Függvényhatárérték fogalma). Tegyük fel, hogy f ∈ K1 → K2függvénynek az a ∈ D′f helyen létezik határértéke. A definícióban szereplő A ∈ K2 szám,vagy ”valamelyik végtelen” az f függvény a helyen vett határértéke. Jelölése:

limaf := lim

x→af(x) := A.

1.2.3 Tétel (Átviteli elv). Legyen f ∈ K1 → K2 függvény és a ∈ D′f .

∃ limaf = A⇔ ∀ (xn) : N→ Df \ {a}, lim(xn) = a sorozatra ∃ lim(f(xn)) = A.

Ha létezik az A := limaf , akkor az előbb említett ∀ (xn) sorozatra

lim(f(xn)) = A.

1.2.4 Tétel. Tegyük fel, hogy f, g ∈ K1 → K2, Df ∩ Dg 6= ∅, valamint az a ∈ (Df ∩ Dg)′torlódási pontban ∃A := lim

af, B := lim

ag határértékek. Tegyük fel továbbá, hogy

i, ∃A+B ∈ K2 összeg, és az f + g összegüggvénynek az a helyen van határértéke, és

lima

(f + g) = A+B,

ii, c ∈ K2 és ∃ cA ∈ K2 szorzat, és cf függvénynek az a helyen van határértéke, és

lima

(cf) = cA,

iii, ∃AB ∈ R2, és az fg szorzatfüggvénynek az a helyen van határértéke, és

lima

(fg) = AB,

iv, ∃A/B ∈ K2, és az f/g hányadosfüggvénynek az a helyen van határértéke, és

lima

f

g= A

B.

1.3. Függvények folytonossága1.3.1 Definíció. Az f ∈ K1 → K2 függvény az a ∈ Df pontban folytonos, ha

∀ ε > 0 ∃ δ > 0: |f(x)− f(a)| < ε (x ∈ Df , |x− a| < δ).

Jelöljük az a ∈ K1 pontban folytonos f ∈ K1 → K2 függvények halmazát a C{a} jelöléssel.

Speciálisan ha K1 = K2 = R, azaz az f ∈ R→ R, akkor

f(a)− ε < f(x) < f(a) + ε (x ∈ Df , a− δ < x < a+ δ).

1.3.2 Definíció. Az f ∈ K1 → K2 függvény folytonos, ha ∀ a ∈ Df esetén f ∈ C{a}. Afolytonos függvényeket jelöljük a következőképp: f ∈ C.

1.3.3 Megjegyzés. Legyen f ∈ K1 → K2, a ∈ Df és f /∈ C{a}. Ekkor az f függvénynekaz a helyen szakadása van.

7

Page 8: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

1.3.4 Tétel (Folytonosság és műveletek kapcsolata). Tegyük fel, hogy f, g ∈ C{a}.Ekkor

i, f + g ∈ C{a},

ii, fg ∈ C{a},

iii, ha g(a) 6=)0, akkor f/g ∈ C{a}.

1.3.5 Tétel (Átviteli elv). Legyen f ∈ K1 → K2, a ∈ Df . Ekkor

f ∈ C{a} ⇔ ∀ (xn) : N→ Df , lim (xn) = a : lim (f(xn)) = f(a).

1.3.6 Tétel. Legyen f, g ∈ K1 → K2, g ∈ C{a}, f ∈ C{g(a)}. Ekkor

f ◦ g ∈ C{a}.

1.4. Kompakt halmazon folytonos függvények tulajdonságai1.4.1 Definíció (Zárt halmaz). Az A ⊂ R halmaz zárt, ha A = ∅, vagy A 6= ∅, éstetszőleges konvergens (xn) : N→ A sorozatra a lim (xn) ∈ A.

1.4.2 Definíció. A ∅ 6= A ⊂ K halmaz felülről (alulról) korlátos, ha

∃ k ∈ R ∀x ∈ A : x ≤ k (x ≥ k).

Az A halmaz korlátos, ha alulról és felülről is korlátos.

1.4.3 Definíció. A ∅ 6= A ⊂ K halmaz kompakt, ha korlátos és zárt.

1.4.4 Tétel. A ∅ 6= A ⊂ K halmaz kompakt, akkor és csak akkor, ha ∀ (xn) : N → Asorozatnak ∃ (xvn) részsorozata, amely konvergens és lim (xvn) ∈ A.

1.4.5 Tétel. Ha az f ∈ K1 → K2 ∈ C, és a Df kompakt, akkor az Rf is kompakt.

1.4.6 Tétel (Weierstrass). Ha az f ∈ K → R ∈ C függvény értelmezési tartományakompakt, akkor az értékkészletének létezik legkisebb és legnagyobb eleme.

1.4.7 Definíció. Az f ∈ K1 → K2 függvény egyenletesen folytonos, ha

∀ ε > 0∃ δ > 0: |f(x)− f(t)| < ε (x, t ∈ Df , |x− t| < δ).

1.4.8 Tétel (Heine). Tegyük fel, hogy f ∈ K1 → K2 ∈ C, és Df kompakt. Ekkor az fegyenletesen folytonos.

1.4.9 Tétel (Bolzano). Tegyük fel, hogy valamilyen −∞ < a < b < +∞ esetén azf : [a, b]→ R ∈ C, és f(a) < 0 < f(b). Ekkor

∃ ξ ∈ (a, b) : f(ξ) = 0.

8

Page 9: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

1.5. HatványsorokA végtelen sorok egyik fontos osztálya a függvénysorok. Ezek értelmezéséhez nevezzünkegy (fn) sorozatot függvénysorozatnak, ha ∀ n ∈ N esetén fn függvény. Feltesszük, hogyvalamilyen D 6= ∅ halmazzal

Dfn = D (n ∈ N).Ha az (fn) függvénysorozatra még az is igaz, hogy Rfn ⊂ K (n ∈ N), azaz

fn : D → K (n ∈ N),

akkor van értelme az (fn) függvénysorozat által meghatározott ∑(fn) függvénysornak:

∑(fn) :=

(n∑k=0

fk

).

A ∑(fn) függvénysor tehát az

Fn :=n∑k=0

fk (n ∈ N)

részletösszeg-függvények által generált (Fn) függvénysorozat.Ha valamilyen t ∈ D esetén az (Fn(t)) sorozat konvergens (azaz a ∑(fn(t)) végtelen sor

konvergens), akkor a ∑(fn) függvénysor a t helyen konvergens. A

D0 := {t ∈ D : (Fn(t)) konvergens}

halmaz a ∑(fn) függvénysor konvergencia-tartománya. Ha D0 6= ∅, akkor az

F (t) := lim (Fn(t)) =∞∑n=0

fn(t) (t ∈ D0)

függvény a ∑(fn) függvénysor összegfüggvénye. Az a ∈ K középpont és az (an) : N→ Kegyüttható-sorozat segítségével tekintsük a következő függvényeket:

fn(t) := an(t− a)n (t ∈ D := K, n ∈ N).

Ekkor a ∑(fn) függvénysor (a középpontú, (an) együtthatós) hatványsor.

1.5.1 Tétel (Cauchy-Hadamard). Tegyük fel, hogy az (an) : N → K olyan sorozat,amelyre ∃ lim ( n

√|an|), és legyen

r :=

+∞ (lim ( n

√|an|) = 0)

1lim ( n√|an|)

(lim ( n

√|an|) > 0).

Ekkor bármely a ∈ K mellet a ∑(an(t− a)n) hatványsorra:

1. ha r > 0, akkor ∀x ∈ K, |x− a| < r : ∑(an(t− a)n) hatványsor az x helyen abszolútkonvergens,

2. har < +∞, akkor ∀x ∈ K, |x − a| > r : ∑(an(t − a)n) hatványsor az x helyendivergens.

Tekintsük a ∑(an(t − a)n) hatványsort. Ekkor az 1.5.1. tételben szereplő r szám ahatványsor konvergencia-sugara.

9

Page 10: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

1.6. Analitikus függvényekTegyük fel, hogy a ∑(an(t − a)n) hatványsor r konvergencia-sugara nem nulla. Ekkorértelmezhetjük az

f(x) :=∞∑n=0

an(x− a)n (x ∈ Kr(a))

függvényt, ami nem más mint a ∑(an(t− a)n) függvénysor

F (x) :=∞∑n=0

an(x− a)n (x ∈ D0)

összegfüggvényének a leszűkítése a Kr(a) környezetre:

f = F∣∣∣Kr(a)

.

Az ilyen jellegű függvényt analitikus függvénynek nevezzük. Legyen

expx := exp(x) := ex :=∞∑n=0

xn

n! (x ∈ K),

sin x := sin(x) :=∞∑n=0

(−1)n x2n+1

(2n+ 1)! (x ∈ K),

cosx := cos(x) :=∞∑n=0

(−1)n x2n

(2n)! (x ∈ K),

sh x := sh(x) :=∞∑n=0

x2n+1

(2n+ 1)! (x ∈ K),

ch x := ch(x) :=∞∑n=0

x2n

(2n)! (x ∈ K)

az exponenciális-, a szinus-, a koszinusz-, a szinuszhipebolikusz-, és a koszinuszhiperbolikusz-függvény.

10

Page 11: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

2. Differenciál- és integrálszámításJacobi-mátrix, gradiens, parciális derivált. Szélsőérték, függvényvizsgá-lat, Riemann-integrál, parciális integrálás, integrálás helyettesítéssel.Newton-Leibniz-formula. A kezdeti érték probléma. Lineáris, ill. maga-sabb rendű lineáris differenciálegyenletek.

2.1. Differenciálszámítás2.1.1 Definíció. Legyen f ∈ R→ R, a ∈ intDf . Ekkor f differenciálható az a pontban(f ∈ D{a}), ha ∃A ∈ R,∃ η ∈ R→ R :

f(x)− f(a) = A(x− a) + η(x)(x− a) (x ∈ Df )

és limaη = 0.

2.1.2 Definíció (Parciális derivált). Legyen f(x1, x2, . . . , xn) : Rn → R. f parciálisandifferenciálható x1 szerint a Df egy rögzített (u2, . . . , un) pontjában, ha

f(x1, u2, . . . , un) ∈ D{x1}.

Az előbbi parciális függvény x1-beli deriváltját az f x1 szerinti parciális deriváltjánaknevezzük. Jelölése: ∂1f, ∂2f, . . . , ∂nf vagy ∂xf, . . .

2.1.3 Példa.

f(x, y) = x2 − 5xy∂xf = 2x− 5y∂yf = −5x

2.1.4 Definíció (Gradiens). f(x1, . . . , xn) gradiense adott (u1, . . . , un) pontban:

grad f = 5f = (∂1f, . . . , ∂nf).

Azaz a gradiens a függvények deriválásának általánosítása többváltozós függvényekre,amelynek eredménye egy vektormező, ami azt mutatja, hogy változik a függvény, ésmegadja a skalármező legnagyobb megváltozásának irányát is.

2.1.5 Tétel (Jacobi mátrix). f : Rn → Rm, a ∈ intDf , f ∈ D(a), f =

f1...fm

, ahol

fi ∈ Rn → R koordináta függvények. Ekkor

f ′(a) =

δ1f1(a), δ2f1(a), . . . , δnf1(a)δ1f2(a), δ2f2(a), . . . , δnf2(a)

...δ1fm(a), δ2fm(a), . . . , δnfm(a)

∈ Rm×n

11

Page 12: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

2.1.6 Definíció (Lokális szélsőérték). Legyen f ∈ R → R, a ∈ intDf . f -nek az ahelyen lokális maximuma (minimuma) van, ha

∃ k(a) : ∀ x ∈ k(a) : f(x) ≤ f(a) (f(x) ≥ f(a)).

Ha f -nek az a-ban lokális maximuma, vagy lokális minimuma van, akkor lokális szélsőértékevan a-ban.

2.1.7 Tétel (Elsőrendű szükséges feltétel). Legyen f ∈ R→ R, a ∈ intDf ,f ∈ D{a}. Ha f -nek lokális szélsőértéke van a-ban, akkor f ′(a) = 0

2.1.8 Tétel (Elsőrendű elégséges feltétel). Tegyük fel, hogy f ∈ R→ R, a ∈ intDf , f ∈D és f -nek a-ban lokális szélsőértéke van. Ekkor, ha

1. az f ′ deriváltfüggvénynek az a-ban (+,−) jelváltása van, akkor az f-nek az a-banlokális maximuma van,

2. az f ′ deriváltfüggvénynek az a-ban (−,+) jelváltása van, akkor az f-nek az a-banlokális minimuma van.

2.1.9 Definíció (Globális szélsőérték). Legyen f ∈ R→ R, a ∈ intDf . f -nek a-banglobális maximuma (minimuma) van, ha

∀x ∈ Df : f(x) ≤ f(a) (f(x) ≥ f(a)).

2.2. Függvényvizsgálat2.2.1. Előzetes vizsgálatok• Páros vagy páratlan? (f(x) = f(−x) vagy −f(x) = f(−x))

• Periodikus-e? (∃ p > 0: ∀x ∈ Df : x± p ∈ Df és f(x± p) = f(x)).

2.2.2. Folytonosság• Folytonos-e a függvény? (∀ ε > 0 ∃ δ > 0: |f(x− f(a)| < ε (|x− a| < δ))

• Van-e szakadása? (∃ a ∈ Df : f /∈ C{a})

2.2.3. Monotonitás2.2.4 Tétel. Tegyük fel, hogy f ∈ R→ R, Df nyílt intervallum, f ∈ D. Ekkor

• f monoton növő ⇔ f ′ ≥ 0,

• f monoton fogyó ⇔ f ′ ≤ 0.

2.2.5 Tétel. Tegyük fel, hogy f ∈ R→ R, Df nyílt intervallum, f ∈ D. Ekkor

• f szigorúan monoton növő ⇔ f ′(x) ≥ 0 (x ∈ Df ), ∀ I ⊂ Df nyílt interallumra:

∃ t ∈ I : f ′(t) > 0,

• f szigorúan monoton fogyó ⇔ f ′(x) ≤ 0 (x ∈ Df ), ∀ I ⊂ Df nyílt interallumra:

∃ t ∈ I : f ′(t) < 0.

12

Page 13: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

2.2.6. SzélsőértékA tétel korábbi részében szó esik róla.2.2.7. Konvexitás2.2.8 Definíció. Legyen I ⊂ R intervallum, f : I → R. Ekkor az f függvénykonvex, ha

∀ a, b ∈ I, ∀λ ∈ [0, 1] : f(λa+ (1− λ)b) ≤ λf(a) + (1− λ)f(b).

konkáv, ha

∀a, b ∈ I ∀λ ∈ [0, 1] : f(λa+ (1− λ)b) ≥ λf(a) + (1− λ)f(b).

2.2.9 Tétel. Tegyük fel, hogy az f ∈ R→ R, f ∈ D. Ekkor

• f konvex ⇔ f ′ monoton nő,

• f konkáv ⇔ f ′ monoton fogy.

Ha f ∈ D2, akkor

• f konvex ⇔ f ′′ ≥ 0,

• f konkáv ⇔ f ′′ ≤ 0.

2.2.10 Definíció (Inflexiós pont). Legyen f ∈ R → R, a ∈ intDf , f ∈ D{a}. Haf − eaf függvény jelet vált a-ban, ahol eaf az f függvény a-beli érintője, akkor az ffüggvénynek az a helyen inflexiója van.

2.3. Integrálszámítás2.3.1 Definíció (Primitív függvény). Legyen I ⊂ R nyílt intervallum, f : I → R. Aztmondjuk, hogy az F : I → R függvény primitív függvénye f -nek, ha F ∈ D, és F ′ = f .

2.3.2 Definíció (Határozatlan integrál). Legyen I ⊂ R nyílt intervallum,f : I → R, F : I → R, F ∈ D, F ′ = f . Ekkor legyen∫

f :=∫f(x)dx := {F : I → R : F ∈ D,F ′ = f}

az f határozatlan integrálja.

2.3.3 Tétel (Parciális integrálás). Tegyük fel, hogy I ⊂ R nyílt intervallum, f, g : I →R, f, g ∈ D,

∫f ′g 6= ∅. Ekkor

∫fg′ 6= ∅, és

∀F ∈∫f ′g :

∫fg′ = {fg − F + c : c ∈ R}.

13

Page 14: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

2.3.4. Riemann-integrálA Riemann-integrál célja az integrálandó (f(x)) függvény-görbe alatti területének megha-tározása egy adott [a, b] intervallumon, ahol a az integrál alsó határa, b az integrál felsőhatára. Ehhez az [a, b]-t részintervallumokra kell osztani:

τ ⊂ [a, b], a, b ∈ τ és τ = {x0, x1, . . . , xn} (n ∈ N), x0 = a < x1 < . . . < xn = b.

Legyenmi = mi(f) := inf{f(x) : xi ≤ x ≤ xi+1} (i = 0, . . . , n− 1),

Mi = Mi(f) := sup{f(x) : xi ≤ x ≤ xi+1} (i = 0, . . . , n− 1).

Ekkors(f, τ) :=

n−1∑i=0

mi(xi+1 − xi)

az f függvénynek a τ felosztáshoz tartozó alsó összege,

S(f, τ) :=n−1∑i=0

Mi(xi+1 − xi)

az f függvények a τ felosztáshoz tartozó felső összege.A Darboux-féle asó integrál a τ felosztáshoz tartozó alsó összeg szuprémuma:

I∗ = sup s(f, τ),

A Darboux-féle felső integrál a τ felosztáshoz tartozó felső összeg infimuma:

I∗ = inf S(f, τ).

2.3.5 Definíció (Riemann-integrál). Legyen a, b ∈ R, a < b, [a, b] korlátos, zárt in-tervallum, f : [a, b] → R korlátos függvény. Az f függvény Riemann-integrálható, haI∗(f) = I∗(f). Ekkor az ∫ b

af :=

∫ b

af(x)dx := I∗(f) = I∗(f)

szám az f függvény Riemann-integrálja.

2.3.6 Definíció (Integrálás helyettesítéssel). Legyen I ⊂ R, g : [a, b]→ I,f : I → R, f ∈ C. Ekkor ∫ g(b)

g(a)f(x)dx =

∫ b

af(g(t))g′(t)dt.

2.3.7 Tétel (Newton-Leibniz-formula). Tegyük fel, hogy [a, b] korlátos zárt interval-lum, f : [a, b]→ R, f ∈ R[a, b],∃F : [a, b]→ R : F ∈ D, F ′ = f . Ekkor

∀F :∫ b

af = F (b)− F (a).

14

Page 15: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

2.4. DifferenciálegyenletA differenciálegyenlet olyan egyenlet, amelyben az ismeretlen kifejezés egy differenciálhatófüggvény (f), és az egyenlet az f és f ′ függvény között teremt kapcsolatot.

2.4.1 Definíció (Differenciálegyenlet). D ⊂ Rn+1 tartomány, f : D → Rn folytonos.Az x′(t) = f(t, x(t)) egyenletet elsőrendű explicit differenciálegyenletnek nevezzük, aholx : I → Rn folytonosan differenciálható, I ⊂ R nyílt intervallum, és (t, x(t)) ∈ D ∀ t ∈ I.

2.4.2 Definíció (Kezdeti érték probléma). D ⊂ Rn+1 tartomány, f : D → Rn folyto-nos, (τ, ξ) ∈ D, τ ∈ R, ξ ∈ Rn. Az x′(t) = f(t, x(t)) x(τ) = ξ feladatot kezdeti értékproblémának nevezzük.

2.4.3 Definíció (Elsőrendű lineáris differenciálegyenlet). I ⊂ R nyílt intervallum,f, g : I → R folytonos. Az x′ + fx = g differenciálegyenletet elsőrendű lineáris differenciál-egyenletnek nevezzük.

2.4.4 Definíció (Magasabb rendű differenciálegyenlet). D ⊂ Rn+1 tartomány, h : D →R folytonos. Az

y(n)(t) = h(t, y(t), y′(t), . . . , y(n−1)(t))

feladatot n-ed rendű differenciálegyenletnek nevezzük.Jel: y(n) = h ◦ (id, y, y′, . . . , y(n−1)).

15

Page 16: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

3. Numerikus módszerekIterációs módszerek: Lineáris egyenletrendszerekre és nemlineáris egyen-letekre. Interpoláció: Lagrange,-Hermite-Spline interpoláció. Legkisebbnégyzetek módszere

16

Page 17: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

4. Számelmélet, gráfok, kódoláselméletRelációk, rendezések. Függvények és műveletek. Számfogalom, komplexszámok. Leszámlálások véges halmazokon. Számelméleti alapfogalmak,lineáris kongurencia-egyenletek. Általános és síkgráfok, fák, Euler- ésHamilton-gráfok, gráfok adatszerkezetei. Polinomok és műveleteik, mara-dékos osztás, Horner-séma. Betűnkénti kódolás, Shannon- és Huffmankód.Hibajavító kódok, kódtávolság. Lineáris kódok.

4.1. Relációk, rendezések4.1.1 Definíció. A,B tetszőleges halmaz, az A×B = {(a, b) | a ∈ A∧ b ∈ B} az A és Bhalmaz Descartes-szorzata. Az R ⊆ A×B halmaz binér reláció. Ha A = B, akkor R egyA-beli binér reláció (homogén binér reláció).

4.1.2 Definíció. Legyen R egy X-beli binér reláció. Az R

1. tranzitív, ha ∀ x, y, z : ((x, y) ∈ R ∧ (y, z) ∈ R)⇒ (x, z) ∈ R.

2. szimmetrikus, ha ∀ x, y : (x, y) ∈ R⇒ (y, x) ∈ R.

3. antiszimmetrikus, ha ∀ x, y : ((x, y) ∈ R ∧ (y, x) ∈ R)⇒ x = y.

4. szigorúan antiszimmetrikus, ha ∀ x, y : (x, y) ∈ R⇒ (y, x) /∈ R.

5. reflexív, ha ∀ x ∈ X : (x, x) ∈ R.

6. irreflexív, ha ∀ x ∈ X : (x, x) /∈ R.

7. trichotom, ha ∀ x, y ∈ X esetén x = y, (x, y) ∈ R, (y, x) ∈ R közül pontosan egyteljesül.

8. dichotom, ha ∀ x, y ∈ X esetén (x, y) ∈ R vagy (y, x) ∈ R (esetleg mindkettő).

Az első négy tulajdonság csak R-től, míg az utolsó négy X-től is függ.

4.1.3 Definíció. Legyen X egy halmaz. Az X-beli binér reláció

• Ekvivalenciareláció, ha tranzitív, szimmetrikus, reflexív,

• Részbenrendezés, ha tranzitív, antiszimmetrikus, reflexív,

• Teljes rendezés, ha tranzitív, antiszimmetrikus, reflexív, dichotom.

4.2. Függvények és műveletek4.2.1 Definíció. Az f reláció függvény, ha (x, y) ∈ f ∧ (x, y′) ∈ f ⇒ y = y′.

4.2.2 Állítás. Az f : X → Y függvény injektív, ha

(x, y) ∈ f ∧ (x′, y) ∈ f ⇒ x = x′.

Az f függvény szürjektív, ha egész Y -ra képez, ha pedig injektív és szürjektív is, akkorbijektívnek nevezzük.

17

Page 18: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

4.2.3 Definíció. Legyen X egy halmaz. Egy X-beli binér művelet egy ∗ : X ×X → Xleképezés, X-beli unér művelet egy ∗ : X → X leképezés, nullér művelet pedig ∗ : {∅} → Xleképezés, ami X egy elemének a kijelölését jelenti.4.2.4 Definíció. Legyen ∗ binér művelet az X, és ∗′ binér művelet az X ′ halmazon. Egyϕ : X → X ′ leképezés művelettartó, ha

∀ x, y ∈ X : ϕ(x ∗ y) = ϕ(x) ∗′ ϕ(y).

4.3. Számfogalom, komplex számok4.3.1 Definíció (Semleges elem). Legyen G tetszőleges halmaz, ∗ tetszőleges műveleta G-n. G egy s eleme bal, illetve jobb oldali semleges elem, ha s ∗ g = g és g ∗ s = g. Haegy elem bal és jobb oldali semleges elem is, akkor semleges elem.4.3.2 Definíció (Inverz). Legyen G tetszőleges halmaz, ∗ tetszőleges művelet a G-n. ssemleges eleme G-nek, és g, g∗ ∈ G. Ha g ∗ g∗ = s akkor g a g∗ balinverze, g∗ pedig a gjobbinverze. Ha g∗ a g bal és jobbinverze is, akkor a g inverze.4.3.3 Definíció. G halmaz, ∗ : G×G→ G. Ekkor a (G, ∗) gruopoid. Ha

1. ∀x, y, z ∈ G : (x ∗ y) ∗ z = x ∗ (y ∗ z), akkor G félcsoport,

2. G félcsoport, és létezik semleges eleme, akkor G monoid,

3. G monoid, és ∀ g ∈ G : ∃ g∗ (inverz), akkor G csoport,

4. G csoport, és a ∗ kommutatív, akkor G Abel-csoport.4.3.4 Definíció. (G,+, ∗) gyűrű, ha (G,+) Abel-csoport, (G, ∗) félcsoport, és teljesülmindkét oldali diszributivitás.4.3.5 Definíció. A kommutatív, nullosztómentes (azaz nincs két olyan nullától különbözőeleme, amelynek szorzata 0-t adna) gyűrűt integritási tartomány-nak nevezzük.

Ha R rendezett, integritási tartomány, ésx, y, z ∈ R és x ≤ y ⇒ x+ z ≤ y + z

x, y ∈ R és x, y ≥ 0⇒ x · y ≥ 0,akkor rendezett integritási tartomány-nak nevezzük.4.3.6 Definíció. A G gyűrű test, ha (G \ {0}, ∗) Abel-csoport.4.3.7 Definíció. A valós számok halmaza egy felsőhatár tulajdonságú rendezett test.4.3.8 Definíció. A komplex számok halmaza C = R×R, azaz a valós számpárok halmazaaz

(x, y) + (x′, y′) = (x+ x′, y + y′)(x, y) · (x′, y′) = (xx′ − y′y, y′x+ yx′)

műveletekkel.Az (x, y) komplex szám algebrai alakja: x + iy. A z = |z|(cos t + i · sin t) pedig a z

komplex szám trigonometrikus alakja, ahol t ∈ R.4.3.9 Tétel (Algebra alaptétele). Ha n ∈ N+, valamint c0, c1, . . . , cn komplex számok,cn 6= 0, akkor

∃ z ∈ C :n∑k=0

ckzk = 0.

18

Page 19: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

4.4. Leszámlálsok véges halmazokon4.4.1 Definíció. Egy X halmaz önmagára való kölcsönösen egyértelmű leképezései az Xpermutációi. A permutációk száma n = |X|-től függ.

Pn =n∏k=1

k.

4.4.2 Definíció. Az A halmaz elemeiből készíthető, különböző tagokból álló a1, a2, . . . , aksorozatokat, azaz {1, 2, . . . , k} A-ba képező kölcsönösen egyértelmű leképezések az A k-adosztályú variációi. ha A véges, ]A = n, akkor a variációk száma:

V kn = n!

(n− k)! .

Ha az ai tagok nem feltétlen különböznek, akkor ismétléses variáció-ról beszélünk, melyekszáma:

iV kn = nk.

4.4.3 Definíció. Az A halmaz k ∈ N elemű részhalmazai az A k-ad osztályú kombinációi.Ha A véges, ]A = n, akkor a számuk:

Ckn = n!

k!(n− k)! =(n

k

).

Az f : A→ N : ∑a∈A f(a) = k függvények az A k-ad osztályú ismétléses kombinációi.Ezek száma A elemeinek számától függ. Legyen ]A = n, ekkor:

iCkn =

(n+ k − 1

k

).

4.4.4 Definíció. Az a1, a2, . . . , ar különböző elemek i1, i2, . . . , ir ismétlődésű ismétlésespermutációi az olyan n = i1 + i2 + . . .+ ir tagú sorozatok, amelyekben az aj elem ij-szerfordul elő. Számuk

P i1,...irn = n!

i1!i2! · · · ir!.

4.4.5 Tétel (Binomiális tétel). Legyen R kommutatív, egységelemes gyűrű,x, y ∈ R, n ∈ N. Ekkor

(x+ y)n =n∑k=0

(n

k

)xkyn−k.

4.5. Számelméleti alapfogalmak, lineáris kongurencia-egyenletek4.5.1 Definíció. Az m ∈ N az n ∈ N osztó-ja, az n pedig az m többszöröse, ha

∃ k ∈ N : n = mk.

4.5.2 Definíció. 1 < n ∈ N csak 1 · n = n · 1 alakban írható fel, akkor irreducibilis elem.

4.5.3 Definíció. 1 < p ∈ N szám prím, ha p|ab esetén p|a ∨ p|b.

19

Page 20: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

4.5.4 Definíció. R egységelemes integritási tartomány, a, b ∈ R, a és b asszociáltak ha

a|b ∧ b|a.

4.5.5 Definíció. Egy elem asszociáltjaitól különböző osztói az elem valódi osztói.

4.5.6 Definíció. R egységelemes integritási tartomány, a1, a2, . . . an ∈ R elemek legna-gyobb közös osztója a b ∈ R, ha i = 1, 2, . . . , n esetén b|ai, és ha i = 1, 2, . . . n esetén b′|aiakkor b′|b.

4.5.7 Definíció. R egységelemes integritási tartomány, a1, a2, . . . an ∈ R elemek legkisebbközös többszöröse a b ∈ R, ha i = 1, 2, . . . , n esetén ai|b, és ha i = 1, 2, . . . n esetén ai|b′akkor b|b′.

4.5.8 Definíció. a, b,m ∈ Z, a kongurens b modulo m, ha m|a− b.Jelölése: a ≡ b (mod m).

4.5.9 Állítás. 1 < m, a, b ∈ Z adott. Keressük az ax ≡ b (mod m) megoldásait. Megold-hatóság: kínai maradéktétel.

4.6. Általános és síkgráfok, Euler- és Hamilton gráfok, gráfokadatszerkezetei

4.6.1 Definíció. Az Irányítatlan gráf egy G = (ϕ,E, V ) hármas, ahol V a csúcsokhalmaza, E az élek halmaza, ϕ pedig egy E-t a V -beli elemekből álló rendezetlen párokhalmazába képező leképezés. Ha valamely e ∈ E, v ∈ V : v ∈ ϕ(e), akkor e illeszkedik v-re.

4.6.2 Definíció. Egy gráf véges, ha E és V véges halmazok. d(v) a v csúcs fokszáma,vagyis a rá illeszkedő élek száma, a csúcsra illeszkedő hurokéleket kétszer számolva. Végesgráf esetén ∑

v∈Vd(v) = 2|E|.

4.6.3 Definíció. Ha a gráfban minden csúcs fokszáma n, akkor n-reguláris gráf nak hívjuk.Például a Petersen-gráf.

4.6.4 Definíció. A G = (ϕ,E, V és a G′ = (ϕ′, E ′, V ′) gráfok izomorf ak, ha

∃ f : E → E ′ ∧ g : V → V ′

bijektív leképezés, hogy

∀ e ∈ E, v ∈ V : v ∈ ϕ(e)⇔ g(v) ∈ ϕ(f(e)).

4.6.5 Definíció. Legyen G = (ϕ,E, V ) gráf, Egy G-beli n hosszú séta v-ből v′-be egy

v0, e1, v1, e2, . . . vn−1, en, vn

véges sorozat, amelyre ei a vi−1 és vi csúcsra illeszkedő él, és v0 = v, vn = v′.Ha v = v′ akkor a séta zárt, különben nyílt.Ha a sétában szereplő élek mind különböznek, akkor a séta vonal.Ha a vonal zárt séta, akkor zárt vonal, különben nyílt vonal.Egy séta út, ha v0, v1, . . . vn csúcsok különböznek.A legalább egy hosszú zárt vonalat körnek nevezzük, ha kezdő és végpontjai megegyeznek,

de egyébként a vonal pontjai különböznek.

20

Page 21: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

4.6.6 Definíció. Egy gráf összefüggő, ha bármely két csúcsa összeköthető sétával.

4.6.7 Definíció. Egy gráf fa, ha összefüggő és nincs köre.

4.6.8 Definíció. Egy gráf erdő, ha körmentes.

4.6.9 Definíció. Az Euler-vonal egy v-ből v′-be vezető vonal, amelyben a gráf mindenéle szerepel.

4.6.10 Állítás. Egy összefüggő véges gráfban pontosan akkor létezik zárt Euler-vonal, haminden csúcs páros fokú. Ha véges összefüggő gráf 2s páratan fokú csúcsot tartalmaz, ahols ∈ N+, akkor a gráf s darab páronként éldiszjunkt nyílt vonal egyesítése.

4.6.11 Definíció. A Hamilton-út egy olyan v-ből v′-be vezető út amelyben a gráf mindenpontja pontosan egyszer szerepel. A Hamilton-kör olyan kör, amelyben a gráf mindencsúcsa szerepel.

4.6.12 Definíció. A G = (ϕ,E, V, ce, Ce, cv, Cv) hetes címkézett gráf, ahol Ce, Cv azélcímkék és csúcscimkék halmaza, a ce : E → Ce, és cv : V → Cv leképezések az élcímkézés,illetve csúcscímkézés.

4.6.13 Definíció. A G = (ψ,E, V ) hármas irányított gráf, ahol E az élek halmaza, V acsúcsok halmaza, ψ : E → V × V leképezés. A csúcs kifoka a belőle induló élek száma,befoka pedig azon élek száma, amelyeknek az adott cúcs a végpontja.

4.7. Polinomok és műveleteik, maradékos osztás, Horner-séma4.7.1 Definíció. R gyűrű. A

n∑i=0

fixi, n ∈ N, fi ∈ R

véges összegeket egyhatározatlanú polinomnak nevezzük.Az f = (f0, f1, . . .) és g = (g0, g1, . . .) R-beli végtelen sorozatok. Ekkor az

f + g = (f0 + g0, f1 + g1, . . .)

a két sorozat összege, és az

f · g = h = (h0, h1, . . .) ahol hk =∑i+j=k

figj

a két sorozat szorzata. Így gyűrűt kapunk.Tehát R feletti egyhatározatlanú polinomokon olyan R-beli f = (f0, f1, . . .) sorozatokat

értünk, amelyeknek csak véges sok tagja nem nulla. Az

f = f0 + f1x1 + f2x

2 + . . .+ fnxn ∈ R[x] (fn 6= 0)

alakú polinom főegyütthatója fn, foka: n, ahol R[x] az R feletti egyhatározatlanú polino-mok gyűrűje.

4.7.2 Tétel (Maradékos osztás). R egységelemes integritási tartomány, f, g ∈ R[x],g 6= 0, és tegyük fel, hogy g főegyütthatója egység R-ben. Ekkor

∃! q, r ∈ R[x] : f = gq + r (deg(r) < deg(g)).

4.7.3 Megjegyzés (Horner-elrendezés). A maradékos osztás tételét alkalmazva az fés a g = x− c polinomra azt kapjuk, hogy f = (x− c)q + r, ahol r konstans, értéke f(c).Így n− 1 szorzással és ugyanannyi összeadással megkaphatjuk f(c)-t.

21

Page 22: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

4.8. Betűnkénti kódolás, Shannon- és Huffman kód. Hibajavítókódok, kódtávolság, lineáris kódok

A kódolás a legáltalánsoabb értelemben az üzenetek halmazának egy másik halmazba valóleképezését jelenti.

4.8.1 Definíció (Betűnkénti kódolás). A,B ábécé, ϕ : A → B∗ leképezés, amelyettermészetes módon terjesztünk ki ψ : A∗ → B∗ leképezéssé. Ha a1a2 . . . an = α ∈ A∗, akkorα kódja ψ(α) = ϕ(a1)ϕ(a2) . . . ϕ(an). Ha ϕ nem injektív, akkor a a kód nem felbontható.

4.8.2 Definíció. Legyen A = {a1, . . . an} a kódolandó ábécé, p1, . . . pn a betűk eloszlása,ϕ : A → B+ egy betűnkénti kódolás, li az ai kódjának hossza. Ekkor a kód átlagosszóhosszúsága:

l =n∑i=1

pili.

Ha adott elemszámú ábécével és eloszlással egy felbontható betűnkénti kód átlagosszóhosszúsága minimális, akkor optimális kódnak nevezzük.

4.8.3 Tétel (Shannon tétele zajmentes csatornára). Legyen B elemeinek száma r.Ha a betűnkénti kódolás felbontható, akkor

Hr(p1, . . . pn) ≤ l,

ahol Hr az eloszlás entrópiája.

4.8.4 Tétel (Shannon-kód létezése). n > 1 esetén van olyan prefix kód, amelyre

l < Hr(p1, . . . pn) + 1.

4.8.5 Tétel (Huffman-kód). A Huffman-kód optimális kódot ad. Ehhez rendezzük akódolandó ábécé elemeit relatív gyakoriságuk sorrendjében, majd osszuk el n−2-t r−1-el, éslegyen m a maradék +2. Első lépésben az utolsó m elemet vonjuk össze, az összevont elemgyakorisága legyen az összevont elemek gyakoriságának összege. Rendezzük újra a redukáltábécét, és ismételjük a lépést, de az utolsó r elemet vonjuk össze. Ismételjük ezt addigamíg már csak r elem van. Ezeket a kódoló ábécé elemeivel kódoljuk, majd a redukciónakmegfelelően visszafelé haladva, az ott összevont betűk kódját az összevonásként kapott betűmár meglévő kódjának a kódoló ábécé különböző betűivel való kiegészítésével kapjuk.

4.8.6 Definíció. u, v két egyforma hosszú szó Hamming-távolsága (d(u, v)) az azonospozícióban lévő különböző jegyek száma, és a kód távolsága (d(C)) a különböző kódszópároktávolságainak minimuma, ahol C a kódszavak halmaza.

4.8.7 Definíció. Egy kód t-hibajavító, ha minden esetben helyesen javít, amikor egyelküldött kódszó legfeljebb t helyen változik meg. A kód pontosan t-hibajavító, ha t-hibajavító, de nem t+ 1-hibajavító.

4.8.8 Definíció (Lineáris kód). Ha K véges test, akkor a K elemeiből alkotott rende-zett n-esek a komponensenkénti összeadással, valamint az n-es minden elemének ugyanazzalaz elemmel való szorzásával egy K feletti n-dimenziós Kn lineáris teret alkotnak. Ennekbármely altere lineáris kód.

Például: CRC (hibajelzés), Hamming-kód (egyetlen hiba javítása.

22

Page 23: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

5. Valószinűségszámítási és statisztikai alapokDiszkrét és folytonos valószínűségi változok, nagy számok törvénye, cent-rális határeloszlás tétel. Statisztikai becslések, klasszikus statisztikaipróbák

5.1. Diszkrét és folytonos valószínűségi változók5.1.1 Definíció (Valószínűségi változó). A valószínűségi változó egy eseménytér ele-meihez valós számokat rendelő X : Q→ R függvény.

5.1.2 Definíció (Diszkrét valószínűségi változó). Az X valószínűségi változó diszk-rét, ha lehetséges értékeinek száma véges. X(Q)-val jelöljük.

5.1.3 Definíció (Diszkrét valószínűségeloszlás). Az X változó eloszlása a

p : X(Q)→ R, pi = P (X = xi)

függvény.

5.1.4 Tétel (Tulajdonságai). Az X változó diszkrét valószínűségeloszlására igaz, hogy

• pi ≥ 0 (∀ i ∈ [1 . . . n]),

• ∑ni=1 pi = 1.

5.1.5 Definíció (Diszkrét eloszlásfüggvény). AzX változó diszkrét eloszlásfüggvényeaz

F (x) =∑xi<x

pi

függvény.

5.1.6 Definíció (Várható érték). X valószínűségi változó várható értéke

E(X) =n∑i=1

xipi.

5.1.7 Definíció (Szórásnégyzet, szórás). Az X valószínűségi változó szórásnégyzeteaz (x−m)2 változó várható értéke:

D2(X) =n∑i=1

(xi −m)2pi ahol m = E(X).

A szórásnégyzet gyöke a szórás (D(X)).

5.1.8 Tétel (Várható érték és szórásnégyzet tulajdonságai). X, Y valószínűségi vál-tozók, a, b ∈ R. Ekkor

• E(aX + b) = aE(X) + b,

• E(aX + bY ) = aE(X) + bE(Y ),

• D2(aX + b) = a2D2(X).

23

Page 24: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

5.1.9 Tétel (Tulajdonságok független valószínűségi változókkal). X, Y függetlenvalószínűségi váltózok. Ekkor

• E(X · Y ) = E(X) · E(Y ),

• D2(X + Y ) = D2(X) +D2(Y ).

5.1.10 Definíció (Együttes eloszlás). Legyen X, Y valószínűségi változó. Ekkor a

p : X(Q)× Y (Q)→ R, pij = P (X = xi, Y = yi)

függvény az X és Y együttes eloszlása.

5.1.11 Definíció (Együttes várható érték). Az X, Y valószínűségi változók együttesvárható értéke

E(X, Y ) =∑i,j

xiyipij.

5.1.12 Definíció (Peremeloszlás). Valaki mondja meg mi a faszom ez! Valaki mondjameg miért kell ez, valaki mondja meg miért nem!

5.1.13 Definíció (Kovariancia). X, Y valószínűségi változók kovarianciája az

Cov(X, Y ) = E((X − E(X))(Y − E(Y ))

)várható érték.

5.1.14 Tétel. Cov(X, Y ) = E(XY )− E(X)E(Y ).

5.1.15 Állítás. Legyenek X, Y,X1, . . . , Xn valószínűségi változók, a, b ∈ R. Ekkor

• Cov(X,X) = D2(X),

• Cov(X, Y ) = Cov(Y,X),

• Cov(X, a) = 0,

• Cov(aX, bY ) = abCov(X, Y ),

• D2(X + Y ) = D2(X) +D2(Y ) + 2 Cov(X, Y ),

• D2(n∑i=1

Xi) =n∑i=1

D2(Xi) + 2∑

1≤i≤j≤nCov(Xi, Xj),

• X, Y függetlenek ⇒ Cov(X, Y ) = 0.

5.1.16 Definíció (Korreláció). Ha X és Y valószínűségi változóknak létezik szórása éskovarianciája, akkor a korreláciújuk

R(X, Y ) = Cov(X, Y )D(X)D(Y ) .

5.1.17 Állítás. A korreláció két valószínűségi változó lineáris kapcsolatát méri:

• R > 0⇒ pozitív a kapcsolat,

24

Page 25: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

• R < 0⇒ negatív a kapcsolat,

• R2 ≈ 1⇒ erős a kapcsolat,

• R2 ≈ 0.5⇒ közepes a kapcsolat,

• R2 ≈ 0⇒ gyenge a kapcsolat.

5.1.18 Definíció (Eloszlásfüggvény). Az x ∈ R : FX(x) = P (X < x) függvény az Xvalószínűségi változó eloszlásfüggvénye.

5.1.19 Tétel (Tulajdonságai). Az eloszlásfüggvény tulajdonságai:

• 0 ≤ FX(x) ≤ 1,

• monoton növő,

• balról folytonos

• limx→−∞

F (x) = 0 és limx→∞

F (X) = 1.

5.1.20 Definíció (Folytonos valószínűségi változó és sűrűségfüggvény). AzX va-lószínűségi változó abszolút folytonos, ha

∃ f(x) : F (X) =∫ ∞−∞

f(t)dt.

Ilyenkor f(x)-et sűrűségfüggvénynek nevezzük.

5.1.21 Állítás. Legyen X abszolút folytonos eloszlású. Ekkor

• f(x) = F ′(X),

• f(x) ≥ 0,

•∫∞−∞ f(x)dx = 1,

• ∀x : P (X = x) = 0,

• P (a < X ≤ b) = P (a ≤ X < b) = F (b)− F (a).

5.1.22 Definíció (Várható érték). Abszolút folytonos valószínűségi változó várhatóértéke

E(X) =∫ ∞−∞

xf(x)dx.

5.1.23 Tétel (Centrális határeloszlás). Legyenek X1, X2, . . . független, azonos elosz-lású valószínűségi változók. E(X1) = m,D2(X1) = σ2 <∞. Ekkor

limn→∞

P(x1 + . . .+ xn−nm

σ√n

< x)

= φ(x).

5.1.24 Tétel (Nagy számok törvénye). Legyenek X1, X2, . . . független, azonos elosz-lású valószínűségi változók. E(X1) = m <∞. Ekkor

limn→∞

P(X1,+ . . .+Xn

n= m

)= 1.

25

Page 26: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

5.2. Statisztikai becslések5.2.1 Definíció (Torzítatlan becslés). T (X) statisztika torzítatlan becslés θ-nak, ha

∀ θ : EθT (X) = θ.

5.2.2 Definíció (Várható érték becslése).

E(X) ≈ X1 + . . .+Xn

n.

5.2.3 Definíció (Szórás becslése).

D2(X) ≈∑ni=1(Xi − X)2

n− 1 = S∗n.

5.2.4 Definíció (Likelihood függvény). Legyen X = (X1, . . . Xn) független, azonoseloszlású valószínűségi változókból álló minta. Ekkor a minta közös sűrüségfüggvénye:

L := fa(x) =n∏i=1

fa(xi)TODO

5.3. Statisztikai próbákEgy mintára vonatkozó feltevések elfogadása vagy elutasítása.H0 - Nullhipotézis (amit igazolni szeretnénk),H1 - Ellenhipotézis (amikor H0 nem teljesül.

H0 igaz H0 hamisH0 elfogadása Helyes Döntés Másodfajú hibaH0 elvetése Elsőfajú hiba Helyes döntés

Ha a szórás ismert, akkor u-próbát alkalmazunk, különben t-próbát.5.3.1. u-próbák• Egymintás eset: X1, . . . Xn ∼ N(m,σ2) minta, ahol m paraméter. Ekkor

u =√nX −m0

σ.

H0 : m = m0 nullhipotézist elfogadjuk, ha |u| ≤ u p2, ahol u p

2a standard normális

eloszlás 1− p2 kvantilise.

• Kétmintás eset: X1, . . . Xn ∼ (m1, σ21) és Y1, . . . Ym ∼ N(m2, σ

22) független minták,

ahol m1,m2 paraméter. Ekkor H0 : m1 = m2 nullhipotézis esetén a próbastatisztika:

u = X − Y√σ2

1n

+ σ22m

.

26

Page 27: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

5.3.2. t-próbák• Egymintás eset:

t =√n · X −m0

S∗2

H0 nullhipotézist elfogadjuk, ha |t| ≤ t p2 ,n−1, ahol n− 1 a Student-eloszlás szabad-

ságfoka.

• Kétmintás eset: X1, . . . Xn ∼ (m1, σ21) és Y1, . . . Ym ∼ N(m2, σ

22) független minták,

ahol m1,m2, σ1 = σ2 paraméterek. Ekkor a H0 : m1 = m2 nullhipotézis esetén apróbastatisztika:

t =√nm(n+m− 2)

n+m· X − Y√

s∗2x + s∗2

y

.

27

Page 28: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

6. Mesterséges intelligenciaMI problémák és az útkeresési feladat kapcsolata. Állapottér reprezen-táció. Heurisztikus útkereseő algoritmusok: lokális keresések (hegymászómódszer, tabu-keresés, szimulált hűtés), visszalépéses keresés, heurisztikusgráfkereső eljárások (A, A*, AC, B algoritmusok). Kétszemélyes játékok.

Az MI az intelligens gondolkodás, számítógépes reprodukálása szempontjából haszonselveket, módszereket, technikákat kutatja, rendszerezi. Megoldandó feladatai: nehe-zek, mert ezek problématere hatalmas, a megoldás megkeresése kellő intuíció hiányábankombinatorikus robbanáshoz vezethet.

6.1. Útkeresési problémaÚtkeresési problémaként sok MI feladat fogalmazható meg úgy, hogy a feladat modelljealapján megadunk egy olyan élsúlyozott irányított gráfot, amelyben adott csúcsból adottcsúcsba vezető utak jelképezik a feladat egy-egy megoldását. Ezt a feladat gráfreprezen-tációjának nevezzük, amely magába foglal egy úgynevezett δ-gráfot (olyan élsúlyozottirányított gráf, ahol egy csúcsból kivezető élek száma véges, és az élek költségére megad-ható egy δ pozitív alsó korlát), az abban kijelölt startcsúcsot és egy vagy több célcsúcot.Ebben a reprezentációs gráfban keresünk egy startcsúcsból kiinduló célcsúcsba futó utat,esetenként egy legolcsóbb ilyet.

6.2. Állapottér reprezentációAz állapottér reprezentáció egy olyan lehetséges (de nem az egyetlen) módszer a fel-adatok modellezésére, amelyet aztán természetes módon lehet gráfreprezentációként ismegfogalmazni. Négy eleme van:

• Állapottér, amely a probléma a homlokterében álló adat(objektum) lehetséges ér-tékeinek (állapotainak) halmaza. Gyakran egy alaphalmaz, amelyet egy alkamasinvariáns leszűkit,

• Műveletek (előfeltétel + hatás), amelyek állapotból állapotba vezetnek,

• Kezdőállapot(ok) vagy azokat leíró kezdőfeltétel,

• Céllállapot(ok) vagy célfeltétel.

Az állapot-gráf (egy speciális reprezentációs gráf) az állapotokat, mint csúcsokat, aműveletek hatásait, mint éleket tartalmazza.

6.3. KeresésekEgy általános kereső rendszer részei:

• globális munkaterület: a keresés memóriája,

• a keresési szabályok: a memória tartalmát változtatják meg,

• vezérlési stratégia: adott pillanatban alkalmas szabályt választ.

28

Page 29: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

A vezérlési stratégiának van egy általános, elsődleges eleme, lehet egy másodlagos (azalkalmazott reprezentációs modell sajátosságait kihasználó) eleme és a konkrét feladatraépítő elem. Ez utóbbi a heurisztika, a konkrét feladatból származó extra ismeret, amelyetközvetlenül a vezérlési stratégiába építünk be az eredményesség és hatékonyság javításacéljából.6.3.1. Lokális keresésekA lokális keresések egyetlen aktuális csúcsot és annak szűk környezetét tárolják a globálismunkaterületen. Keresési szabályai az aktuális csúcs minden lépésben a szomszédjaiközül vett lehetőleg "jobb" gyerekcsúccsal cserélik le. A vezérlési stratégiájuk a "jobbság"eldöntéséhez egy rátermettségi függvényt használ, amely annál jobb értéket ad egy csúcsra,minél közelebb esik az a célhoz. Mivel a keresés ”elfelejtiy”, hogy honnan jött, a döntéseknem vonhatók vissza, ez egy nemmódosítható vezérlési stratégia.

Lokális kereséssel megoldható feladatok azok, ahol egy lokálisan hozott rossz döntésnem zárja ki a cél megtalálását. Ehhez vagy egy erősen összefüggő reprezentációs-gráf,vagy jó heurisztikára épített célfüggvény kell. Jellemző alkalmazás: adott tulajdonságúelem keresése, függvény optimumának keresése.

• Hegymászó algoritmus: Minden lépésben az aktuális csúcs legjobb gyermekére lép,de kizárja a szülőre való visszalépést. Zsákutcába (aktuális csúcsból nem vezet ki él)beragad, körök mentén végtelen ciklusba kerülhet, ha a rátermettségi függvény nemtökéletes.

• Tabu keresés: Az aktuális csúcson (n) kívül nyilvántartja még az eddig legjobbnakbizonyult csúcsot (n∗) és az utolsó néhány érintett csúcsot; ez a (sor tulajdonságú)tabu halmaz. Minden lépésben az aktuális csúcs gyermeki közül, kivéve a tabuhalmazban lévőket, a legjobbat választja új aktuális csúcsnak, (ezáltal felismeri atabu halmaz méreténél nem nagyobb köröket), frissíti a tabu halmazt, és ha n jobb,mint az n∗, akkor n∗-ot lecseréli n-re.

• Szimulált hűtés algoritmusa: A következő csúcs választása véletlenszerű. Ha akiválasztott csúcs (r) célfüggvény-értéke jobb, mint az aktuális csúcsé (n), akkorodalép, ha rosszabb, akkor az új csúcs elfogadásának valószínűsége fordítottan arányosf(n)−f(r) különbséggel. Ez az arány ráadásul folyamatosan változik a keresés során:ugyanolyan különbség esetén kezdetben nagyobb, később kisebb valószínűsüggel fogjaa rosszabb értékü r csúcsot választani.

6.3.2. Visszalépéses keresésekA Startcsúcsból az aktuális csúcsba vezető utat (és az arról leágazó még ki nem próbáltéleket) tartja nyilván (globális munkaterületen), a nyilvántartott út végéhez egy új (kinem próbált) élt fűzhet vagy a legutolsó élt törölheti (visszalépés szabálya), a visszalépésta legvégső esetben alkalmazza. A visszalépés teszi lehetővé azt, hogy egy korábbi tovább-lépésről hozott döntés megváltozhasson. Ez tehát egy módosítható vezérlési stratégia. Akeresésbe sorrendi és vágó heurisztika építhető. Mindkettő lokálisan, az aktuális csúcsbólkivezető, még ki nem próbált élekre vonatkozik.

Visszalépés feltételei: zsákutca, zsákutca torkolat, kör, mélységi korlát.

• VL1 ( nincs kör- és mélységi korlát figyelés) véges körmentes irányított gráfokonterminál, és ha van megoldás, akkor talál egyet.

29

Page 30: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

• VL2 (általános) δ-gráfokon terminál, és ha van megoldás a mélységi korláton belül,akkor talál egyet.

Könnyen implementálható, kicsi memória igényű, mindig terminál, és ha van (a mélységikorlát alatt), akkor talál megoldást. De nem garantál optimális megoldást, egy kezdetbenhozott rossz döntést csak nagyon sok lépés után képes korrigálni és egy zsákutca,szakaszttöbbször is bejárhat, ha abba többféle úton is el lehet jutni.6.3.3. GráfkeresésekA globális munkaterületen a startcsúcsból kiinduló már feltárt utat találhatók (ez a keresőgráf ), külön megjelölve az utak azon csúcsait, amelyeken még nem (vagy nem eléggé jól)ismerjük a rákövetkezőit. Ezek a nyílt csúcsok. A keresés szabályai egy nyílt csúcsotterjesztenek ki, azaz előállítják (vagy újra előállítják) a csúcs össze rákövetkezőjét. Avezérlési stratégia a legkedvezőbb nyílt csúcs kiválasztására törekszik, ehhez egy kiértékelőfüggvényt (f) használ. Mivel egy nyílt csúcs, amely egy adott pillanatban nem kerülkiválasztásra, később még kiválasztódhat, ezért itt egy módosítható vezérlési stratégiavalósul meg.

A keresés minden csúcshoz nyilvántart egy odavezető utat (π visszamutató pointereksegítségéve), valamint az út költségét (g). Ezeket az értékeket működés közben alakítja ki,amikor a csúcsot először felfedezi vagy később egy olcsóbb utat talál hozzá. Mindkét esetben(amikor módosultak a csúcs ezen értékei) a csúcs nyílttá válik. AMikor egy már korábbankiterjesztett csúcs újra nyílt lesz, akkor a már korábban felfedezett leszármazottainál avisszafelé mutató pointerekkel kijelölt út költsége nem feltétlenül egyezik majd meg anyilvántartott g értékkel, és az sem biztos, hogy ezek az értékek az eddig talált legolcsóbbútra vonatkoznak.

• Nem-informált gráfkeresések: mélységi gráfkeresés (f = −g, ∀ (n,m) élre c(n,m) =1), szélességi gráfkeresés (f = g, c(n,m) = 1), egyenletes gráfkeresés (f = g),

• Heurisztikus gráfkeresések f -je a h a heurisztikus függvényre épül, amely mindencsúcsban hátralevő optimális h∗ költséget becsli. Ilyen az előre tekintő gráfkeresés(f = h), az A algoritmus (f = g + h, h ≥ 0), az A* algoritmus (f = g + h, h∗ ≥h ≥ 0 h megengedhető), az AC algoritmus (f = g + h, h∗ ≥ h ≥ 0,∀ (n,m) élre:h(n)−h(m) ≤ c(n,m)), és B algoritmus (f = g+h, h ≥ 0 helyett a g-t használjuk akiterjesztendő csúcs kiválasztására azon nyílt csúcsok közül, amelyek f értéke kisebb,mint az eddig kiterjesztett csúcsok f értékeinek maximuma).

Véges δ-gráfokon minden gráfkeresés terminál, és ha van megoldás, talál egyet. Anevezetes gráfkeresések többsége végtelen nagy gráfokon is találnak megoldást, ha vanmegoldás. (Kivétel az előre-tekintő keresés és a mélységi korlátot nem használó mélységigráfkeresés.)

Az A*, AC algoritmusok optimális megoldást találnak, ha van megoldás. Az AC

algoritmus egy csúcsot legfeljebb egyszer terjeszt csak ki.Egy gráfkeresés memóriaigényét a kiterjesztett csúcsok számával, futási idejét ezek

kiterjesztéseinek számával mérjük. (Egy csúcs általában többször is kiterjesztődhet, deδ-gráfokban csak véges sokszor.). Az A* algoritmusnál a futási idő legrosszabb esetbenexponenciálisan függ a kiterjesztett csúcsok számától, de ha olyan heurisztikást választunk,amelyre már AC algoritmust kapunk, akkor a futási idő lineáris lesz. Persze ezzel a másikheurisztikával változik a kiterjesztett csúcsok száma is, így nem biztos, hogy egy AC

algoritmus ugyanazon a gráfon összességében kevesebb kiterjesztést végez, mint egy csúcsot

30

Page 31: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

többször is kiterjesztő A* algoritmus. A B algoritmus futási ideje négyzete, és ha olyanheurisztikus függvényt használ, mint az A* algoritmus (azaz megengedőt), akkor ugyanúgyoptimális megoldást talál (ha van megoldás) és a kiterjesztett csúcsok száma (mellesleg ahalmaza is) megegyezik az A* algoritmus által kiterjesztett csúcsokéval.6.3.4. Kétszemélyes játékokA játékokat állapottér-reprezentációval szokás leírni, és az állapot-gráfot faként ábrázolni.

A győztes (vagy nem vesztes) stratégia egy olyan elv, amelyet betartva egy játékos azellenfél minden lépésére tud olyan választ adni, hogy megnyerje (ne veszítse el) a játékot.Valamelyik játékosnak biztosan van győztes (nem vesztes) stratégiája. Győztes (nemvesztes) stratégia keresése a játékfában kombinatorikus robbanást okozat, ezért e helyettrészfa kiértékelést szoktak alkalmazni a soron következő jó lépés meghatározásához.

A minimax algoritmus az aktuális állásból felépíti a játékfa egy részét, kiértékeli annakleveleit aszerint, hogy azok által képviselt állások milyen mértékben kedveznek nekünk vagyaz ellenfélnek, majd szintenként váltakozva az ellenfél szintjein a gyerekcsúcsok értékeinekminimumát, a saját szintjeinken azok maximumát futtatjuk fel a szülőcsúcshoz. Ahonnana gyökérhez kerül érték, az lesz soron következő lépésünk.

A minimax legismertebb módosítása az alfa-béta algoritmus, amely egyfelől kisebbmemória igényű (egyszerre csak egy ágat tárolt a vizsgált részfából) másfelől egy sajátosvágási stratégia miatt jóval kevesebb csúcsot vizsgál meg, mint a minimax.

31

Page 32: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

7. ProgramozásEgyszerű programozási feladat megoldásának lépései (specifikálás, ter-vezés, megvalósítás, tesztelés). Az adattípus fogalma (típusspecifikáció,műveletek, reprezentáció, invariáns, implementáció). A visszavezetés mód-szere. A felsoroló típus specifikációja. Felsorolóra megfogalmazott prog-ramozási tételek (összegzés, számlálás, maximum kiválasztás, feltételesmaximumkeresés, lineáris keresés, kiválasztás). Nevezetes gyűjtemények(intervallum, tömb, sorozat, halmaz, szekvenciális inputfájl) felsorolói.

7.1. Egyszerű programozási feladat megoldásának lépéseiEgy egyszerű programozási feladatot négy fő lépésben oldhatunk meg, amely leginkább aziparágban gyakran használt vízesés modellre hasonlít. Minden lépés csak az őt megelőzőlépés befejezése után indul.7.1.1. SpecifikációA specifikáció két részre bontható:

• Feladatleírás: általában a megrendelő készíti el, köznapi nyelven írja le, hogy mi aprogram pontos célja.

• Követelmények leírása: A programozó által írt működési modell. A feladat speci-fikálása során meghatározzuk a bemenő adatok tetszőlegesen rögzített értékeiheztartozó kezdőállapotok halmazát, valamint az ehhez tartozó célállapotok halmazát.A feladat specifikációja tartalmazza:

– az állapotteret, azaz a feladat lényeges adatainak típusérték-halmazait az egyesadatokhoz tartozó változó nevekkel együtt;

– az előfeltételt, amely a kezdőállapotok azon halmazát leíró logikai állítás, amelyrögzíti a bemenő változók egy lehetséges, de tetszőleges kezdőértékét (ezeketáltalában a megfelelő változónév vesszős alakjával jelöljük);

– az utófeltételt, amely a fenti kezdőállapotokhoz rendelt célállapotok halmazátmegadó logikai állítás.

7.1.2. TervezésA tervezés célja olyan leírások, adatmodellek, programszerkezetek elkészítése, amelyalapján elkészíthető a program. A tervezés nem nyelv-specifikus, így a programozásinyelvek sajátosságait nem kell figyelembe venni. Tervezési hibát a megvalósítás soránnehéz javítani, hiszen a módosítás után vizsgálni kell, hogy megfelel-e a specifikációnak ésa hiba mélységétől függően akár az egész programot újra kell írni.7.1.3. MegvalósításA megoldandó feladatnak megfelelően ki kell választani a programozási nyelvet, melysegítségével a feladat implementálható a specifikációban meghatározott követelményekszerint. A megvalósítás során a tervezésben meghatározott módszertanokkal, programszer-kezetekkel és algoritmusokkal kell dolgozni. A tervezéstől eltérni csak tervezési hiba eseténvagy a kiválasztott programnyelv tulajdonsága miatt érdemes (pl. egyszerűbb megoldástnyújt egy problémára).

32

Page 33: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

Az adott cég/programnyelv kódolási konvencióit fontos betartani, valamint elengedhe-tetlen a megfelelő kommentezés a későbbi érthetőség és olvashatóság miatt.7.1.4. TesztelésA tesztelés célja, hogy biztosak legyünk abban, hogy a program megfelel a specifikáció-ban leírt követelményeknek. A teszteseteket már a korábbi lépések során elkezdhetjükösszegyűjteni, így sokkal átfogóbb tesztelést hajthatunk végre. Többféle szempontból iscsoportosíthatjuk a tesztelési módszereket.

• Fehér doboz tesztelés: a tesztelő a kód ismeretében hajtja végre a teszteseteket,

• Fekete doboz tesztelés: a tesztelő csak a bemeneti és kimeneti adatokat figyeli.

Tesztelési szintek

• Unit teszt: A kód legkisebb egységeit teszteli, például egy függvény működését,

• Modul teszt: Egy-egy modul/komponens működésének tesztelése,

• Rendszer teszt: A modulok/komponensek együttes működése. Célja, hogy felfedjea modulok között előforduló hibás kommunikációt.

7.2. Az adattípus fogalma7.2.1 Definíció (Típus). A típus a T = {%, I, S} hármas, ha

1. % ⊆ E∗×T reprezentációs függvény (ahol E az elemi típusérték halmaz, T típusértékhalmaz),

2. I : E∗ → L típusinvariáns,

3. S = {S1, . . . Sm} : ∀ i ∈ [1,m] : Si ⊆ Bi ×B∗∗i program :Bi = Bi1 × . . .×Bim : ∃ j ∈ [1,m] : Bij = E∗ ∧ @j ∈ [1,m] : Bij = T.

7.2.2 Definíció (Típusspecifikáció). A típusspecifikáció a Ts = (T, Is,Fs) hármas, ha

1. T tetszőleges alaphalmaz

2. Is : H → L specifikációs invariáns

3. TS = dIse a típusértékhalmaz

4. F = {F1, . . . Fn} a típusműveletek specifikációja, ahol

∀ i ∈ [1, n] : Fi ⊆ Ai × Ai, Ai = Ai1 × . . .× Ain : ∃ j ∈ [1, n] : Aij = T.

7.2.3 Definíció (Invariáns). Olyan tulajdonság, amelyet nem sérthetünk meg, a prog-ram futása során mindig fennáll.

7.2.4 Definíció (Reprezentáció). A reprezentáció a típusspecifikáció típusértékhalma-zának leképzése a konkrét típusban, amit a reprezentációs függvény ad meg. Vagyisreprezentációnak nevezzük azt, hogy egy típust valamilyen típusok, módszerek segítségévelvalósítunk meg. Például a vermet megvalósíthatjuk egy tömb segítségével.

7.2.5 Definíció (Implementáció). A típus implementációja a típusértékhalmaz meg-adása és a típusműveletek definiálása.

33

Page 34: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

7.2.6. SzövegesenEgy adat típusát több nézőpontból lehet szemlélni. Amikor arra vagyunk kíváncsiak,hogy mire használhatjuk az adatot, azaz melyek a lehetséges értékei és ezekkel milyenműveleteket lehet végezni, akkor a típus felületét, kifelé megmutatkozó arcát nézzük; eztszokták a típus interfészének, a típus specifikációjának nevezni. A típus-specifikáció teháta típusérték-halmaz és a típus-műveletek együttese, ahol a típus-műveletek mindegyikeegy olyan feladatot ír le, amelyik állapotterében megjelenik a típusérték-halmaz.

Amikor viszont az adat típusának egy adott programozási környezetbe való beágyazásaa cél, akkor azt vizsgáljuk, hogy milyen elemekkel helyettesíthetőek, ábrázolhatóak atípusértékek, illetve melyek azok a programok, amelyek hatása a típusműveletekével azonosannak ellenére, hogy nem közvetlenül a típusértékekkel, hanem az azokat helyettesítőelemekkel dolgoznak. (Például egy vermet ábrázolhatunk egy tömbbel és egy indexszel, aTop() művelet pedig implementálható a tömb „indexedik” elemének lekérdezésével.) Ahelyettesítő elemeknek gyakran ki kell elégítenie speciális megkötéseket, ez az ún. típus-invariáns, amelynek a típusértéket helyettesítő elemekre mindig teljesülnie kell. Ha vesszüka típusértékek helyettesítő elemeit, a helyettesítés módját, azaz a típusértékek reprezentá-cióját (ábrázolását) a típus-invariánssal, valamint a típusműveleteket kiváltó programokat,azaz a típusműveletek implementációit, akkor ezeket együtt a típus megvalósításának(realizálásának) nevezzük.

Egy adat típusa magába foglalja a típus-specifikációt és az ennek megfelelő, az eztmegvalósító típus-realizációt.

7.3. VisszavezetésEgy feladat megoldását egy már ismert és megoldott feladat megoldására vezetjük vissza.Két feladat fontosabb részeit megfeleltetjük egymásnak. Ez az analóg programozás.

A programozási tétel egy mintafeladat és annak megoldó programja (mintaprogram).A visszavezetés során a mintafeladat mintaprogramját sablonként használva állítjuk előa kitűzött feladat megoldó programját úgy, hogy figyelembe vesszük a kitűzött- és amintafeladat specifikációkban felfedett eltéréseket.

7.4. Felsoroló specifikációjaJellemezzünk egy olyan objektumot (felsoroló), amely segítségével egy felsorolható adatnak(vektor, tömb, szekvenciális input fájl, stb) az elemeit egymás után elő lehet állítani.

A felsoroló objektum véges sok elemi érték felsorolását teszi lehetővé a megfelelőműveletek segítségével:

• t.First - a t:Enor felsorolót az első elemére állítjuk: t := First(t)

• t.Next - a soron következő elemre ugrik

• t.Current - visszaadja az aktuális elemet

• t.End - hamisat ad vissza, ha van aktuális elem, a felsorolás végét igaz értékkel jelzi

7.5. Felsorolóra megfogalmazott programozási tételek7.5.1. Összegzés

Feladat: t egy E-beli elemeket felsoroló objektum, f : E → H, + : H × H → Hasszociatív, bal oldali nulla elemes művelet. Mennyi az f -nek a t elemeihez rendeltértékeinek összege?

34

Page 35: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

Specifikáció: A = (t : enor(E), s : H)Ef = (t = t′)Uf = (s =

∑e∈t′

f(e))

Algoritmuss := 0t.F irst()¬t.End()

s := s+ f(t.Current())t.Next()

7.5.2. SzámlálásFeladat: t egy E-beli elemeket felsoroló objektum, β : E → L. A felsoroló hány

elemére teljesül a β?Specifikáció: A = (t : enor(E), c : N)

Ef = (t = t′)Uf = (c = ∑

e∈t′β(e)

1)

Algoritmusc := 0

t.F irst()¬t.End()

AAβ(t.Current())

��

c := c+ 1 -t.Next()

7.5.3. Maximum kiválasztásFeladat: t egy E-beli elemeket felsoroló objektum, f : E → H, és t nem üres, H

elemei teljesen rendezhetőek. Hol veszi fel f a t elemein a maximális értékét?Specifikáció: A = (t : enor(E), elem : E, max : H)

Ef = (t = t′ ∧ |t| > 0)Uf = ((max, elem) = MAXe∈t′ f(e))

Algoritmust.F irst()

max, elem := f(t.Current()), t.Current()t.Next()¬t.End()

AAf(t.Current()) > max

��

max, elem := f(t.Current()),t.Current()

-

t.Next()

35

Page 36: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

7.5.4. Feltételes maximumkeresésFeladat: t egy E-beli elemeket felsoroló objektum, f : E → H, β : E → L, H elemei

teljesen rendezhetőek. Határozzuk meg t azon elemeihez rendelt f szerinti értékek közötta legnagyobbat, amelyek kielégítik a β feltételt.

Specifikáció: A = (t : enor(E), l : L, elem : E, max: H)Ef = (t = t′)Uf = ((l, max, elem) = MAXe∈t′

β(e)f(e))

Algoritmusl :=↓

t.F irst()¬t.End()

AA¬β(t.Current())

SKIP

AAl ∧ β(t.Current())

AAf(t.Current()) > max

��

max := f(t.Current())elem := t.Current() SK

IP

AA¬l ∧ β(t.Current())

l,max, elem :=↑,f(t.Current()), t.Current()

t.Next()

7.5.5. KiválasztásFeladat: t egy E-beli elemeket felsoroló objektum, β : E → L, Adjuk meg a t bejárása

során az első olyan elemi értéket, amelyre β igazat ad!Specifikáció: A = (t : enor(E), elem : E)

Ef = (t = t′ ∧ ∃i ∈ [1..|t|] : β(ti))Uf = ((elem, t) = SELECTelem∈t′ β(elem))

Algoritmust.F irst()

¬β(t.Current())t.Next()

elem := t.Current()

7.5.6. Lineáris keresésFeladat: t egy E-beli elemeket felsoroló objektum, β : E → L. Keressük a t bejárása

során az első olyan elemi értéket, amire teljesül a β feltétel.Specifikáció: A = (t : enor(E), elem : E, l : L)

Ef = (t = t′)Uf = ((l, elem, t) = SEARCHe∈t′ β(e))

Algoritmusl :=↓

t.F irst()¬l ∧ ¬t.End()

l, elem := β(t.Current()), t.Current()t.Next()

36

Page 37: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

7.6. Nevezets gyűjteményekTöbb nevezetes gyűjteményt is tudunk a felsoroló típussal reprezentálni.7.6.1. Intervallum

Gyűjtemény reprezentációja: [m,n] intervallum két végpontja (m,n) + index (i).Műveletek implementációja

• i := m ~t.First()

• i ~t.Current()

• i := i+ 1 ~t.Next()

• i > n ~t.End()

7.6.2. SorozatGyűjtemény reprezentációja: Sorozat típusú adat (s) + indexváltozó (i).Műveletek implementációja

• i := 1 ~t.First()

• i ~t.Current()

• i := i+ 1 ~t.Next()

• i > |n| ~t.End()

7.6.3. TömbGyűjtemény reprezentációja: A v vektor indextartománya [m,n] + indexváltozó

(i).Műveletek implementációja

• i := m ~t.First()

• vi ~t.Current()

• i := i+ 1 ~t.Next()

• i > n ~t.End()

7.6.4. Szekvenciális fájlGyűjtemény reprezentációja: Az inputfájfból legutoljára olvasott elemi érték (df)

+ az utolsó olvasás státusza (sf).Műveletek implementációja

• df ~t.Current()

• sf,df, f ~t.First(), t.Next()

• sf = abnorm ~t.End()

37

Page 38: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

7.6.5. HalmazGyűjtemény reprezentációja: A felsorolandó elemeket tartalmazó h halmaz.Műveletek implementációja

• e ~t.Current()

• e :∈ h ~t.First(), t.Next()

• h = ∅ ~t.End()

38

Page 39: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

8. Programfejlesztési modellekNagy rendszerek fejlesztési fázisai, kapcsolataik. Az objektumelvű model-lezés nézetrendszerei. Statikus modell (osztálydiagram, objektumdiagram).Dinamikus modell (állapotdiagram, szekvenciadiagram, együttműködésidiagram, tevékenységdiagram). Használati esetek diagramja.

9. Programok fordítása és végrehajtásaFordítás és interpretálás összehasonlítása. Fordítási egység és a szer-kesztés fogalma. Fordítóprogramok komponenseinek feladata és működésielveik vázlatos ismertetése. Kódgenerálás assemblyben alapvető impera-tív vezérlési szerkezetekhez. A szekvenciális és párhuzamos/elosztottvégrehajtás összehasonlítása.

10. Programnyelvi alapokKifejezések kiértékelésének szabályai. Vezérlési szerkezetek: utasítások,rekurzió. Típusok: tömb, rekord, osztály, öröklődés, statikus és dinamikuskötés, polimorfizmus. Generikusok. Hatókör/láthatóság. Automatikus,statikus és dinamikus élettartam, szemétgyűjtés. Konstruktor, destruktor.Objektumok másolása, összehasonlítása. Alprogramok, paraméterátadás,túlterhelés.

39

Page 40: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

11. Formális nyelvekFormális nyelvtanok és a Chomsky-féle nyelvosztályok. Automaták: végesautomata, veremautomata. Reguláris nyelvek tulajdonságai és alkalmazá-sai. Környezetfüggetlen nyelvek tulajdonságai és elemzésük

11.1. Alapfogalmak11.1.1 Definíció (Ábécé). Ábécének nevezünk egy tetszőleges véges szimbólumhalmazt.

11.1.2 Definíció (Betű). Ábécé elemi betűk.

11.1.3 Definíció (Szó). Az X ábécé betűinek egy tetszőleges véges sorozata az X ábécéfeletti szó.

11.1.4 Definíció (Nyelv). X∗ valamely részhalmaza az X ábécé feletti nyelv.

11.1.5 Definíció (Nyelvosztály). Nyelvek valamely összessége nyelvosztály.

11.2. Formális nyelvtanok11.2.1 Definíció (Nyelvtan). A G = 〈T,N,P, S〉 négyes nyelvtan, ahol

• T : terminális jelek ábécéje

• N : a nyelvtani (nemterminális) jelek egymástól diszjunkt ábécéje

• P: produkciós szabályok egy véges halmaza, ahol minden P ∈ P szabály p→ q alakú

• S: S ∈ N kezdőszimbólum

11.2.2 Definíció (Mondatforma). Terminális és nemterminális szimbólumok véges so-rozata ((T ∪N)∗)

11.2.3 Definíció (Generált nyelv). G = 〈T,N,P , S〉 által generált nyelv L(G) :={u ∈ T ∗ | S ∗−→

Gu}.

11.2.4 Tétel. Nem minden nyelv írható le nyelvtannal.

11.3. Nyelvtanok osztályozásaA szabályok alakja alapján a nyelvtanokat különböző osztályokba sorolhatjuk.11.3.1. Jelölések• N nyelvtani jelek ábécéje

• T terminális ábécé

• S a kezdőszimbúlum

• p egy szabály bal oldala

• q tetszőleges szabály jobb oldala

• α1, α2 ∈ (T ∪N)∗) mondatforma

40

Page 41: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

Alaptípus Megszorított típus Normál forma

0. típus p→ q

p, q ∈ (T ∪N)∗és p = α1Aα2,A ∈ N, α1, α2 ∈ (T ∪N)∗

(Azaz p-ben van legalábbegy nyelvtani jel)

p→ qS → ε

Alap típus +q 6= ε

KES szabály

A,B,C ∈ N, t ∈ TAB → A BA→ AAB → AC AB → CBA→ BCA→ t

KES

1. típus p→ qS → ε

0. típus + l(p) ≤ l(q)

KES szabály

hosszúság nemcsökkentőnyelvtan

α1Aα2 → α1qα2

S → ε

A ∈ N,α1, α2 ∈ (T ∪N)∗q ∈ (T ∪N)+

KES szabály

környezetfüggő nyelvtan

AB → AC AB → CBA→ BCA→ t

KESKuroda normál forma

2. típus A→ q

A ∈ Nq ∈ (T ∪N)∗

környezetfüggetlennyelvtan

A→ q

S → ε

A ∈ Nq ∈ (T ∪N)+

KES szabály

A→ BCA→ t

KESChomsky normál forma

3. típus A→ uBA→ u

A,B ∈ Nu ∈ T ∗

reguláris nyelvtan

A→ tBA→ t

S → ε

A,B ∈ Nt ∈ T

KES szabály

A→ tBA→ ε

3-as normál forma

11.3.2. Chomsky-féle nyelvhierarchia11.3.3 Tétel. L3 ⊆ L2 ⊆ L1 ⊆ L0.

11.4. Környezetfüggetlen nyelvek tulajdonságai és elemzésük11.4.1 Tétel (Nagy Bar-Hillel-lemma). ∀L ∈ L2 : ∃ p, q > 0 nyelvfüggő konstansok(p = p(L), q = q(L)), hogy ha

u ∈ L, l(u) > p⇒ ∃u = xyzvw felbontása, ahol(yv) > 0, l(yzv) ≤ q és ∀ i ≥ 0: xyizviw ∈ L.

Vagyis L minden elég hosszú szavában van két, egymáshoz közel lévő, nem triviális,párhuzamosan beiterálható részszó.

11.4.2. ElemzésA környezetfüggetlen nyelvtanok segítségével szintaxisfát építhetünk. Sikeres szintaxisfafelépítés esetén az elemzés sikerült, különben szintaktikai hibát találunk. Módszerek:legbal levezetés, legjobb levezetés

11.5. Reguláris nyelvek tulajdonságai és alkalmazásai11.5.1 Definíció (Reguláris nyelv). Reguláris nyelvek az alábbi három tulajdonsággaldefiniált LREG nyelvosztály elemeit:

• LREG tartalmazza az elemi nyelveket: ∅, {ε}, {t}, ahol t ∈ U ,

• LREG zárt az unió, konkatenáció és a lezárás műveletekre,

• LREG a legszűkebb olyan nyelvosztály, mely az (i), (ii) feltételeknek megfelel.

11.5.2 Tétel (Kleene tétele). LREG = L3.

41

Page 42: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

11.5.3 Tétel. Az L3 nyelvosztály zárt a komplementer, a metszet, a különbség és aszimmetrikus differencia műveletekre, a zártsági tétel miatt pedig zárt az unió, konkatenációés a lezárás műveletekre is.

11.5.4 Tétel (Kis Bar-Hillel lemma). ∀L ∈ L3 ∃n = n(L) ∈ N (nyelvfüggő kons-tans), ∀u ∈ L, l(u) ≥ n szó : ∃u = xyz felbontása (x, y, z ∈ T (L)∗), hogy

• l(x, y) ≤ n,

• l(y) > 0,

• ∀ i ≥ 0 ∈ Z : xyiz ∈ L.

11.5.5. Felhasználási területekA reguláris nyelveket a könnyű kezelhetőségük miatt gyakorlatban rendszeresen alkal-mazzzák. Például a fordítóprogramok lexikális elemzője általában reguláris kifejezéseksegítségével azonosítja a nyelv lexikális elemeit. Mintaillesztéses feladatoknál is reguláriskifejezéssel írható le az illesztendő minta. Ebből Knuth-Morris-Pratt (KMP) automatátgenerálnak.

11.6. Automaták11.6.1 Definíció (Véges determinisztikus automata (VDA)). A = 〈Q, T, δ, q0, F 〉,ahol

• Q: állapotok véges halmaza

• T : bemenő ábécé

• δ : Q× T → Q, állapotátmeneti függvény

• q0 ∈ Q: kezdőállapot

• F ⊆ Q elfogadási állapotok halmaza

11.6.2 Definíció (VDA által felismert nyelv). Legyen A = 〈Q, T, δ, q0, F 〉 egy VDA.Az A által felismer nyelv:

L(A) = {u ∈ T ∗ | δ(q0, u) ∈ F}.

11.6.3 Definíció (Véges nemdeterminisztikus automata (VNDA)). A VNDA fel-építése megegyezik a VDA felépítésével, de az állapotátmenet függvénye részhalmazokbaképez: δ : Q× T → 2Q .

11.6.4 Definíció (Veremautomata (1 verem)). V = 〈Q, T,∑, δ, q0, σ0, F 〉, ahol

• Q: állapotok véges halmaza

• T : bemenő ábécé

• ∑: a veremábécé

• δ: állapotátmenet függvény

• q0 ∈ Q: kezdőállapot

42

Page 43: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

• σ0: verem kezdőszimbúluma

• F : végállapotok halmaza

A veremautomata elfogadja a szót, ha üres a verem, és elfogadó állapotban van.

11.6.5 Definíció (Konfiguráció). Azon adatok összessége, melyektől a gép működésefügg, azaz [q, v, α1, . . . , αn], ahol

• q: aktuális állapot

• v: az input még olvasatlan része

• αi az i-edik verem aktuális tartalma

43

Page 44: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

12. Logika és számításelméletÍtéletkalkulus és elsőrendű predikátumkalkulus: szintaxis, szemantika,ekvivalens átalakítások, a szemantikus következmény fogalma, rezolúció.- A kiszámíthatóság fogalma és a Church-Turing tézis. A Turing-gép.Rekurzív és rekurzívan felsorolható nyelvek. Eldönthetetlen problémák.Nevezetes idő- és tárbonyolultsági osztályok: P, NP, PSPACE. NP-teljesproblémák.

13. Alapvető algoritmusok és adatszerkezetek...

14. Haladó algoritmusok...

15. Operációs rendszerekFolyamatok megvalósítása, ütemező algoritmusaik. Párhuzamosság, kri-tikus szekciók, kölcsönös kizárás megvalósítása. Szemaforok, osztottmemória, üzenetküldés. Be- és kimeneti eszközök ütemezési lehetőségei,holtpontok. Memóriakezelés, virtuális memória fogalma. Lapozás és szeg-mentálás. Lapcserélési algoritmusok. Lemezterület-szervezés, redundánstömbök, fájlrendszerek szolgáltatásai és jellemző megvalósításaik.

16. Számítógépes hálózatok és Internet eszközökFizikai réteg, adatkapcsolati réteg, hálózati réteg, szállítói réteg -feladatok, módszerek, protokollok.

16.1. RétegekA hálózati protokollokat a megvalósított szolgáltatásaik alapján rétegekbe csoportosítjuk.Minden réteg csak az alatta lévő rétegek nyújtotta szolgáltatásait használhatja fel. Alegelterjedtebb hálózati modellek az OSI modell (Open Systems Interconnection ReferenceModel) és a TCP/IP modell.

OSI modell TCP/IP modellAlkalmazási réteg

Felhasználói rétegMegjelenítési rétegViszony rétegSzállítói réteg Szállítói rétegHálózati réteg Hálózati rétegAdakapcsolati réteg Adatkapcsolati rétegFizikai réteg

44

Page 45: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

16.2. Fizikai réteg16.2.1. FeladataA fizikai réteg mechanikus, elektronikus, funkcionális és procedurális tulajdonságokatdefiniál egy fizikai kapcsolat felépítéséhez, fenntartásához és befejezéséhez. Az adatokatjelekké alakítja, a jeleket pedig továbbítja.16.2.2. NRZ-LA legegyszerűbb bitátvitel a feszültség kapcsolása.

• Bit 1 = áram bekapcsolva

• Bit 0 = áram kikapcsolva

Bit-ek helyett szimbólumokat is küldhetünk, például: A = 00, B = 01, . . . Ebben azesetben a Baud mértékegység adja meg, hogy másodpercenként hágy szimbólum kerülátvitelre.16.2.3. Manchester kódA Manchester kód önütemező, a szinkronizáláshoz szükséges információt tartalmazza aszignál.

• 1 = magasról alacsonyra váltás az intervallum közepén

• 0 = alacsonyról magasra váltás az intervallum közepén

16.2.4. Alapsáv és szélessávAlapsáv

• A jel közvetletül árammá vagy feszültségváltozássáá alakul

• A szignál minden frekvenciával átvitelre kerül

• Probléma: átviteli korlátok

Szélessáv

• Az adatok egy széles frekvencia-tartományban kerülnek átvitelre

• Az adatokat vivőhullámra tehetjük (Amplitúdó moduláció (pl. szinusz-görbe))

• Vivőhullámokat megváltoztathatjuk (Frekvencia/fázis moduláció)

• Több vivőhullámot egyszerre használhatunk

45

Page 46: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

16.2.5. MédiumokVezetékes átvitel: UTP, koaxkábel, optikai kábel

Vezeték nélküli átvitel: rádióhullám, mikrohullám, infravörösA médium többszörös használatával növelhetjük az adatátviteli sebességet és az egy

területre jutó felhasználók számát. Például: FDMA, TDMA, SDMA, CDMA

16.3. Adatkapcsolati réteg16.3.1. FeladataAz adatkapcsolati réteg hibamentes átvitelt biztosít strukturált adatok továbbításával, ígykiszolgálva a hálózati réteget.

• Adatcsomagok keretekre bontása

• hibafelügyelet

• folyamfelügyelet

16.3.2. KeretezésA fizikai réteg bitáramát darabokra, keretekre osztjuk.

Lehetséges megoldások a kerethatárok megállapítására:

1. A keret hossza a fejlécben található. Probléma, ha hibásan kerül átvitelre a fejléc.Ekkor a fogadó elveszti az ütemet, és új, értelmetlen kereteket interpretál

2. Fejléc és lezáró: Jelzi a keret kezdetét és végét.

• Bytebeszúrás: speciális Flag Byte-ok jelzik a keret kezdetét és végét. Ha aflag-byte a küldendő adatok között előfordul, akkor egy speciális jellel (Escape)kell jelezni. Ha az is, akkor azt is.• Bitbeszúrás: Minden keret egy speciális bitmintával (01111110) kezdődik, majdszükség esetén esetén öt db 1-es után beszúrunk egy 0-t, így elérve, hogy aspeciális bitminta csak a keret elején fordulhasson elő.

3. Keretezés kódmegsértéssel: Fizikai rétegbeli kódolás megsértése. Pl.: Manches-ter kódolás csak magas/mély, mély/magas átmenet. Hozzáadjuk a mély/mély-tmagas/magas-t

16.3.3. HibafelügyeletMeg kell állapítani, hogy a keret hibásan vagy helyesen érkezett-e meg. Feladatai a hibákfelismerése egy keretben és a hibák javítása egy keretben.

A redundancia előfeltétele a hibafelügyeletnek, enélkül egy m hosszú keret 2m féleadatot reprezentálhat, egy hibás bit egy új adattartalmat eredményez. Az alapötlet, hogybizonyos m bit hosszú adatok nem megengedettek. Ekkor 2m adat ábrázolásához többmint 2m lehetséges keret szükséges, vagyis több mint m bit szükséges egy keretben. Kerethossza tehát n > m. r = m− n a redundáns bitek száma.

Egy egyszerű szabály egy redundáns bit hozzááadásához (n = m + 1) a paritás. Ezlehet

• Páratlan bit: 0-t fűzünk be, ha az 1-es bitek száma páratlan, egyébként 1-est.

46

Page 47: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

• Páros bit: 0-t fűzűnk be, ha az 1-es bitek száma páros, egyébként 1-est.

16.3.4 Definíció (Hamming-távolság). Legyen x = x1, . . . xn, y = y1, . . . , yn két üze-net. Az x, y Hamming távolsága d(x,y) = az 1-es bitek száma (x XOR y)-ban.

A Hamming távolság egy metrika:

• nem-negatív,

• idempotens,

• szimetrikus,

• háromszögegyenlőtlenség.

16.3.5 Definíció (Üzenethalmaz Haming távolsága). Legyen S (egyenlő hosszú) bit-sztringek halmaza. S Hamming távolsága

d(S) = minx,y∈S,x6=y

d(x, y).

A Hamming távolsággal felismerhető d bit hiba, ha a megengedett keretek halmazábanlegalább d+ 1 Hamming távolság van.

A Hamming távolsággal d bit hiba javítható, ha a megengedett keretek halmazábanlegalább 2d+ 1 Hamming távolság van.

Hatékony hibafelismerés a CRC (Cyclic Redundancy Check), polinom aritmetikánalapul a 2-es maradékosztályok testén (Z2). A CRC működése:

• G(x) generátorpolinom definiálása, foka g

• G(x) ismert a fogadó és küldő által

• g redundáns bit generálása

• Keret M, mint M(x) polinom

• Küldő kiszámolja az osztás maradékát: r(x) = xg M(x) mod G(x) és elküldi a T(x)= xgM(x) + r(x)-t

• Fogadó m(x)-et fogad, kiszámolja a maradékot: m(x) mod G(x)

• Ha nem történt hiba, T(x) fogadása korrekt, m(x) = T(x)

• Bithiba esetén fogadóhoz m(x) = T(x) + E(x) érkezik, ahol E(x) hibapolinom

• Bithibák: m(x) mod G(x) = (T(x) + E(x)) mod G(x) = T(x) mod G(x) + E(x)mod G(x).

16.3.6. FolyamfelügyeletA küldő és a fogadó adatátviteli sebességének egymáshoz igazítása. Módszerek a szimplexprotokoll és a csúszó ablak protokoll.

47

Page 48: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

16.3.7. MédiumhozzáférésA MAC (Medium Access control) alréteg csatorna megosztására szolgál a kommunikációrésztvevői között. Ez megoldható statikus multiplexálással és dinamikus csatorna fogla-lással. Előbbi akkor jó megoldás,a ha fix adatráták vannak, ám a számítógépek eseténlöketszerűen érkező adatokkal dolgoznak, így a csatornának elegendően nagy kapacításúnakkell lenni, hogy a csúcsrátát kezelni tudja. Ez pazarlás

Lehetséges MAC protokollok:

• Kollízió alapú protokollok

• Versenymentes protokollok

• Protokollok korlátozott versennyel

Az ALOHA módszer kollízió alapú protokoll. Algoritmusa: amikor egy csomag kész,azonnal átvitelre kerül, ezekre nyugtákat küldünk, ha nem érkezik meg, újraküldjük.

A CSMA is kollízió alapú protokoll. Három változata létezik:

• 1 persistent: Ha a csatorna nem szabad, várunk amíg az lesz, és ekkor azonnalmegkezdődik az átvitel, kollízió esetén véletlenszerű ideig várunk

• non-persistent: Ha a csatorna nem szabad, véletlen szerűen választott ideig várunk,majd megvizsgáljuk megint

• p-persistent: Ha a csatorna szabad, p valószínűséggel küldjük a csomagot, kollízióesetén véletlen ideig várunk, majd kezdjük elölről. Ha a csatorna foglalt, folyamatosanvárunk, míg szabad nem lesz.

16.4. Hálózati réteg16.4.1. FeladataAz útvonal információk felépítése, a csomagok továbbítása/irányítása.16.4.2. Internet ProtokollAz IP (Internet Protokoll) egy hálózati réteg protokoll.

• Routing-táblákat használ (tartalmazza a cél címekhez a következő számítógép címéta hozzá vezető úton, a cél meghatározhat egy számítógépet vagy egy egész sub-net-et,tartalmaz egy default gateway-t)

• Packet forwarding-al dolgozik (az IP csomag tartalmazza a küldő IP címét és a célIP címét, ha egy csomag megérkezik egy routerhez, és a cél IP = a saját IP-vel,akkor a csomagot kiszállítja, ha a cél a routing táblában van, akkor továbbítja amegadott gateway-hez, egyébként továbbítja a default-gateway-nek).

• Csomag kezelése: TTL (Time-to-Live) hop-ok számát tartalmazza. A routerben:TTL := TTL - 1, ha TTL 6= 0, packet forwarding a routing-tábla alapján, ha TTL= 0, akkor töröljük, feladónak expired üzenet.

16.4.3. Statikus routingA routing táblát manuálisan építjük fel, ez kis és statikus LAN-ok esetén használandó.

48

Page 49: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

16.4.4. Dinamikus routingA routing tabla felépítése automatizált. Centralizált algoritmus a Link State, ebben azesetben minden állomásnak ismernie kell minden információt. Decentrális algoritmus aDistance Vector: minden router lokálisan dolgozik, csak a szomszédjával kommunikál. ABellman-Ford algoritmus elosztott változatát használja, azaz minden csomópont csak adirekt szomszédjaival kommunikál16.4.5. DHCPA DHCP (Dynamic Host Configuration Protocol) dinamikusan oszt IP címet a számí-tógépeknek konfiguráció nélkül. A számítógép kér egy IP címet a DHCP szervertől, azautomatikusan hozzárendeli azt, majd ha a számítógép elhagyja a hálózatot, az IP címújra kiosztható.

16.5. Szállítói réteg16.5.1. Feladata• Hibafelügyelet

• Torlódás felügyelet

16.5.2. TCPA TCP (Transport Control Protocol) egy kapcsolatorientált megbízható szolgáltatásbyte-folyamokhoz két végpont között. A felhasználói réteg adatáramát csomagokra bontja,amik fogadásáról a másik oldal nyugtákat küld. Routing nincs, végpont-végpont protokoll.

Felépítése: Egy résztvervő socket által azonosított: IP cím és port, egy TCP kapcsolategy socketpár által azonosított. Az adatcsomagok megérkezését nyugtázza (ACK), a nemnyugtázott csomagokat újraküldi. A kapcsolat indítására SYN flaget használ, amelsybena maximum szegmens-méret is átvitelre kerül. Lezáráskor a küldő FIN flag-et küld, amit afogadó nyugtáz (ACK). Mindkét irányban le kell zárni a kapcsolatot.16.5.3. UDPA UDP (User Datagram Protocol) egy nem megbízható, kapcsolat nélküli szállítói réteg-protokoll csomagoknak. A nyugták hiánya miatt akkor használják, ha a gyorsaság fontosabba megbízhatóságnál, például hangátvitel és egyéb valós idejű multimédia átvitelek.

49

Page 50: ZÁRÓVIZSGA TÉTELKIDOLGOZÁS 2015 - Tamás  · PDF fileElőszó Akidolgozásbanszereplőtételekteljességéért,hibamentességéértnemvállalokfelelősséget

17. Osztott rendszerekFeladatok specifikációja biztonsági és haladási feltételekkel, absztraktpárhuzamos program tulajdonságai, megoldás fogalma, nevezetes felada-tok megoldása párhuzamos és elosztott programokkal

18. Adatbázisok tervezése és lekérdezéseRelációs adatmodell, egyed-kapcsolat modell és átalakítása relációsadatmodellbe. Relációs algebra, SQL. Az SQL procedurális kiterjesztése(PL/SQL vagy PSM). Relációs adatbázis-sémák tervezése, normálformák,dekompozíciók.

19. Adatbázisok optimalizálása és konkurencia kezelé-se

Az adatbáziskezelő rendszerek feladata, részei. Indexstruktúrák, lekérde-zések végrehajtása, optimalizálási stratégiák. Tranzakciók feldolgozása,naplózás és helyreállítás, konkurencia-kezelés.

20. Felhasznált irodalom• Simon P. 2013. Bevezetés az analízisbe I., Budapest

• Gregorics T., Vázlat a Bsc záróvizsga mesterséges intelligenciáról szóló témaköréhez,Budapest

50