Számításelmélet Tamás Herendi

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Számításelmélet Tamás Herendi"

Átírás

1 Számításelmélet Tamás Herendi

2 Számításelmélet Tamás Herendi Publication date 2014.

3 Table of Contents 1. Előszó Formális nyelvek Függvények növekedési rendje A Turing-gép A Turing-gép definíciója Felismerő Turing-gépek Turing-gépek megadása Táblázatos reprezentáció: Gráfreprezentáció: Turing-gép megadása felsorolással: Példák Feladatok Church-Turing tézis Turing-gépek összefűzése Többszalagos Turing-gépek, szimuláció Kiszámíthatóság-elmélet Univerzális Turing-gép és az univerzális nyelv A diagonális nyelv Nyelvek rekurzivitása Megállási probléma Nemdeterminisztikus Turing-gépek Nemdeterminisztikus Turing-gépek definíciója Nemdeterminisztikus Turing-gépek szimulációja Bonyolultságfogalmak Idő-, tár- és programbonyolultság Bonyolultsági osztályok Tár-idő tételek Az NP nyelvosztály A Tanú-tétel NP-teljesség Irodalomjegyzék iii

4 List of Figures ábra ábra ábra Turing gép modell Paritásellenőrző bit hozzáfűzése a bemenő szóhoz Kezdő konfiguráció: A Turing-gép számítása a bemeneten Paritásellenőrző bit tesztelése Kezdő konfiguráció: A Turing-gép számítása a bemeneten és kompozíciója , és feltételes kompozíciója iterációja Többszalagos Turing-gép iv

5 Számításelmélet Egy kétszalagos Turing-gép szimulációja v

6 List of Examples példa példa példa... 9 vi

7 Chapter 1. Előszó Jelen jegyzet a Debreceni Egyetemen tartott Számításelmélet kurzushoz, annak anyagára épülve készült. A kurzusnak - és ennek megfelelően a jegyzetnek is - alapvető célja, hogy a hallgatók megfelelő háttértudáshoz jussanak a kiszámíthatóság- és bonyolultságelméleti alapfogalmakból. A 2. fejezet az általános algoritmikus feladat és a Turing-gép megfogalmazásához szükséges formális nyelvekkel kapcsolatos fogalmakat ismerteti. A 3. fejezetben a bonyolultságelméletben alkalmazandó, függvények növekedési rendjével kapcsolatos definíciók és tulajdonságok találhatók. A 4. fejezet a Turing-gép definícióját és a hozzá kapcsolódó alapvető ismereteket tárgyalja. Itt kerül ismertetésre a Turing-gépek számításának fogalma, a Church-Turing tézis, a Turing-gépek összefűzésének elmélete, a több szalagos Turing-gépek definíciója és a hozzá kapcsolódó szimulációs tételek. Az 5. fejezetben a kiszámíthatóságelmélettel találkozhatunk, ahol a rekurzivitást, rekurzív felsorolhatóságot és ezek kapcsolatát vizsgáljuk. A fejezet végén az eldönthetőségi problémákról esik szó. A 6. fejezet a nemdeterminisztikus Turing-gépekkel kapcsolatos definíciókkal és alapvető tulajdonságokkal, valamint a modell Turing-ekvivalenciájával foglalkozik. A 7. fejezetben az idő-, tár- és programbonyolultságról, a velük definiálható bonyolultsági osztályokról és kapcsolatukról esik szó. A 8. fejezet az nyelvosztályhoz köthető eredményeket tárgyalja, többek között a tanú tételt és az - teljességgel kapcsolatos legfontosabb ismereteket. 1

8 Chapter 2. Formális nyelvek Ahogy általában a programokat, úgy az algoritmusokat is jellemzően nem egy konkrét feladat, hanem egy feladatcsoport megoldására alkotjuk. Az algoritmus bemenetét, kimenetét illetve más kapcsolódó objektumokat (pl. magát az algoritmust is) valamilyen általános módon szeretnénk megadni, kezelni. Ehhez szükségünk lesz néhány alapvető fogalomra és eredményre a formális nyelvek elméletéből. Először következzen néhány függvényekkel kapcsolatos fogalom Definíció Legyen és két tetszőleges nem üres halmaz. A két halmaz Descartes-szorzatán az párokból álló halmazt értjük. Ha, akkor az jelölést is használhatjuk. Legyen. Az halmazt az -n értelmezett relációnak nevezzük. Ha valamilyen és esetén, akkor azt mondjuk, hogy és szerinti relációban van. Legyen egy reláció. Ha és esetén csak akkor lehet, ha, akkor -et (parciális) függvénynek nevezzük és -vel jelöljük, illetve ha, akkor a hagyományos jelölést használjuk. Ha amelyikre, akkor totális függvénynek nevezzük. Legyen egy totális függvény. Ha esetén amelyikre, akkor -et szürjektív leképezésnek vagy ráképezésnek nevezzük. Amennyiben esetén -ből következik, hogy, akkor -et injektív leképezésnek vagy egy-egy értelmű leképezésnek nevezzük. Ha szürjektív és injektív is, akkor bijektívnek nevezzük Megjegyzés Az reláció esetén a hagyományos jelölés, ahogy például a és relációknál megszoktuk. Ha és két függvény, akkor értelmezhetjük az uniójukat, mint relációk unióját. Ez azonban nem lesz feltétlenül újabb függvény. Amennyiben feltesszük, hogy, akkor már is függvény, amire. Mivel a későbbiek során azt szeretnénk igazolni, hogy a felépített algoritmusfogalmunk matematikai szempontból precízen megadható, ezért szükség van az ábécé, szó és nyelv pontos, a szemléletestől eltérő, de minden részletre kiterjedő definíciójára. Erre azért is van különösen nagy szükség, hogy az üres jelnek nevezett szimbólum helyét megtaláljuk a rendszerben Definíció 2

9 Formális nyelvek Ábécé: a véges nem üres halmazt ábécének nevezzük. elemeit betűknek (időnként jeleknek) nevezzük. Amennyiben, akkor -re megköveteljük, hogy legyen. (A továbbiakban -t üres jelnek nevezzük.) 2.4. Definíció Legyen egy nem üres halmaz és egy leképezés esetén. Ha 1. ; -re teljesülnek a következők: 2. betűre igaz, hogy amire ; 3. és esetén, akkor és csak akkor, ha és ; (lehet, hogy elegendő az "akkor") 4. esetén, és, amelyikre ; (Ez lehet, hogy 5-ból következik.) 5. (Teljes indukció.) Legyen egy állítás elemein. Ha igaz és esetén -ből következik, akkor esetén igaz ; 6. Ha, akkor ; akkor -t a ábécé fölötti véges szavak halmazának és -t az üres szónak nevezzük. A hagyományoknak megfelelően használni fogjuk a és a jelölést Megjegyzés 1. Legyen. A leképezést egyszerűen úgy értelmezhetjük, hogy -t -ből egy betű hozzáírásával kapjuk. 2. A és halmazok között megadható egy természetes beágyazás, ahol. Ennek megfelelően a halmaz elemei tekinthetők a halmaz elemeiből álló véges hosszúságú sorozatoknak. 3. Az előző definíció 6. pontja alapján, azaz és különbözőek, de a két halmazban egymásnak megfeleltethetők. 4. A definíció 6. pontja alapján a 3. pontját kiterjeszthetjük az és esetekre is. 5. Az 5. pont lényegében azt jelenti, hogy minden szó előállítható az üres szóból betűk hozzáadogatásával. Ilyen módon, amennyiben, ahol, akkor a szót jelölhetjük a szokásos módon 6. A 3. pont alapján az előbbi előállítás egyértelmű. 7. Az előző pontot kiterjeszthetjük az üres jelre is, alakkal is. tulajdonsággal Definíció Legyen 1. ; függvény a következő tulajdonságokkal: 3

10 Formális nyelvek 2., és esetén. Ekkor az értéket a szó hosszának nevezzük Tétel esetén értéke egyértelműen definiált. Bizonyítás Egy szó hossza a definíció alapján azt jelenti, hogy hányszor kellett leképezést alkalmazni az üres szóra, hogy megkapjuk -t. Mivel a szó előállítása során a valódi bővítő lépések darabszáma és sorrendje rögzített, hosszára egyértelmű értéket kapunk Megjegyzés Belátható,hogy amennyiben egy szót véges jelsorozatnak tekintünk, a hossza pontosan a benne szereplő jelek számával egyezik meg Definíció Legyen egy kétváltozós művelet -on, azaz: :, a következő tulajdonságokkal: 1. legyen ; 2. és esetén. Ekkor -t az összefűzés (más néven konkatenáció) műveletének nevezzük. A hagyományoknak megfelelően a jelölés helyett gyakran az egyszerűbb írásmódot választjuk Tétel A konkatenáció műveletére igaz, hogy esetén, ha és Bizonyítás, akkor. A bizonyítást -re vonatkozó teljes indukcióval végezzük. a.) A definíció alapján, ha, azaz, akkor az állítás igaz. b.) Tegyük fel, hogy egy adott esetén minden szóra, ha, akkor az állítás igaz. Legyen egy hosszú szó. Ha utolsó betűje, akkor valamilyen -re, ahol. Az indukciós feltevés szerint. Felhasználva az összefűzés definícióját, ami azt jelenti, hogy az állítás -re is igaz. a.)-ból és b.)-ből teljes indukcióval következik az állítás Tétel 4

11 Formális nyelvek a konkatenációval, mint kétváltozós művelettel egységelemes félcsoportot alkot. Bizonyítás A bizonyítást teljes indukcióval végezzük. 1. A konkatenáció asszociatív: a.) Definíció szerint. b.) Tegyük fel, hogy egy adott esetén minden szóra, ha, akkor igaz az asszociativitás. Legyen olyan, hogy. Ekkor és amelyikre és. Az indukciós feltevés alapján minden szóra igaz, hogy. Ez alapján, ami azt jelenti, hogy -re is igaz az állítás. a.)-ból és b.)-ből teljes indukcióval következik az asszociativitás. 2. egységelem. Definíció szerint minden esetén. Azt, hogy, teljes indukcióval bizonyíthatjuk. a.) Definíció szerint. b.) Tegyük fel, hogy minden esetén, ha, akkor. Legyen egy hosszúságú szó. Ekkor és, amire és. Az indukciós feltevés alapján, ami azt jelenti, hogy az állítás -re is igaz. a.)-ból és b.)-ből teljes indukcióval következik. Ezzel a tételt beláttuk Tétel A konkatenáció műveletére érvényes az egyszerűsítési szabály, azaz esetén -ből következik. Hasonlóan -ből következik Bizonyítás 5

