1 2. előadás Matematikai és nyelvi alapfogalmak. dr. Kallós Gábor

Hasonló dokumentumok
1 2. gyakorlat Matematikai és nyelvi alapfogalmak. dr. Kallós Gábor

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

1. előadás: Halmazelmélet, számfogalom, teljes

1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata.

SZÁMÍTÁSTUDOMÁNY ALAPJAI

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy

KOVÁCS BÉLA, MATEMATIKA I.

Itt és a továbbiakban a számhalmazokra az alábbi jelöléseket használjuk:

Dr. Vincze Szilvia;

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

RE 1. Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

2014. szeptember 24. és 26. Dr. Vincze Szilvia

HALMAZELMÉLET feladatsor 1.

Diszkrét matematika I.

Halmazelméleti alapfogalmak

1. előadás Matematikai és nyelvi alapok, Szintaktikai vizsgálat

1. előadás Matematikai és nyelvi alapok, Szintaktikai vizsgálat

Diszkrét matematika 1. középszint

7. előadás Környezetfüggetlen nyelvtanok

5. előadás Reguláris kifejezések, a reguláris nyelvek jellemzése 1.

A valós számok halmaza

2011. szeptember 14. Dr. Vincze Szilvia;

A számítógépes nyelvészet elmélete és gyakorlata. Formális nyelvek elmélete

Nagy Gábor compalg.inf.elte.hu/ nagy

BOOLE ALGEBRA Logika: A konjunkció és diszjunkció tulajdonságai

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

Készítette: Ernyei Kitti. Halmazok

1.1 Halmazelméleti fogalmak, jelölések

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Matematikai logika és halmazelmélet

KOVÁCS BÉLA, MATEMATIKA I.

Matematika alapjai; Feladatok

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma

Leképezések. Leképezések tulajdonságai. Számosságok.

Automaták és formális nyelvek

Diszkrét matematika HALMAZALGEBRA. Halmazalgebra

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Diszkrét matematika 2. estis képzés

Alap fatranszformátorok II

A relációelmélet alapjai

HALMAZOK. A racionális számok halmazát olyan számok alkotják, amelyek felírhatók b. jele:. A racionális számok halmazának végtelen sok eleme van.

Diszkrét matematika 2.C szakirány

1. előadás Matematikai és nyelvi alapok, Szintaktikai vizsgálat

Formális Nyelvek - 1.

1. tétel - Gráfok alapfogalmai

Matematika III. 2. Eseményalgebra Prof. Dr. Závoti, József

KOVÁCS BÉLA, MATEMATIKA I.

Relációk. 1. Descartes-szorzat. 2. Relációk

HHF0CX. k darab halmaz sorbarendezésének a lehetősége k! Így adódik az alábbi képlet:

Diszkrét matematika gyakorlat 1. ZH október 10. α csoport

DiMat II Végtelen halmazok

Diszkrét matematika 1. estis képzés

1. Részcsoportok (1) C + R + Q + Z +. (2) C R Q. (3) Q nem részcsoportja C + -nak, mert más a művelet!

Nagy Gábor compalg.inf.elte.hu/ nagy

Házi feladatok megoldása. Nyelvek használata adatszerkezetek, képek leírására

Diszkrét matematika I.


9. előadás Környezetfüggetlen nyelvek

Formális Nyelvek - 1. Előadás

DISZKRÉT MATEMATIKA: STRUKTÚRÁK Előadáson mutatott példa: Bércesné Novák Ágnes

1. Mondjon legalább három példát predikátumra. 4. Mikor van egy változó egy kvantor hatáskörében?

KISLEXIKON : HALMAZOK, SZÁMHALMAZOK, PONTHALMAZOK. Tárgymutató: I.

A digitális számítás elmélete

Diszkrét matematika 2. estis képzés

A matematika nyelvér l bevezetés

Számítástudomány matematikai alapjai segédlet táv és levelező

dr. Szalkai István Pannon Egyetem, Veszprém, Matematika Tanszék november 3.

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

Diszkrét matematika I.

Analízis előadás és gyakorlat vázlat

Házi feladatok megoldása. Nyelvek felismerése. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 5. gyakorlat

Klasszikus algebra előadás. Waldhauser Tamás április 28.

Logika es sz am ıt aselm elet I. r esz Logika 1/36

Logika és informatikai alkalmazásai

HALMAZOK TULAJDONSÁGAI,

Diszkrét matematika I.

Formális nyelvek - 9.

Struktúra nélküli adatszerkezetek

Feladatok. 6. A CYK algoritmus segítségével döntsük el, hogy aabbcc eleme-e a G = {a, b, c}, {S, A, B, C}, P, S nyelvtan által generált nyelvnek!

Permutációk véges halmazon (el adásvázlat, február 12.)

Relációk. 1. Descartes-szorzat

Analízis I. beugró vizsgakérdések

Véges automaták, reguláris nyelvek

Nagy Gábor compalg.inf.elte.hu/ nagy

1. Halmazok, számhalmazok, alapműveletek

1. Algebrai alapok: Melyek műveletek az alábbiak közül?

Diszkrét matematika I. gyakorlat

Diszkrét matematika 2. estis képzés

A Matematika I. előadás részletes tematikája

Logika és informatikai alkalmazásai

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Analízis I. Vizsgatételsor

Intelligens irányítások

6. előadás A reguláris nyelvek jellemzése 2.

Miskolci Egyetem. Diszkrét matek I. Vizsga-jegyzet. Hegedűs Ádám Imre

