2014. máj 21.

Lovász László: Mit kívánnak a számítógépek a matematikától, és mit adnak neki? 1. rész

írta: Janguli
Lovász László: Mit kívánnak a számítógépek a matematikától, és mit adnak neki? 1. rész

Lovász-László-Mindentudás-Egyeteme-2003.jpgMindentudás Egyeteme, 2003.

I. Bevezetés

A számítógépek a 20. század igazi forradalmát jelentik. Az elmúlt évszázad második felét szokás „atomkorszakként” emlegetni; azonban pontosabb leírás volna a „számítógépek korszaka”. Akár egy évnyi előadássorozatot is össze lehetne állítani a számítógépek, az információs technológia hatásáról a kultúra és a tudomány különböző területein. Ez az előadás csak a matematika szempontjából veszi szemügyre a számítógépeket.

Legjobb, ha mindjárt az elején felhívom a figyelmet valamire. A matematika az egzakt gondolkodásról szól, és nem lehet matematikáról anélkül beszélni, hogy legalább egy kicsit ne kóstoljunk bele ebbe az egzakt gondolkodásba. Elkerülhetetlen tehát, hogy a hallgatókat, olvasókat legalábbis időnként arra kérjem, hogy együtt gondolkozzunk, hogy ne csak a tényeket, hanem azok logikáját is kövessék.

Mindjárt föl is teszek egy kérdést, mely gyakran fölvetődik, és melyre az első, átgondolatlan válaszunk könnyen az igazság ellenkezője lehet: Feleslegessé teszik-e a számítógépek a matematikát?

Minden nagy fejlődés sok olyan dolgot tesz fölöslegessé, mely korábban fontos, sőt alapvető volt. Odakerül-e a matematika is a logarléc és a gőzmozdony mellé? Látni fogjuk, hogy éppen ellenkezőleg, a számítógépek igénye a matematika új fejezeteit hívja létre és a régi fejezeteket egészen új megvilágításba helyezi. A számítógép új kérdéseket tesz fel a matematikának, és ezek a kérdések új fogalmak, új paradigmák kialakulásához vezetnek.

A probléma gyakran konkrétabb formában is megfogalmazódik: Nem teszi-e feleslegessé a hardver fejlődése a matematikai módszereket a programozásban? A hardver hihetetlen fejlődésen ment és megy keresztül.

Gordon_Moore.jpgGordon E. Moore

Ezt a fejlődést Moore törvényével lehet leírni. Gordon E. Moore az Intel egyik alapítója, és 1965-ben azt a megfigyelést tette, hogy az egy-egy integrált áramkörben használt tranzisztorok száma mintegy 2 évenként megduplázódik. Ez a gyors fejlődés azóta is tart. 

Neumann János a számítógépek egyik atyja. A háttérben levő gépen jól láthatók a rádiócsövek; minden ilyen cső egy-egy számítási alapegységet, „kaput” valósít meg. Ma egy négyzetcentiméteren 50 millió ilyen kapu van!

Neumann János és az ENIAC.gif

Sok az olyan feladat, amelyet csak nehezen, bonyolult trükköket bevetve tudunk megoldani, de egy évvel később a sokkal gyorsabb, nagyobb kapacitású gépek játszva megcsinálják őket. Úgy tűnhet tehát, hogy kár a bonyolultabb matematikai módszereket erőltetni. Ám ha jobban megnézzük, kiderül, hogy éppen ellenkezőleg: a technikai fejlődés olyan feladatokat hoz létre, amelyeket „trükkös” gondolkodással már nem lehet megoldani, csak komoly matematikai módszerekkel.

Meg lehet-e érteni például egzakt matematikai gondolkodás nélkül az internetet, amely több százmillió számítógépet köt össze egymással? Meg lehet-e tervezni egzakt matematikai módszerek nélkül egy modern integrált áramkört, ahol 50 millió számítási alapegység van egy négyzetcentiméteren összezsúfolva? Lehet-e pontos matematikai modellezés nélkül gondolkodni egy olyan rendszer biztonságáról, amelyet milliárdnyi ember használ, akiket nem ismerünk - de tudjuk, hogy vannak köztük bűnözők és terroristák is?

A matematika tehát nagyon is sokat tud nyújtani a számítástechnikának. De mit kap cserébe? Nagyon sok mindent: izgalmas új fogalmakat, problémákat és módszereket, új kísérletezési lehetőségeket. Ezek közül nézünk meg egy párat a következőkben.

II. A bonyolultság új fogalma

A bonyolultság fogalma hasonló fejlődésen ment át az utóbbi 50 évben, mint sok más alapvető fogalom. Először egy megértést akadályozó körülményt jelentett – vagy talán csak kényelmes kifogást? Ha egy jelenség vagy struktúra túl bonyolult, akkor a kutatás során megkerüljük, leegyszerűsítjük vagy részeire bontjuk. A fogalom történetében a következő fázis, amikor a tudós elkezdi a bonyolultságot mint önálló jelenséget szemlélni: kidolgozza, hogyan lehet mérni, szabályokat és törvényeket állapít meg, kapcsolatba hozza más, korábban megismert dolgokkal. Végül jelentkezik a mérnök, hogy a bonyolultságot eszközként használja fontos tervezési problémák megoldására: az adatvédelem, az elektronikus posta, a kereskedelem, a pénzforgalom biztonsága ma nagyrészt a bonyolultság fogalmán és annak tulajdonságain alapul.