12 Formális nyelvek A bizonyítást az előzőekhez hasonlóan teljes indukcióval végezhetjük. Az első esetben pedig -re és -re egyidejűleg. -re, a második esetben Szavak szerkezetének leírására hasznosak a következő definíciók Definíció Legyen olyan, hogy. Ekkor -t a egy kezdőszeletének, -t pedig egy zárószeletének nevezzük Megjegyzés Egy szó saját magának triviális kezdő- és zárószelete. Az üres szó minden szónak triviális kezdő- és zárószelete. A véges szavak halmazán megadhatunk alakú transzformációkat. Ezek rendelkezhetnek bizonyos jó tulajdonságokkal. Néhány a legfontosabbak közül a következőképpen adható meg Definíció Egy alakú transzformációt hossztartónak nevezünk, ha esetén Megjegyzés Hossztartó leképezés például a tükrözés, betűpermutáció, ciklikus permutáció, stb Definíció Egy alakú transzformációt kezdőszelettartónak nevezünk, ha esetén amelyikre Megjegyzés Az előző példák közül a tükrözés és ciklikus permutáció nem, viszont a betűpermutáció kezdőszelettartó. Kezdőszelettartó, viszont nem hossztartó például a következő transzformáció:. (Ismétlés.) A szavak fogalmát felhasználva az algoritmusok szempontjából fontos objektum meghatározásához érkeztünk Definíció Legyen egy véges ábécé. Az halmazt egy fölötti (formális) nyelvnek nevezünk. Nyelveken értelmezhetjük a hagyományos halmazműveleteket, pl. ha két nyelv, akkor az és is az. Az nyelvet az komplementerének nevezzük. Ezeken kívül kiemelt szerepűek a következő nyelvműveletek Definíció Legyen két nyelv. Az nyelvet a két nyelv összefűzésével nyert nyelvnek nevezzük és -vel jelöljük Megjegyzés 6

13 Formális nyelvek Ha az nyelvet saját magával fűzzük össze, használhatjuk a következő egyszerűsített jelölést: és, ha Definíció Legyen egy nyelv. Az nyelvet az iteráltjának, vagy más néven a konkatenációra vett lezártjának nevezzük Megjegyzés A lezárt elnevezés abból a tényből ered, hogy legszűkebb nyelv, amelyiknek részhalmaza az összefűzés művelete Definíció pontosan az a és nem vezet ki belőle Legyen nyelveknek egy osztálya. Ekkor }. Itt az nyelv komplementerét jelöli Megjegyzés nem a komplementerét jelöli. Olyannyira nem, hogy nem feltétlenül üres. Ha pl. az összes nyelv osztálya, akkor Tétel Legyen és két ugyanazon ábécé fölötti nyelvek osztálya. Ekkor 1. ; 2. ; 3. ; 4. akkor és csak akkor, ha. Bizonyítás Szokásos halmazelméleti egyenlőségbizonyításokkal dolgozhatunk. 1. Felírhatjuk a következő ekvivalencialáncot: vagy vagy. 2. Az előzőhöz teljesen hasonlóan felírhatjuk a következő ekvivalencialáncot: 3. Ebben az esetben a következő írhatjuk: és és.. 4. Definíció szerint akkor és csak akkor, ha és akkor és csak akkor, ha. Definíció szerint akkor és csak akkor, ha -ból következik. Az előzőek alapján ez pontosan akkor áll fenn, ha -ból következik. 7

14 Chapter 3. Függvények növekedési rendje A későbbi fejezetekben, bonyolultságelméleti vizsgálatoknál, szükségünk lesz arra, hogy függvények növekedési rendjét (aszimptotikus, azaz a végtelenhez tartó viselkedését) egységes formában ki tudjuk fejezni. Ehhez lényegében egy olyan formulát fogunk használni, amelyik segítségével egy függvényből egyszerűen le tudjuk választani a legfontosabb, legmeredekebben növő összetevőjét Definíció Legyen egy monoton növekvő függvény. Az halmazt az rendjébe tartozó függvények osztályának nevezzük. függvény növekedési Ha, azt mondjuk, hogy " egy nagy ordó " függvény Megjegyzés A növekedési rend egyértelművé tételéhez a legtisztább, ha -ről feltesszük, hogy monoton növekvő, de ez nem feltétlenül szükséges. Ez a feltételezés sok vizsgálatot feleslegesen elbonyolítana, az érthetőséget rontaná. A helyett gyakran a hagyományos jelölést használják. A definíció alapján legnyilvánvalóbb példa, ha egy függvény felülről korlátoz egy másikat. Erre azonban nem feltétlenül van szükség. Az alábbiakban néhány szemléletes példán keresztül megvizsgáljuk, hogy első megközelítésben mit is fejez ki a növekedési rend. Example példa Ha feltételezzük, hogy, akkor a definíció feltételei, választással teljesülnek. Figure ábra Example példa 8

15 Függvények növekedési rendje Ha feltételezzük, hogy, ha, kis -ek esetén nem törődünk a függvények viszonyával. Figure ábra Example példa Itt, viszont egy konstanssal megszorozva már nem kisebb mint. Figure ábra 3.3. Tulajdonságok 1. (reflexivitás) 2. minden esetén 3. Legyen és. Ekkor (tranzitivitás) Bizonyítás 9

16 Függvények növekedési rendje 1. Legyen és. Mivel minden esetén, így minden esetén. 2. Legyen és. Ekkor, azaz, minden esetén. 3. Legyen és olyan, hogy, ha és és olyan, hogy, ha. Ekkor és választással azt kapjuk, hogy, ha és, azaz Megjegyzés 1. A tranzitív tulajdonság kifejezi azt az elvárásunkat, hogy egy függvény gyorsabban nő, mint gyorsabban nő, amelyiktől, akkor minden olyan függvénytől is gyorsabb. 2. A növekedési rend definíciója alapján nem csak monoton függvényekre értelmezhető, de abban az esetben a vizsgálataink szempontjából nem értékes a jelentése. 3. A növekedési rendekre sem a szimmetria, sem az antiszimmetria nem teljesül. A szimmetriára ( ) az és függvénypár, míg az antiszimmetriára ( ) az és függvénypár jelent ellenpéldát További tulajdonságok 4. Legyen és. Ekkor. 5. Legyen és. Ekkor. 6. Legyen monoton növekvő, amire és. Ekkor. Bizonyítás 3. Tegyük fel, hogy és -re illetve, -re teljesül, hogy és. Legyen és. Ekkor. 4. Hasonlóan az előzőhöz, tegyük fel, hogy és -re illetve, -re teljesül, hogy és. Legyen és. Ekkor. 5. Tegyük fel, hogy -re illetve -re teljesül, hogy. Az általánosság megszorítása nélkül feltehetjük, hogy. Mivel a függvény szigorúan monoton növekvő, ezért. Mivel, ezért. Legyen. monotonitása miatt, és 10

17 Függvények növekedési rendje 3.6. Következmények 1. Legyen! Ekkor akkor és csak akkor, ha. 2. Legyen! Ekkor akkor és csak akkor, ha. 3. Legyen k > 0! Ekkor és. 4. Legyen! Ekkor. Bizonyítás Az 1., 2., 3. és 4. következmények egyszerű megfontolással származtathatók az 4.,5. és 6. tulajdonságokból. A következőkben definiálunk egy érdekes függvénysorozatot illetve hozzájuk kapcsolódóan egy rendkívül gyorsan növő függvényt Definíció Legyen, egy függvénysorozat, melyekre teljesülnek a következő tulajdonságok: A függvénysorozat első néhány eleme a jól ismert aritmetikai műveleteket adja vissza. 1. a rákövetkező, 2. az összeadás, azaz 3. a szorzás, azaz 4. a hatványozás, azaz művelete. A definíció lényegében a szokásos meghatározásoknak a kiterjesztése: 1. az összeadás értelmezése, hogy -et -szor növeljük -el; 2. a szorzás értelmezése, hogy -et -szor adjuk össze önmagával; 3. a hatványozásnál -et -szor szorozzuk össze önmagával; stb. Ilyen módon egyre gyorsabban növő függvényeket kapunk. A függvénysorozatot felhasználva tudunk készíteni egy olyan függvényt, amelyik a sorozat minden elemétől jobban nő:. Szokás közvetlenül, a függvénysorozat felhasználása nélkül is definiálni egy ehhez kapcsolódó, rendkívül gyorsan növő függvényt Definíció 11

18 Függvények növekedési rendje Ackermann-függvény: Legyen függvény adott a következő rekurzív definícióval: Az függvényt Ackermann-függvénynek nevezzük. Az nagyjából az -nek megfelelő értéket vesz fel (valamivel kisebb). első néhány függvényértéke:, ahol k egy több mint jegyű szám. Világos, hogy ez az érték messze meghaladja a az elképzelhető, vagy akár a lejegyezhető értéket. (Jóval nagyobb, mint a világegyetem összes atomjának száma.) És a növekedése egyre nagyobb ütemű. A növekedési rendek pontosabb kifejezésére más definíciókat is szokás használni. Ezek közül néhány fontosabbat megadunk a következő oldalakon, megvizsgálva egy-két alapvető tulajdonságukat Definíció Legyen egy függvény. A halmazt az függvény pontos növekedési rendjébe tartozó függvények osztályának nevezzük Tulajdonságok 1. Legyen két függvény. Ekkor akkor és csak akkor, ha. 2. Legyen két függvény. Ekkor akkor és csak akkor, ha és Bizonyítás 1. Legyen és olyan, hogy, ha, valamint és. Ekkor az első egyenlőtlenség alapján, ha illetve a második egyenlőtlenség alapján, ha. Ezzel tulajdonképpen az állítást igazoltuk. 2. A és relációk definíciója alapján és valamint és, amelyekre, ha és, ha. Legyen és. Az előző két egyenlőtlenség alapján azt kapjuk, hogy, ha. 12

19 Függvények növekedési rendje Definíció Legyen egy függvény. Az halmazt az függvénytől kisebb növekedési rendű függvények osztályának nevezzük. Ha, azt mondjuk, hogy " egy kis ordó " függvény Tulajdonságok 1. Legyen két függvény. Ekkor akkor és csak akkor, ha. 2. Legyen egy függvény. Ekkor. 3. Legyen egy függvény. Ekkor. Bizonyítás 1. Legyen és olyan, hogy, ha. Ekkor, ha, azaz akármilyen kis esetén megadható egy korlát, hogy az -től nagyobb -ek esetén. Ez a határérték definíciója alapján pontosan azt jelenti, hogy. Visszafelé, azt jelenti, hogy esetén, amelyikre, ha. Ez alapján -nel beszorozva pontosan a keresett állítást kapjuk. 2. A definíciók alapján világos, hogy és. Legyen. A definíciók alapján ekkor és, amelyekre, ha, és esetén úgy, hogy ha. Legyen. Erre az -re igaz, hogy ha, ami pontosan a bizonyítandó állítás. 3. Indirekt módon, ha feltételezzük, hogy, akkor. Erre a -re igaz, hogy és, amelyekre ha, továbbá, úgy, hogy, ha. Legyen. Erre az -re igaz, hogy és, ha, ami ellentmondás. 13