A fontosabb definíciók

Dicsőségtabló Beadós programozási feladatok

Átírás:

1 2. előadás Matematikai és nyelvi alapfogalmak dr. Kallós Gábor 2017 2018

Köszönetnyilvánítás Köszönetnyilvánítás (Acknowledgement) Ez az előadás-sorozat és a hozzá tartozó gyakorlati feladatsor nagyban épít a következő könyvre Elements of the Theory of Computation (Prentice-Hall), 2 nd ed. Szerzők: Harry R. Lewis, Christos H. Papadimitriou (Profs.); illetve a Pannon Egyetemen (Veszprém) használt Digitális számítás elmélete c. előadások és gyakorlatok fóliáira, Ennek szerzői: dr. Heckl István (előadó, tantárgyfelelős) és dr. Hegyháti Máté A szerző köszönetet mond az anyagok felhasználásának engedélyezéséért és a tananyag kidolgozása során kapott sok segítségért A köszönetnyilvánítás a további előadások és gyakorlatok fejlécében nem szerepel külön, de természetesen azokra is vonatkozik 2

Tartalom Halmazok, műveletek Rendezett párok, Descartes-szorzat Relációk, függvények Számosságok, végtelenek Nyelvi alapfogalmak Ábécé, szavak, nyelvek Műveletek szavakkal és nyelvekkel 3

Definíciók (halmaz) Lehetne: axiomatikus felépítésű halmazelmélet (alapfogalmak, definíciók, axiómák, állítások, ) Halmaz: objektumok kollekciója (gyűjteménye) Kollekció = halmaz; Objektumok = elemek, tagok Példák: L = {a, b, c, d}, S = színek halmaza Jelölések b eleme L-nek: b L z nem eleme L-nek: z L Megjegyzések Elemek ismétlődése nem megengedett, pl. {piros, kék, piros} = {piros, kék} Az elemek sorrendje nem lényeges, pl. {1, 3, 9} = {9, 3, 1} = {3, 1, 9} red blue Az elemek maguk is lehetnek halmazok, pl. {2, piros, {kék, d}} pink yellow black 4

Halmazok megadása Összes elemének listázásával Pl. M = {xx, yy, zz} Mint előbb, de használatával Pl. N = {0, 1, 2, 3, } Végtelen halmazoknál azonban ez gyakran nem működik! Tulajdonság megadásával, amely minden elemre érvényes (vagy nem érvényes) Példák: H = {x R x > 2}; K = {x N x nem osztható 2-vel}; A = { magyar településnevek, amelyek tartalmazzák az a betűt }. Általánosan: B = {x A x-re teljesül P tulajdonság} Megj.: Ilyen tulajdonság nem mindig adható meg! Halmaz elemszáma (jelölés): H 5

Definíciók (halmazok egyenlősége, üres halmaz, részhalmaz) Halmazok egyenlősége: Két halmaz egyenlő elemeik ugyanazok Üres halmaz: nincs eleme L = 0; Pl.: L = Ø vagy L = {} De: Ø = {} { {} } Singleton (egy elemű halmaz) L = 1; Pl.: L = {a} Részhalmaz: A részhalmaza B-nek, ha A minden eleme B-nek is eleme Jelölés: A B Tulajdonságok Ø minden halmaznak részhalmaza Minden halmaz részhalmaza saját magának Valódi részhalmaz: Ha A B és A B Jelölés: A B (Vagy egyenlőség áthúzva) Részhalmaz állítás: A B és B A A = B A B 6

Példák, kérdések (elem, részhalmaz) Igazak-e a következők? 5 {5, 6, 7} (Y) 6 {5, 7, 9} (N) {5, 6} {5, 6, {5, 6}} (Y) {5, 6} {5, 6, 7} (N) a {{a}} (N) {a, b} {a, {a, b}, b} (Y) Ø Ø (N) Ø {Ø} (Y) {5, 6} {5, 6, 7} (Y) {6, 8} {5, 6, 7} (N) {a, b} {a, b} (Y) {a, b} {a, b, {a, b}} (Y) a {a, b, {a, b}} (N) Ø Ø (Y) Ø {Ø} (Y) 7

Definíciók (halmaz műveletek) Halmazok uniója: az a halmaz, amely mindkét halmazból az összes elemet tartalmazza; A B = { x x A vagy x B } Példák {piros, zöld} {kék} = {piros, zöld, kék} {1, 3, 9} {3, 5, 7} = {1, 3, 5, 7, 9} Halmazok metszete: az a halmaz, amely a két halmaz közös elemeit tartalmazza; A B = { x x A és x B } Példák {1, 3, 9} {3, 5, 7} = {3} {piros, zöld} {kék} = Ø 8

Definíciók (halmaz műveletek) A és B halmaz különbsége: az a halmaz, amely A minden nem B-beli elemét tartalmazza; A \ B = { x x A és x B } Példák Megj.: A művelet jelölhető jellel is {1, 3, 9} \ {3, 5, 7} = {1, 9} {piros, zöld} \ {kék} = {piros, zöld} Diszjunkt halmazok: nincs közös elemük; A B= Ø Példák A = kutyák halmaza, B = macskák h. A = {1, 4, 33}, B = {2, 6, 12} Komplementer halmaz ( alaphalmaz): A C = { x x eleme az alaphalmaznak, de x A} Példa Megj.: A C jelölhető felülvonással is B = {1, 3, 5}, A = {1, 3}, A B és A C = {5} 9

