Számítástudomány matematikai alapjai segédlet táv és levelező Horváth Árpád 2008. december 16. A segédletek egy része a matek honlapon található: http://www.roik.bmf.hu/matek Kötelező irodalom: Bagyinszki György: Diszkrét matematika főiskolásoknak, TypoTEX Kiadó, Bp. 2001. György Kárász Sergyán Vajda Záborszky: Diszkrét matematika példatár, Bp. 2003, BMF-NIK-5003, (Továbbiakban Példatár). Levelezősöknek a matek honlapon elérhető NetworkX-es segédlet. Ajánlott irodalom: Tóth Mihály: Számítástudomány algebrai alapjai Tóth Mihály: Bevezetés a formális nyelvek és automaták elméletébe (Handout, 1992.) Fellegi Tibor: Absztrakt algebrai összefoglaló (a matek honlapról utalás van rá) Demetrovics, Denev, Pavlov: A számítástudomány matematikai alapjai (a formális nyelvek és absztrakt automaták részhez) A beadandó feladatok eredménye 20 %-ban beleszámít a félévközi- illetve vizsgajegybe. Beadás: a következő alkalomkor vagy addig papíron vagy a következő elektronikus formákban pdf, png, gif, jpg, odt (OpenOffice, Abiword vagy KWord), Microsoft Word (.doc). Az utolsó beadási határidejét még pontosítjuk. Ahol nem tüntetünk fel mást, a feladatsorszámok a Diszkrét matematika példatár feladataira utalnak. 1
1. Gráfelmélet 1.1. Mintafeladatok 5.1. fejezetből 1., 2., 3. (három feladat!), 6. 7. Az illeszkedési mátrix E V (4 csúcs, 3 él esetén 4 3-as) típusú mátrix, ij-dik eleme 1, ha i-dik csúcs rajta van j-dik élen, különben 0. 8., 14., 15. (izomorfia), 5.2. fejezetből 1. definíció. Euler-sétának nevezzük azt az élsorozatot a gráfban, amely minden élet pontosan egyszer érint. (Minden élen átmegy, és egyiken sem többször.) Az Eulersétát zártnak nevezzük, ha az utolsó csúcspontja egyezik az elsővel, különben nyílt Euler-sétának nevezzük. 1., 4. (csak Euler-séta kell) 5.4. fejezetből 1., 3., 4., 8., 9., 10., 11., 2. Beadandó feladatok 1. 2.1. feladat. Írjuk fel az alábbi gráf szomszédsági mátrixát. Adjunk meg benne egy feszítőfát. 2.2. feladat. Ábrázoljuk az alábbi súlymátrix-szal megadott súlyozott mátrixot! Adjuk meg egy lehetséges maximális súlyú feszítőfát az ábrán (élek vastagításával vagy színezésével)! Írjuk fel a feszítőfa súlyát valamint az élek sorrendjét, ahogy hozzávettük a fához! Adjuk meg a feszítőfa Prüfer-kódját! S = 10 6 10 7 8 7 7 2 9 2 4 3 6 8 9 4 7 3 2
2.3. feladat. Az alábbi Prüfer-kódok esetén rajzoljuk fel a fát, amennyiben lehetséges: 62, 121314, 54321 Alapfogalmak A fogalmak definíciói megtalálhatóak a feladatgyűjtemény 23. oldalától kezdődően. 2. definíció. Egy gráfot egyszerű gráfnak nevezünk, ha nincs benne többszörös és hurokél. 3. Fák 3. definíció. Fáknak az összefüggő körmentes gráfokat nevezzük. 4. definíció. Egy összefüggő gráf feszítőfáján olyan fákat értünk, melyek részgráfjai az eredeti gráfnak, tartalmazzák annak öszűszes csúcsát, és fák. 4. Három fákkal kapcsolatos algoritmus 1. tétel. Egy n csúcspontú fát egy olyan n 2 elemű listával (egy számsorozattal) egyértelműen leírhatunk, melyek elemei a számok 1-től n-ig. Ezt a listát nevezzük a fa Prüfer-kódjának Ez az alábbi algoritmussal bizonyítható. 4.1. A Prüfer-kód előállítása Kiindulás: egy fa valamilyen formában megadva (ábra, szomszédsági mátrix) 1. Legyen v 0 elemű lista. Sorszámozzuk meg a csúcsokat 1-től n-ig. 2. Keressük meg a legkisebb sorszámú egyfokszámú csúcsot a (maradék) fán. Hagyjuk el az élet, és fűzzük a lista végéhez az él másik végén található csúcs sorszámát. 3. Ismételjük a 2. pontot addig, amíg egy él marad, az így kapott lista lesz a Prüfer-kód. 2. tétel. A Prüfer-kód csak egyféle fához tartozhat, és bármilyen {1,2,...,n} elemekből álló n 2 elemű Prüfer-kód egyetlen fát ír le. Ezt az alábbi algoritmussal bizonyítható. A fenti két tételből következik, hogy az ilyen kódok száma n n n = n n 2, és ezzel az n csúcspontú fák száma is ennyi, mivel a Prüfer-kódok és fák között kölcsönösen egyértelmű hozzárendelés, algebrai nyelven bijekció van. 3
4.2. A Prüfer-kódból a fa visszaállítása 1. Legyen v a Prüfer-kód, számoljuk ki n-et, ha a kód hossza n 2. Legyen E = {1,2,...,n} a csúcsok halmaza. Induljunk ki egy n csúcsú 0 élű gráfból. 2. Vegyük a lista (a Prüfer-kód) első elemét. Kössük össze ezt a sorszámot E halmaznak azzal a legkisebb x sorszámával, ami nem szerepel a listában. 3. Hagyjuk el a lista első elemét, és töröljük x-et az E halmazból. 4. Ismételjük a 2. és 3. pontot addig, amíg el nem fogy a lista összes eleme. 5. Az E megmaradt két elemét kössük össze. 4.3. A legkisebb súlyú feszítőfa létrehozása 5. definíció. Az olyan egyszerű gráfokat nevezzük súlyozott gráfoknak, melynek minden éléhez egy pozitív számot rendelünk. A számot az él súlyának nevezzük, az összes él súlyának összegét a gráf súlyának nevezzük. 6. definíció. Egy n csúcsú súlyozott gráf súlymátrixának olyan n n-es mátrixot nevezünk, amelyben, ha i és j között él fut, akkor a mátrix ij-edik eleme, és természetesen ji-dik eleme is az él fokszáma. A többi esetben a mátrixelem végtelen. (Programban a végtelent egy olyan szám helyettesítheti, amely biztosan nagyobb a program által kezelt gráfok fokszámánál.) Algoritmus: Feladat: Legyen adott egy összefüggő súlyozott n-csúcsú G gráf például súlymátrix-szal. Keressük meg a minimális feszítőfáját, azaz azt a részgráfját, amely fa, és kisebb súlyú az ilyen fáknál. 1. A kezdőgráfunk legyen egy csúcsú él nélküli G gráf. A pont sorszámát válasszuk 1-nek. (Vagy bárminek 1 és n között.) Ezt a gráfot tekintsük a G részhalmazának. 2. Keressük meg, azokat az éleket a G gráfban, amelyek a G gráfból kivezetnek. Keressük meg ezek közül a minimális súlyút. (Ha több ilyen van, akkor válasszunk közülük.) Vegyük hozzá G -höz ezt az élt és a másik végpontját. 3. Ismételjük a 2. pontot, amíg G-t kifeszítő fát nem kapunk. Ez lesz a minimális súlyú feszítőfa. A fenti algoritmusban minden minimális helyett írhatunk maximálisat. 4
5. Relációk, számosság, algebrai struktúrák Definíciók, tételek A következő foglamak és tételek szükségesek pl. a példatár 5. és 19. oldaláról illetve a következő fejezetekből. Descartes-szorzat, reláció (bináris, homogén), homogén bináris reláció tulajdonságai (dichotóm, ha a R b és a R b közül egyik mindig teljesül). Részbenrendezés, teljes rendezés. Ekvivalenciareláció, ekvivalenciaosztályok Függvénytulajdonságok (szürjektív, injektív, bijektív) a osztója b-nek, a kongruens b-vel Kétváltozós művelet, tulajdonságai (asszociativitás, kommutativitás, idempotencia, disztributivitás) Félcsoport, csoport, Abel-csoport, gyűrű, test 6. Relációk 1. példa. Alább példákat mutatunk a később definiálandó kételemű (binér) relációkra. Számok között: =,,< osztó (a osztója b-nek) akár ez is lehet: a négyzetgyöke b-nek Egyenesek között: párhuzamos, metsző, kitérő Egyenes és sík között: az egyenest tartalmazza a sík az egyenes metszi a síkot az egyenes párhuzamos a síkkal Ember és település között: a település az ember szülőhelye 6.1. feladat. Határozzunk meg binér relációkat a következők között: két ember; két háromszög; determináns és valós szám; ember és egész szám, két egész szám. A relációk általános definíciójának megadásához a Descart-szorzattal kell kezdenünk. 7. definíció. Legyenek H 1,...,H n halmazok. Ekkor a D = {(h 1,...,h n ) h i H i } halmazt a H i halmazok Descartes-szorzatának nevezzük és a H 1 H n kifejezéssel jelöljük. 5
2. példa. Legyen A = {1, 2} és legyen B = {a,b}. Ekkor a Descartes-szorzat A B = {(1,a),(1,b),(2,a),(1,b)}. 8. definíció. Legyen H 1 H n a H i (1 i n) halmazok Descartes-szorzata. Ekkor a R H 1 H n halmazt a H i halmazokon értelmezett relációnak nevezzük. 3. példa. Legyen A = B = {1, 2, 3}. Reláció-e ekkor R = {(a i,b i ) a i < b i és a i A valamint b i B}? Igen, mert R = {(1, 2),(1, 3),(2, 3)} A B. 4. példa. Legyen A = {Lánczos Kornél, Esterházy Péter, Neumann János, Csoóri Sándor}, T a magyar települések halmaza, E az évszámok halmaza, F a foglalkozások halmaza. Válogassunk ki úgy elemnégyeseket, amelynél az első tag ember A-ból van, a második az ember születési helye, a harmadik a sz. éve, a negyedik a foglalkozása. Ez reláció, mert része az A T E F halmaznak. (Lánczos Kornél, Székesfehérvár, 1893, fizikus) (Esterházy Péter, Csákvár, 1950, író) (Neumann János, Budapest, 1903, matematikus) (Csoóri Sándor, Zámoly, 1930, költő) (Csoóri Sándor, Zámoly, 1930, politikus) És ez már hasonlít egy szokványos relációs adatbázishoz, amelyről más tantárgyban esik szó. Ott tanulják meg, hogy az utolsó két sorban látható ismétlődésekhez hasonlóakat hogyan lehet csökkenteni egy adatbázisban. Az előbbi relációt 4-változósnak nevezzük, és általánosan definiálható az n-változós reláció. Minket a továbbiakban a kétváltozós reláció érdekel amit binér relációnak is nevezünk. 9. definíció. Egy relációt homogénnek nevezünk, ha a Descartes-szorzat tényezői mind azonos halmazok. 6.2. feladat. Adjuk meg a következők esetén, hogy hány változósak, és homogének-e. Pont illeszkedik az egyenesre. Egyenesek párhuzamossága. A valós számok a kisebb műveletre nézve. {(x, y, z) ahol x virágnak y a latin neve és z a hivatalos magyar neve} 6
6.1. Homogén binér relációk A A alakú szorzatok részhalmazai. Az ilyen relációt úgy szoktuk jelölni, hogy megadjuk az A alaphalmazt, és a rajta értelmezett reláció jelét egy rendezett párban. Például (R, ) A homogén binér relációkat a következő tulajdonságok szerint csoportosíthatjuk: 10. definíció. Az alábbiakban R az A halmaz feletti R homogén binér reláció, a,b és c tetszőleges elemei az A-nak (azaz bárhogy is választjuk ezeket A-ból, a tulajdonság feltételének mindig teljesülniük kell). 1. Reflexív: ara 2. (a) Szimmetrikus: Ha arb akkor bra. (b) Antiszimmetrikus: Ha arb és bra akkor a = b. 3. Tranzitív: Ha arb és brc, akkor arc. 4. Dichotóm: arb és bra közül legalább egyik teljesül. Elnevezés Ekvivalenciareláció Rendezés vagy félig-rendezés Teljes rendezés definíció reflexív, szimmetrikus és tranzitív reflexív, antiszimmetrikus és tranzitív reflexív, antiszimmetrikus, tranzitív és dichotóm 11. definíció. Legyenek a és b egész számok. Azt mondjuk, hogy a osztója b-nek, ha van olyan c Z, melyre a c = b. Jelölése: a b. Azt mondjuk, hogy a kongruens b mod m, ha m (a b) (azaz azonos maradékot adnak m-mel való osztáskor). Jelölése a b mod m vagy tömörebben a m b. 12. definíció. Két halmazt diszjunktnak nevezünk, ha nincs közös elemük (azaz metszetük üres). Egy halmaz diszjunkt felbontásán olyan H 1, H 2...H n halmazokból álló halmazt értünk, melyre H i H j = bármely olyan i és j pár esetén, melyek nem egyenlőek, és az összes halmaz uniója a H halmazt adja. 3. tétel. Bármely (H, R) H halmaz feletti R ekvivalenciareláció esetén a H halmaznak létezik H 1, H 2...H n diszjunkt felbontása, melyre 1. arb ha a és b ugyanabban a H i halmazban találhatóak 2. a és b ugyanabban a H i halmazban találhatóak, akkor arb Ezt a felbontást a H halmaz R ekvivalencia-reláció szerinti ekvivalenciaosztályainak nevezzük. A m kongruenciához tartozó ekvivalenciaosztályokat gyakran egyszerűen és kissé pongyolán a 0, 1,... m 1 számokkal jelöljük. Nyilván az adott szám jelöli azt az ekvivalenciaosztályt, amelybe az adott szám tartozik. 7
6.2. Függvények A már megszokott függvényeket most a relációkból származtatjuk úgy, hogy elhagyjuk a többértékű függvényeket : egy értékhez csak egy másikat rendelhet a függvény. Például a négyzetgyök függvénynél csak a nemnegatív értéket hagyom meg. A továbbiakban a relációknál megszokott R jelölés helyett a függvényekhez jobban illeszkedő f jelölést használjuk. 13. definíció. Az olyan nem feltétlenül homogén, de binér relációkat nevezzük függvényeknek, amelyben egy elem csak egyszer lehet a reláció bal oldalán. Másképpen fogalmazva, ahol a f b és a f c csak akkor teljesülhet, ha b = c. A függvényeknél az a f b jelölés helyett f (a) = b jelölésmódot vezetünk be. Az f (x) = y esetén azt mondjuk, hogy f az x változóhoz az y-t rendeli, vagy másképp, az x képe y. Egy f függvény esetén a zárójelben szereplő elemek halmazát a függvény értelmezési tartományának nevezzük és D f -el jelöljük. (Angolul domain of f.) Egy f függvény esetén a képként fellépő elemek elemek halmazát a függvény értékkészletének nevezzük és R f -el jelöljük. (Angolul range of f.) Ha egy f függvény az A B Descartes-szorzatból származik és D f = A, akkor a függvényt A B típusúnak nevezzük és így jelöljük ezt: f : A B Egy f : A B függvényt bijekciónak (vagy kölcsönösen egyértelmű függvénynek) nevezünk, ha minden elem egyszer lép fel képként. Kissé precízebben: ha f (a) = b és f (c) = b csak akkor teljesülhet, ha a = c. és B a függvény értékkészlete (nem bővebb annál). 7. Halmazok számossága A halmazok egyenlőségének definíciója azon a nyilvánvaló tényen alapul, hogyha egy katonai táborban minden katona felül egy lóra és nem marad üres ló, akkor ugyanannyi a lovak és katonák száma. A pontos definíció azonban a végtelen számosságú halmazok szövevényes világában is alkalmazható. Érdemes tudatosítani, hogy míg a számok határértékeként csak egyféle pozitív végtelen szerepel, addig a halmazok számosságában többféle. 14. definíció. A és B halmazokat egyenlő számosságúnak nevezzük, ha létezik közöttük f : A B bijekció. Jele: A = B. Egy A halmaz számossága A = n Z +, ha A = {1,2,...,n}. Ha van ilyen n, vagy üres halmaz esetén a halmazt véges halmaznak nevezzük (az üres halmaz számossága 0). 15. definíció. A természetes számok számosságát megszámlálhatóan végtelen számosságnak nevezzük. 4. tétel. Az egész számok, a páros számok, a prímszámok és a racionális számok számossága is megszámlálhatóan végtelen. 8
N = {páros számok} bizonyítása: az n 2n bijekció létezik a két halmaz között. N = Q bizonyítása kell. Lásd Példatár 1.3.1. c) megoldása. 5. tétel. A valós számok számossága nagyobb, mint megszámlálhatóan végtelen. Ezt kontinuum számosságnak nevezzük. 16. definíció. Halmaz hatványhalmaza: az összes részhalmazaiból álló halmaz. Az A halmaz hatványhalmazásnak jelölése P(A) vagy 2 A. 5. példa. P({a,b}) = { ;{a};{b};{a,b}}. 6. tétel. Egy n elemű halmaz hatványhalmaza 2 n elemű. 7. tétel. Minden halmaz hatványhalmaza nagyobb számosságú az eredeti halmaznál. 8. Absztrakt algebra Az absztrakt algebrában az a célunk, hogy a műveletek tulajdonságaiból származó következményeket egyszerre tárjuk fel különböző matematikai objektumok esetén. Nem érdemes ugyanis ugyanazt külön bizonyítani számokra, mátrixokra, vektorokra és más pl. a kvantummechanikában szükséges bonyolultabb struktúrákra, érdemesebb ezeket egyszerre kezelni. n-változós művelet Algebrai struktúra 8.1. Egyműveletes struktúrák 17. definíció. Félcsoportnak nevezünk egy halmazt egy műveletre nézve, ha a művelet 1. nem vezet ki soha a halmazból, 2. a művelet asszociatív a halmaz felett, azaz bármely a,b,c G elemek esetén (a b) c = a (b c). Azaz mindegy melyik melyik művelete végzem el előbb, ugyanazt kapom. Példák: a valós számok az osztásra nézve (R,/) félcsoport, az egész számok az osztásra nézve (Z,/) nem az, mert ott például a 3/2 kivezet a számhalmazból. 18. definíció. Egy (G, ) félcsoportot csoportnak nevezünk, ha 3. létezik egységeleme, azaz olyan e G melyre bármely G-beli a elem esetén e a = a e = a. Azaz van olyan elem, amivel a halmaz bármely másik elemét megszorozva ármelyik oldalról, azt a másik elemet kapjuk vissza. 4. minden G-beli a elemnek létezik (a 1 -nel jelölt) inverzeleme, melyre a 1 a = a a 1 = e. 9
19. definíció. Egy (G, ) csoportot Kommutatív csoportnak vagy Abel-csoportnak nevezünk, ha a művelet kommutatív a csoport felett, azaz bármely G-beli a és b esetén a b = b a. Niels Henrik Abel norvég matematikusról matematikai díjat is neveztek el. A díjat odaítélő öt fős nemzetközi bizottság tagja volt 2004 és 2006 között a jelenleg élő egyik legnagyobb magyar matematikusunk, Lovász László is. 8.1. feladat. Mi lesz a valós számok körében egy szám inverze, ha a művelet az összeadás, és mi lesz, ha a művelet a szorzás? Nézzük meg, hogy a természetes, egész, racionális, valós és komplex számok körében az összeadás illetve a szorzás művelettel csoportot, Abel-csoportot alkotnak-e? Csoportot alkotnak-e a sík adott pont körüli elforgatásai? Ha igen, mi lesz az egységelem és egy adott forgatás inverze? Hogyan definiálhatnánk a kivonást és az osztást az összeadás és szorzás segítségével? Gondoljunk az inverzelemekre. És egy nehezebb kérdés: Vajon miért csak az utóbbi kettő alapművelet tulajdonságait vizsgáljuk a számok esetében? 8.2. Kétműveletes struktúrák Ezt még sajnos a feladatgyűjteményből kell megnézni. gyűrű, test 8. tétel. Az alábbi fontosabb algebrai struktúrákat érdemes ismerni: (Z, +, ) gyűrű (Q, +, ) test (R, +, ) test (C, +, ) test Megjegyzések a feladatmegoldáshoz és mintafeladatok Gyakori feladat, hogy valamely véges halmaz feletti struktúrát műveleti táblázattal (kétműveletesnél két táblázattal) adunk meg, és meg kell állapítani, hogy milyen algebrai struktúrát alkot a halmaz az adott egy vagy két műveletre. Általában az asszociativitás megállapítása a legnehezebb, ezért általában meg szoktuk adni a feladatban, hogy asszociatív a művelet a halmazon. A további tulajdonságok esetén indokolni kell, hogy miért mondjuk. Egységelem esetén meg kell adni, hogy a struktúra melyik eleme az. Ha minden elemnek van inverzeleme, akkor azokat meg kell adni. A kommutativitást is indokolni kell (a táblázat szimmetrikus a főátlóra). 1.2.23.; 1.2.26.; (1.3.1. megérteni a megoldást); 1.3.2. a) b) 4.1.2.; (4.2.1. és 4.2.1.) b) e) h); 4.2.4. a) f); 4.2.5.; 4.2.6; 4.3.1; 4.3.3; 4.3.6. a) c) Döntsük el, hogy igaz-e az alábbi állítás. Válaszunkat indokoljuk! 1. Van olyan halmaz, amelynek számossága egyezik valamely valódi részhalmazásnak számosságával. 10
9. Beadandó feladatok 2. 9.1. feladat. 1.3.2. b) (részletezve, szöveges magyarázattal) 9.2. feladat. A mod 5 maradékoszályokra írjuk fel a szorzás és az összeadás műveleti tábláját. ({0;1;2;3;4},+ 5, 5) milyen algebrai struktúrát alkot? + 5, 5 az összeadás és szorzás maradéka öttel való osztás után. 9.3. feladat. Legyen H = P({0; 1; 2}) halmaz a {0; 1; 2} halmaz hatványhalmaza, Igaz-e az efelett értelmezett részhalmaz relációra, hogy a) kétváltozós b) reflexiv c) szimmetrikus d) antiszimmetrikus e) tranzitív f) dichotóm? Ezek alapján milyen típusú reláció? 9.4. feladat. Ugyanilyen módon vizsgáljuk meg a valós számok felett értelmezett < relációt és a feljebb definiált mod 3 maradékosztályokon értelmezett m kongruenciát. 9.5. feladat. Írjuk fel H = P({0; 1; 2}) hatványhalmazt elemeinek felsorolásával. Hány eleme van? 9.6. feladat. Döntsük el, hogy igazak-e az alábbi állítások. Válaszunkat indokoljuk! (Nemleges válasz esetén általában ellenpéldával indokolhatunk.) 1. Minden rendezés teljes rendezés. 2. A valós számok a szorzásra nézve Abel-csoportot alkotnak. 3. Van a valós számoknál nagyobb számosságú halmaz. 4. A mod 5 kongruenciareláció ekvivalenciareláció. 9.7. feladat. Döntsük el, hogy igazak-e az alábbi állítások. Válaszunkat indokoljuk! (Nemleges válasz esetén általában ellenpéldával indokolhatunk.) 1. A valós számok a szorzásra nézve Abel-csoportot alkotnak. 2. A mod 5 kongruenciareláció ekvivalenciareláció. 9.8. feladat. A mod 5 maradékoszályokra írjuk fel a szorzás és az összeadás műveleti tábláját. ({0;1;2;3;4}, 5, 5 ) milyen algebrai struktúrát alkot? 5, 5 az összeadás és szorzás maradéka öttel való osztás után. 11
3. konzultáció Formális nyelvek, automaták Tóth Mihály PowerPoint bemutatójának PDF változata elérhető a honlapjáról: http://www.roik.bmf.hu/~mtoth Oktatási anyagok/a szám. tud/formalnyelvek*.pdf Az itt szereplő szöveg eredetileg a Demetrovics-féle könyv jelöléseit követte, jelenleg közelítettem a jelöléseket Tóth Mihály jelöléséhez, de a következő dolgok esetén a jelölések eltérnek attól: ebben a segédletben a szavakat görög betűk jelölik, a nem teminális jeleket latin nagybetűk (A,B,C), a terminális jeleket kisbetűk (ez egyezik). 10. Formális nyelvek 20. definíció. A formális nyelvek alapvető definíciói. Ábécé: jelek véges halmaza (K, W, V) Ezek egyesítése, különbsége a halmazokéhoz hasonlóan definiált. Ábécé betűi: a jelek (a, b, c k ) a K Szó: jelek véges sorozata (α, β, ω) Szó hossza: a sorozat hossza (length) (lg(α)) Üres szó (λ): melyre lg(λ) = 0 Szavak konkatenációja (összefűzése): αβ = a 1 a 2 a 3 a n b 1 b 2 b m, ahol α = a 1 a 2 a 3 a n, β = b 1 b 2 b m (Asszociatív, kommutatív, egységelemes-e? lg(αβ) =?) Tükörkép: α 1 = a n a 2 a 1 a fenti alfával. Hatvány: α 0 = λ,α 1 = α,α n = α n 1 α W(V) a V ábécé összes szava (zárt a konkatenációra) V ábécéből alkotott formális nyelv (L(V) vagy L): bármely L(V) W(V) Nyelvek konkatenációja: L 1 L 2 = {αβ α L 1,β L 2 } Nyelvek hatványa: L 0 = {λ},l 1 = L,L n = L n 1 L Példák: V 1 = {0,1}, L 1 (V 1 ) =, L 2 (V 1 ) = {01,0,λ}, L 3 (V 1 ) = {ω0ω 1 ω W({0;1})}, V 2 = {i f ;then;a;b} L 1 (V 2 ) = {if a then b; if a then if b then c} 010 01010 L 2 (V 1 )L 3 (V 1 ) az csak a határt jelöli (Generatív) grammatikák megadásához 4 dolgot kell megadni: G(V T ;V N ;X 0 ;F) V T : terminális jelek, V N : nem terminális jelek, X 0 : kezdőszimbólum, F: helyettesítési szabályok. Grammatikák típusai (Chomsky-hierarchia) Legyen α,β,ω W(V T V N ) A,B V N a V T (X 0 λ szabály mindenhol megengedett) szabályok típusa grammatika típusa automata αaβ ω 0-típusú, általános Turing-gép αaβ αωβ 1-típusú, környezetfüggő A ω 2-típusú, környezetfüggetlen PDA A ab vagy A a 3-típusú, reguláris FDA A fentieken kívül az X 0 λ szabály mindenhol megengedett, ha sehol sem szerepel a jobboldalán X 0. Ha ezt hozzávesszük, akkor egy nyelv típusa nem fog függeni attól, ha az üres szót λ hozzáadjuk, vagy elvesszük belőle. 12
21. definíció. A nyelvet n-típusúnak nevezünk, ha van olyan n-típusú generatív grammatika, amely a nyelvet generálja. (Pl: környezetfüggő nyelvet generál a környezetfüggő grammatika.) automaták: PDA: push-down automaton=nem determinisztikus veremautomata; FDA: véges (angolul finite) determinisztikus automata véges determinisztikus automata (FDA) megadása állapotgráffal (ez irányított gráf): nyíl mutat a kezdeti (általában q 0 -lal jelölt) állapotra. A nyilakon szereplő jelek (az ábécéből) jelzik, hogy egy adott állapotból azt olvasván a szalagról hova jut tovább. A kettős körök jelzik a végállapotokat. Ha egy szó esetén a kezdeti állapotból elindulva végállapotba jutunk amikor a szó végére értünk, akkor az automata felismerte a szót. 11. Beadandó feladatok 3. 1. Határozzuk meg, hogy az L(G) nyelvben benne van-e: λ, abb, aabb? Írjuk le szavakkal és halmazjelölésekkel, milyen szavakat tartalmaz! Soroljuk be a Chomsky-féle hierarchiába a grammatikát! V T = {a,b}, V N = {X 0 } F = {X 0 ab;x 0 ax 0 b} 2. Határozzuk meg, hogy az L(G) nyelvben benne van-e: 01, 111, 1111? Írjuk le szavakkal milyen szavakat tartalmaz! Soroljuk be a Chomsky-féle hierarchiába a grammatikát! V T = {0,1}, V N = {X 0,A} F = {X 0 1;X 0 1A;X 0 0X 0 ;A 1X 0 ;A 0A} 3. Adjunk meg olyan reguláris grammatikát, amely pontosan azokat az 0 és 1 jelből álló szavakat generálja: (a) melyek két 0-ra kezdődnek; (b) melyekben pontosan egy 0 van. 4. Felismeri-e az alábbi automata a csupa egyesekből álló szavakat? Adjunk meg három olyan szót, amit az alábbi véges determinisztikus automata felismer! Adjuk meg, milyen szavakat ismer fel (szóban vagy halmazjelöléssel)! 5. Adjunk meg FDA-t, amely az alábbi nyelvet ismeri fel, illetve grammatikát, amely ezt generálja: L = {αα 1 α W({0,1})} 13
6. Adjunk meg FDA-t, amely az alábbi nyelvet ismeri fel, illetve reguláris grammatikát, amely ezt generálja: L = {α01 α W({0,1})} 7. Döntsük el, hogy igazak-e az alábbi állítások. Válaszunkat indokoljuk! (Nemleges válasz esetén általában ellenpéldával indokolhatunk.) (a) Egy környezetfüggetlen nyelvhez létezhet olyan általános grammatika, amely azt állítja elő. (b) A szavak konkatenációja egységelemes félcsoport. 8. Adjuk meg halmazleírással vagy írjuk le szavakkal milyen nyelveket ad meg a 4.9 és 4.10 ábrán látható véges determinisztikus automaták. 14
Tartalomjegyzék 1. Gráfelmélet 2 1.1. Mintafeladatok.................................. 2 2. Beadandó feladatok 1. 2 3. Fák 3 4. Három fákkal kapcsolatos algoritmus 3 4.1. A Prüfer-kód előállítása............................. 3 4.2. A Prüfer-kódból a fa visszaállítása....................... 4 4.3. A legkisebb súlyú feszítőfa létrehozása..................... 4 5. Relációk, számosság, algebrai struktúrák Definíciók, tételek 5 6. Relációk 5 6.1. Homogén binér relációk............................. 7 6.2. Függvények.................................... 8 7. Halmazok számossága 8 8. Absztrakt algebra 9 8.1. Egyműveletes struktúrák............................. 9 8.2. Kétműveletes struktúrák............................. 10 9. Beadandó feladatok 2. 11 10. Formális nyelvek 12 11. Beadandó feladatok 3. 13 15