20 Chapter 4. A Turing-gép Az algoritmus fogalmáról az informatikával szorosabb kapcsolatot ápolóknak van valamilyen elképzelése. A legtöbb esetben meg tudjuk mondani, hogy az éppen vizsgált dolog algoritmus-e vagy sem. Legalábbis a "hétköznapi" esetekben. Sokan asszociálnak az algoritmusok kapcsán számítógép-programokra, nem teljesen alaptalanul. Nem egyértelmű azonban, hogy például egy orvosi vizsgálat, vagy akár a járás tekinthető-e algoritmusnak. Minél inkább próbáljuk pontosítani a fogalmat, annál inkább ütközünk korlátokba. Az algoritmusokkal kapcsolatban a következő elvárásaink vannak: Az algoritmusnak jól meghatározott feladatot illetve feladattípust kell megoldania. Az algoritmus elkülöníthető lépésekből álljon, ezen lépések száma (típusa) véges legyen. Szeretnénk a feladatra adott megoldást véges időben megkapni. Az algoritmus minden egyes lépésének pontosan definiáltnak kell lennie. Az algoritmus számára szükség lehet bizonyos bemenő adatokra, amivel a megoldandó feladatosztály egy speciális feladatát jelöljük ki. Az adatok mennyisége csak véges lehet, annak minden értelmében. Az algoritmus válaszoljon a bemenetre. A válasznak megfelelően értelmezhetőnek és természetesen végesnek kell lennie. Látható, hogy ha megfelelően általánosan akarjuk meghatározni az algoritmus fogalmát, akkor több bizonytalanságot kell hagynunk benne. A legproblémásabb rész a "lépés" fogalma. Mit jelent az, hogy "pontosan definiált"? Ha megadunk egy igazán pontos definíciót, máris leszűkítjük a lehetőségeinket. Az algoritmus mibenlétének pontos meghatározásával a múlt század első felében többen is próbálkoztak. Ennek eredményeképpen több, egymástól különböző fogalom is megszületett, mint például a függvények, rekurzív függvények, Markov-gép és a Turing-gép. Mivel ezek pontosan definiált modellek, az az érzésünk lehet, hogy nem tekinthetők teljes mértékben alkalmasnak az algoritmus fogalmának helyettesítésre. Belátható, hogy az előbb felsorolt modellek egymással ekvivalensek, ami azt jelenti, hogy minden feladat, ami az egyik modellben megoldható, megoldható a másikban is. Az algoritmus fogalmának helyettesítésére azonban mind a mai napig nem találtak a felsoroltaknál teljesebb modellt. A jegyzetben a legnagyobb figyelmet a Turing-gép modelljének fogjuk szentelni, mivel az egyik leginkább letisztult, világosan érthető és sok szempontból kifejező fogalomnak bizonyult. Igaz ez annak ellenére is, hogy a ma legszéleskörűbben elterjedt számítógép-architektúrák modellezésére nem kifejezetten alkalmas. Turing-gépek segítségével könnyen ki tudjuk fejezni a kiszámíthatóság, azaz az algoritmussal való megoldhatóság fogalmát, és meg tudunk határozni egy precíz mértéket az algoritmusok bonyolultságának valamint a feladatok nehézségének leírására is. A Turing-gép elnevezés a modell kitalálójára, Alan Turingra ( ) utal. A tényleges definíciónak számtalan azonos értelmű változata létezik. Ezek közül mi az egyik leginkább letisztult, megfelelően kifejező változatot használjuk. Ahhoz, hogy egyáltalán megpróbálhassuk matematikai eszközökkel leírni az algoritmusokat, szűkíteni kell a megoldásra váró feladatok körét. Ki kell zárnunk a lehetőségek közül többek között a fizikai objektumokon végrehajtott mechanikai műveleteket. Ez nem jelenti azt, hogy az ilyen jellegű problémákat nem tekintjük algoritmikusan megoldhatónak, csak annyi, hogy a fizikai algoritmus helyett annak egy matematikai modelljét tudjuk csak kezelni, és egy megfelelő interfész segítségével fizikai műveletekké alakítani. Ez lényegében a gyakorlatban minden esetben így működik, hiszen önmagukban a végrehajtott algoritmusaink, illetve a nekik megfelelő programjaink eredményeit nem észlelhetnénk. Feltételezzük tehát, hogy a feladat és annak paraméterei, bemenő adatai valamilyen véges reprezentációval leírhatóak. Ennek megfelelően a továbbiakban az algoritmusaink bemenetét (a feladat leírását) egy rögzített véges ábécé feletti szóként adjuk meg, és hasonló formában várjuk a választ is. Egy algoritmust tekinthetünk 14

21 A Turing-gép tehát úgy, mint egy leképezést, amely szavakhoz szavakat rendel. Világos, hogy meg tudunk adni olyan algoritmusokat, amelyek bizonyos bemenetekre "nem reagálnak", azaz nem adnak kimenetet (ilyenkor parciális függvényt valósítanak meg). Elképzelhetőek olyan speciális algoritmusok is, amelyek a bemenő szavak végtelen számossága ellenére csak véges sok lehetséges választ adhatnak. Erre példa a klasszikus elfogadó (felismerő) algoritmus, amely a bemenet értékétől függően igennel vagy nemmel válaszol (elfogadja, illetve elutasítja a bemenetet) Definíció Legyen egy ábécé, egy nyelv, és egy transzformáció. Algoritmikus feladatnak (vagy egyszerűen csak feladatnak)nevezzük a következőket: 1. Határozzuk meg, hogy fennáll-e a reláció! 2. Határozzuk meg értékét! Az 1. típusú feladatot döntési (felismerési) feladatnak, míg a 2. típusút transzformációs feladatnak nevezzük. A későbbiekben látni fogjuk, hogy már az előbb említett, egyszerűnek látszó döntési feladat sem könnyű. Bebizonyítjuk, hogy vannak olyan problémák, amelyekről nem tudjuk eldönteni még azt sem, hogy egyáltalán megoldhatóak-e. Figure 4.1. Turing gép modell 1. A Turing-gép definíciója 4.2. Definíció A ötöst Turing-gépnek nevezzük, ha : véges, nem üres halmaz; állapotok halmaza véges, legalább elemű halmaz, ; szalag ábécé ; kezdő állapot, nem üres; végállapotok halmaza ; átmenetfüggvény A fenti formális definíciót megfelelő értelmezéssel kell ellátnunk. A szemünk előtt a következő "fizikai" modell fog lebegni: A Turing-gép három fő részből áll: 1. egy mindkét irányban végtelen szalag, cellákra osztva, a cellák tartalma a ábécé elemei közül kerül ki; 15

22 A Turing-gép a szalagon legfeljebb véges sok cellában van -beli elem és ezek között nem lehet (összefüggően helyezkednek el az értékes jelek); 2. egy regiszter, -beli értéket tartalmaz, ez határozza meg a Turing-gép pillanatnyi működését; 3. egy író-olvasó fej, ami mindig egy konkrét cellára mutat; ez kapcsolja össze a szalagot a regiszterrel. A Turing-gép egy lépése során beolvassa a szalagról az író-olvasó fej alatt levő jelet, a beolvasott jel értékétől, és a regiszterben tárolt állapottól függően a által meghatározott módon lép: - visszaír egy jelet az író-olvasó fej alatti cellába és megváltoztatja az állapotát vagy - a szomszédos cellák valamelyikére mozdítja az író-olvasó fejet és megváltoztatja az állapotát. A Turing-gép alternatív meghatározásaiban általában egyidejűleg történik a szalagra írás és fejmozgatás, a szétválasztás segítségével azonban bizonyos definíciókat lényegesen egyszerűbben és letisztultabban adhatunk meg. A szem előtt tartott értelmezésnek megfelelően szükség van matematikailag is pontos, jól meghatározott "működésre". Ezt írjuk le a következő definíciókkal Definíció A Turing-gép egy konfigurációja (= regiszterállapot + szalagtartalom, az író-olvasó fej helyének jelölésével) 4.4. Megjegyzés Egy Turing-gépnek csak akkor létezik alakú konfigurációja, ha vagy Definíció Azt mondjuk, hogy a Turing-gép. egy lépésben (vagy közvetlenül) átmegy -ból a konfigurációba (jelekben ), ha és a következők közül pontosan egy teljesül: 1), ahol, és. --- felülírási üzemmód 2), ahol, és. --- jobbra lépési üzemmód 3), ahol, és. --- balra lépési üzemmód 4.6. Megjegyzés 1. Mivel minden és a esetén egyértelműen definiált, ezért minden szabályos konfiguráció esetén vagy létezik egyértelműen konfiguráció, amelyikbe közvetlenül átmegy, vagy egyáltalán nem létezik ilyen. 2. A Turing-gép konfigurációjának definíciója, illetve a definíció utáni megjegyzés alapján, ha és, akkor a Turing-gép csak akkor tud továbblépni, ha vagy. 3. A jel tulajdonságai alapján, ha és, a átmenetben. 16

23 A Turing-gép Hasonlóképpen, ha és, akkor a átmenetben 4.7. Definíció. A Turing-gép egy számítása konfigurációk egy sorozata amelyekre 1., ahol ; 2., ha létezik -ből közvetlenül elérhető konfiguráció (és ez az egyértelműség miatt ); 3., ha nem létezik -ből közvetlenül elérhető konfiguráció. A szót a bemenetének nevezzük. Ha olyan, hogy, akkor azt mondjuk, hogy a számítás véges, a Turing-gép a végállapotban megáll. Ekkor a szót kimenetének nevezzük. Jelölése:. Ha egy esetén a Turing-gépnek végtelen számítása van, akkor nem értelmezünk kimenetet. Jelekben:. (Nem összetévesztendő a kimenettel.) 4.8. Megjegyzés Egy Turing-gépnek kétféleképpen lehet végtelen számítása egy bemeneten: 1. -re létezik -ből közvetlenül elérhető konfiguráció; 2., amelyikre -ből nincs közvetlenül elérhető konfiguráció és -hez tartozó állapot nem végállapot. (A Turing-gép "befagy" a konfigurációban.) 2. Felismerő Turing-gépek 4.9. Definíció Legyen egy Turing-gép, és. Ekkor -t elfogadó Turing-gépnek nevezzük, a -beli állapotokat pedig elfogadó állapotoknak Definíció Legyen egy elfogadó Turing-gép, a elfogadó állapotainak halmaza. Azt mondjuk, hogy elfogadja a szót, hogyha számítása véges a bemeneten, és megálláskor -beli állapotban van Definíció Legyen egy elfogadó Turing-gép. Az nyelvet a által felismert nyelvnek nevezzük. 17