Tulajdonságok (halmaz műveletek) Az unió és metszet idempotens: A A = A, A A= A kommutatív: A B = B A, A B= B A asszociatív: (A B) C = A (B C), (A B) C = A (B C) Továbbá teljesül(nek) a disztributív tulajdonság: A (B C) = (A B) (A C), A (B C) = (A B) (A C) az abszorpció: A (A B) = A, A (A B) = A a De Morgan szabályok: AI B = AU B, AU B = AI B 10

Példa (De Morgan szabályok) AI B = AU B -t szemléltetjük nyelvi környezetben Alaphalmaz: összes szó valamely ábécé felett, Ʃ* (lásd később) Legyen A a páros hosszú szavak halmaza, B a hárommal osztható hosszú szavak halmaza Ábra: A B, ill. A és B komplementerei, majd ezek uniója, 11

Definíció, példa (halmaz műveletek) Kettőnél több halmazra értelmezett műveletek L: Az a halmaz, amelynek elemei az L-beli halmazok elemei (az összes) Példa L = {{a, b}, {b, c}, {c, d}} L = {a, b} {b, c} {c, d} = {a, b, c, d} L: Az a halmaz, amelynek elemei az L-beli halmazok közös elemei Példa L = {{a, b}, {b, c}, {b, d}} L = {a, b} {b, c} {b, d} = {b} Példa {3, 5} {3, {3, 5}, {7}} ( {{1, 2, 3}, {2, 3, 4}}) = = {3, 5, {3, 5}, {7}} {2, 3} = = {2, 3, 5, {3, 5}, {7}} 12

Definíció (hatványhalmaz) Hatványhalmaz (power set): Egy adott halmaz minden részhalmazának kollekciója Azaz a részhalmazokat elemként tartalmazó halmaz Jelölés: P(A) vagy 2 A Elemszám: P(A) = 2 A (exponenciális!) Pl. egy háromelemű halmaznak 8 elemű a hatványhalmaza Példák P(Ø) = {Ø} = {{}} P({a}) = {Ø, {a}} P({b, c}) = {Ø, {b}, {c}, {b, c}} P({d, e, f}) = {Ø, {d}, {e}, {f}, {d, e}, {d, f}, {e, f}, {d, e, f}} P({1, 2, 3, 4}) = {Ø, {1}, {2}, {3}, {4}, {1, 2}, {1, 3}, {1, 4}, {2, 3}, {2, 4}, {3, 4}, {1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {2, 3, 4}, {1, 2, 3, 4}} 13

Definíció (particionálás) Partíció:Π(halmaz) az A halmaz egy partíciója, ha Példák Π P(A) Ø Π Π elemei diszjunktak (nincs közös elemük) Π = A Legyen A = {a, b, c, d} Ekkor az {{a, b}}, {c}, {d}} halmaz A egy partíciója De {{b, c}, {c, d}} nem! Legyen A = N Ekkor a páros és a páratlan számok halmazai (együtt) A egy partícióját alkotják Azaz Π = {{E}, {O}} 14

Definíciók (rendezett pár, Descartes-szorzat) Célunk: relációk bevezetése Ehhez párok, ill. n-esek kellenek, rendezve, sorrend számít! Halmaz nem jó, mert pl. {4, 7} = {7, 4} Megoldás (rendezett pár, ordered pair): (a, b) := {a, {a, b}} Itt (a, b) (b, a) (a, b) = (c, d) a = c és b = d Hasonlóan bevezethető a rendezett n-es is A determinisztikus automata pl. egy rendezett 5-ös (lásd később) Legyenek A és B halmazok. Ekkor A és B direkt (vagy Descartes-féle) szorzata (Cartesian product): A B = {(x, y) x A és y B} Azaz az összes olyan rendezett (x, y) pár halmaza, amelyeknél x A és y B Itt Ø A = Ø Hasonlóan, n-szeres Descartes-szorzat: A 1 A 2 A n = { (a 1, a 2,..., a n ) a i A i } Ha A 1 = A 2 = = A n, akkor A 1 A 2 A n = A n Pl. N N = N 2 15

Példák (rendezett pár, Descartes-szorzat) {1, 3} {b, c} = {(1, b), (1, c), (3, b), (3, c)} {1} {1, 2} {1, 2, 3} = {(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 2, 1), (1, 2, 2), (1, 2, 3)} P({1, 2}) {1, 2} = {Ø, {1}, {2}, {1, 2}} {1, 2} = {(Ø, 1), (Ø, 2), ({1}, 1), ({1}, 2), ({2}, 1), ({2}, 2), ({1, 2}, 1), ({1, 2}, 2)} Igaz-e, hogy (a, b) {a} {b}? Igen, mert a j. o.: {(a, b)} Igaz-e, hogy (a, b) {(a, b)} {a, b}? Nem, mert a j. o.: {((a, b), a), ((a, b), b)} Igaz-e, hogy {a, b} {b, a} {b}? Nem, mert a j. o.: {(b, b), (a, b)} 16

