Elméleti alapozás
A számítógép-vezérelt technológia
A technológia minden olyan műszaki találmány, megoldás, amely az emberi élet valamely oldalát, részét hivatott segíteni, jobbá tenni. (A technológia káros felhasználásaival, etikai vonatkozásaival a jelen honlapon nem foglalkozunk.) Igazán hasznos technológiai megoldások például:
-
kombájn – a kulcsfontosságú élelmiszertermelést gyorsítja és könnyíti meg,
-
vonalas telefon – az emberi kommunikációt gyorsítja és könnyíti meg,
-
autó – az emberi közlekedést gyorsítja fel és segíti,
-
stb.
Az informatika-alapú technológia a már meglévő műszaki megoldásokat teszi még hatékonyabbá, úgy is mondhatjuk, hogy intelligenssé:
-
számítógép-vezérelt kombájn – már nemcsak az említett céltevékenységet végzi el, hanem felméri a terepet, folyamatosan ügyel az akadályokra, meghatározza és betartja az aratás célterületét, optimalizálja az aratás egyéb tevékenységeit, stb.
-
számítógép-vezérelt telefon – már nemcsak az említett céltevékenységet végzi el, hanem elvégez szinte mindent, amire a modern felhasználónak szüksége lehet: e-mail, napló, jegyzetelés, számológép, helymeghatározás, játék, információszerzés, filmnézés, zenehallgatás, stb. Csak vegyük kezünkbe saját okostelefonunkat!
-
számítógép-vezérelt autó – már nemcsak a céltevékenységeket végzi el, hanem elkerüli a baleseteket, a dugókat, előre figyelmeztet a lehetséges veszélyekre és hibákra, leparkol helyettünk, stb.
Mitől váltak intelligenssé a már meglévő technológiai megoldások?
-
megszületett az a technológia, amely lehetővé tette olyan gépek építését, amelyek nagyon gyorsan és pontosan tudnak számolni és dönteni (számítógépek),
-
az emberek megtanulták ezeket a számítógépeket a saját igényeiknek megfelelően felhasználni, beprogramozni. Köztudott, hogy az első elektronikus számítógépeket (ENIAC-1947) katonai fejlesztés eredményeképpen ballisztikus rakéták röppályáinak kiszámítására alkották meg. Ebben az esetben például a rakéták fő repülési adatait (tömeg, hajtóerő, stb.) a releváns légköri jellemzőket, az indítási és célkoordinátákat, valamint az ezen adatokat magukba foglaló egyenleteket kellett beprogramozni ahhoz, hogy a számítógép helyes eredményeket produkáljon.
Az ENIAC példájában láthatjuk, hogy nem volt szükség a világ összes meteorológiai adatának számbavételére, csakis azokra, amelyek a röppályát valamilyen módon befolyásolhatták. Ilyen és más tapasztalatok birtokában az emberiség megtanulta a való világ mind több és több eseményét (most már célirányosan) mérhetővé tenni, modellezni (azaz voltaképpen matematikai absztrakció alá vonni), más szóval a valóság egy-egy megragadott szeletét szimulálni, ezzel párhuzamosan pedig abban is sokat fejlődött, hogy milyen eszközökkel lehet mindezt a számítógép számára gyorsan feldolgozni (ez tette lehetővé a programozási nyelvek villámgyors fejlődését).
A számítógép-tudomány valójában túlnyomórészt a való élet sokféle területének szimulációja.
Miért lett manapság majdnem minden technológiai megoldás számítógép-vezérelt?
-
Egyrészt rájöttünk arra, hogy a világ legtöbb jellemzője nagyjából atomi szinttől feljebb modellezhető, ezáltal kiszámítható (fraktál-geometria, káoszelmélet).
-
Másrészt a számítógép-tudomány robbanásszerű fejlődésével a számítógépek egyre olcsóbbá és gyorsabbá váltak és a szobányi méretű gépmonstrumok helyett a kézben vagy a célhardveren elférő gépek már reális alternatívát jelentenek az emberi élet megkönnyítésére. Persze a lényeg nem kizárólag a méretben van, így manapság a szobányi méretű gépmonstrumok már az univerzum gigaszerkezeteit vagy magát az univerzum belső működését modellezik le.
A számítógépek tehát nem tesznek mást, mint érzékelők vagy más, a külvilággal kommunikáló egységek segítségével mintát vesznek a valóság egy adott szeletéről és ezt a beléjük táplált program szerint feldolgozzák. Valójában a bemeneti adatokat egy adott program utasításai szerint kimeneti adatokká alakítják át (Turing-elv).
Bemeneti adatok → Program → Kimeneti adatok
Ám a számítógépek nemcsak számolási (aritmetikai), hanem logikai egységet is tartalmaznak, következésképpen nemcsak számolni tudnak, hanem dönteni is. Az úgynevezett logikai kapuk használata kulcsfontosságú momentum az algoritmusok végrehajtásában; nélkülük gyakorlatilag nincs algoritmus-végrehajtás, kizárólag gyors, matematikai számítás.
Vegyük észre a következőket:
-
ha nincs bemeneti adat - a számítógép nem képes kimeneti adatot szolgáltatni, mert nincs kiindulópont a számításhoz. Például ? + ? = ?
-
ha nincs meg minden bemeneti adat - a számítógép nem képes helyes kimeneti adatot szolgáltatni, mert nincs meg minden kiindulópont a számításhoz. Például 1 + 1 + ? = ?
-
Ha nincs program (utasítássorozat) - a számítógép nem képes kimeneti adatot szolgáltatni, mert nem tudja, hogy mit kell tennie a bemeneti adatokkal. Például 1 ? 1 = ?
-
Ha valamelyik bemeneti adat vagy a program hibás - a számítógép rossz kimeneti adatot fog szolgáltatni, mert (alapértelmezésben) nem képes megállapítani a szimuláció helyességét. (Ezt a problémát programozók bizonyos keretek között képesek kezelni. Például, ha az egyik bemeneti adat egy személyautó tömege, akkor bizonyos, hogy nem léphet egy adott határ fölé és ez már leprogramozható. Ettől függetlenül a kimeneti adat valóban rossz lesz, ám erről hibaüzenetet kaphatunk, ami jelentős segítség.)
-
Döntés - a fenti példa megmutat egy másik, már említett mechanizmust is: a számítógép a beépített logikai kapuk segítségével képes dönteni.
-
Ha a bemeneti adatok és a program jó - a számítógép helyes kimeneti adatokat fog szolgáltatni. Fontos azonban hangsúlyozni, hogy a számítógép ennek nincs „tudatában”. Csakis azt az utasítássorozatot (programot) hajtja végre, ami beléje van táplálva. Következésképpen tudatossága egyedül a programozónak van.