24 A Turing-gép Lemma Legyen egy elfogadó Turing-gép és. Ekkor átalakító Turing-gép, amelyikre pontosan akkor, ha. Bizonyítás Az előbbi lemma alapján megállapíthatjuk, hogy az elfogadó Turing-gépek lényegében nem jelentenek újdonságot az átalakító Turing-gépekhez képest, azonosnak tekinthetők az általuk felismert nyelv karakterisztikus függvényét megvalósító Turing-géppel. 3. Turing-gépek megadása Egy Turing-gép megadása a definícióban szereplő ötös leírását jelenti. és esetében ez nem jelent különösebb kihívást, viszont az átmenetfüggvény meghatározása kicsit több erőfeszítést igényel. Mivel azonban véges halmazon értelmezett, véges halmazba képező függvényről van szó, szerencsére több egyszerű lehetőségünk is adódik rá. A különböző reprezentációk használatát két Turing-gép különböző megadásával szemléltetjük. Az első Turing-gép által megvalósított feladat a ábécé fölötti szavakon végrehajtott paritásellenőrző bites kódolás. Ez egy tipikus transzformációs feladat. Kezdőszelettartó, viszont nem hossztartó átalakítás. A leképezés lényege, hogy a bemenő szóban megszámoljuk az jeleket és a szót kiegészítjük egy új jellel úgy, hogy a keletkezett szóban az -esek száma páros legyen. Ez a transzformáció az egyik legegyszerűbb, de az egyik leghatékonyabb és széles körben alkalmazott hibafelismerő kódolás. Pl. Paritásbit hozzáfűzése: Be: Ki: Be: Ki: A tényleges alkalmazásoknál általában feltételezik, hogy az egyes kódszavak azonos hosszúságúak, de a példában nem élünk ezzel a megszorítással. A második Turing-gép segítségével azt ellenőrizzük, hogy a bemenő szó megfelel-e a paritási feltételnek, azaz páros sok található benne. Ha igen, akkor elfogadjuk, ha nem, akkor sérültnek tekintjük Táblázatos reprezentáció: A táblázatos reprezentációban az átmenetfüggvényt többféleképpen is megadhatjuk. Egyik lehetőség, hogy a táblázat oszlopait állapotokhoz, sorait bemenetekhez (az író-olvasó fej által beolvasott értékekhez) rendeljük, a cellák tartalma pedig a függvényértékeket tartalmazza a megfelelő argumentumok esetén. A táblázat természetesen hiányos is lehet, amennyiben az átmenetfüggvény nem mindenütt definiált. Pl. Paritásbit hozzáfűzése A szakasz elején megadott feladat megoldására alkalmas Turing-gép a következő: ahol,, és : Figure 4.2. Paritásellenőrző bit hozzáfűzése a bemenő szóhoz 18

25 A Turing-gép A Turing-gép állapota végállapot, a kezdő állapot és egyben annak jelzésére szolgál, hogy az eddig megvizsgált jelsorozatban páros sok található. A állapot jelentése, hogy az eddigi vizsgálatok során páratlan sok található. A és állapotok az író-olvasó fej továbbítására és a paritásérték megjegyzésére szolgálnak. Egy konkrét bemeneten a Turing-gép a következő számítást végzi el: Be: Figure 4.3. Kezdő konfiguráció: Figure 4.4. Figure 4.5. Figure 4.6. Figure 4.7. Figure 4.8. Figure

26 A Turing-gép Figure Figure Figure Figure Figure Figure Figure Látható, hogy a Turing-gép számításának leírása így meglehetősen kényelmetlen, bár könnyen feldolgozható. Sokkal egyszerűbb az eredeti definíciónak megfelelően a konfigurációk leírásával megadni. Figure A Turing-gép számítása a bemeneten 20

27 A Turing-gép Pl. Paritásbit ellenőrzése ahol,, és : Figure Paritásellenőrző bit tesztelése A Turing-gép állapota elfogadó-, míg elutasító állapot, azaz és a kezdő állapot és egyben annak jelzésére szolgál, hogy az eddig megvizsgált jelsorozatban páros sok található. A állapot jelentése, hogy az eddigi vizsgálatok során páratlan sok található. A és állapotok az író-olvasó fej továbbítására és a paritásérték megjegyzésére szolgálnak. Egy konkrét bemeneten a Turing-gép a következő számítást végzi el: Be: Figure Kezdő konfiguráció: 21

28 A Turing-gép Figure Figure Figure Figure Figure Figure Figure Figure Figure

29 A Turing-gép Figure Figure Figure Figure Figure Figure A Turing-gép számításának leírása a konfigurációi segítségével: Figure A Turing-gép számítása a bemeneten 23

30 A Turing-gép 3.2. Gráfreprezentáció: 3.3. Turing-gép megadása felsorolással: Az átmenetfüggvény megadható a definiált argumentumokon felvett értékek felsorolásával is. A paritásbit generáló Turing-gép átmenetfüggvénye: 24

31 A Turing-gép A paritásbit ellenőrző Turing-gép átmenetfüggvénye: 3.4. Példák 1. A bemenő szót tükröző Turing-gép:. 2. A bemenő szót megduplázó Turing-gép:. 3. A bemenő szót, mint bináris számot eggyel megnövelő Turing-gép:, ahol Feladatok 1. Adjunk meg egy Turing-gépet, amelyik a szót írja a szalagra! 25

32 A Turing-gép 2. Adjunk meg egy Turing-gépet, amelyik a szót írja a szalagra! 3. Adjunk meg egy Turing-gépet, amelyik a bemenő szót invertálja, azaz minden -t -ra, minden -t -re cserél! 4. Adjunk meg egy Turing-gépet, amelyik a bemenő szóban páronként megcseréli a jeleket! Pl. 5. Adjunk meg egy Turing-gépet, amelyik a bemenő szóról eldönti, hogy melyik jelből található több! Ha -ból, akkor, ha -ből, akkor, illetve ha egyenlőek, akkor állapotban áll meg. 4. Church-Turing tézis Ahogy azt a fejezet elején levő bevezetőben leírtuk, egy algoritmusra úgy tekintünk, mint egy függvényre, ami egy bemenő szóhoz (feladat) kiszámít egy kimenő szót (megoldás). Az előző szakasz definíciói alapján a Turing-gépek is hasonló feladatot oldanak meg. Felvetődik a kérdés, hogy melyek azok a feladatok, amelyek Turing-géppel megoldhatóak. Erre próbál választ adni a következő állítás Church-Turing tézis Legyen egy algoritmus, ami szavakat szavakká alakít, azaz. Ekkor létezik egy Turing-gép, amelyikre esetén Megjegyzés 1. Amennyiben egy adott bemenet esetén nem áll meg, nem definiált. Ekkor feltételezzük, hogy sem áll meg az adott szón. 2. A Church-Turing tézis mind a transzformációs, mind a döntési feladatra értelmezhető. Ez utóbbi esetben az algoritmus kimenete értelemszerűen nem egy szó, hanem egy döntés. (pl. igen-nem ) A Church-Turing tézis érdekessége, hogy a benne szereplő egyik fogalomnak (algoritmus) nincs matematikai definíciója. Ennek következménye, hogy az állításnak nem létezhet matematikai bizonyítása. Igazságértéke viszont van. Mit kezdhetünk akkor vele? Szokatlan módon, igazolni ugyan elvileg is lehetetlen, amennyiben azonban hamis az állítás, azt lehet bizonyítani. Ehhez elegendő találni egy olyan feladatot, amit valamilyen algoritmusnak elfogadható módszerrel meg tudunk oldani, Turing-géppel viszont bizonyíthatóan nem. A tézis első megfogalmazása az 1930-as évekre tehető. Azóta cáfolni nem sikerült, annak ellenére, hogy jó páran próbálkoztak vele. Tipikus módszer erre az, hogy kifejlesztenek egy újabb algoritmusmodellt, majd megpróbálják belátni, hogy van olyan feladat, amit ennek segítségével meg lehet oldani, Turing-géppel viszont nem. A mai napig azonban minden modellről kiderült, hogy nem erősebb a Turing-gép modellnél. Ha a megoldható feladatok osztálya az adott modell esetén ugyanaz, mint a Turing-gépekkel megoldható feladatok osztálya, a kérdéses algoritmusleírást Turing-ekvivalensnek nevezik. A későbbiek során mi is megismerünk néhány újabb modellt (alapvetően a Turing-gép általánosításairól lesz szó), és be is látjuk Turingekvivalenciájukat. Nem véletlen az sem, hogy számtalan Turing-gép definíció létezik. Ekvivalenciájuk miatt elhanyagolható a köztük levő különbség, ezért több-kevesebb szabadságot engedhetünk meg, megtartva az eredeti ötletet: mindkét (vagy csak egy) irányban végtelen (vagy végtelenül nyújtható) szalag, véges állapotú regiszter. A legismertebb Turing-ekvivalens algoritmusmodellek: 26

33 A Turing-gép kalkulus RAM gép Markov algoritmus Rekurzív függvények Sejtautomaták Neurális háló modell Genetikus algoritmus 5. Turing-gépek összefűzése Egy konkrét feladat megoldása Turing-gép segítségével a legtöbb esetben nem nyilvánvaló. Megadható azonban néhány művelet a Turing-gépeken, amelyek segítségével Turing-gépek felhasználásával új Turing-gépeket hozhatunk létre. Ezen műveletek hatásának megismerésével egyszerűbbé válik a modell használata, a bizonyítások megértése. Segítségével a jóval hétköznapibb eljáráselvű programozáshoz hasonló megoldásokat és gondolkodásmenetet követhetjük, megtartva a matematikai precizitás lehetőségét Definíció (Turing-gépek összefűzése [kompozíciója]) Legyen és két Turing-gép. Tegyük fel, hogy. A (vagy Turing-gépet a következőképpen definiáljuk:, ahol,,, Itt és. ahol, minden és esetén, valamint minden esetén és Megjegyzés A függvények uniója itt a 2. fejezetben értelmezett módon relációk uniójaként tekinthető Tétel Az előbbi definícióban adott Turing-gépre, azaz a Turing-gép lényegében a és Turing-gépek egymás utáni "futtatásával" kapható meg. Bizonyítás Legyen egy tetszőleges hosszúságú szó, számítása a bemeneten, számítása a bemeneten. Ha megáll a bemeneten, legyen és számítása a bemeneten. A definíció alapján, mivel, így. 27

34 A Turing-gép Ugyancsak a definíció szerint, ha, akkor, azaz ameddig, addig. Ez alapján, ha nem áll meg -n, akkor az sem áll meg. Ha, ahol, akkor a Turing-gép megáll. Ebben az esetben, azaz a szalag tartalma. definíciója alapján ilyenkor továbbszámol, a -nek megfelelően, azaz először átmegy a lépések során $K=(s_t,w_1,a,w_2)$ konfigurációba, majd a következő az író olvasó fejet a szalag elejére viszi. Ha azt eléri, átmegy a konfigurációba - itt -, ami viszont megegyezik a konfigurációval. Mivel, ha, ezért innentől kezdve, azaz ha nem áll meg -n, akkor sem fog megállni, egyébként pedig. Figure és kompozíciója Felismerő Turing-gépek segítségével a feltételes végrehajtás (feltételes eljáráshívás) struktúráját is modellezni tudjuk Definíció (feltételes elágazás) Legyen, és három Turing-gép. Tegyük fel, hogy,,,,. A Turing-gépet a következőképpen definiáljuk:, ahol,,, és. Itt, ahol, minden és esetén, 28

35 A Turing-gép, minden és esetén, minden és esetén valamint, ahol Megjegyzés Többszörös elágazás is definiálható, ha -et nem két, hanem több részre partícionáljuk, és mindegyiknek megfeleltetünk egy új Turing-gépet Tétel Legyen és és a válaszát jelöljük -gyel, ha a bemeneten -beli állapotban, illetve -vel, ha a bemeneten -beli állapotban áll meg. Az előbbi definícióban adott Turing-gépre, ha válasza a bemeneten, illetve, ha válasza a bemeneten. Bizonyítás Legyen egy tetszőleges hosszúságú szó, számítása a bemeneten, számítása a bemeneten. Ha megáll a bemeneten, legyen és számítása a bemeneten, míg számítása a bemeneten. A definíció alapján, mivel, így. Ugyancsak a definíció szerint, ha, akkor, azaz ameddig, addig. Ez alapján, ha nem áll meg -n, akkor az sem áll meg. Ha, ahol, akkor a Turing-gép megáll. Ebben az esetben megfelelően., azaz a szalag tartalma. definíciója alapján ilyenkor továbbszámol, a -nek a.) Ha, akkor először átmegy a konfigurációba, majd a következő lépések során az író olvasó fejet a szalag elejére viszi. Ha azt eléri, átmegy a konfigurációba - itt -, ami viszont megegyezik a konfigurációval. Mivel, ha, ezért innentől kezdve, azaz ha nem áll meg -n, akkor sem fog megállni, egyébként 29