Definíció, példák (reláció) Bináris reláció (binary relation; A és B halmazokon): A B valamely R részhalmaza (rendezett párok halmaza; (a, b) R) Inverz bin. reláció: R 1 = { (b, a) (a, b) R } n-áris reláció (A 1, A 2,, A n halmazokon): A 1 A 2 A n valamely R részhalmaza (rendezett n-esek halmaza) Példák Bináris reláció: < reláció, pl. N felett, Ekkor A = B = N, R = { (i, j) N 2 i < j } = {(0, 1), (0, 2), (0, 3), (0, 4),..., (1, 2), (1, 3), (1, 4),... }; (a, b) R a < b Ennek inverze: > reláció Ternáris reláció (ábra): R = { (a, A, 1), (a, A, 2), (b, B, 4),... } 17

Definíció (függvény) Intuitív ötlet: Egy halmaz elemét egy másik halmaz egyértelműen meghatározott eleméhez párosítjuk/rendeljük hozzá (pl. konkrét emberek és életkoruk) Pontos definíció: reláció-alapon Függvény (A-ból B-be képezően): Az f A B bin. relációt függvénynek nevezzük, ha a A-hoz egyértelműen olyan pár f-ben, aminek első komponense a Jelölés: f: A B Itt (a, b) f f(a) = b Kapcsolódó fogalmak Értelmezési tartomány (domain): A Elem képe: az a elem képe f szerint f(a) Értékkészlet (range): az É.T. képe Többváltozós függvény: f: A 1 A 2 A n B, f(a 1, a 2,, a n ) = b 18

Példák (függvény) Reláció, amely függvény: R = { (x, y) x C, y S, x város (city) az y államban/országban (state) } R: C Sfüggvény R = { (Budapest, HU), (Szeged, HU), (New York, USA), (Austin, USA),...} (az esetleg azonos nevű városokat vmi módon megkülönböztetjük) R(Budapest) = HU, R(Szeged) = HU,... Reláció, amelyik nem függvény: R 1 = { (y, x) x C, y S, x város az y államban/országban} De R 1 : S Cnem függvény! R 1 = { (HU, Budapest), (HU, Szeged), (USA, New York), (USA, Austin),...} 19

Definíciók (függvények tulajdonságai) Bizonyos függvények különösen érdekesek (itt mindig f: A B) Egy-egyértelmű (injektív; one-to-one, injective) leképezés: Ha a a' f(a) f(a') Példa B minden elemébe legfeljebb egy elem képződik A-ból S = államok halmaza, C = városok halmaza f: S C; f(s) = az s állam fővárosa (lesz sok C-beli elem, amit nem használunk fel) Szürjektív (ráképező; surjective, onto) leképezés: Ha B minden eleme képe valamely A-beli elemnek Azaz B minden elemét felhasználjuk Előző példa folyt. g: C S; f(c) = a c város állama 20

Definíciók, példák (függvények tulajdonságai) Spec. függvények (folyt.) Kölcsönösen egyértelmű hozzárendelés (bijekció): Egy-egyértelmű és szürjektív leképezés Példa Diszjunkt párok a leképezésben, és mindent felhasználunk S = államok halmaza, C = fővárosok halmaza f: S C; f(s) = az s állam fővárosa Milyen típusú leképezések a köv.-ők? h: autótípusok halmaza autómárkák halmaza (szürj.) i: emberek halmaza emberek ujjlenyomatainak halmaza (mutatóujj) (bij.) j: személyig. azonosítók halmaza emberek halmaza (inj.) k: feleségek halmaza férjek halmaza 21

Definíciók, reprezentáció (speciális bináris relációk) Egyes spec. bináris relációk fontosak lesznek számunkra a későbbiekben Tipikusan bizonyos szabályossággal (pl. szimmetria tulajd.) Most csak olyan R bin. relációkat nézünk, amelyekre R A A (A az alaphalmaz) ezek irányított gráfokkal reprezentálhatók Reprezentáció A minden eleme egy csúcs Él vezet a-ból b-be (irányítva) (a, b) R Hurokél megengedett; (a, a) R esetén (Párhuzamos azonos élek nem megengedettek) Példa (ábra) R = {(a, b), (a, d), (b, a), (c, a), (d, c)} a d b c 22

Definíciók, reprezentáció (speciális bináris relációk) (Továbbra is R A A) Reflexív reláció: Ha a A-ra (a, a) R Példa: reláció (pl. A = N vagy A = R) R = {(a, b) a b} Szimmetrikus reláció: Ha (a, b) R (b, a) R Mindkét irányba élek mennek az adott csúcsok között Használható egy db irányítatlan él is Példa: barátság (kölcsönös) R = {(a, b) a és b barátok} a b c a b c a b c f e d f e d 23

Definíciók, reprezentáció (speciális bináris relációk) Antiszimmetrikus reláció: Ha (a, b) R, a b (b, a) R Példa: szülő-gyerek kapcsolat P = emberek halmaza, R = {(a, b) a, b P, a édesapja b -nek} Másik definíció: Ha (a, b) R és (b, a) R a= b (A párhuzamosság nem ilyen!) Megj.: Ez nem a szimm. reláció ellentéte Pl. az = reláció mindkét tulajdonsággal rendelkezik Tranzitív reláció: Ha (a, b), (b, c) R (a, c) R Példa: ős R = {(a, b) a, b P, a őse b -nek} A kapcsolat továbbvihető a d b c 24

Példák (speciális bináris relációk) Milyen tulajdonságokkal rendelkeznek a következő relációk? 0 1 2 3 4 5 Milyen viszonyt akar(hat)tunk bemutatni az 1. ábrán? (Milyen tul. sérül?) Egészítsük ki az ábrát megfelelően! a d a c b d b c 25