JP-Infinity-Maths-red-v2-big-copy.jpgA 19. századi matematika egyik nagy sikere a végtelen fogalmának megragadása volt. Ennek bűvölete olyan erős, hogy hajlamosak vagyunk mindenre, ami véges, rálegyinteni: „Véges sok eset van, amit végig lehet nézni!”. A számítógépek megjelenése azt eredményezte, hogy rájöttünk: a véges nagyon nagy is lehet, bekövetkezhet az „exponenciális robbanás”.

1. Exponenciális robbanás

sakk-feltalálója-exponenciális-növekedés.jpgA sakkjáték feltalálójáról szóló klasszikus történet szerint az unalma elűzéséért hálás király felajánlotta neki, hogy azt kívánhat jutalmul, amit akar. A feltaláló azt kérte, hogy a sakktábla első mezejére tegyenek egy búzaszemet, a másodikra kettőt, a harmadikra négyet, a negyedikre nyolcat, és így tovább, minden mezőre kétszer annyit, mint az előzőre. A király nagyon megörült, hogy ilyen olcsón megúszta, de aztán rá kellett jönnie: nemcsak, hogy a 10-12-ik mezőtől már nem férnek el a búzaszemek, de a tábla közepe táján már birodalmának teljes búzatermése sem lett volna elegendő, hogy ígéretét betartsa.

Ezt a jelenséget, hogy ha egy mennyiséget ismételten duplázunk (vagy bármilyen egynél nagyobb számmal szorzunk), akkor igen gyorsan növekszik, exponenciális robbanásnak hívjuk. Moore említett törvényében az a meglepő, hogy az informatikában bekövetkezett exponenciális robbanás ilyen sokáig tud tartani. Az 1960-as évek környezetvédelmi forradalma mögött az áll, hogy egyre többen megértették: az exponenciális növekedés sem a népesség, sem a termelés, sem a fogyasztás területén nem tarthat örökké.

A számítástudományban az exponenciális robbanás leggyakrabban akkor lép fel, ha azt a kijelentést, hogy „Véges sok eset van, amelyet végig lehet nézni!”, megpróbáljuk közelebbről vizsgálni. Mondjuk, az esetek megkülönböztetéséhez először is két alapesetet kell megkülönböztetnünk; aztán ezek mindegyikén belül két újabb eset van stb. Ezt a logikai helyzetet az alábbi ábrán látható hálózattal, ún. bináris fával ábrázolhatjuk.

bináris fa.gif

Látható, hogy a végignézendő esetek száma már néhány elágazás után is ugrásszerűen nő, és bekövetkezik az exponenciális robbanás. Ha algoritmusunk egy ilyen fát kell hogy végigvizsgáljon, akkor a modern számítógépek mondjuk 30 szint mélységig még bírják, csakhogy minden egyes újabb szint megduplázza az esetek számát. Itt még Moore törvénye sem segít: ha 10 évig várunk, akkor mondjuk 5 szinttel tudunk továbbmenni.

Ezért aztán a számítástudományban elég hamar megfogalmazódott, hogy olyan algoritmusok tervezésére kell törekedni, amelyek lépésszáma a feladat méretével csak mérsékelten nő, úgy, mint a méret egy hatványa, nem pedig exponenciálisan. Tehát ha a feladat mérete n, akkor a lépésszám lehet n2 vagy n3, de nem lehet 2n. Az ilyen algoritmust polinomiálisnak szokás nevezni. A kétfajta növekedés közötti különbséget úgy lehet legjobban szemléltetni, ha elgondoljuk, hogy mekkora teljesítménynövekedést lehet várni a technológia fejlődésétől. Tegyük fel, hogy mind az A algoritmus, mind a B algoritmus ma 50 bemenő adattal tud egy adott problémát megoldani. Az A algoritmus lépésszáma úgy nő a bemenő adatok számával, mint n3, a B algoritmusé, mint 2n. Ha várunk 10 évet, és a számítógép teljesítménye 32-szer akkora lesz, mint ma (Moore törvénye szerint), akkor az A algoritmus már 150 bemenő adattal bír el, míg a B algoritmus teljesítőképessége csak 55 adatra emelkedik.

A folytatás itt olvasható.

Szólj hozzá

végtelen moore törvény mindentudás egyeteme neumann jános bináris fa Lovász László Neumann János Lovász László matematikus algoritmuselmélet exponenciális növekedés bonyolultságelmélet Lovász László mta polinomiális algoritmus Lovász László Mindentudás Egyeteme exponenciális robbanás Lovász László előadás