36 A Turing-gép pedig b.) Ha, akkor először átmegy a konfigurációba, majd a következő lépések során az író olvasó fejet a szalag elejére viszi. Ha azt eléri, átmegy a konfigurációba - itt -, ami viszont megegyezik a konfigurációval. Mivel, ha ezért innentől kezdve, azaz ha nem áll meg -n, akkor sem fog megállni, egyébként pedig. Figure 4.37., és feltételes kompozíciója Amennyiben egy Turing-gépet előre megadott számban többször egymás után szeretnénk végrehajtani, egy kicsit pontosítani kell a definíción, mivel az egyszerű kompozíciónál feltettük, hogy az összefűzendő Turinggépek állapothalmazai diszjunktak Definíció (rögzített ismétlésű ciklus) Legyen egy Turing-gép. A Turing-gépet definiáljuk úgy, hogy a megfelelő komponenseit helyettesítjük egy megfelelő, -vel ellátott komponenssel. (Azaz átjelöljük az összetevőit.) Ezzel a jelöléssel legyen. Általánosan: Legyen Megjegyzés és, ha. Az egyszerű összefűzés definíciója utáni tétel alapján. Iteratív módon alkalmazva, ahol az egymásba ágyazás mélysége. ( jelölése pontosan megegyezik a függvénykompozíciónál hagyományosan elfogadottal.) A -nel jelölt Turing-gép a Turing-gép -szer egymás után történő végrehajtásaként értelmezhető. 30

37 A Turing-gép A programozásnál megszokott utasítások közül már csak a feltételes (végtelen) ciklus konstrukciója hiányzik Definíció (iteráció) Legyen és,. A Turing-gépet a következőképpen definiáljuk:, ahol,,, és Itt., ahol Megjegyzés, minden, esetén,, és. Ha, akkor semmilyen bemeneten nem áll meg (= végtelen ciklus) Tétel, azaz tekinthető a Turing-gép iteratív végrehajtásának. Bizonyítás Legyen egy tetszőleges hosszúságú szó, számítása a bemeneten, számítása a bemeneten. Ha megáll a bemeneten, legyen és számítása a bemeneten A definíció alapján, mivel, így. Ugyancsak a definíció szerint, ha, akkor, azaz ameddig, addig Ez alapján, ha nem áll meg -n, akkor az sem áll meg. Ha, ahol, akkor a Turing-gép megáll. Ebben az esetben, azaz a szalag tartalma. definíciója alapján, ha, akkor továbbszámol, a -nek megfelelően, ha, akkor megáll. Ha tehát, akkor először átmegy a konfigurációba, majd a következő lépések során az író olvasó fejet a szalag elejére viszi. Ha azt eléri, átmegy a konfigurációba 31

38 A Turing-gép - itt -, ami viszont kezdőkonfigurációja a bemenőszóval. Innentől kezdve, azaz pontosan úgy viselkedik, mintha -t a bemeneten indítottuk volna.. Figure iterációja Megjegyzés A különböző típusú összefűzések definíciójából elhagyhatjuk az író-olvasó fej előremozgatását. Ebben az esetben a következő Turing-gép végrehajtása a szalag azon pozíciójából folytatódik, ahol az előző abbahagyta a számolást. A legtöbb esetben ez a változat könnyebben használható, így viszont a függvények kompozíciójaként való értelmezés nem lenne helytálló. Ezen összefűzések segítségével, ahogy a definíciók előtt is említettük, egyszerűbb Turing-gépekből komplikáltabb és komplikáltabb gépeket építhetünk, úgy tekintve az építőelemekre, mintha eljárások lennének. Ilyen egyszerűbb gépek (a teljesség igénye nélkül) a következők lehetnek: cellát jobbra vagy balra lép cellát megvizsgál, a válasz "igen" vagy "nem" a szalag első vagy utolsó értékes jelére állítja az író-olvasó fejet egy rögzített jelet a szalagra ír cella tartalmát eggyel balra (jobbra) másolja... Összetett Turing-gépek a bemenő szó végére vagy elejére ír egy jelet a bemenő szó végéről vagy elejéről töröl egy jelet a bemenő szót megduplázza a bemenő szót tükrözi a bemenő szóról eldönti, hogy páros hosszúságú-e 32

39 A Turing-gép két bemenő szó hosszúságát összehasonlítja számrendszerek között átvált két szót összead Példa: Legyen a lehetséges bemenő szavak halmaza és legyenek adottak a következő egyszerű Turing-gépek: 1. : megvizsgálja az író-olvasó fej alatti jelet; ha az, akkor "igen", ellenkező esetben "nem" választ ad. 2. : megvizsgálja az író-olvasó fej alatti jelet; ha az, akkor "igen", ellenkező esetben "nem" választ ad. 3. : megvizsgálja az író-olvasó fej alatti jelet; ha az, akkor "igen", ellenkező esetben "nem" választ ad. 4. : egy cellát balra lép 5. : egy cellát jobbra lép 6. : -t ír a szalagra 7. : -et ír a szalagra 8. : -et ír a szalagra Konstruáljuk meg belőlük az összefűzési műveletek segítségével azt a Turing-gépet, amelyik a bemenő szóból elkészíti a szót! Először készítsük el azt a Turing-gépet, amelyik a szalagon levő szó (jobboldali) végére áll: Hasonlóan adható meg a szó elejére álló is:. Az a Turing-gép, amelyik jobbra haladva megkeresi az első jelet, a következőképpen adható meg:. Az a Turing-gép, amelyik balra haladva megkeresi az első jelet, a következőképpen adható meg:. 6. Többszalagos Turing-gépek, szimuláció Az eddig megismert Turing-gép modell általánosításaként bevezetjük a többszalagos Turing-gépek fogalmát. Itt a Turing-gép állapotregisztere egynél több szalaggal is kapcsolatban állhat, azokhoz külön író-olvasó fejjel rendelkezik, melyeket egymástól függetlenül mozgathat. Figure Többszalagos Turing-gép 33

40 A Turing-gép Definíció (többszalagos Turing-gép) Legyen, egész szám. A -ost -szalagos Turing-gépnek nevezzük, ha véges, nem üres halmaz; állapotok halmaza véges, nem üres halmaz, ; kezdő állapot, nem üres; végállapotok halmaza ; szalag ábécé ; átmenetfüggvény Hasonlóan az egyszerű (egy szalagos) Turing-géphez, definiálhatjuk a konfiguráció, konfigurációátmenet és számítás fogalmát Definíció Legyen egy -szalagos Turing-gép és. -t a lehetséges konfigurációi halmazának, elemeit lehetséges konfigurációknak nevezzük. Ekkor a egy szalagjának lehetséges leírásait tartalmazó halmaz Definíció Legyen egy -szalagos Turing-gép és két konfigurációja. Tegyük fel, hogy ahol,,, és, ahol. Azt mondjuk, hogy egy lépésben (vagy közvetlenül) átmegy -ból a konfigurációba (jelekben ), ha a minden esetén a következők közül pontosan egy igaz: 1) és, ahol. 34

41 A Turing-gép --- felülírási üzemmód 2), és. --- jobbra lépési üzemmód 3), és. --- balra lépési üzemmód Megjegyzés Többszalagos Turing-gép esetén egy lépés során szalagonként függetlenül - bár az átmenet függvény által közösen meghatározott módon - végzünk műveleteket Definíció Legyen egy -szalagos Turing-gép. egy számítása az hosszúságú bemeneten konfigurációk egy sorozata amelyekre 1., ahol és, ha ; 2., ha létezik -ből közvetlenül elérhető konfiguráció (és ez az egyértelműség miatt ); 3., ha nem létezik -ből közvetlenül elérhető konfiguráció. Ha olyan, hogy, akkor azt mondjuk, hogy a számítás véges, a Turing-gép a végállapotban megáll. Ha ekkor, akkor a szót kimenetének nevezzük. Jelölése:. Ha egy esetén a Turing-gépnek végtelen számítása van, akkor nem értelmezünk kimenetet. Jelekben:. (Nem összetévesztendő a kimenettel.) Megjegyzés A többszalagos Turing-gép definíciójában feltételeztük, hogy a bemenetet az első szalagon adjuk meg és a kimenetet ugyanoda írjuk vissza. Ez pusztán megállapodás kérdése. Természetesen egyedi esetekben más - esetleg több - szalag is tartalmazhatja a bemenetet vagy a kimenetet. Világos, hogy a frissen definiált többszalagos Turing-gép modell legalább olyan erős, mint az eredeti, egyszerű egyszalagos, hiszen minden egyszalagos Turing-gép kiegészíthető tetszőleges számú szalaggal, amelyeket menet közben nem használunk. Működés szempontjából teljesen azonosnak tekinthetők az egy- és belőle készített többszalagos Turing-gépek. Ahhoz, hogy az egyes modellek erősségét megvizsgáljuk, először is szükségünk lesz egy pontos definícióra, ami elég kifejezően leírja a modellek viszonyát. Ennek segítségével az új és régi modellt össze tudjuk hasonlítani Definíció 35