Definíciók, reprezentáció (speciális bináris relációk, R A A) Ekvivalencia reláció: R reflexív, szimmetrikus és tranzitív Példa: egyenesek párhuzamossága, szakaszok hossza Rendezési reláció: R reflexív, antiszimmetrikus és tranzitív Példa: reláció (teljes rendezés) Szemléltetés: ekvivalencia reláció R klaszterekből áll, a klaszterek diszjunktak és minden klaszter összefüggő (ezeket ekvivalencia osztályoknak nevezzük) Tétel: Ha R ekvivalencia reláció A felett, akkor az R által indukált ekv. osztályok A egy partícióját adják Megj.: Ezen alapul a minimálautomata konstrukció, lásd később 26

Definíciók (számosság, mennyiségi egybevágóság) Számosság (cardinality): halmaz elemeinek a száma (itt is a megszokott jelölést használjuk: S ) Véges eset: n elemű halmaz számossága n Pl.: {1, 2,, n} = n, {piros, zöld, kék} = 3 Ø számossága 0 Végtelen halmaznál ez problémás, ill. nem elég! Egybevágóság (mennyiségileg; equinumerous): ha két halmaz között létesíthető bijekció Ez a viszony reflexív, szimm. és tranzitív (ekvivalencia), jelölés: ~ Ha S 1 S 2, akkor S 1 és S 2 mennyiségileg nem egybevágók Ezzel már a végtelen számosságot is tudjuk (majd) kezelni 27

Definíciók (számosság, végtelen esetek) Végtelen halmaz: nem véges De: nem minden végtelen halmaz azonos számosságú! Elv (itt is): minden halmazhoz egyértelműen hozzárendelünk egy mérőszámot; úgy, hogy a menny.leg egybevágó halmazok mérőszáma ugyanaz, a nem egybevágóaké pedig különböző legyen Megszámlálhatóan végtelen halmaz: ha H ~ N Azaz: a halmaz elemei listázhatók egy felhasználásával És így mindenki sorra kerül! Nem megszámlálhatóan végtelen halmaz: végtelen, de nem ~ N-nel A P(N) és R végtelen halmazokról tudjuk, ill. igazolható, hogy mennyiségileg nem egybevágók N-nel (számosságuk: 2 N ) Az R-rel mennyiségileg egybevágó halmazok kontinuum számosságúak (Vannak további végtelen számosságok is) 28

Példa (számosság, végtelen esetek) A bijekció létrehozásánál vigyázni kell! Lehetünk ügyetlenek ; de abból, hogy találtunk egy rossz bijekciót, nem következik, hogy nincs jó! De tehát ugyanannyi egész van, mint nemnegatív egész Feladat: Rajzoljuk le Z elemeinek felsorolási logikáját úgy, hogy az elemek növekedően helyezkednek el ( ugrálás )! 29

Példák (számosság) Egy egész szám osztóinak száma véges A páros pozitív egész számok száma megszámlálhatóan végtelen Hasonlóan pl. a 17-tel osztható nemneg. egész számok és a term. számok között is létesíthető bijekció Az egész számok számossága megszámlálhatóan végtelen Lásd még: Áll. 1. (köv. slide) A racionális számok számossága is megszáml.tóan végtelen Lásd: Áll. 2. (köv. slide) Nem üres ábécé felett megalkotható szavak száma: megszámlálhatóan végtelen (lásd később) A számegyenes pontjainak száma nem megszámlálhatóan végtelen Ugyanez érvényes a [0, 1] intervallum pontjainak számára is És a sík pontjaira is Nem üres ábécé felett megalkotható formális nyelvek száma: nem megszámlálhatóan végtelen (lásd később) 30

Állítások (számosság) Állítás 1: Véges sok, megszámlálható számosságú halmaz uniója szintén megszámlálható Biz.: Az elemek ügyes listázásával, pl. három halmazra Állítás 2: Megszámlálható sok, egyenként önmagában megszáml.ható számosságú halmaz uniója szintén megszáml.ható Biz.: Szintén az elemek ügyes listázásával (Ábra: szorzat konstrukció két végtelen halmazra) A B C a 0 a 1 b 0 b 1 c 0 c 1 a 2 b 2 c 2 a 3 b 3 c 3 a 4 b 4 c 4 a 5 (0, 0) (1, 0)... 31

Definíció (reflexív, tranzitív lezárt; closure) Adott az A halmaz felett egy R M M reláció (szemléltetés: irányított gráf). Ekkor R reflexív, tranzitív lezártja a következő (legkisebb jó) reláció: R* = { (a, b) a, b A, és létezik út a-ból b-be R-ben } Példa Egy R gráfhoz megadjuk R*-ot Megj.: Reflexív tulajd. nélkül: az (a, a) párokat kizárjuk a 1 a 4 a 1 a 4 R R* a 2 a 3 a 2 a 3 32

Algoritmus (reflexív, tranzitív lezárt előállítása) Algoritmus fogalma (egyelőre informálisan ): Utasítások sorozata, véges sok lépés után megáll Eredményt ad Első megoldás Hatékonysági elemzés Minden lehetséges utat megvizsgál az eljárás Input méret A = n, i-esek száma n i, egy i-es útjelölt tesztelése max. n lépés Össz. műveletigény (max.): f(n) = n (1 + n + n 2 + + n n ), azaz f O(n n+1 ) Az eljárás exponenciális! (Rossz) 33

