Mechatronika, Optika és Gépészeti Informatika Tanszék Kovács Endre tud. Mts. A Számítástudomány alapjai Szemelvények az Elméleti Számítástudomány területérıl A Számítógépek felépítése, mőködési módjai Mikroprocesszoros Rendszerek Felépítése Architektúra Utasítás végrehajtás Speciális folyamatok (Interrupt, Direct Memory Access = közvetlen memória hozzáférés A Számítógépek hardverelemei Korszerő perifériák és rendszercsatolásuk Grafikus megjelenítı egységek
Analóg számítógépek Számítógépek Differenciálegyenlet megoldása, mechanikai rendszerek dinamikus vizsgálata, szimuláció. Pld: Az analóg számítógéppel történı differenciálegyenlet megoldás lépései kezdeti feltételek beállítása számítás (futtatás) tartás (mérhetıség biztosítása)
Digitális számítógépek Számítógépek EDSAC (Electronic Delay Storage Automatic Calculator) ENIAC (Electronic Numerical Integrator and Computer) A Neumann-elvek: - teljesen elektronikus számítógép; - kettes számrendszer alkalmazása; - aritmetikai egység alkalmazása (univerzális Turing-gép); - központi vezérlıegység alkalmazása; - belsı program- és adattárolás.
Számítógépek Digitális számítógépek
Digitális számítógépek Számítógépek A megjelenés, méret nem tükrözi a felépítést
Elektronikai technológiai fejlıdés
Fogalmak: Digitális Diszkrét értékeket tároló, Számjegyvezérléső Bináris Kettes számrendszert alkalmazó Mikroprocesszor Egy digitális számítógép központi vezérlı és arithmetikai egységének szerepét ellátni képes (egy vagy több chipen létrehozott) áramkör együttes. Mikroprocesszoros rendszer = (mikro)számítógép Egy programvégrehajtásra alkalmas, mikroprocesszort, mint CPU-t tartalmazó, Operatív tárral, I/O egységekkel ellátott rendszer.
Mechatronika, Optika és Gépészeti Informatika Tanszék Kovács Endre tud. Mts. 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 Matematikai elméleti tudományág Kurt Gödel (1906-1978) egy cseh származású (Brünn) amerikai matematikus volt, többek között logikával foglalkozott. Híres "eldönthetetlenségi elmélete" - mely szerint minden szigorúan logikus matematikai rendszerben vannak olyan állítások, amelyeknek az igaz vagy hamis volta nem igazolható a rendszer axiómái alapján. Alonzo Church (1903-1995.) amerikai matematikus és logikus, a számítástudomány (computer science) egyik megalapozója. (lambda-kalkulus, számítási modellek) Alan Mathison Turing (1912-1954) brit matematikus, a modern számítógép-tudomány egyik atyja. (Turing gép, megállási probléma)
Turing koncepciója, a Turing gép megfogalmazása Külsı adat és tárolóterület: végtelen szalag, amelynek egymás után cellái vannak, amelyek vagy üresek, vagy jelöltek. A gép egyszere egy cellával foglalkozik (Az író/olvasó feje egy cellán áll). A szalagon tud jobbra-balra lépni, tud jelet olvasni, törölni és írni. A bevitel, a számítás és a kivitel minden konkrét esetben véges marad, ezen túl a szalag üres.(0) A gép belsı állapotait számozzuk meg 0,1,2,... A gép mőködését megadja egy explicit helyettesítési táblázat. Állapot, bemenet --> Állapot, kimenet, fejmozgás Church - Turing tétel Ha egy algoritmus elég mechanikus és világos, akkor bizonyára található olyan Turing-gép, amely azt végrehajtja. A Turing gép definiálja mindazt, amit matematikailag algoritmikus eljárás alatt értünk. Minden más algoritmikus eljárást végrehajtó rendszer ekvivalens valamely Turing-géppel.
Algoritmus Köznyelvben: Egy véges utasítássorozat (pl. telefonfülke, telefonálás tevékenység) Véges utasítássorozat, amely bármely input esetén véges lépésszám után megáll, eredményt ad. (A végrehajtó automata stabil állapotba kerül.) Kiszámíthatóság Eljárás Algoritmus jelölt Szg. Program írható Emberi szóval megfogalmazott feladat??? NEM minden eljárás algoritmus!! Az Algoritmus fogalmára formális definíciónk nincs! Algoritmus Church - tézise Maga a Turing gép matematikai leírása az algoritmus fogalmának formális definíciója.
Automata elmélet Pld: determinisztikus véges állapotú automata (DFA deterministic finite state machine) S1 S2 0 S2 S1 1 S1 S2 M automata bemenete: 0,1-bıl álló string Feladata, meghatározni, hogy a bemeneti stringben páros számú 0 karakter van-e. M = (S, Σ, T, s, A), ahol Σ = {0, 1}, S = {S 1, S 2 }, s = S 1, A = {S 1 }, és A T átmeneti függvényt a következı állapot átmeneti tábla határozza meg:
Turing gép Minden digitális számítógép İS ÖREGANYJA A C 9 E Író-olvasó fej Belsı állapottér (regiszterek) Turing gép megállási problémája: Nem tudjuk, hogy adott programmal megáll-e! Van-e arra bizonyítási módszerünk, hogy egy eljárás biztosan algoritmus-e? NINCS!! Központi vezérlı egység Verem automata, Véges utasításkészlet
Példa nem algoritmizálható problémára: (Nem kiszámítható feladat) Dominópélda Dominó (egy példány) Dominó típus (megszámlálhatóan végtelen példány) Dominó készlet (definíciója: 3, 2,4,9,5, 1,6,2,7, 4,5,3,1) Kérdés: A definiált dominókészlettel lefedhetı-e a teljes sík: Válasz: IGEN vagy NEM?????
Komplexitás (Algoritmusok bonyolultsága) Komplexitás vizsgálata, ha már tudjuk, hogy az adott problémára létezik algoritmus, azaz a probléma kiszámítható. Idı komplexitás Tárkomplexitás Exponenciális bonyolultság Idı komplexitás (lépésszám) Polinomiális bonyolultság Lineáris bonyolultság Konstans bonyolultság Bemenetek bonyolultsága