42 A Turing-gép Legyen, két Turing-gép. Azt mondjuk, hogy szimulálja -et, ha és esetén Megjegyzés Az előző definíció alapján tetszőleges bemenete lehetséges bemenete -nek is. Továbbá, azt jelenti, hogy ha megáll a bemeneten és kimenetként egy szót ad, akkor is megáll és szintén -t ad válaszul. Ha nem áll meg a bemeneten, akkor sem. Elképzelhető, hogy sokkal több mindent ki tud számolni, mint, más bemeneteket is kaphat, de azt mindenképpen meg tudja csinálni, amit Tétel Legyen, egy -szalagos Turing-gép. Ekkor létezik -t szimuláló -szalagos Bizonyítás Turing-gép. A precíz bizonyítás meglehetősen sok technikai részlet kidolgozását igényelné, ezért csak a vázlatát ismertetjük. Konstruktív módon látjuk be az állítás igazságát, ami azt jelenti, hogy nem egy általánosan létező Turing-gépről fogunk igazolni valamit, hanem megadjuk a konkrét felépítését is. A szimuláció alapötlete az, hogy lépésről-lépésre végrehajtjuk az eredeti Turing-gép adott inputon elvégzett számítását. Ehhez a szimuláló Turing-gép folyamatosan tárolja a szimulált Turing-gép aktuális konfigurációit. Általánosan megfogalmazható, hogy adattárolásra kétféle lehetőség adódik: az állapoton keresztül vagy a szalagon. Mivel az állapotok segítségével csak véges mennyiségű adat tárolható, a konfigurációk száma pedig végtelen, természetes módon adódik, hogy a szalagon tároljuk a szükséges információt. Mivel a szimuláló Turing-gépnek csak egyetlen szalagja van, így azon az egyetlen szalagon kénytelen tárolni a szimulált Turinggép teljes szalagtartalmát. Ennek megoldására több lehetőség is adódik. Az egyik az lehet, hogy a szimulált Turing-gép szalagjain levő szavakat a szimuláló Turing-gép szalagján egymás után, valamilyen határolójelekkel elválasztva tároljuk. Ekkor az jelent külön problémát, hogy a szavakhoz való hozzáírás vagy azokból való törlés esetén a többi szót folyamatosan mozgatni kell, hogy ne veszítsünk el egyetlen értékes jelet sem, illetve, hogy az ábrázolt szavak ne távolodjanak el egymástól. Egy másik megközelítés - amit végül is követni fogunk a bizonyítás során -, hogy az egyetlen szalagot "sávokra" bontjuk úgy, mintha továbbra is meglennének a korábbi szalagok, csak az író-olvasó fejeik mozgása egymáshoz rögzített lenne. Ekkor (akárcsak az előbbi modellnél) szükséges az eredeti Turing-gép író-olvasó fejeinek pozícióját tárolni. Ez utóbbi megoldást követve a szalag-abc jelei az eredeti szalag-abc jeleiből képzett komponensű vektorokként képzelhetők el, kiegészítve az író-olvasó fejek helyének jelölésére szolgáló komponensű vektorral. Lássuk az előbb leírtaknak megfelelő definícióját. Legyen a -t szimuláló Turing-gép, ahol 36