Algoritmus (reflexív, tranzitív lezárt előállítása) Jobb megoldás Tripletteket vizsgálunk O(n 3 ), de a módosulások miatt mindegyiket O(n 2 )-szer meg kell nézni Polinomiális, f(n) O(n 5 ), részletek: lásd Elements könyv (34.) Jó megoldás Hatékonysági elemzés A középső index szerint növekedően rendezünk (!), így az új élek nem hoznak olyan módosulást, ami miatt a tripletteket újra kellene vizsgálni Így f(n) O(n 3 ), részletek: lásd Elements könyv (36.) 34

Algoritmus (reflexív, tranzitív lezárt előállítása) Működési példa (2. polinomiális algoritmus) R = {(a 1, a 4 ), {(a 3, a 2 ), {(a 4, a 3 )} A triplettek vizsgálati sorrendje: (a 1, a 1, a 1 ),..., (a 1, a 1, a 4 ), (a 2, a 1, a 1 ),..., (a 2, a 1, a 4 ),..., (a 1, a 2, a 1 ),..., (a 4, a 4, a 4 ) Ha j = 1 és j = 2 (középső index), akkor nincs bővülés Az első bővülés j = 3-nál (a 4, a 3, a 2 )-re jön Az új él (a 4, a 2 ) Végül j = 4-re az (a 1, a 2 ) és (a 1, a 3 ) élekkel bővítünk Utolsó változás: (a 1, a 4, a 3 )-ra Feladat: rajzoljuk le a kapott R* relációt! a 2 a 1 a 4 a 3 35

Definíció, példák (zártság) A tranzitív lezárt koncepció csak egy lehetőség arra, hogy kisebb halmazokból (relációkból) nagyobbakat állítsunk elő Zártság (adott halmaz zártsága egy relációra): Legyen D halmaz, B D, n 0és R D n+1 egy (n+1)-áris reláció. B zárt R-re, ha (b 1, b 2,, b n+1 ) R, b 1, b 2,, b n B b n+1 B. R nem vezet ki B-ből, B zártsági tulajdonsága Ha R függvény, akkor R(b 1,, b n ) = b n+1 Példák N zárt az összeadásra D = Z, B = N, n = 3 (ternáris reláció), R = {..., (0, -1, -1), (0, 0, 0), (0, 1, 1),..., (3, 4, 7),...} Két term. szám összege is az N nem zárt a kivonásra D = Z, B = N, n = 3, R = 36

Nyelvi alapfogalmak Definíciók (ábécé, szó) Ábécé: szimbólumok nem üres, véges halmaza; jelölés: Ʃ (vagy V, ritkábban X) A szimbólumok különböznek egymástól (Esetleg betűcsoport is választható szimbólumnak) Szó (mondat): Ʃ elemeiből képzett sorozat (rendezett k-as), azaz a 1 a k, ahol k 0, és a 1,, a k Ʃ Jelölés: tipikusan ábécé végi kisbetűkkel (pl. u, v, w) Üresszó (null szó): k = 0 eset, jele e (más irodalmakban ε vagy λ) Összes szó halmaza Ʃ felett (benne e is); jelölés: Ʃ* (vagy V*) Ha e-t nem engedjük meg: Ʃ + = Ʃ* {e} (Megj.: Ʃ* megszámlálhatóan végtelen) Szó hossza (Ʃ felett): szimb.ok száma benne, jelölés: w (w szóra) Indukciós definíció is lehetséges, lásd részszó Itt e = 0 Szó i-edik szimbóluma: w(i) 37

Nyelvi alapfogalmak Példák (ábécé, szó) Latin-angol ábécé, E = {a, b, c,, z} Magyar ábécé, H = {a, á, b, c, cs,, zs} Bináris ábécé, B = {0, 1} Decimális ábécé D = {0, 1,, 9} Gyakorló kétbetűs ábécé, G = {a, b} Szavak E felett: (értelmes) angol szavak, pl. elephant Itt elephant(3) = e, elephant(5) = h Valójában (e, l, e, p, h, a, n, t) Szavak B felett: 01, 10, 111, 1001110, Szavak G felett: a, b, ab, bb, baa, aba, abba, baba, Itt a = 1, ab = 2, Összes szó G felett (lexikografikus megadás): G* = {e, a, b, aa, ab, ba, bb, aaa, aab, aba, } Hány darab n hosszú szót tudunk megadni G felett? 38

Nyelvi alapfogalmak Példa és elemzés: egy ábécé (pl. G) feletti összes szót kiíró program Mikor áll le a program? Hány (véges) szót fog kiírni a program? Igaz-e, hogy bármely rögzített hosszú szó (pl. w = 1000) előbb-utóbb kiírásra kerül? Tudunk mondani olyan szót az ábécé felett amelyet nem ír ki a program? Milyen stratégiával lehetne kiíratni az i hosszú szavakat? Milyen rendezést célszerű alkalmazni Ʃ* megadásánál? 39

Nyelvi alapfogalmak Definíciók (szavak egyenlősége, konkatenáció) Szavak egyenlősége: ha betűről-betűre megegyeznek, azaz Ʃ*-beli u = a 1 a m és v = b 1 b n szavak egyenlők m = n és i = 1,, n-re a i = b i Konkatenáció (egymás után írás, összefűzés, láncolás, szorzás ): u és vʃ*-beli szavakra u v Ʃ* (vagy egyszerűen uv) Érvényes: uv = u + v Ismételt konkatenáció, ( hatványozás ), u n : a szó n-szer egymás után írva Indukciós definíció: u n+1 = u n u 1 u Ʃ*-ra u 0 = e Igaz továbbá: xe = ex = x Megj.: a konkatenáció általában nem kommutatív! (azaz általában uv vu) Ugyanakkor asszociatív 40

Nyelvi alapfogalmak Példák (szavak egyenlősége, konkatenáció) Szavak egyenlősége V = {1, 2, +} felett (formális nyelvi értelemben) 1+1 2 A file szó pl. betűről-betűre azonos E és H felett Egyszerű konkatenáció Buda pest = Budapest, beach boy = beachboy, 01 10 = 0110 Ellenőrizzük uv = u + v -t! Konkat. tulajdonságok (nem komm.) G felett abba baba = abbababa babaabba = baba abba De: u + v = v + u Ismételt konkatenáció (do) 2 = dodo, (er) 1 = er Indukciós megadás dodo = (e do) do 41

Nyelvi alapfogalmak Definíciók (prefix, szuffix, részszó, tükörkép) Legyenek x és w Ʃ*-beli szavak Prefix: x prefixe (kezdőszelete) w-nek, ha olyan y Ʃ*, hogy w = xy Valódi prefix: ha x, y e x = k a prefix hossza Szuffix (végződés): hasonlóan értelmezhető Részszó: x részszava w-nek, ha olyan y, z Ʃ*, hogy w = yxz (itt y és z lehet e is) Valódi részszó: hasonlóan értelmezhető Használatos az alszó, kezdő alszó, és befejező alszó megnevezés is Tükörkép (reversal word): szó visszafelé írva Jelölés: w R (vagy w 1 ) Állítás: (uv) R = v R u R Biz.: Lásd Elements könyv (43.), indukcióval 42

Nyelvi alapfogalmak Példák (prefix, szuffix, részszó, tükörkép) E felett roadrunner prefixe road, szuffixe runner abroad-ban road már szuffix broader-ben road részszó Karinthy tréfás példái kis róka: apróka jóllakott elefánt: telefánt nyughatatlan angolna: barangolna züllött medve: elvetemedve vidám hiúz: hihiúz hanyatló értelmű tulok: butulok kövér fóka: pufóka éhes bálna: zabálna öreg boa: óboa igazoltan zsidó sertés: kósertés üvöltő bölény: bömbölény buta márna: szamárna Tükörkép H és E felett (Indul a görög aludni) R = indula görög a ludni (Kitűnő vőt rokonok orrtövön ütik) R = kitü növötrro konokor tővőnűtik (A man a plan a canal Panama) R = amanap lanac a nalp a nam A 43

Nyelvi alapfogalmak Definíció (formális nyelv) Nyelv (vagy: Ʃ feletti nyelv, formális nyelv): Ʃ* tetszőleges L részhalmaza; azaz L Ʃ* Másként: szavak halmaza Ʃ felett Adott formális elem/szó adott nyelvbe való tartozása (elvileg) egyértelműen eldönthető Egy formális nyelv lehet üres, véges vagy végtelen; néhány példa: Üres nyelv: L = Ø Csak az üresszót tartalmazó nyelv: L = {e} (ennek egy eleme van) Alapnyelvek: L = {a} típusúak (az előző is alapnyelv) Ábécényelv: L = Ʃ Véges nyelvek (elemeik felsorolásával megadhatók) Végtelen nyelvek Teljes nyelv: L = Ʃ* (minden lehetséges szót tartalmaz) V.ö. (majd): ábécére alkalmazott konkatenáció 44

Nyelvi alapfogalmak Megadás, megjegyzések (formális nyelv) Nyelvek megadásának lehetőségei Felsorolással (véges eset) Halmaz definícióval Szabályokkal L = {x Ʃ* x-re teljesül P tulajdons.} Generatív nyelvtannal (később tanuljuk) Megjegyzések Egy adott véges Ʃ ábécé feletti összes (lehetséges) nyelv halmaza a Ʃ* összes részhalm.ból alkotott halmaz; vagyis Ʃ* hatványhalmaza. Ʃ* megszáml.óan végtelen, így Ʃ felett kontinuum sok nyelv létezik. ( P(N) = R ) A hagyományos nyelvek (pl. magyar nyelv) nem tekinthetők tiszta formális nyelvnek: a nyelv halmaza nem pontos ; nem véglegesen lezárt, ill. részben szubjektív is; (továbbá ugyanazon szó esetleg többféle módon is értelmezhető) 45

Nyelvi alapfogalmak Példák (formális nyelvek) Alapnyelvek E felett L a = {a}, L b = {b}, L c = {c} stb. Ábécényelv L abc = E = {a, b, c,, z} Véges példanyelv L rev = {reversal, lasrever} Véges nyelv H felett (felsorolás) L H-pl = {alma, ágy, béka, cica, csillag, dió, elefánt, érem} Szabályrdsz. alkalmazása E felett L EN = {egy adott angol magyar szótárban szereplő összes angol szó} Rögzített! (És persze véges) 46

Nyelvi alapfogalmak Példák (formális nyelvek G felett) Véges nyelv G felett (felsorolás) L 1 = {e, a, aa, aab} Véges nyelv G felett (szabállyal) L 2 = {x G* x 7} Végtelen nyelvek G felett (szabállyal) L 3 = {x G* x páratlan}, L 4 = {x G* x prím} L 5 = {e, ab, aabb, aaabbb, } = {a n b n n 0} L 6 = {u {a, b}* # a u = # b u} L 7 = {x G* x prefixe ab} Generatív nyelvtannal történő megadás G 0 = ({S}, {a}, {S as, S λ}, S) G 3 = ({S}, {a, b}, {S asb, S ab}, S) Belátjuk majd, hogy G 0 a csupa a betűből álló szavakat állítja elő, míg G 3 az a n b n alakú szavakat 47

Műveletek nyelvekkel Definíciók (nyelvműveletek) Nyelvek mint halmazok: Boole műveletek (,, \, ) Eml.: halmaz műveletek Adottak tetsz. L 1, L 2 Ʃ* nyelvek. Ekkor értelmezhető a nyelvek (mint halmazok) Uniója és metszete, Különbsége (kétféle módon), Ill. L 1 -nek a Ʃ*-ra vonatkozó komplementere, és ezek szintén Ʃ*-beliek. A jelölések a megszokottak (,, \, ) Egy formális definíció (a többi hasonlóan) L 1 L 2 = {p p L 1 és p L 2 } A komplementer képzésnél az ábécé általában egyértelmű, de figyelni kell (!) Példa: Az L 1 = {e, a, aa, aab} nyelv komplementere más G = {a, b}, mint G' = {a, b, c} felett (írhatóʃ* \ L 1 is) 48

Műveletek nyelvekkel Definíciók, tulajdonságok (nyelvműveletek) Nyelvek mint jelsorozatok: reguláris műveletek (+,, *) A + szintén az unió Nyelvek konkatenációja: Adottak tetsz. L 1, L 2 Ʃ* nyelvek. Ekkor L 1 L 2 = {u v u L 1, v L 2 } a konkatenált nyelv, és ez szintén Ʃ*-beli. A jel elhagyható Egy L 1 L 2 -beli szó nem feltétlenül csak egyféle módon bontható fel L 1 -beli és L 2 -beli elemekre (lásd lent) Általában L 1 L 2 L 2 L 1 Példa: {a, bx}{c, d} = {ac, ad, bxc, bxd}, {c, d}{a, bx} = {ca, da, cbx, dbx} Állítás: L 1 L 2 L 1 L 2 Példa G felett: L 1 = {a, aa}, L 2 = {bb, a} L 1 L 2 = {abb, aa, aabb, aaa} L 3 = {ab, a}, L 4 = {a, ba} L 3 L 4 = {aba, abba, aa}, itt aba = ab a = a ba 49

Műveletek nyelvekkel Definíciók (nyelvműveletek) Nyelv i-edik hatványa: ismételt konkatenáció (lásd előző def.), ill. L i = LL L Itt L 0 = {e}, L 1 = L Kleene-iteráció (Kleene-csillag): L* = {w Σ* w = w 1 w k, k 0, w 1,, w k L} azaz: szó halmaza, ami 0 vagy több L-beli szóból konkatenációval előállítható Alternatív definíció: L* = {e} L LL LLL, illetve azaz: azon jelsorozatok, amelyek feldarabolhatók úgy, h. darab a nyelv mondata legyen (a darabok számára nincs megkötés) Megj.: L* nyelv L lezártja a művelettel (a * műv. a konkatenáció lezárása) Bevezethető L + = L* \ {e} = LL* is Kérdés: Σ*-ot használtuk már. Konzekvens ez a mostani definícióval? L =U =0 i i L 50

Műveletek nyelvekkel Példák (nyelvműveletek) {a, b} {b, c} = {a, b, c} G felett: {a, b} 3 = {aaa, aab, aba, abb, baa, bab, bba, bbb} {a} + = {a, aa, aaa, } {ab}* = {e, ab, abab, ababab, } Ha L = {01, 1, 100}, akkor 110001110011 L*, mert 110001110011 = 1 100 01 1 100 1 1. Hasonlóan, 1011001 L*, mert felírható 1 01 100 1-ként. Azonban 110001110-nél ez már nem megy Érdekesség: Ø* = {e}, mert def. szerint az egyetlen képezhető w 1 w k, k 0 szó az e Másként: Ø* = {e} Ø ØØ = {e} Hasonlóan igaz tetsz. nyelvre LØ = ØL = Ø is 51

Műveletek nyelvekkel Tulajdonságok (nyelvműveletek) Állítás: Legyen L = {w {0, 1}* w-ben a 0-k és 1-esek száma különböző}. Ekkor L* = {0, 1}* (= B*). (Lemma: tetsz. L 1 és L 2 nyelvekre, ha L 1 L 2, akkor L 1 * L 2 *, a Kleene-csillag művelet definíciójából.) Bizonyítás {0, 1} L, hiszen 0 -ban és 1 -ben is különböző az a 0-k és 1-esek száma. Így {0, 1}* L*, a lemma szerint. L* B* = {0, 1}* viszont a definícióból következik. Így L* = {0, 1}*, hiszen mindkét irányú tartalmazás teljesül. 52

Ajánlott irodalom Harry R. Lewis, Christos H. Papadimitriou: Elements of the Theory of Computation (2 nd ed.), Prentice-Hall, Upper Saddle River, 1998 Fülöp Zoltán: Formális nyelvek és szintaktikus elemzésük, Polygon, Szeged, 2001 Dömösi Pál és társai: Formális nyelvek és automaták, Elektronikus jegyzet, 2011 Bach Iván: Formális nyelvek, Typotex kiadó, Budapest, 2002 Alan P. Parkes: A Concise Introduction to Languages and Machines, Springer, London, 2008 53