43 A Turing-gép és az átmenet függvény, amit az alábbiakban írunk le. A bizonyítás elején leírtaknak megfelelően szalagján fogjuk tárolni az eredeti Turing-gép szalagjairól származó összes információt. Eközben állapota tárolja többek között aktuális állapotát. A egy konfigurációjának kiindulásképpen a következő konfigurációját fogjuk megfeleltetni:. egyes összetevőit a következőképpen adhatjuk meg:, valamint, ahol ha és, illetve egyébként,, ahol (azaz hossza eggyel hosszabb, mint a szalagjain levő szavak leghosszabbikának hosszával), ) és minden esetén, ahol (ha akkor legyen, ha illetve egyébként (azaz az író-olvasó fej az. szalagon levő szó. betűjén áll), minden és esetén. Egy konkrét -szalagos Turing-gép esetén ez a következőképpen néz ki: Figure Egy kétszalagos Turing-gép szimulációja A Turing-gép egy ilyen kiindulási konfigurációból a következő számítási fázisokat hajtja végre: 1. fázis: Beolvasás. Végig lépked a szalag értékes celláin, és ahol az író-olvasó fej pozíciójában -t talál, a megfelelő szimbólumot beírja az állapotának megfelelő pozíciójába. 37

Számításelmélet. Második előadás

Számításelmélet. Második előadás Számításelmélet Második előadás Többszalagos Turing-gép Turing-gép k (konstans) számú szalaggal A szalagok mindegyike rendelkezik egy független író / olvasó fejjel A bemenet az első szalagra kerül, a többi

Részletesebben

definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként.

definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként. Számításelmélet Kiszámítási problémának nevezünk egy olyan, a matematika nyelvén megfogalmazott kérdést, amire számítógéppel szeretnénk megadni a választ. (A matematika nyelvén precízen megfogalmazott

Részletesebben

Algoritmuselmélet 12. előadás

Algoritmuselmélet 12. előadás Algoritmuselmélet 12. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Április 9. ALGORITMUSELMÉLET 12. ELŐADÁS 1 Turing-gépek

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I. 4 IV. FÜGGVÉNYEk 1. LEkÉPEZÉSEk, függvények Definíció Legyen és két halmaz. Egy függvény -ből -ba egy olyan szabály, amely minden elemhez pontosan egy elemet rendel hozzá. Az

Részletesebben

Automaták mint elfogadók (akceptorok)

Automaták mint elfogadók (akceptorok) Automaták mint elfogadók (akceptorok) Ha egy iniciális Moore-automatában a kimenőjelek halmaza csupán kételemű: {elfogadom, nem fogadom el}, és az utolsó kimenőjel dönti el azt a kérdést, hogy elfogadható-e

Részletesebben

Turing-gép május 31. Turing-gép 1. 1

Turing-gép május 31. Turing-gép 1. 1 Turing-gép 2007. május 31. Turing-gép 1. 1 Témavázlat Turing-gép Determinisztikus, 1-szalagos Turing-gép A gép leírása, példák k-szalagos Turing-gép Univerzális Turing-gép Egyéb Turing-gépek Nemdeterminisztikus

Részletesebben

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: 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: 1. Öt kis kérdés megválaszolása egyenként 6 pontért, melyet minimum 12

Részletesebben

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

A digitális számítás elmélete A digitális számítás elmélete 8. előadás ápr. 16. Turing gépek és nyelvtanok A nyelvosztályok áttekintése Turing gépek és a természetes számokon értelmezett függvények Áttekintés Dominó Bizonyítások: L

Részletesebben

Deníciók és tételek a beugró vizsgára

Deníciók és tételek a beugró vizsgára Deníciók és tételek a beugró vizsgára (a szóbeli viszgázás jogáért) Utolsó módosítás: 2008. december 2. 2 Bevezetés Számítási problémának nevezünk egy olyan, a matematika nyelvén megfogalmazott kérdést,

Részletesebben

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

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1 Halmazok 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 2 A fejezet legfontosabb elemei Halmaz megadási módjai Halmazok közti műveletek (metszet,

Részletesebben

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é. HA 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) HA 2 Halmazok HA 3 Megjegyzések A halmaz, az elem és az eleme fogalmakat nem definiáljuk, hanem alapfogalmaknak

Részletesebben

A számítógépes nyelvészet elmélete és gyakorlata. Automaták

A számítógépes nyelvészet elmélete és gyakorlata. Automaták A számítógépes nyelvészet elmélete és gyakorlata Automaták Nyelvek és automaták A nyelvek automatákkal is jellemezhetőek Automaták hierarchiája Chomsky-féle hierarchia Automata: új eszköz a nyelvek komplexitásának

Részletesebben

Véges automaták, reguláris nyelvek

Véges automaták, reguláris nyelvek Véges automaták, reguláris nyelvek Kiegészítő anyag az lgoritmuselmélet tárgyhoz (a Rónyai Ivanyos Szabó: lgoritmusok könyv mellé) Friedl Katalin BME SZIT friedl@cs.bme.hu 27. augusztus 3. véges automata

Részletesebben

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

1. előadás: Halmazelmélet, számfogalom, teljes 1. előadás: Halmazelmélet, számfogalom, teljes indukció Szabó Szilárd Halmazok Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) összessége. Egy halmaz akkor adott, ha minden objektumról eldönthető,

Részletesebben

NP-teljesség röviden

NP-teljesség röviden NP-teljesség röviden Bucsay Balázs earthquake[at]rycon[dot]hu http://rycon.hu 1 Turing gépek 1/3 Mi a turing gép? 1. Definíció. [Turing gép] Egy Turing-gép formálisan egy M = (K, Σ, δ, s) rendezett négyessel

Részletesebben

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: 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: 1. Öt rövid kérdés megválaszolása egyenként 6 pontért, melyet minimum

Részletesebben

Turing-gépek. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1

Turing-gépek. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1 Turing-gépek Logika és számításelmélet, 7. gyakorlat 2009/10 II. félév Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1 A Turing-gép Az algoritmus fogalmának egy intuitív definíciója:

Részletesebben

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének. Függvények határértéke és folytonossága Egy f: D R R függvényt korlátosnak nevezünk, ha a függvényértékek halmaza korlátos. Ha f(x) f(x 0 ) teljesül minden x D esetén, akkor x 0 -at a függvény maximumhelyének

Részletesebben

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

Leképezések. Leképezések tulajdonságai. Számosságok. Leképezések Leképezések tulajdonságai. Számosságok. 1. Leképezések tulajdonságai A továbbiakban legyen A és B két tetszőleges halmaz. Idézzünk fel néhány definíciót. 1. Definíció (Emlékeztető). Relációknak

Részletesebben

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

Hadamard-mátrixok Előadó: Hajnal Péter február 23. Szimmetrikus kombinatorikus struktúrák MSc hallgatók számára Hadamard-mátrixok Előadó: Hajnal Péter 2012. február 23. 1. Hadamard-mátrixok Ezen az előadáson látásra a blokkrendszerektől független kombinatorikus

Részletesebben

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

1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata. 1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata. HLMZOK halmaz axiomatikus fogalom, nincs definíciója. benne van valami a halmazban szintén axiomatikus fogalom,

Részletesebben

Analízis I. Vizsgatételsor

Analízis I. Vizsgatételsor Analízis I. Vizsgatételsor Programtervező Informatikus szak 2008-2009. 2. félév Készítette: Szabó Zoltán SZZNACI.ELTE zotyo@bolyaimk.hu v.0.6 RC 004 Forrás: Oláh Gábor: ANALÍZIS I.-II. VIZSGATÉTELSOR 2006-2007-/2

Részletesebben

Az informatika elméleti alapjai 2 elővizsga december 19.

Az informatika elméleti alapjai 2 elővizsga december 19. Név (aláírás): Az informatika elméleti alapjai 2 elővizsga 2017. december 19. A vizsgadolgozat 1. feladatára helyes válaszonként 1-1 pont kapható, a 2-3. feladatok megoldásáért 6-6 pont, a 4. feladatra

Részletesebben

Formális nyelvek - 9.

Formális nyelvek - 9. Formális nyelvek - 9. Csuhaj Varjú Erzsébet Algoritmusok és Alkalmazásaik Tanszék Informatikai Kar Eötvös Loránd Tudományegyetem H-1117 Budapest Pázmány Péter sétány 1/c E-mail: csuhaj@inf.elte.hu 1 Véges

Részletesebben

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

Logika es sz am ıt aselm elet I. r esz Logika 1/36 1/36 Logika és számításelmélet I. rész Logika 2/36 Elérhetőségek Tejfel Máté Déli épület, 2.606 matej@inf.elte.hu http://matej.web.elte.hu Tankönyv 3/36 Tartalom 4/36 Bevezető fogalmak Ítéletlogika Ítéletlogika

Részletesebben

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!

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! függvények RE 1 Relációk Függvények függvények RE 2 Definíció Ha A, B és ρ A B, akkor azt mondjuk, hogy ρ reláció A és B között, vagy azt, hogy ρ leképezés A-ból B-be. Ha speciálisan A=B, azaz ρ A A, akkor

Részletesebben

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

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit. 2. A VALÓS SZÁMOK 2.1 A valós számok aximómarendszere Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit. 1.Testaxiómák R-ben két művelet van értelmezve, az

Részletesebben

Algoritmusok bonyolultsága

Algoritmusok bonyolultsága Algoritmusok bonyolultsága 11. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm () 1 / 1 NP-telesség Egy L nyelv NP-teles, ha L NP és minden L NP-re L L. Egy Π döntési feladat NP-teles, ha Π NP és

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I. 1 I. HALmAZOk 1. JELÖLÉSEk A halmaz fogalmát tulajdonságait gyakran használjuk a matematikában. A halmazt nem definiáljuk, ezt alapfogalomnak tekintjük. Ez nem szokatlan, hiszen

Részletesebben

HALMAZELMÉLET feladatsor 1.

HALMAZELMÉLET feladatsor 1. HALMAZELMÉLET feladatsor 1. Egy (H,, ) algebrai struktúra háló, ha (H, ) és (H, ) kommutatív félcsoport, és teljesül az ún. elnyelési tulajdonság: A, B H: A (A B) = A, A (A B) = A. A (H,, ) háló korlátos,

Részletesebben

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

1. Mondjon legalább három példát predikátumra. 4. Mikor van egy változó egy kvantor hatáskörében? Definíciók, tételkimondások 1. Mondjon legalább három példát predikátumra. 2. Sorolja fel a logikai jeleket. 3. Milyen kvantorokat ismer? Mi a jelük? 4. Mikor van egy változó egy kvantor hatáskörében?

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA MATEmATIkA I 6 VI KOmPLEX SZÁmOk 1 A komplex SZÁmOk HALmAZA A komplex számok olyan halmazt alkotnak amelyekben elvégezhető az összeadás és a szorzás azaz két komplex szám összege és szorzata

Részletesebben

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk 1. Kódelmélet Legyen X = {x 1,..., x n } egy véges, nemüres halmaz. X-et ábécének, elemeit betűknek hívjuk. Az X elemeiből képzett v = y 1... y m sorozatokat X feletti szavaknak nevezzük; egy szó hosszán

Részletesebben

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

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma Készítette: Laczik Sándor János Gráfelmélet I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma Definíció: a G=(V,E) párt egyszerű gráfnak nevezzük, (V elemeit a gráf csúcsainak/pontjainak,e elemeit

Részletesebben

22. GRÁFOK ÁBRÁZOLÁSA

22. GRÁFOK ÁBRÁZOLÁSA 22. GRÁFOK ÁBRÁZOLÁSA A megoldandó feladatok, problémák modellezése során sokszor gráfokat alkalmazunk. A gráf fogalmát a matematikából ismertnek vehetjük. A modellezés során a gráfok több változata is

Részletesebben

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

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy 1. előadás: Halmazelmélet Szabó Szilárd Halmazok Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) összessége. Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy hozzátartozik-e,

Részletesebben

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

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1 Halmazelmélet 1. előadás Farkas István DE ATC Gazdaságelemzési és Statisztikai Tanszék Halmazelmélet p. 1/1 A halmaz fogalma, jelölések A halmaz fogalmát a matematikában nem definiáljuk, tulajdonságaival

Részletesebben

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

Diszkrét matematika 2. estis képzés Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 4-6. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék

Részletesebben

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

HHF0CX. k darab halmaz sorbarendezésének a lehetősége k! Így adódik az alábbi képlet: Gábor Miklós HHF0CX 5.7-16. Vegyük úgy, hogy a feleségek akkor vannak a helyükön, ha a saját férjeikkel táncolnak. Ekkor már látszik, hogy azon esetek száma, amikor senki sem táncol a saját férjével, megegyezik

Részletesebben

Formális nyelvek és automaták

Formális nyelvek és automaták Formális nyelvek és automaták Nagy Sára gyakorlatai alapján Készítette: Nagy Krisztián 2. gyakorlat Ismétlés: Megjegyzés: Az ismétlés egy része nem szerepel a dokumentumban, mivel lényegében a teljes 1.

Részletesebben

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!

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! RE 1 Relációk Függvények RE 2 Definíció: Ha A, B és ρ A B, akkor azt mondjuk, hogy ρ reláció A és B között, vagy azt, hogy ρ leképezés A-ból B-be. Ha speciálisan A=B, azaz ρ A A, akkor azt mondjuk, hogy

Részletesebben

Automaták és formális nyelvek

Automaták és formális nyelvek Automaták és formális nyelvek Bevezetés a számítástudomány alapjaiba 1. Formális nyelvek 2006.11.13. 1 Automaták és formális nyelvek - bevezetés Automaták elmélete: információs gépek általános absztrakt

Részletesebben

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

Itt és a továbbiakban a számhalmazokra az alábbi jelöléseket használjuk: 1. Halmazok, relációk, függvények 1.A. Halmazok A halmaz bizonyos jól meghatározott dolgok (tárgyak, fogalmak), a halmaz elemeinek az összessége. Azt, hogy az a elem hozzátartozik az A halmazhoz így jelöljük:

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I. 3 III. MEGFELELTETÉSEk, RELÁCIÓk 1. BEVEZETÉS Emlékeztetünk arra, hogy az rendezett párok halmazát az és halmazok Descartes-féle szorzatának nevezzük. Más szóval az és halmazok

Részletesebben

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha ALAPFOGALMAK 1 Á l l a p o t t é r Legyen I egy véges halmaz és legyenek A i, i I tetszőleges véges vagy megszámlálható, nem üres halmazok Ekkor az A= A i halmazt állapottérnek, az A i halmazokat pedig

Részletesebben

4. SOROK. a n. a k (n N) a n = s, azaz. a n := lim

4. SOROK. a n. a k (n N) a n = s, azaz. a n := lim Példák.. Geometriai sor. A aq n = a + aq + aq 2 +... 4. SOROK 4. Definíció, konvergencia, divergencia, összeg Definíció. Egy ( ) (szám)sorozat elemeit az összeadás jelével összekapcsolva kapott a + a 2

Részletesebben

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

Nagy Gábor  compalg.inf.elte.hu/ nagy ősz Diszkrét matematika 1. középszint 2017. ősz 1. Diszkrét matematika 1. középszint 6. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra

Részletesebben

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

Permutációk véges halmazon (el adásvázlat, február 12.) Permutációk véges halmazon el adásvázlat 2008 február 12 Maróti Miklós Ennek az el adásnak a megértéséhez a következ fogalmakat kell tudni: ismétlés nélküli variáció leképezés indulási és érkezési halmaz

Részletesebben

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje 1. Alapfogalmak 1.1. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt

Részletesebben

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex A sorozat fogalma Definíció. A természetes számok N halmazán értelmezett függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet a valós számok halmaza, valós számsorozatról beszélünk, mígha az

Részletesebben

Diszkrét matematika II., 8. előadás. Vektorterek

Diszkrét matematika II., 8. előadás. Vektorterek 1 Diszkrét matematika II., 8. előadás Vektorterek Dr. Takách Géza NyME FMK Informatikai Intézet takach@inf.nyme.hu http://inf.nyme.hu/ takach/ 2007.??? Vektorterek Legyen T egy test (pl. R, Q, F p ). Definíció.

Részletesebben

Adatbázisok elmélete 12. előadás

Adatbázisok elmélete 12. előadás Adatbázisok elmélete 12. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE

Részletesebben

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!

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! 1. Részcsoportok A részcsoport fogalma. 2.2.15. Definíció Legyen G csoport. A H G részhalmaz részcsoport, ha maga is csoport G műveleteire nézve. Jele: H G. Az altér fogalmához hasonlít. Példák (1) C +

Részletesebben

Diszkrét matematika 2.

Diszkrét matematika 2. Diszkrét matematika 2. 2018. szeptember 21. 1. Diszkrét matematika 2. 2. előadás Fancsali Szabolcs Levente nudniq@cs.elte.hu www.cs.elte.hu/ nudniq Komputeralgebra Tanszék 2018. szeptember 21. Gráfelmélet

Részletesebben

A fontosabb definíciók

A fontosabb definíciók A legfontosabb definíciókat jelöli. A fontosabb definíciók [Descartes szorzat] Az A és B halmazok Descartes szorzatán az A és B elemeiből képezett összes (a, b) a A, b B rendezett párok halmazát értjük,

Részletesebben

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva 6. FÜGGVÉNYEK HATÁRÉRTÉKE ÉS FOLYTONOSSÁGA 6.1 Függvény határértéke Egy D R halmaz torlódási pontjainak halmazát D -vel fogjuk jelölni. Definíció. Legyen f : D R R és legyen x 0 D (a D halmaz torlódási

Részletesebben

2014. november 5-7. Dr. Vincze Szilvia

2014. november 5-7. Dr. Vincze Szilvia 24. november 5-7. Dr. Vincze Szilvia A differenciálszámítás az emberiség egyik legnagyobb találmánya és ez az állítás nem egy matek-szakbarbár fellengzős kijelentése. A differenciálszámítás segítségével

Részletesebben

SHk rövidítéssel fogunk hivatkozni.

SHk rövidítéssel fogunk hivatkozni. Nevezetes függvény-határértékek Az alábbiakban a k sorszámú függvény-határértékek)re az FHk rövidítéssel, a kompozíció határértékéről szóló első, illetve második tételre a KL1, illetve a KL rövidítéssel,

Részletesebben

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

Nagy Gábor  compalg.inf.elte.hu/ nagy Diszkrét matematika 1. középszint 2017. ősz 1. Diszkrét matematika 1. középszint 5. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra

Részletesebben

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány Diszkrét matematika 2.C szakirány 2017. ősz 1. Diszkrét matematika 2.C szakirány 2. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2017.

Részletesebben

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk.

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk. Osztók és többszörösök 1783. A megadott számok elsõ tíz többszöröse: 3: 3 6 9 12 15 18 21 24 27 30 4: 4 8 12 16 20 24 28 32 36 40 5: 5 10 15 20 25 30 35 40 45 50 6: 6 12 18 24 30 36 42 48 54 60 1784. :

Részletesebben

Csima Judit október 24.

Csima Judit október 24. Adatbáziskezelés Funkcionális függőségek Csima Judit BME, VIK, Számítástudományi és Információelméleti Tanszék 2018. október 24. Csima Judit Adatbáziskezelés Funkcionális függőségek 1 / 1 Relációs sémák

Részletesebben

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

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI 4. Fuzzy relációk Gépi intelligencia I. Fodor János BMF NIK IMRI NIMGI1MIEM Tartalomjegyzék I 1 Klasszikus relációk Halmazok Descartes-szorzata Relációk 2 Fuzzy relációk Fuzzy relációk véges alaphalmazok

Részletesebben

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK Sorozat fogalma Definíció: Számsorozaton olyan függvényt értünk, amelynek értelmezési tartománya a pozitív egész

Részletesebben

Logika és számításelmélet. 10. előadás

Logika és számításelmélet. 10. előadás Logika és számításelmélet 10. előadás Rice tétel Rekurzíve felsorolható nyelvek tulajdonságai Tetszőleges P RE halmazt a rekurzívan felsorolható nyelvek egy tulajdonságának nevezzük. P triviális, ha P

Részletesebben

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

Diszkrét matematika 2. estis képzés Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 7. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék

Részletesebben

A valós számok halmaza

A valós számok halmaza VA 1 A valós számok halmaza VA 2 A valós számok halmazának axiómarendszere és alapvető tulajdonságai Definíció Az R halmazt a valós számok halmazának nevezzük, ha teljesíti a következő axiómarendszerben

Részletesebben

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA 26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA Az előző két fejezetben tárgyalt feladat általánosításaként a gráfban található összes csúcspárra szeretnénk meghatározni a legkisebb költségű utat. A probléma

Részletesebben

Bonyolultságelmélet. Thursday 1 st December, 2016, 22:21

Bonyolultságelmélet. Thursday 1 st December, 2016, 22:21 Bonyolultságelmélet Thursday 1 st December, 2016, 22:21 Tárbonyolultság A futásidő mellett a felhasznált tárterület a másik fontos erőforrás. Ismét igaz, hogy egy Ram-program esetében ha csak a használt

Részletesebben

A Számítástudomány alapjai

A Számítástudomány alapjai Mechatronika, Optika és Gépészeti Informatika Tanszék A Számítástudomány alapjai Szemelvények az Elméleti Számítástudomány területéről Fogalmak: Számítástechnika Realizáció, technológia Elméleti számítástudomány

Részletesebben

Programozási módszertan

Programozási módszertan 1 Programozási módszertan 1. Alapfogalmak Feldhoffer Gergely 2012 Féléves tananyag terve 2 Program helyességének bizonyítása Reprezentáció Logikai-matematikai eszköztár Programozási tételek bizonyítása

Részletesebben

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján Számsorozatok, vektorsorozatok konvergenciája Def.: Számsorozatok értelmezése:

Részletesebben

7.4. A programkonstrukciók és a kiszámíthatóság

7.4. A programkonstrukciók és a kiszámíthatóság H @ tj 68 7 PROGRAMKONSTRUKCIÓK 74 A programkonstrukciók és a kiszámíthatóság Ebben az alfejezetben kis kitérőt teszünk a kiszámíthatóság-elmélet felé, és megmutatjuk, hog az imént bevezetett három programkonstrukció

Részletesebben

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

2014. szeptember 24. és 26. Dr. Vincze Szilvia 2014. szeptember 24. és 26. Dr. Vincze Szilvia Mind a hétköznapi, mind a tudományos életben gyakran előfordul, hogy bizonyos halmazok elemei között kapcsolat figyelhető meg. A kapcsolat fogalmának matematikai

Részletesebben

Struktúra nélküli adatszerkezetek

Struktúra nélküli adatszerkezetek Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A

Részletesebben

Számsorozatok (1) First Prev Next Last Go Back Full Screen Close Quit

Számsorozatok (1) First Prev Next Last Go Back Full Screen Close Quit Számsorozatok (1) First Prev Next Last Go Back Full Screen Close Quit 1. Valós számsorozaton valós számok meghatározott sorrendű végtelen listáját értjük. A hangsúly az egymásután következés rendjén van.

Részletesebben

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek 3. Előadás Megyesi László: Lineáris algebra, 47. 50. oldal. Gondolkodnivalók Determinánsok 1. Gondolkodnivaló Determinánselméleti tételek segítségével határozzuk meg a következő n n-es determinánst: 1

Részletesebben

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

BOOLE ALGEBRA Logika: A konjunkció és diszjunkció tulajdonságai BOOLE ALGEBRA Logika: A konjunkció és diszjunkció tulajdonságai 1.a. A B B A 2.a. (A B) C A (B C) 3.a. A (A B) A 4.a. I A I 5.a. A (B C) (A B) (A C) 6.a. A A I 1.b. A B B A 2.b. (A B) C A (B C) 3.b. A

Részletesebben

3. előadás. Programozás-elmélet. A változó fogalma Kiterjesztések A feladat kiterjesztése A program kiterjesztése Kiterjesztési tételek Példa

3. előadás. Programozás-elmélet. A változó fogalma Kiterjesztések A feladat kiterjesztése A program kiterjesztése Kiterjesztési tételek Példa A változó fogalma Definíció Legyen A = A 1 A 2... A n állapottér. A pr Ai projekciós függvényeket változóknak nevezzük: : A A i pr Ai (a) = a i ( a = (a 1, a 2,..., a n ) A). A változók jelölése: v i =

Részletesebben

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

Analízis I. beugró vizsgakérdések Analízis I. beugró vizsgakérdések Programtervező Informatikus szak 2008-2009. 2. félév Készítette: Szabó Zoltán SZZNACI.ELTE zotyo@bolyaimk.hu v1.7 Forrás: Dr. Weisz Ferenc: Prog. Mat. 2006-2007 definíciók

Részletesebben

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám. 1 Az utazó ügynök problémája Utazó ügynök feladat Adott n számú város és a városokat összekötő utak, amelyeknek ismert a hossza. Adott továbbá egy ügynök, akinek adott városból kiindulva, minden várost

Részletesebben

A Turing-gép. Formális nyelvek III.

A Turing-gép. Formális nyelvek III. Formális nyelvek III. Általános és környezetfüggő nyelvek Fülöp Zoltán SZTE TTIK Informatikai Intézet Számítástudomány Alapjai Tanszék 6720 Szeged, Árpád tér 2. Definíció. Egy Turing-gép egy M = (Q,Σ,Γ,

Részletesebben

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 3. gyakorlat PLanG: 2011.09.27. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok

Részletesebben

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet   takach november 30. 1 Diszkrét matematika I, 12 előadás Dr Takách Géza NyME FMK Informatikai Intézet takach@infnymehu http://infnymehu/ takach 2005 november 30 Vektorok Definíció Egy tetszőleges n pozitív egész számra n-komponensű

Részletesebben

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

Matematika III. 2. Eseményalgebra Prof. Dr. Závoti, József Matematika III. 2. Eseményalgebra Prof. Dr. Závoti, József Matematika III. 2. : Eseményalgebra Prof. Dr. Závoti, József Lektor : Bischof, Annamária Ez a modul a TÁMOP - 4.1.2-08/1/A-2009-0027 Tananyagfejlesztéssel

Részletesebben

Bonyolultságelmélet. Monday 26 th September, 2016, 18:27. Bonyolultságelmélet

Bonyolultságelmélet. Monday 26 th September, 2016, 18:27. Bonyolultságelmélet Monday 26 th September, 2016, 18:27 A kurzus teljesítési követelményei Gyakorlat Három kisdolgozat 6 6 pontért kb. a 4., 7. és 10. gyakorlaton Egy nagydolgozat 28 pontért utolsó héten előadáson Pontszám:

Részletesebben

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

1 2. gyakorlat Matematikai és nyelvi alapfogalmak. dr. Kallós Gábor 1 2. gyakorlat 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 a gyakorlati feladatsor nagyban épít a következő könyvre Elements

Részletesebben

Exponenciális, logaritmikus függvények

Exponenciális, logaritmikus függvények Exponenciális, logaritmikus függvények DEFINÍCIÓ: (Összetett függvény) Ha az értékkészlet elemeihez, mint értelmezési tartományhoz egy újabb egyértelmű hozzárendelést adunk meg, akkor összetett (közvetett)

Részletesebben

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás Elemi programok Definíció Az S A A program elemi, ha a A : S(a) { a, a, a, a,..., a, b b a}. A definíció alapján könnyen látható, hogy egy elemi program tényleg program. Speciális elemi programok a kövekezők:

Részletesebben

Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések

Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések 1. Feladat Az első feladatban szereplő - kérdések 1 Minden környezet független nyelv felismerhető veremautomatával. Minden környezet független nyelv felismerhető 1 veremmel. Minden 3. típusú nyelv felismerhető

Részletesebben

Halmazelméleti alapfogalmak

Halmazelméleti alapfogalmak Halmazelméleti alapfogalmak halmaz (sokaság) jól meghatározott, megkülönböztetett dolgok (tárgyak, fogalmak, stb.) összessége. - halmaz alapfogalom. z azt jelenti, hogy csak példákon keresztül magyarázzuk,

Részletesebben

ismertetem, hogy milyen probléma vizsgálatában jelent meg ez az eredmény. A kérdés a következő: Mikor mondhatjuk azt, hogy bizonyos események közül

ismertetem, hogy milyen probléma vizsgálatában jelent meg ez az eredmény. A kérdés a következő: Mikor mondhatjuk azt, hogy bizonyos események közül A Borel Cantelli lemma és annak általánosítása. A valószínűségszámítás egyik fontos eredménye a Borel Cantelli lemma. Először informálisan ismertetem, hogy milyen probléma vizsgálatában jelent meg ez az

Részletesebben

Kiterjesztések sek szemantikája

Kiterjesztések sek szemantikája Kiterjesztések sek szemantikája Példa D Integer = {..., -1,0,1,... }; D Boolean = { true, false } D T1... T n T = D T 1... D Tn D T Az összes függvf ggvény halmaza, amelyek a D T1,..., D Tn halmazokból

Részletesebben

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós MBNK12: Permutációk el adásvázlat 2016 április 11 Maróti Miklós 1 Deníció Az A halmaz permutációin a π : A A bijektív leképezéseket értjünk Tetsz leges n pozitív egészre az {1 n} halmaz összes permutációinak

Részletesebben

Atomataelmélet: A Rabin Scott-automata

Atomataelmélet: A Rabin Scott-automata A 19. óra vázlata: Atomataelmélet: A Rabin Scott-automata Az eddigieken a formális nyelveket generatív szempontból vizsgáltuk, vagyis a nyelvtan (generatív grammatika) szemszögéből. A generatív grammatika

Részletesebben

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum. Programozási tételek Programozási feladatok megoldásakor a top-down (strukturált) programtervezés esetén három vezérlési szerkezetet használunk: - szekvencia - elágazás - ciklus Eddig megismertük az alábbi

Részletesebben

Határérték. prezentációjából valók ((C)Pearson Education, Inc.) Összeállította: Wettl Ferenc október 11.

Határérték. prezentációjából valók ((C)Pearson Education, Inc.) Összeállította: Wettl Ferenc október 11. Határérték Thomas féle Kalkulus 1 című könyv alapján készült a könyvet használó hallgatóknak. A képek az eredeti könyv szabadon letölthető prezentációjából valók ((C)Pearson Education, Inc.) Összeállította:

Részletesebben

A valós számok halmaza 5. I. rész MATEMATIKAI ANALÍZIS

A valós számok halmaza 5. I. rész MATEMATIKAI ANALÍZIS A valós számok halmaza 5 I rész MATEMATIKAI ANALÍZIS 6 A valós számok halmaza A valós számok halmaza 7 I A valós számok halmaza A valós számokra vonatkozó axiómák A matematika lépten-nyomon felhasználja

Részletesebben

A félév során előkerülő témakörök

A félév során előkerülő témakörök A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok

Részletesebben

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Sorozatok I. DEFINÍCIÓ: (Számsorozat) A számsorozat olyan függvény, amelynek értelmezési tartománya a pozitív egész számok halmaza, értékkészlete a valós számok egy részhalmaza. Jelölés: (a n ), {a n }.

Részletesebben