2010. október 28., csütörtök

SimpleRSA

Nem tudom hányan próbáltak már Java-ban RSA-val titkosított dokumentumokat PHP-ból olvasni, vagy fordítva, esetleg Java-ban aláírt dokumentumok hitelességét PHP-ból ellenőrizni, de mindenesetre nekem most ilyenre volt szükségem. Naív módon azt hittem, hogy a nyílt kulcsú titkosítás valami egyszerű dolog (mármint programozás szintjén a megfelelő library-k használatával), fogok valami RSA library-t, egyik oldalon elkódolom valami függvénnyel, a másik oldalon kikódolom, és ennyi. Néhány napi Google használat után, elveszve a különböző kulcsformátumok, és certificate-ek között, rá kellett döbbennem, hogy ez az egész mégsem annyira triviális. A gond forrása, hogy a PHP (és amúgy más szkript nyelvek is) az OpenSSL-t használja a titkosításhoz, míg Java esetén ott a Crypto API, aminek viszont nem sok köze van az OpenSSL-hez. Gondoltam keresek valami Java OpenSSL wrappert, de ilyet sem találtam. A gond tulajdonképpeni forrása az volt, hogy a PHP-s titkosításhoz és aláíráshoz PEM fájlból kellett volna olvasni a kulcsokat, ilyen formában viszont sehogyan sem tudtam menteni a Java-ban generált kulcsokat. Az alkalmazás jellege miatt mindenképp Java-ból akartam generálni a kulcspárt, tehát az a megoldás nem jöhetett szóba, hogy openssl-el készítem el a kulcspárt, és majd azt használom PHP és Java esetén is.  Végül a megoldást a BouncyCastle Java library hozta el számomra, hiszen végül itt sikerült PEM fájl kezelő objektumokat találnom. Össze is raktam egy teszt kódot, és csodák csodájára a PHP kód képes volt olvasni a Java-ban generált kulcsokat, visszafejteni a Java-ban titkosított doksikat, és ellenőrizni az aláírások hitelességét.

Mivel nekem is sok segítséget nyújtottak mások leírásai, szinte kötelességemnek éreztem, hogy valamiképp megosszam frissen szerzett tudásomat. Ennek az egyik formája, hogy kódrészleteket közöl az ember (én is sok ilyenekből szedtem össze az RSA-val kapcsolatos tudásomat), én azonban azt tettem, amit eddig is, összeraktam egy kis library-t, amivel nagyon egyszerűen tudunk be/ki kódolni, illetve digitálisan aláírni adatokat. Egyre inkább az a meggyőződésem, hogy az ilyen kis minimál library-k sokkal hasznosabbak, mint a kóddarabok, vagy akárhány részletes leírás, hogy ezt meg azt hogy kell csinálni. Az elkészült library Java és PHP nyelven elérhető, és metódusok szintjén azonos, így elég egyetlen programkönyvtár használatát elsajátítani.

A kódot, ahogyan eddig is mindig, feltöltöttem a Google Code-ra, itt elérhető:
http://code.google.com/p/simplersalibrary/

2010. október 19., kedd

jin-plugin

Egy projektem kapcsán próbáltam valamilyen általános megoldást keresni beépülő modulok (plugin-ek) kezelésére. Ugye a lényeg röviden annyi, hogy a kész alkalmazáshoz bárki könnyen írhasson kiegészíthetőket, amiket egyszerű módon lehet telepíteni. Rövid keresgélés után rá is találtam az OSGi-re, ami tulajdonképpen minderre a szabványos megoldás. Ezt használja például az Eclipse is. Át is néztem a doksit, de úgy találtam, hogy az én igényeimhez képest ez amolyan ágyúval verébre megoldás. Valami olyan egyszerű megoldást kerestem, amit a leendő plugin fejlesztők néhány perc alatt el tudnak sajátítani. Olyat, amilyet például a PHP CMS-ek is használnak (pl. Wordpress, Joomla), ahol a plugin csak néhány függvényből áll. Találtam is egy annotation alapú jspf nevű keretrendszert, ami már nagyon megközelítette azt amire én gondoltam, de ekkor már úgy voltam vele, hogy csak és kizárólag a minimalista megoldás érdekel. Ahogyan a jin-template esetén, itt is arra gondoltam, hogy ha már készítek egy egyszerű megoldást, rögtön elkészítem a PHP implementációt is, amit később más programnyelvekre történő adaptáció követhet, így kvázi megteremtve a "minimális plugin architektúra szabványát". Ezt valószínűleg már sokan sokféle módon megtették előttem is, de sehol nem láttam publikálva ilyen jellegű különálló programkönyvtárat. Ennek valószínűleg az az oka, hogy a fejlesztők értelmetlennek találták leválasztani a plugin rendszert a kész alkalmazásról (éppen annak egyszerűsége miatt). Erre tipikus példa a PHP CMS-ekben használt plugin rendszer, ahol bár a megoldások nagyon hasonlóak, mégis minden rendszernek saját megoldása van. Így fogant meg hát a jin-plugin rendszer gondolata.

A rendszer felépítése a célnak megfelelően nagyon egyszerű. A plugin manager végignézi a paraméterként megadott könyvtárat, ahol minden pluginhez külön könyvtár tartozik. Minden könyvtárban egy yaml fájl található, ami definiálja a plugin osztályt, valamint az esetleges függőségeket. A plugin manager a függőségeket betartva tölti be a plugineket, és hívja meg a plugin osztály init metódusát. Maga a plugin kód a plugin könyvtárában található. PHP esetén a kódok helye közvetlenül a könyvtár, Java esetén pedig a classes könyvtár. Ez utóbbi esetben lehetőségünk van a program számára szükséges programkönyvtárak csomagolására is, amik a lib könyvtárban kapnak helyet. A pluginnek lehetősége van névvel ellátott szolgáltatások installálására, amiket más pluginek felhasználhatnak. Tulajdonképpen ez minden. Ennyi az a feltétlenül szükséges minimális működés, amire szükségem volt. A plugin installálása egyszerűen a plugin könyvtárba történő könyvtármásolással történik, a pluginek készítésének elsajátítása pedig a rendszer egyszerűségének köszönhetően néhány perc. Ez utóbbi szerintem bíztatólag hat a fejlesztőkre, ami igen fontos, ha azt szeretnénk, hogy minél több kiterjesztés szülessen az alkalmazásunkhoz. Már csak abban kell reménykednem, hogy a megoldásom elterjed, és így talán másokat is sikerül egy kicsit hozzásegítenem sikeres kiterjeszthető alkalmazások fejlesztéséhez.

A rendszer rövid dokumentációja, és a teljes forráskód LGPL licenc alatt megtalálható a Google Code-on:
http://code.google.com/p/jin-plugin/

2010. október 12., kedd

jin-template

Már több webes projekt van a hátam mögött, de igazából még nem sikerült olyan template rendszert találnom, ami maradéktalanul kielégítené az igényeimet. Az egyik legnagyobb problémát az szokta jelenteni, hogy a HTML designt öcsém készíti el rendszerint Dreamweaver-el, és a későbbi karbantartás miatt meg is kell őriznünk a HTML tisztaságát. A legtöbb template rendszer speciális tag-eket, vagy más extra blokkokat használ, ami rendszerint teljesen tönkreteszi a HTML forrást. Az ilyen tag-ekkel teletűzdelt HTML már nem úgy jelenik meg a böngészőben vagy a szerkesztőben, ahogyan az eredmény, így a vizuális szerkesztés a standard HTML-es eszközökkel (pl. az általunk is használta Dreamwaver) nagyon nehézkes. A problémát általában úgy hidaltam át, hogy a template motornak szóló parancsokat HTML kommentekben helyeztem el, és egy előfeldolgozó után eresztettem rá a template motort. Ez a megoldás egész hatékonynak bizonyult, de még így sem voltam maradéktalanul elégedett. Az a gond ezekkel a template motorokkal, hogy szűkös a tudásuk. Ez a szűkös tudás persze az esetek nagy részében elegendő is, de ha esetleg olyan igényünk van, amit a template rendszer alapból nem támogat, sokszor igen nehézkes kiterjeszteni azt. Smarty plugineket kell gyártanunk, saját taglib-eket, stb. De miért kell ennek ilyen macerásnak lennie? Valójában arról van szó, hogy a template rendszer egy primitív programozási nyelvet definiál, és ezt kell kiterjesztenünk. Innen jött az ötlet, hogy a template rendszer speciális nyelve helyett használjuk a jól megszokott programozási nyelvet, és ezzel tulajdonképpen bontsuk ketté a template-et egy tiszta HTML forrásra, és egy felület generáló kódra (view building logic). Ez volt a jin-template alapötlete.

A rendszer maga nagyon egyszerű, néhány osztályból áll az egész.  A forrás HTML-ben kommentekkel jelölhetünk ki blokkokat, majd a kódból ezen blokkok tartalmát használhatjuk fel, és cserélhetjük ki. Ez alapján tehát egy fórum motor bejegyzéseinek listája úgy áll elő, hogy definiálunk egy bejegyzés konténert, és egy bejegyzés elemet. Ezt követően kódból előszedjük a bejegyzés elemet, feltöltjük a megfelelő adatokkal, majd a bejegyzéseket behelyezzük a bejegyzés konténerbe. Ezzel a módszerrel a HTML forrásokat megtarthatjuk eredeti formájukban (csak néhány komment hozzáadása szükséges), a tartalom generálásához pedig felhasználhatjuk az implemetáló programozási nyelv teljes eszközkészletét.

Az elkészült rendszert feltöltöttem a Google Code-ra, ahol a működést egy egyszerű példán szemléltettem is:
http://code.google.com/p/jin-template/

2010. szeptember 21., kedd

Programfejlesztés Android-ra

Néhány hónapja beszereztem egy Samsung Galaxy Spica-t, azzal a határozott szándékkal, hogy végre megtanulok Android-ot programozni. A jelenlegi tendenciákat figyelve az Android valószínűleg hamarosan a legelterjedtebb mobil platformmá válhat, és az sem elhanyagolandó tény, hogy Java nyelven fejleszthetünk rá, ami (legalábbis szerintem) sokkal barátságosabb, mint a C++ (Symbian), vagy az Objective-C (iPhone). Úgy tervezem, hogy több bejegyzést is írok majd a témában. Ebben a mostaniban azt írom le, hogyan állíthatjuk be a fejlesztőkörnyezetet, és kezdhetjük meg a fejlesztést.

Ha Android fejlesztésre adjuk a fejünket, legjobb választás az Eclipse fejlesztőrendszer használata. Elvileg létezik NetBeans plugin is, de mivel én eddig is Eclipse-et használtam fejlesztésre (még a PHP projektekhez is), ezért soha nem próbáltam. Szóval maradjunk az Eclipse-nél. Én a 3.5-ös Galileo-t telepítettem (a cikk írásakor ez volt a legfrissebb Android plugin által támogatott változat). Az Eclipse telepítése után telepítsük az ADT plugint. Ha ez megvan, még szükségünk van az Android SDK-ra, amit innen tölthetünk le. Ha fent van az SDK, futtassuk az SDK Manager.exe-t (Windows esetén), amivel letölthetjük és telepíthetjük a legfrissebb fejlesztői csomagokat. Ha a fejlesztéshez emulátort használunk, akkor a Virtual Devices fül alatt adjunk hozzá egy virtuális eszközt. Ha ezzel megvagyunk, lépjünk vissza eclipse-be, és Window/Preferences fül alatt keressük ki az Android részt, és állítsuk be az SDK location-t. Ha mindez megvan, rendszerünk készen áll a fejlesztésre.

A Package Explorer-ben adjunk hozzá gy Android projektet, állítsuk be az alkalmazás nevét, a package-t és a célrendszert, és kész is az első Android projektünk. A default Android projekt egy önmagában is futtatható Hello World alkalmazás, így nincs más dolgunk, mint elindítani azt a Debug As Android Application opcióval. Ha nincs csatlakoztatva telefon, a rendszer automatikusan az emulátort indítja el. Ha rögtön telefonon szeretnénk tesztelni (én így szoktam), akkor kapcsoljuk be a telefonon a fejlesztői módot. Nálam ez a Beállítások/Alkalmazások/Fejlesztés alatt kapcsolható be az USB-hibakeresés opcióval. Ha bekapcsoltuk, az adatkábellel kössük össze a telefont a PC-vel. Ilyenkor a PC vagy felismeri a telefont (nálam már valahonnan fent volt egy Samsung ADT driver, ami valószínűleg a gyári szoftverrel települt). Ha nincs fent driver, próbálkozhatunk az SDK-ban lévő usb driverrel, ami az usb_driver könyvtárban található. Ha sikerült csatlakoztatni a telefont, újra indítsuk el az alkalmazást a Debug opcióval, és ha minden jól megy, most már az a telefonon fog elindulni. Ez a módszer szerintem sokkal jobb, mint az emulátor használata, hiszen élő környezetben tesztelhetjük a programot, mégis ugyanúgy tudunk debugolni, mint emulátor esetén. Ráadásul a natív környezetnek köszönhetően sokkal gyorsabban is fut az alkalmazás. Egy dolog van még, amit érdemes megtenni. Az Eclipse Window / Show view menüpontjában található a LogCat view, ahová a programból logolhatunk, és ahová a rendszer a hibaüzeneteket küldi. Ha valami nem megy, érdemes egy pillantást vetni ide.

Ha további infóra lenne szükség a környezet telepítését illetően, az SDK honlapja-án mindent meg lehet találni.

Sok szerencsét minden leendő Android fejlesztőnek!

2010. szeptember 1., szerda

A tudat létjogosultsága a természettudományokban

Nemrégiben olvastam Wigner Jenő válogatott írásait. Ami az írások közül leginkább megragadott, az az utolsó fejezetek egyike, ahol Wigner az anyagól független tudat lehetőségét boncolgatja a kvantummechanika nézetei alapján. Több ilyen írást olvastam már, de egy Nobel-díjas fizikustól mindez azért másképp hangzik.

A tudat - mint különállóan létező dolog - érdekes ívet futott be a természettudományokban. A kezdetekben magától értetődően feltételezték, hogy létezik. Később a fizikai, kémiai, biológiai törvények feltárásának köszönhetően a tudat szerepét egyre inkább átvette az agy, majd a fizika mélyebb összefüggéseinek feltárásával és a kvantumelmélet megjelenésével a fogalom érdekes módon megint csak kezdett visszaszivárogni a fizikába. A következőkben megpróbálom röviden megmutatni azt az ívet amelynek mentén a tudat előbb eltűnt, majd végül újra megjelent a fizikában, majd kicsit elmélkedünk arról, hogy mindez hogyan férhet bele a természettudományos világképbe.

A tudat eltűnése a fizikából (a materializmus és determinizmus)

A tudományos fellendülés, és a világ folyamatos jobb megértése folytán egyre inkább úgy láttuk, hogy az élőlények anyagtól független tudatának létezésére semmi szükség a természettudományokban. Az emberi gondolkodásért teljes egészében az emberi agy felelős, és az öntudat, vagy általános értelemben vett tudat mint olyan csak ennek a megnyilvánulása. Ennek a kijelentésnek pedig igen nagy súlya van. A tét nem kevesebb, mint a szabad akarat. Ha ugyanis az ember tudata nem több mint agyának működése, úgy elveszíti a szabad választások lehetőségét. Az agy működését ugyanis biológiai törvények írják le, a biológiai törvények alapját kémiai folyamatok képezik, amiket végül fizikai folyamatokkal írhatunk le. Ennek alapján tehát az agy, és ezen keresztül a tudat tisztán fizikai működés. A fizikai történések egyértelműen kiszámíthatóak. Tulajdonképpen pontosan ez a fizika célja, hogy a jelenlegi állapot ismeretében a fizikai törvények alapján kiszámolja a jövőbeni állapotot. Ha mindez igaz, akkor ha egy adott időpillanatban ismerem a világ összes részecskéjének állapotát, a fizika törvényei szerint kiszámíthatom azok jövőbeni helyzetét, így betekintést nyerhetek a jövőbe. Ha ezt a gondolatot kicsit tovább visszük, azt mondhatjuk, hogy ha ismerem az összes részecske állapotát az ősrobbanás utáni első pillanatban, onnan az ismert fizikai törvényszerűségeknek hála kiszámolhatom az egész rendszer állapotát a jövő bármely pillanatában. Ez pedig röviden azt jelenti, hogy az ősrobbanás pillanatában már minden eldőlt. Az hogy megszületek, hogy most megírom ezt a blog bejegyzést, hogy hátralévő életemben még mit csinálok, és hogy mikor, és miképpen fogok meghalni. Ha mindez igaz, akkor nincs túl sok esélyem, hogy "döntéseket" hozzak, hiszen már minden előre eldőlt a világ végéig. Ez sok erkölcsi és filozófiai kérdést felvet, amivel most itt nem foglalkoznék, mert könyveket lehetne megtölteni a témával. Ehelyett megmutatom hogyan szivárgott vissza a tudat, és ezzel a szabad akarat eszméje a tudományba.

A tudat visszatérése a fizikába (a kvantummechanika)

A 20. századi modern fizika talán legnagyobb tudományos vívmánya a kvantummechanika megjelenése volt. Ez az elmélet olyan mértékben kezdte el feszegetni a fizikai gondolkodás határait, ahogyan azelőtt még semmi. Itt most nem fogok kitérni a kvantumelmélet ismertetésére, csak néhány szóban megemlítem néhány következtetését, ami a tudat szempontjából érdekes. A kvantumelmélet megjelenésével arra sikerült rámutatni, hogy egy részecske helyzetét (és minden egyéb tulajdonságát) csak bizonyos pontatlansággal tudjuk meghatározni, a történések lefolyását pedig csak bizonyos valószínűségekkel tudjuk kezelni. Tehát amit eddig írtunk, hogy "ha ismerjük a részecskék helyzetét, abból a törvények segítségével kiszámíthatjuk a jövőt", itt már nem lesz igaz, hiszen teljes bizonyossággal nem ismerhetjük a részecskék helyzetét, és a törvények is csak valószínűségi jellegűek. Ez még önmagában nem indokolja a tudat létezését, mindössze valamiféle bizonytalanságot visz a rendszerbe, ami ettől már nem lesz számítható. Ezzel annyit értünk el, hogy a világ kiszámíthatóból kiszámíthatatlanná vált. A kvantumelmélet azonban tovább megy, és azt állítja, hogy a részecskéknek nem hogy nem határozható meg pontosan az állapota, hanem egyszerűen nincs is nekik, amíg nem figyeljük meg őket. Így tulajdonképpen a részecskék mindaddig nem, vagy csak virtuálisan léteznek, amíg valaki nem figyeli meg őket. Maga a megfigyelő pedig nem lehet anyagi objektum, mert akkor rá is a kvantummechanika szabályai vonatkoznának, következésképp a megfigyelőt ki kell emelni az egész rendszerből, ami elvezet a különálló tudat fogalmához. Ezt a fizikai szempontból zavaró elemet, a tudatot sokan sokféleképpen próbálták kiiktatni az elméletből, de ezidáig sikertelenül.  Sokan - köztük Einstein is - úgy próbálta magyarázni a kvantumelméletet, hogy un. rejtett paramétereket feltételezett. Tehát azt mondta, hogy a részecskéknek attól még létezik valamiféle állapota, hogy mi nem figyeljük meg őket, csak ezt az állapotot képtelenek vagyunk meghatározni. Ennek bizonyítására fel is állítottak több gondolatkísérletet, amiket végül Einstein halála után tudtak ténylegesen elvégezni. Ezek a kísérletek Einstein ellenében a kvantummechanikát igazolták vissza, így továbbra is úgy tűnik, hogy a részecskéknek nincs valós állapota mindaddig, míg valaki (egy fizikai világ felett létező tudat) meg nem figyeli azt. A kísérletről íródott egy nagyon jó cikk Hraskó Péter fizikus tollából. A fentieken felbuzdulva születtek is elméletek, melyek a fizikai agy és a kvantummechanikai tudat fogalmát próbálták összeházasítani. Az egyik ilyen elmélet, amit Roger Penrose fizikus írt le, hogy az agy neuronjai valójában kvantummechanikai effektusoknak köszönhetik működésüket, így az agy mint olyan valójában a kvantummechanika szabályainak engedelmeskedik. Az elmélet bővebb ismertetését a Nagy a kicsi és az emberi elme c. könyvben olvastam.  A könyv azért is kiváló, mert több nézőpontot ütköztet benne, így az érvek mellett ellenérveket is olvashatunk a szabad akarattal szemben. Nagy kérdés például, hogy a tudat megfigyelése csak valamiképp véletlenszerűen összeomlasztja a részecske hullámfüggvényét, vagy valami módon hatással is van a részecske állapotára. Erről például a kvantummechanika nem mond semmit, pedig ugye ha az agyat valamiféle interfészként képzeljük el a tudathoz, akkor alapkövetelmény, hogy a tudat "irányítsa" az agyat. A másik nyugtalanító kérdés, hogy a kvantummechanika effektusai csak nagyon kis méretek, az elemi részecskék szintjén mutatkoznak meg. Ha makroszkópikus rendszereket, például sejteket, neuronokat vizsgálunk, ott már nem sok mindent befolyásolnak a kvantummechanika effektusai. Tehát ha Penrose-nak nincs igaza, és az elemi részecskék világa nem képes közvetlen hatást gyakorolni az agy működésére, akkor jelenlegi fizikai ismereteink szerint az agy megint a kiszámolhatóság világába kerül, és oda a szabad akarat. További fejtegetésekbe nem bocsátkoznék a szabad akaratot illetően, ezt megteszi helyettem a fenti könyv. E helyett leírnám a saját értelmezésem, amihez az eddigiekhez képest egyfajta kerülőúton jutottam el. Talán ez is lesz annyira érdekes, mint az előbbiek ...

A kvantummechanika MATRIX féle értelmezése, avagy hogyan segíthet a virtuális valóság a kvantummechanika megértésében

Ahogy sokakat, engem is elgondolkodtatott a MATRIX. Sikerét szerintem nem is annyira a különleges effekteknek, képi hatásoknak, vagy úgy általában véve a sztorinak köszönhette, hanem annak, hogy a film alapgondolata, és a szereplők által megfogalmazott néhány kijelentés gondolkodásra késztette a nézőt. Nekem a világ egyfajta értelmezését adta a film utáni elmélkedés. Engem személy szerint az érdekelt, hogy pusztán elméleti szempontból vajon létrehozható lenne-e egy ilyen virtuális világ. Ha igen, miképp működne, és vajon megvalósítható lenne-e oly módon, hogy mi kielégítően kiismerhessük, tehát képesek legyünk bármely általunk kitalált fizikai kísérlet elvégzésére, ugyanakkor képtelenek legyünk megállapítani, hogy az nem a valóság. Ha jól meggondoljuk, a virtuális világban ez a kérdés így hangzana: "létezik-e a mi valóságunknál igazabb külső valóság", vagy nevezzük nevén a gyereket: "létezik-e túlvilág".  No de lássuk magát a gondolatmenetet ...

Az első kérdés, ami foglalkoztatott, hogy vajon mekkora lenne egy ilyen gép, ami számunkra tökéletesen hűen leképzi a valóságot. Ugye minden egyes elemi részecske minden egyes tulajdonságát le kellene tárolnunk, eztán pedig gigantikus számítási kapacitással a törvények alapján ki kell számolnunk a részecskék mozgását. Ez olyan feladat, amitől jelenlegi szintünkön iszonyatosan messze vagyunk. Valójában még ha rendelkeznénk kvantum processzorokkal, vagy bármilyen jelenleg elképzelhető modern technológiával, akkor is nagy teljesítmény lenne, ha csak néhány részecske pontos mozgását modellezni tudnánk, nem hogy az egész világét. Ilyen úton tehát jelenlegi ismereteink szerint vajmi kevés esély van rá, hogy valaha a MATRIX-hoz hasonló virtuális valóságot építsünk magunknak. A következő gondolatom az volt, hogy talán a világban van akkora redundancia, hogy ennek köszönhetően valamilyen nagyon elmés tömörítő algoritmussal letömöríthető lenne a világ, ezzel tárolási és számítási kapacitást spórolva. Egy ideig olyan dolgok izgattak, mint hogy "vajon mekkora lehet a világ összes entrópiája", meg hasonlók, de ez sem igazán vezetett sehová. Végül elkezdtem gondolkodni azon, hogy egyáltalán léteznek-e azok a dolgok, amikről nincs tudomásunk, vagy finomabban megfogalmazva "ha valamiről nincs tudomásunk, arról bizonyítható-e bármi módon, hogy létezik".

Először talán egy repülő út kapcsán gondolkodtam el a dolgon, hogy vajon mi történik odalent, amíg mi a felhők felett repülünk? Mi van, ha az történik, mint Jim Carry-vel a Truman Show-ban. A repülő csak felszáll, jár néhány kört, addig pedig statiszták hada rendezi át alattunk a várost, hogy mikor leszállunk, azt higgyük, egy másik országban vagyunk. Vagy egy még egyszerűbb példával élve, vajon Amerika létezik-e? Én még soha nem jártam ott. Persze a tévében láttam már, olvasok róla az Interneten, stb. de mi van, ha ez csak egy baromi nagy globális összeesküvés része. Ezek persze butaságok. Esti sörözések témájának ideálisak ugyan, de mindannyiunk meggyőződése, hogy ezek a dolgok nem így vannak. Ami ezekből a gondolatokból mégis lényeges, az a megfigyelés szerepe, és fontossága. A repülőgépes példához visszatérve, ha valaki a felhők felett kedvenc mirelit sandwichünket (iszonyat rossz tud lenni a repülőn a kaja) majszolva megkérdezi tőlünk, hogy "Szerinted van alattunk valami?", mit válaszolhatunk neki? Mondhatjuk, hogy igen, éppen Európa felett repülünk. "Biztos vagy benne? Lehet, az egészet elnyelte a víz, mint Atlantiszt a legendák szerint." Erre valószínűleg azt mondanánk, hogy ez badarság, mire ő: "Be tudod bizonyítani, hogy bármi is van alattunk?". Ha jól meggondoljuk a választ, azt kell mondanunk neki, hogy ott, abban a helyzetben, sandwichet majszolva erre aligha vagyunk képesek. Az, hogy repülés közben van alattunk valami, legjobb szándékkal is csak hitnek mondható, de semmiképp sem bizonyosságnak. Bizonyosságnak akkor mondhatjuk, ha leszálltunk, látjuk a házakat, meg tudjuk érinteni a földet, stb. Amiről nem rendelkezünk információval, az egyszerűen nem létezik számunkra. Ez a kijelentés pedig egy iszonyatosan jó tömörítési eljárást ad a kezünkbe virtuális világunk építgetéséhez. Innentől ugyanis elég azokat a részecskéket szimulálni, amiket éppen megfigyelünk. Amelyik részecskét nem figyeljük meg, az nem érdekes, annak állapotát kipakolhatjuk a hátértárra, hogy majd ha elővesszük, ugyanolyan állapotban találjuk, ahogyan otthagytuk. Itt rögtön meg is jegyezhetjük, hogy a megfigyelés szerepe igen hasonló a kvantummechanikában. Ott is azt mondhatjuk, hogy amíg egy objektumot nem figyelünk meg, addig az nem is létezik, vagy legalábbis egyfajta virtuális állapotban van. Mikor megfigyeljük, akkor kap valamilyen konkrét állapotot, amit a továbbiakban meg is tart.

A gondolatmenet itt még nem ér véget. Miután a megfigyelés szerepén keresztül újra megcsillant a remény, hogy valamiképp létrehozható lenne egy ilyen MATRIX szerű virtuális világ, a következő problémán kezdtem el gondolkodni. A számítási kapacitást nagy mértékben le tudtuk redukálni azzal, hogy csak a megfigyelt objektumokat emuláljuk, de még mindig iszonyatos mennyiségű tárhelyre van szükségünk ahhoz, hogy eltároljuk azoknak a részecskéknek az állapotát, amiket valaha is megfigyeltünk. Ha ezt nem tennénk, akkor inkonzisztens lenne a világ. Bemennék például egy szobába, amiben két asztal van. A jobb oldalin van egy alma, amit átrakok a bal oldalira. Aztán elfordulok, ezzel megszüntetve a megfigyelést, aminek köszönhetően a szoba elveszítené valós állapotát. Ha visszafordulok, azt várnám, hogy az alma a bal oldali asztalon lesz, ami csak úgy lehetséges, ha a virtuális világot fenntartó gép megjegyezte annak állapotát. Ez pedig felveti a tárhely problémáját. Nos, akkor mi mindent is kell eltárolni, hogy a világ konzisztens maradjon?

A választ a megfigyelés szerepének analógiájára az emlékezés szerepe adta. Nevezetesen amit nem figyelünk meg, azt nem kell emulálni, amire nem emlékezünk, azt pedig nem kell tárolni. Ily módon a világ nem lesz inkonzisztens a tudatunkban lévő képpel. A repülőgépes minta analógiájára könnyen átgondolhatjuk, hogy ha egy objektumra nem emlékszik senki, akkor az olyan mint ha nem is lenne. Erre persze rögtön mondhatjuk, hogy mi van akkor, ha fogok egy dobozt, elásom a földbe úgy, hogy csak én tudok róla. Eztán eltelik néhány év, én meghalok, ezzel eltüntetve a föld színéről minden a doboz létére vonatkozó emléket. Később mondjuk egy építkezés alkalmával valaki megtalálja a dobozt, így a doboz objektív, rajtam kívül is létező dolog. Nos, vajon tényleg megtalálja? Biztos, hogy a doboz nem fog onnan eltűnni? Kísérletileg csak úgy ellenőrizhetnénk a dolgot, hogy én, aki emlékszem a doboz helyére, kiásom, és visszaigazolom magam felé, hogy a doboz ottmaradt, ahol hagytam. Okoskodhatunk úgy is, hogy miután elástam a dobozt, írok egy kis cetlit, és elküldöm valakinek levélben. Ha én meghalok, és eltűnik az emlékkép, attól a cetli még őrzi a doboz helyéről az információt. Ha ennek ellenére a doboz nem lesz ott, inkonzisztens lesz a világ. Erről az esetről viszont könnyen belátható, hogy a problémát a doboz létéről áttereltük a cetli létére. Ezek alapján tehát az objektív valóság létezése nem bizonyítható. Csak azon történések léte bizonyítható, amiket éppen megfigyelünk, és csak azon objektumok létezése bizonyítható, amelyekre emlékszünk. Aki mindezek alapján még nem látja át az emlékezés szerepét, annak álljon itt egy gondolatkísérlet, ami igen markánsan, saját létünk tényének bizonytalanságával magyarázza a dolgokat. Biztosak lehetünk benne, hogy eddigi életünk valóságos? Nem lehet, hogy tegnap klónozott bennünket valaki, és belénk táplálta eddigi életünk emlékeit? Van bármilyen mód, hogy ennek ellenkezőjét meggyőző módon bizonyítsuk? Ennek fényében újra tegyük fel a kérdést magunknak, hogy ha egy tárgyról minden emléket törlünk mindenhonnan, akkor a tárgy vajon valaha is létezett? Aki az előzőek alapján ráérzett a megfigyelés szerepére, az ennek fényében az emlékezés szerepét is beláthatja.

Virtuális valóságunkat odáig egyszerűsítettük, hogy csak a megfigyelt dolgokat szimuláljuk, és csak azokat a dolgokat tároljuk, amelyekre emlékezünk. Ezzel iszonyatos mértékű számítási és tárolási kapacitást spóroltunk, és megcsillant a remény, hogy elméletben létezhessen egy olyan gép, ami egy ilyen virtuális valóságot képes fenntartani. Egy kérdés maradt még. Mi van azokkal a helyekkel, amiket még nem látott senki? Mi van akkor, ha az őserdő mélyén találok egy olyan helyet, amiről senkinek a tudatában nincsenek emlékek? Ebben a helyzetben több lehetőség is van. Az adott helyet valamilyen szabályok alapján real-time létrehozza a rendszer oly módon, hogy attól még a teljes világ konzisztens maradjon. Ha nagyon sarkosan akarnék fogalmazni, azt mondhatnám, hogy ez az "Isteni teremtés" szinonimája. A második lehetőség, hogy a gép a tudatra, pontosabban a tudatalattira bízza, hogy az adott helyen mit érzékeljen. Ebben a modellben a virtuális világot lakó emberek "megálmodják" a még nem létező helyeket, így ők teremtik maguknak a világot egy központi "algoritmikus gép Isten" helyett.

Ezen a ponton már elég szilárdnak tűnt az ideális virtuális világ képe a fejemben, amiben már gondolatkísérletek végezhetőek. Tegyük fel, hogy az ide bezárt emberek kísérleteket végeznek, és ugyanazokat a tényeket találják, mint mi. Felépítenek egy fizikai rendszert, és felírták a történések közötti összefüggéseket úgy, ahogyan mi is tettük.  Itt érdekes kérdés, hogy a fizikai törvények adottak voltak-e, vagy ők alkották-e meg őket, miközben azt hitték, csak vizsgálgatják a már kész világot, de ezen most lendüljünk túl. Azt találták, hogy a fizikai törvények teljesen determinisztikusak, így ha ismerik egy embertársuk agyának minden részecskéjét, és az őt ért hatásokat, ezzel 100%-os pontossággal megjósolhatják annak reakcióit, így elvéve tőle a szabad akarat szabadságát. Be is raknak egy kísérleti személyt egy kamrába, rákötik az eszközöket, képeket villantanak fel, és megpróbálják megjósolni a reakciókat, amiket a kísérleti személy cselekszik. Mit tehet ebben az esetben a gép, aminek az a feladata, hogy a világot konzisztensen tartsa, biztosítsa, hogy a fizikai törvények minden körülmények között működjenek, e mellett viszont teljes mértékben rejtse el az emberek virtuális teste mögötti tudatot, hiszen ha az emberek felfedeznék, hogy virtuális testükön túl valamiféle külső tudat is létezik, úgy rájöhetnének, hogy egy virtuális világ foglyai. A gép erre egy módon reagálhat, mégpedig hogy egy kis egérutat ad magának. Nem engedi, hogy a fizikai törvények teljesen determinisztikusak legyenek, e helyett a folyamatoknak lesz egy kis bizonytalansága, ami pont elég arra, hogy az agy működése ne legyen kiszámítható, és hely maradjon a tudatnak. Ily módon az agyat olyan folyamatok fogják vezérelni, ami kívül esik az emberi mérés határain. Ezzel a lépéssel pedig eljutottunk a teljes kvantummechanikai állásponthoz. Mivel ez az egész csak egy gondolatkísérlet arra vonatkozóan, hogy létre lehet-e hozni virtuális világokat, eszem ágában sincs azt mondani, hogy a világ így működik. Mindazonáltal nem lennék meglepve, ha a jövőben az agykutatók ilyen kvantumfolyamatokat találnának az agy működésében, amilyeneket már Penrose is megjósolt.

Ez jó végszó lehetne, de azért leírnék még két gondolatot, ami a virtuális világokon való elmélkedés közben az eszembe jutott.

Az egyik, hogy ennek a virtuális világot fenntartó hipotetikus gépnek vajon rendelkeznie kell-e szimulátorral? Álmainkból jól tudjuk, hogy erre agyunk is egész jó hatásfokkal képes. Álmainkat úgy éljük meg mint ha valóságosak lennének, és felteszem, ha valaki részecskefizikusnak képzelné magát álmában, képes lenne kísérleteket elvégezni, így talán szimulátorra nincs is szükség, azt megoldja a tudat. Ugyanezen okokból valószínűleg tárolóra sem lenne szükség, hiszen amúgy is csak azt kellene tárolnunk, amit a tudatok tárolnak. Elég lenne, ha bármely tudatban tárolt emlékhez hozzáférést biztosítanánk másoknak. Innentől kezdve a gépnek egyetlen feladata van, hogy az emberek tudatát összekösse, és biztosítsa a közös "álom" konzisztenciáját. Itt persze megint kérdéses, hogy a konzisztencia fenntartását "erőltetni" kell-e? A konzisztencia igénye (ha leteszem az almát az asztalra, elfordulok, majd vissza, szeretném még mindig ott találni) az agyból származik. Ha egyszerűen csak valami módon összekötnénk a tudatokat, az így létrejött hálózat vajon nem gondoskodna a "közös álom" konzisztenciájáról? Mindenesetre egész jó haladás, hogy egy világméretű részecskeszimulátorból néhány "drótra" (amivel "összedrótozzuk az embereket") redukáltuk a hipotetikus virtuális valóság gépünket. És ha már itt tartunk, vajon egyáltalán szükség van drótokra?

A másik dolog, amin gondolkodtam, hogy ha az emberiség úgy döntene, hogy egy ilyen virtuális világba költözik (pl. azért, mert már felélte a föld erőforrásait, és más módon képtelen lenne fennmaradni), akkor hogyan nézne ki egy ilyen világ. Elsőre biztos paradicsomi állapotok uralkodnának, mindenki örök életű lenne, és élvezné a jólétet. Néhány száz év után azonban ez a nagy jóság biztos unalmassá válna, kihívások kellenének, amik szórakoztatnak bennünket. Valószínűleg kitalálnánk valami olyasmit, ami egy számítógépes játékhoz hasonló. Feladatokat tűznénk ki magunknak, amiket végig kell csinálni és hogy még izgalmasabb legyen, mindezt időre. A játékban megszületnénk, élnénk, az élet mindenféle akadályok elé állítana, amiknek a megoldása sikerélményt okoz, majd a végén meghalnánk, hogy újra kezdhessük egy másik pályán. Lehet, hogy tökéletlen világunk úgy tökéletes, ahogy van ... Jó elmélkedést ...

2010. július 23., péntek

Zeitgeist Addendum

Néhány napja láttam a Zeitgeist Addendum c. dokumentumfilmet (torrent site-okról magyar szinkronnal, vagy felirattal beszerezhető, de Google Video-n is fent van). A film a Zeitgeist Movement projekt ismertető filmje, és bár néhol kicsit összeesküvés szagú, mégis nagyon elgondolkodtató. Rám olyan nagy hatással volt, hogy mindenképp úgy éreztem megér a dolog egy blogbejegyzést.

A film első fele a pénzügyi rendszer működését taglalja, és hogy a rendszer milyen alapvető hibákkal rendelkezik, és hogy hosszú távon miért nem működőképes.  A film "kistestvére" a Pénz mint adósság (torrent siteokról ugyancsak beszerezhető felirattal, de talán szinkronnal is, és darabokban ugyancsak fent van YouTube-on), ami rajzfilmes formában közérthetően magyarázza a rendszer alapvető hibáit. Mivel nem vagyok közgazdász, nem is vállalkoznék rá, hogy elemezgessem az elmondottakat, de mindenesetre elég logikusnak tűnik az egész. E mellett azért van néhány tény, ami elég erőteljesen alátámasztja a történetet. A rajzfilm lényege röviden annyi, hogy mindegy kik az aktuális politikai vezetők, a világot a tőke mozgatja, és ez által azok irányítják, akik a tőke felett rendelkeznek. Az persze kérdéses, hogy ezt az egész rendszert valóban valamiféle világuralmi szándékkal hozta-e létre valamiféle titkos társaság, de mindenesetre tény, hogy a világ vagyonának nagy részét néhány mocskosul gazdag ember birtokolja, és az előbbiek fényében az is elég egyértelmű, hogy nekik meg van a kellő hatalmuk ahhoz, hogy "irányítsák" a világot. Hogy az egész folyamatot lássuk, nem kell messze menni, itt a nemrég átvészelt (?) világválság. Amerikában bedől (bedöntenek?) néhány bank, és itt Magyarországon egy rakás ember elveszíti a házát, munkáját, stb. Szinte érezni lehetett a hullámokat, amik az USA felől cunamiként zúdultak sokakra. És mindebben azért van valami nagyon félelmetes. Ott, egy másik kontinensen tőlünk iszonyat távolságban valami megmozdul, és annak itt isszuk meg a levét. Ilyenkor azért valahol meg tudom érteni a globalizációt ellenzők félelmeit. Az megint kérdés, hogy ez a válság csak úgy bekövetkezett (állítólag lehetett rá számítani, és a lehetősége benne volt a rendszerben), vagy mesterségesen gerjesztették, de tény, hogy akár esés, akár emelkedés van a tőzsdén, ha valaki azt előre tudja, azzal iszonyat pénzt szakíthat. Ha előre tudjuk, hogy a részvényeink árfolyama esni fog, még időben eladhatjuk őket, ha pedig az emelkedésről tudunk, jó időben bevásárolhatunk belőlük. Ennek fényében tehát tényleg busásan megéri ilyen gazdasági folyamatokat gerjeszteni, tehát logikus lenne, ha az egész egy mesterséges folyamat eredménye lenne. Ami viszont a leges legdurvább az az, hogy vagyon (szándékosan nem pénzt írok) nem lesz a semmiből, egy ilyen esetleges manipuláció hatására pedig nagy mennyiségű vagyon cserél gazdát. Elég ha azokat az embereket hozzuk fel példának, akik a válság hatására elveszítették a házukat. És itt azért figyeljünk fel a helyzet groteszk mivoltára. Valaki élete munkájával felépít egy házat, éli az életét. Egyszer csak valami történik, megremeg a világpiac, a házat meg elviszi a bank. Szegény ember még csak fel sem ocsúdott, és már az utcán van kisemmizve. Ő nem tett semmi rosszat. Ugyanolyan becsületesen dolgozik ugyanannyit mint eddig, erre valaki kirántja alóla a munkája gyümölcsét. Persze gazdasági folyamatok vannak a történések hátterében, drágább lett a svájci frank, amiben a hitelt felvette, stb. stb. de ezeket egy pillanatra felejtsük el, és nézzük csak a történéseket. Ő becsületesen dolgozik, és egyszer csak volt ház, nincs ház. Ha kicsit átérezzük a helyzetét, valószínűleg mi is úgy gondoljuk, hogy ez az ember jogosan érzi meglopva magát. És ez a szörnyű az egészben, hogy valaki valóban elvette a házát, valahol valóban meglopták őt, de nem mehet a rendőrségre, nem jelenthet fel senkit, hisz az egész teljesen legálisan történt. De ki az aki meglopta őt? A bank, akitől a kölcsönt felvette? Részben talán igen, ő is keresett az ügyleten, de a folyamat végén valószínűleg azok a nagy tőkések vannak, akik az egész dologból profitáltak (és talán gerjesztették is). Nincs kellő közgazdasági alapom hozzá, hogy végigkövessem a folyamatot, de ha azt látjuk, hogy a világ egyik felén valaki elveszíti a vagyonát, a másik felén meg valakinek nő a vagyona, akkor jogosan merül fel az emberben a gondolat, hogy ugyanaz a vagyon vándorolt át egyik helyről a másikra. Ez az egész pedig már kifejezetten rémisztő, hogy az USA-ban valaki a tengerparton sütteti a hasát, miközben a világ vagyona folyamatosan vándorol át hozzá. Ha úgy tetszik, úgy lopja meg az embereket, hogy közben a kis ujját  sem mozdítja. Eleve már az természetellenes, hogy valaki dolgozik a pénzért, valaki (akinek elég sok van) meg felteszi a lábát, és a pénze dolgozik helyette. Hogy tud egyáltalán a pénz dolgozni? Szóval azért látható, hogy a rendszerrel valami nincs rendben, de annyira megszoktuk, annyira elemi, hogy nem érezzük ellentmondásosnak ezeket a dolgokat. Persze ez csak az én értelmezésem a dolgokra, mindenképp érdemes megnézni a filmet. Térjünk is vissza rá.

A filmnek kb. az első negyede szól a pénzalapú rendszerről. A második negyede azt boncolgatja, hogy az USA által vívott háborúk igazából gazdasági érdekeket szolgáltak. Hogy talán nem is létezik a "terrorizmus", amivel az USA feljogosítja magát, hogy rendszereket romboljon le az olajért, sőt, hogy maguk az amerikai katonák azok, akiket a leginkább átvernek, és az egész háború csak pénzgenerálás. Ahhoz megint nem érzem magam feljogosítva, hogy ezt bármilyen irányban is véleményezzem. Sokan egyszerű összeesküvés elméletnek tartják ezeket, bár azért nem kerülheti el az emberek figyelmét, hogy ők vannak kevesebben. Az amerikaiak nagy része is ellenzi az általuk folytatott háborút, és ugyancsak amerikaiak azok az újságírók, akik tényfeltáró dokumentumfilmeket készítenek szeptember 11-ről, vagy az Iraki háborúról. Ezek mellett nem lehet csak úgy elmenni, és valóban elgondolkodtató, amit ezek a filmek mondanak. Ezek az emberek a rendszeren belülről jönnek, nem európaiak, akik kívülről kritizálják Amerika túlbuzgóságát, hanem azok, akik látják, és megélik ezeket a dolgokat. Ha viszont ezek az összeesküvés elméletek igaznak bizonyulnak, az félelmetes. Több ezren vesztették életüket ezekben a háborúkban, és mindez talán csak azért, mert valakinek kellett még egy színaranyból készült Ferrari a garázsába? A háború mint olyan eleve az emberhez méltatlan dolog. Az emberek akiknek tervei, családja volt, hirtelen kis erőforrás kockákká, számokká válnak. Itt előre tolunk néhány csapatot, ott lebombázunk néhány gyárat, a végén pedig átlagot számolunk, és megállapítjuk, hogy minimális emberáldozattal megúsztuk. Remek. Az, hogy ezeknek az embereknek családja volt, hazavárták őket, az az érintetteken kívül nem érdekel senkit. És ez egy háborúban mindig mindkét oldalra egyenlően igaz. Ha pedig mindennek tényleg az a célja, hogy valakinek még eggyel több Ferrari-ja legyen a garázsban, arra nincsenek szavak. Felháborító? Ördögi? Gyilkos? Ezek túl enyhe kifejezések. Persze ez mind fikció, nem lehet egyértelműen alátámasztani, de mindenesetre elgondolkodtató. Mindez önmagában elgondolkodtató, de ami engem igazán megfogott, az a film második fele.

A film második felében esik szó a Venus Project-ről, melynek honlapja itt található, de elérhető róla néhány magyar nyelvű leírás a Zeitgeist Movement magyar nyelvű lapján is. A Venus Project egy utópia, ami az előbb említett rendszer hibáit igyekszik orvosolni. A projekt egy olyan világot képzel el, ahol nincs pénz, az ember megújuló erőforrásokból tartja fent magát, nincsenek társadalmi különbségek, a rendszer alapja pedig a technológia. Ami engem igazán megfogott, hogy valójában már most rendelkezünk a szükséges technológiai alappal ahhoz, hogy a föld teljes energiafelhasználását megújuló energiákból lássuk el INGYEN!, és hogy ha az erőforrásainkat a technológia fejlesztésre fordítanánk a háborúk, piaci verseny, profitszerzés helyett, akkor már rég "paradicsomi állapotok" közt élhetnénk. Valójában a Venus Project által felvetett kérdések engem is régóta foglalkoztatnak, ezért is annyira szimpatikus az egész. A következőkben megpróbálkozom azzal, hogy a saját gondolataimon keresztül magyarázzam a rendszer működését, és jussak el a Venus Project-hez.

Az egyik alapvető kérdés, ami engem elkezdett foglalkoztatni, az az, hogy az általunk végzett munkának körülbelül mekkora része lehet "felesleges". Óvatos becsléssel én arra tippelnék, hogy több mint a fele. Hivatalnokok, papír tologató emberek, ügyvédek, közgazdászok, politikusok, rengeteg olyan munka van, amire tulajdonképpen semmi szükség, egyszerűen a rendszer tökéletlenségéből adódnak. Ha nem lenne ilyen mértékű bürokrácia, akkor a hivatali dolgozók szinte 100%-át el lehetne bocsájtani, ha nem lennének ilyen nyakatekertek a törvények, az ügyvédek jó részére nem lenne szükség, ha nem lenne pénz, a bankok, banki alkalmazottak, és a köréjük szervezett informatikai, biztonságtechnikai, stb. cégek mindegyikét fel lehetne számolni. Ugyanígy gondoljunk csak bele, mennyi munkát ölünk a piaci versenybe. Ha eddig a piacon volt 4-5 konkurens cég, de egyszeriben megszűnne a verseny, úgy az elvégzendő munka rögtön 1/4-ére, 1/5-ére zuhanna vissza. A gondolatot tovább folytatva eljutunk odáig, hogy egy optimálisabb rendszerben az elvégzett munka legalább fele (óvatos becsléssel, a valódi szám lehet, hogy akár 80-90% is) teljesen felesleges. Reggel felkelünk, napi 8 órán keresztül dolgozunk, aztán hazaérünk, és félholtan puffanunk le a TV elé, megnézzük a napi agymosást, fogat mosunk, megfürdünk, elmegyünk aludni, és másnap kezdődik az egész elölről. De miért is hajtunk? Tulajdonképpen semmiért. A rendszer ennyire nem optimális, és pazarló az emberi erőforrással. Az általános vélekedés az, hogy azért van szükség a piaci versenyre, mert ez hozza a fejlődést. Ha az emberek nem hajtanának, hogy legyőzzék a konkurenciát, elkényelmesednének, a világ meg megállna a fejlődésben. Ezt úgy általában véve hajlamosak is vagyunk elfogadni, de én akár csak a saját példámon meg tudom cáfolni. Én személy szerint szívesen vennék részt kutatási projektekben (pl. rákkutatás, aminek valóban értelme is van) akár ingyen is csak a kihívás miatt, de nem tehetem, mert hülyeségeken kell dolgoznom, mivel abból lesz a pénz, és valamiből meg kell élni. És még így is a "pénzkereső időmből" elvéve próbálok foglalkozni ilyen dolgokkal, csak azért mert érdekes. Nem akarom magam felmagasztalni, lehet egész életemben az ég adta világon semmit nem tudnék hozzátenni a rákkutatáshoz, de nem nehéz elképzelni, hogy mi lenne, ha a hozzám hasonló emberek, akik kihívást látnak a feladatokban (és szerintem alapvetően mindenki ilyen, csak meg kell találnia a céljait) az értelmetlen piaci verseny fenntartása helyett az igazán fontos dolgokra koncentrálhatnának. A technológia valószínűleg fényévekkel előrébb járna a mostaninál, mondom mindezt annak ellenére, hogy a jelenlegi rendszer védői úgy vélik verseny nélkül nincs fejlődés. Ez szerintem egész egyszerűen butaság. De aki még mindig szkeptikus, nézze meg a Wikipedia-t, ami mára a világ legnagyobb lexikonává nőtte ki magát, vagy a Linuxot, ami (a M$ ellenérdekeltségének ellenére) egyre több számítógépen (főleg Netbookokra gondolok) jelenik meg, és az Androidon keresztül egyre több mobilon is megtalálható. A nyílt forrás, a szabad tartalom láthatóan idővel minden fajta piaci erőt felülmúl mindezt úgy, hogy nem fűződik hozzá piaci verseny. Olyan ez a versenyen alapuló társadalomnak, mint valami kis gyomnövény, ami ha elkezd burjánozni idővel túlnő mindenen. Tehát az emberekben szerintem igenis megvan ez a fajta alkotni vágyás, csak olyan mélyen beléjük égett a pénz és a verseny gondolata, hogy képtelenek magukat kiemelni a rendszerből. A közgazdaságtan próbál modelleket felállítani az ingyen dolgokra, azt mondja, hogy ez egyfajta marketing, de végső soron (pl. mikor a Wikipedia-t, ahol nincsenek reklámok, tisztán adományokból él, képtelen beilleszteni bármilyen modellbe) be kell látnunk, hogy az ingyenesség valahol alapvető és természetes. No de térjünk vissza az eredeti gondolatmenethez, és képzeljünk el egy világot, ahol az emberek nem végeznek felesleges munkát. Ha úgy gondolkodunk, hogy egy igazságos társadalomban mindenki egyenlően veszi ki a részét mindenből, akkor a meglévő munkát (ami a technológiát is figyelembe véve már szinte minimális) kb. egyenlően kell felosztanunk az emberek között. Így ha óvatos becsléssel fele annyi a munka, minden embernek fele annyit is kellene dolgoznia. Így több idő maradna a családra, a szórakozásra, elmélkedésre, mindenre, amire az ember alapvetően vágyik, a rendszer pedig a fenntartható fejlődés jegyében újrahasznosítható anyagokat és megújuló energiákat felhasználva olyan gazdagságot teremtene az embereknek, amiről eddig álmodni sem mertek. Hát valami ilyesmi a Venus Project lényege. Egy olyan világ megteremtése, ahol a technológia, a környezetbe való teljes integrálódás, és az optimális erőforrás kihasználtság révén mérhetetlen jólétben és gazdagságban élhetnének az emberek. Ahhoz, hogy mindez valósággá váljon persze sok mindennek meg kellene változnia, de elsősorban az emberek hozzáállásának. Ráadásul elég nehéz a jelenleg működő rendszerben valami ennyire gyökeresen újat bevezetni. Ez a projekt önmagában is megérne egy új bejegyzést, úgyhogy itt be is fejezem.

Akit érdekel a téma, az mindenképp nézze meg a filmet. 2 óra, de szerintem abszolút megéri. Rám legalább is nagyon nagy hatással volt.

2010. július 13., kedd

Relativitáselmélet

Az első találkozásom a modern fizikával olyan 12 éves koromban a Relativitáselmélet megismerése volt. Emlékszem mennyire lenyűgöztek azok a következmények amiket az elmélet hozott és végre azt is megértettem, hogy a nyugati kultúrában miért jelent egyet Einstein neve a zsenialitással. Ez a borzas hajú bajszos kis öreg olyan dolgokkal jött elő, hogy nem létezik abszolút távolság vagy tömeg, vagy hogy épp lelassulhat az idő. Ezek a dolgok nem olyan könnyen emészthetőek, ráadásul egy rakás paradoxont szülnek. Erről írnék most egy kicsit, illetve arról, hogy ez az egész talán nem is olyan felfoghatatlan ha megfelelő nézőpontból szemléljük. Előre bocsátom, hogy a Relativitáselméletnek létezik egy speciális és egy általános változata. Időrendben először a Speciális Relativitáselmélet készült el, majd ennek kiterjesztéseként állt elő az Általános Relativitáselmélet amely már a gyorsuló rendszereket és a gravitációt is magában foglalja. Úgy érzem túl nagy falat lenne mindkét elmélet ismertetését egyetlen blogbejegyzésbe sűríteni, ezért ebben a bejegyzésben csak a speciális változattal foglalkozom. Elképzelhető, hogy a közeljövőben készül egy új bejegyzés is az általános változatról. No de lássuk, mit is mond nekünk a világról a Speciális Relativitáselmélet.

A 19. század nagy fizikai kihívása volt, hogy az elektromágneses kölcsönhatásokat leíró Maxwell egyenleteket hogy lehet összhangba hozni a klasszikus fizikával. Egész egyszerűen arról volt szó, hogy volt két jelenségcsoport amire volt két modellünk. A két modell külön külön nagyon pontosan leírta a dolgok működését az adott témakörben, de egymásnak ellentmondtak. A dolog valahol ott kezdődik, hogy már Newton kimondta, hogy nem tehetünk különbséget egy álló, vagy egy egyenes vonalú egyenletes mozgást végző rendszer között. Igazából mi választjuk meg, hogy mit tekintünk állónak, és mit mozgónak. Ha valaki a vonatsínek mellett áll, annak számára a vonat mozog, míg a vonaton ülő ember számára a vonat mozdulatlan, és a táj mozog. De ha valaki az űrből nézi a vonatsínek mellett álló embert, az azt látja, hogy ez az ember mozog, hiszen a föld vele együtt forog. Tehát a mozgás relatív, attól függ, mit tekintünk állandónak. Kicsit szalonképesebben megfogalmazva ezt úgy mondhatjuk, hogy nincs olyan fizikai kísérlet, amivel különbséget tudnánk tenni egy álló vagy egy egyenes vonalú egyenletes mozgást végző rendszer között. Tehát ha besötétítjük a vonat ablakait és eltekintünk attól, hogy döcög a sínen, képtelenek leszünk megmondani, hogy mozog-e vagy sem, sőt a mozgás sebessége is csak attól függ, hogy honnan nézzük. Ez eddig teljesen tiszta. A gond ott kezdődött, mikor bejött a képbe a fény. A fényt vizsgálva hamar rájöttek, hogy úgy lehet leírni, mint a víz felszínén keletkező hullámokat. A fényhullámok tudnak egymással interferálni, erősítik/gyengítik egymást, tehát ez a valami teljesen úgy viselkedik, mint a víz hullámai, amiket mondjuk egy kavics kelt ha a vízbe dobjuk. Mivel fény mindenhol van, be is vezettek egy amolyan hipotetikus folyadékot amit éternek neveztek, ami mindenhol jelen van, valahogy átfolyik a részecskék között, nem lehet sehonnan kizárni. A fény pedig ennek a varázslatos éternek a hullámzása. Igen ám, de ha létezik ez az éter, akkor össze tudunk állítani olyan kísérletet, amivel megmérhetnénk az abszolút sebességünket az éterhez képest. Tehát ha összeállítunk egy olyan egyszerű berendezést, ami előre és hátra is kibocsát egy fénysugarat, majd a két fénysugarat interferenciába hozzuk, akkor kimutatható lenne, hogy a föld milyen sebességgel mozog az éterben, hiszen ha az éter mozdulatlan, akkor a mozgás irányába eső fénysugár hamarabb érne vissza, mint az azzal ellentétes. Ez volt a híres Michelson–Morley-kísérlet. A kísérlet kudarccal végződött, nem sikerült kimutatni a mozgást és ezzel magának az éternek a jelenlétét sem. Bár Einsteint nem ez a kísérlet késztette a speciális relativitáselmélet megalkotására, ő egyszerűen csak a Maxwell egyenletek és a klasszikus fizika közötti ellentmondást próbálta feloldani, mégis ez a kísérlet jól mutatta, hogy itt valami nincs rendben. A klasszikus példával élve az történik, hogy ha egy autó 50 km/h sebességgel mozog, és vele szemben elhúz egy másik ugyancsak 50 km/h sebességgel, akkor az egyik autóban ülő utas számára a másik autó 100 km/h sebességgel száguld (hiszen magát tekinti nyugvó megfigyelőnek). Ezzel szemben a fény valami fura módon úgy működik, hogy akár szembe megyünk vele, akár távolodunk tőle, és mindezt akármekkora sebességgel is tesszük, mindig fénysebességgel fog haladni. Az ő sebessége valahogy nem relatív. Ha egy fénysebességgel mozgó űrhajóban ülök, és szembe jön velem egy másik fénysebességgel mozgó űrhajó, nem azt látom, hogy a másik űrhajó kétszeres fénysebességgel közelít, hanem azt, hogy az ő sebessége ugyancsak fénysebesség. Ez pedig már több mint furcsa.

Einstein végül egy matematikai trükkel élve azt mondta, hogy ha elfogadjuk, hogy a mozgó rendszerekben lerövidülnek a távolságok, az ellentmondás feloldható. Vagyis valójába nem is Einstein jött elő ezzel, hanem Lorentz. Ő azt mondta, hogy az éterrel való kölcsönhatás hatására a tárgyak fizikailag megrövidülnek a mozgás irányában és emiatt mérjük a fény sebességét konstansnak, valamint ezért nem sikerült a Michelson-Morley kísérletben kimutatni az éterhez mért sebességet. Einstein inkább csak annyival egészítette ki az egészet, hogy a távolságot eleve úgy definiálta, hogy az a sebességtől függ és e mellett bevezette, hogy az idő is lassul, valamint a testek tehetetlen tömege is megnő. Nem kereste a dolgok okát az éterben, egyszerűen feltételezte, hogy a világ így működik, és ha ez igaz, akkor megszűnik az ellentmondás. A fény sebessége fix marad, az egyenes vonalú egyenletes  mozgást végző rendszerek ugyanúgy megkülönböztethetetlenek az állóktól és minden a helyére kerül. Csakhogy ha ezeket az elveket elfogadjuk, azzal sok érdekes paradoxont hívunk életre. Az egyik ilyen az Iker-paradoxon. Ennek annyi a lényege, hogy ha egy ikerpár egyik tagja hosszú utazásra indul egy űrhajón a fényhez közeli sebességgel, a másik pedig a földön marad, akkor ha mondjuk 50 év múlva találkoznak, az űrhajós csak néhány évet öregszik - hiszen számára lassabban telik az idő -, míg a másik az eltelt időt rendesen 50 évnek érzékeli. Kicsit furcsa elképzelni, hogy az ikrek 25 évesen elköszönnek egymástól, majd 50 év elteltével egyikük mindössze 30 éves, míg a másik már 75. Meseszerűen hangzik az egész, főleg ahhoz képest, hogy az idő lelassulása csak egy matematikai trükk eredménye, hogy újra rendesen működjenek a képletek. Tulajdonképpen semmi alapja. Az egészben az a legcsodálatosabb, hogy mikor fizikai kísérletet végeztek az elmélet bizonyítására, az valóban azt mutatta, hogy a Relativitáselmélet működik. Persze nem ikrek utaztatásával, hanem elemi részecskék felgyorsításával végezték a kísérleteket, de az eredmény ugyanaz volt. Az idő lelassul, a tömegek megnövekednek, a távolságok pedig lecsökkennek. Talán ez volt a matematika és fizika egyik legnagyobb diadala, hiszen egy matematikai tákolmányt végül a természet visszaigazolt, ezzel jelezve, hogy a matematika és fizika igenis működik, és alkalmas a valóság leírására. Valami ilyesmi futhatott végig Einstein agyán is, mikor azt mondta: "a természet legcsodálatosabb tulajdonsága, hogy megérthető".

Persze azért ez az egész hozott magával néhány nyugtalanító dolgot. Például ha a földön van egy 1m-es etalon rúd, azt minden megfigyelő a saját sebességétől függően fogja valamekkorának mérni. Ha elrepül felette két űrhajó különböző sebességekkel, az egyik úgy találja majd, hogy ez a rúd csak fél méter, a másik számára viszont csak 1/4. A földön álló megfigyelő pedig szentül meg van győződve róla, hogy az márpedig 1m. És ez nem optikai csalódás, nem csak ekkorának "látják" azt a rudat, hanem az ő rendszerükből nézve az a rúd valóban ekkora. Tehát az egyetlen etalon rúdnak 3 mérete is van egyszerre, és mindhárom fizikailag valóságos, egyik sem igazibb a másiknál. Ez pedig ugye azt jelenti, hogy nincs sem abszolút távolság, sem abszolút tömeg, sem abszolút idő. Ezek pedig a fizika alapmennyiségei, mindent ezekből származtatunk, innentől kezdve tehát az egész valóság csak attól függ honnan nézzük, minden relatív. Ha az ember lába alól egyszeriben így kirántják a talajt, azt nehezen veszi be az elméje. Számunkra értelmezhetetlen dolog az, hogy az idő lassabban telik, vagy hogy több szemlélő számára többféleképpen telik az idő, vagy hogy épp egy 1m-es rúd valójában nem is 1m-es, sőt eleve a hossza csak attól függ, hogy honnan nézzük. Pedig a Relativitáselmélet is felfogható szerintem, ez is csak attól függ, honnan nézzük. :)

A Relativitáselmélet értelmezései

Hogy felfoghatóvá tegyük az egészet, kicsit a mélyére kell néznünk. Először is le kell szögeznünk, hogy Einstein nem mondott többet, mint azt, hogy a fizikában használt alapegységek (távolság, idő, tehetetlen tömeg) a mozgás hatására hogyan változnak. Nem filozofált azon, hogy vajon mit nevezünk időnek, tömegnek, vagy távolságnak. Ezek a fizika szempontjából nem is annyira érdekesek. A fizikusoknak az a lényeg, hogy a valóságot képletekbe foglalják, hogy számolni tudjanak vele. A könnyebb érthetőség kedvéért felállítanak modelleket, hogy valamiképp értelmezhető legyen az egész, de ez csak mankó, a végeredmény szempontjából nem érdekes. Annyi a lényeg, hogy az aktuális elmélet ellentmondásoktól mentesen megmagyarázza a valóságot, esetleg történhet fordítva - mint ahogy történt is a Relativitáselmélet esetén -, alkothatunk elméleteket, amik előrejelzéseket tesznek, amiket később igazolhatunk. Einstein tehát azzal, hogy bevezette a relatív tér/idő/tömeg fogalmát, közös nevezőre hozott két elméletet, és itt meg is állt. Ezzel együtt semmi nem tiltja, hogy modellek készüljenek, amik valamiképp magyarázzák a valóság működését, és összhangban vannak a Relativitáselmélettel. Ilyen modell például a Lorentz-elv. Valahol ezt konkurens elméletként említik, de szerintem ez inkább csak egy alternatív modell, ami összhangban van a Relativitáselmélettel. Lorentz a távolságok csökkenését fizikai folyamatként értelmezte. Azt mondta, hogy az anyag kölcsönhatásban van az abszolút éterrel, és mikor ebben mozog, a mozgás irányában az elektromágneses erőterek torzulnak, az elektron pályák közelebb kerülnek az atommaghoz, így a tárgyak fizikailag összemennek. Sokan támadják (válasz erre) ezt a modellt, hiszen nem ad választ az idő lassulására, vagy a tömeg növekedésére. Ez egyfelől valóban igaz, másfelől viszont jól mutatja, hogy lehetséges olyan modelleket alkotni, amelyek valamiképp magyarázni tudják a relativitást. Például a Lorentz-elv kiterjeszthető oly módon, hogy azt feltételezzük, az éter valami esszenciális módon van jelen minden erőhatásban, mindent az éter közvetít, így a Lorentz-elv kiterjeszthető a tömegre, vagy az időre is. Ez utóbbira oly módon, hogy az időt mint a kölcsönhatások lefolyásának idejét definiáljuk, így azzal, hogy az éterben való mozgás hatására ezek az éteren végbemenő kölcsönhatások lelassulnak, így minden fizikai folyamat (akár egy Ikertestvér öregedése is) lelassul. Hasonló magyarázatot alkothatunk a tömeg növekedésére is, hiszen a tömeget már annak idején Newton úgy definiálta, hogy azt mutatja meg, hogy egységnyi erő hatására mekkora gyorsulás jön létre. Ha elfogadjuk, hogy minden kölcsönhatás az éter közvetítésével működik, azt találhatjuk, hogy a mozgó rendszerre az éteren keresztül kisebb mértékben hat az erő, kisebb gyorsulást hozva létre, így ezt értelmezhetjük a tömeg növekedéseként. Persze az ilyen modelleket általában a fizikusok rögtön el is dobják, hiszen ha több ekvivalens elmélet/modell ír le egy folyamatot, azok közül a természettudomány azt választja, amely a legkevesebb előfeltételezést igényli. Ezt az elvet hívjuk Occam borotvájának. Emiatt az elv miatt a jelenleg elfogadott és használt elv a Relativitáselmélet a Lorentz elvvel, vagy általánosabban vizsgálva az éter alapú elméletekkel szemben, hiszen a Relativitáselméletnek nincs szüksége éterre. Itt jegyezném meg, hogy bár sokan úgy tartják, hogy a Relativitáselmélet száműzte a fizikából az éter fogalmát, valójában Einstein sohasem állított olyat, hogy az éter léte megcáfolható lenne. Einstein mindössze azt állította, hogy a világ természete miatt az éter mint olyan kimutathatatlan. Ettől még semmi nem tiltja, hogy létezzen, de mivel fizikai kísérletekkel kimutathatatlan, ezért a fizika nem tud vele mit kezdeni, tehát az a fizika számára nem létezik. Véleményem szerint nagyon fontos, hogy ezt a fajta természettudományos gondolkodást - nevezetesen, hogy ami nem mérhető, az nincs, illetve hogy azt a modellt fogadjuk el, amely a legkevesebb alapfeltevést igényli - megértsük, és ennek fényében vizsgáljuk a modern fizika állításait. Ha így teszünk, rögtön nem lesz olyan misztikus, és érthetetlen az egész, és mindjárt nem tiltakozik az agyunk az olyan kijelentések hallatán, mint hogy lelassul az idő. Fontos azt is leszögezni, hogy a fizikai idő/távolság/tömeg fogalmak adott esetben teljesen mást jelentenek, mint a fejünkben létező abszolút idő/tér/tömeg fogalmak. Erre is ugyanazt kell mondjuk, mint az éterre, hogy Einstein soha nem állított olyat, hogy az abszolút Newtoni tér és idő (ami az elménkben megtalálható idő/tér fogalmak) nem létezik, mindössze azt mondta, hogy ezek nem mérhetőek, nem kimutathatóak, így ezek helyére bevezette a fizikai tér/idő fogalmát. A fizikai távolság és idő az amit mérni tudunk. Tehát pl. 1m-t úgy tudunk definiálni, hogy ha 1/300 000 000 mp alatt a fény ekkora utat tesz meg. Ugyanígy az idő definícióját is csak elemi részecskék lebomlásához, fizikai kémiai folyamatok lefolyásához viszonyítva tudjuk meghatározni. Innentől pedig már rögtön kiveszik a misztikum az egészből, és úgy fogalmazhatjuk át a Speciális Relativitáselméletet, hogy a fizikai folyamatok lefolyásának ideje lassabb lesz, ha bármilyen mérést végzünk a távolságokra (amely ugye csak a 4 kölcsönhatás valamilyen közvetítésével lehetséges, más módon nem tudunk információt szerezni az anyagról), azt találjuk, hogy azok megrövidülnek, és bármilyen mérést végzünk a tömegre (erre a definícióból eredően sincs más választásunk, mint az erő által létrehozott gyorsulással visszaosztjuk az erőt), azt találjuk, hogy az megnő. Ebből a definícióból már jól látszik, hogy egy a Relativitáselmélettel teljesen ekvivalens elméletet kapunk akkor is, ha annyit mondunk, hogy a rendszer sebessége hatással van a rendszerben működő kölcsönhatásokra, például azért mert minden kölcsönhatást az éter közvetít. Innentől kezdve az egész érthetővé válik. A konstans méterrúd valóban 1m hosszú, csak a kölcsönhatások torzulása miatt mérik az űrhajósok különböző méretűnek, a gyorsan mozgó Ikertestvér a kölcsönhatások torzulása, és ez által a fizikai/kémiai folyamatok lelassulásának köszönhetően öregszik lassabban, és a tömegek is csak a kölcsönhatások "gyengülésének" hála tűnnek nagyobbnak. Bár ezt a modellt a fizika eldobja, hisz Einstein modelljével szemben nem állja ki az Occam borotváját és fizikai szempontból sem mond semmi újat (ekvivalens az einsteini modellel), mégis nagyon jó arra, hogy mi, halandó emberek jobban megértsük ezt az első látásra misztikusnak és érthetetlennek tűnő elméletet.

Bár tudom, hogy ha figyelembe vesszük az Általános Relativitáselméletet, a Lorentz elvből kiinduló éter alapú elméletek megint elkezdenek kicsit sántítani, azért remélem sikerült rávilágítanom arra, hogy a fizikusok kicsit máshogy gondolkodnak mint mi, és ha ezt nem tartjuk észben, sokszor értelmezhetetlennek tűnnek számunkra az ő állításaik, sőt kifejezetten misztikusnak. Remélem azt is sikerült megvilágítani, hogy egy jelenség, sőt az egész általunk észlelt valóság értelmezésére több ekvivalens modell adható, és ha az adott modellek ellentmondásoktól mentesek, és ugyanolyan teljességgel magyarázzák a világot, akkor tulajdonképpen szabad választásunk, hogy melyiket fogadjuk el. Ahogyan azt már Neils Bohr is mondta, a valóságot a maga teljességében amúgy is képtelenek vagyunk megérteni, csupán hasonló dolgokat kereshetünk az általunk érzékelt környezetből és ezekkel próbálhatjuk elírni a folyamatokat. Tulajdonképpen ez a modellalkotás. Jól tudjuk, hogy az atommag nem egy kis piros golyó (hogy is lenne színe?), az elektron nem egy kék golyó, sőt még csak nem is kering a mag körül, csak úgy ott van szétkenve hol itt-hol ott, csak az ilyesmin könnyen felülkerekedünk, mert ez egy számunkra kényelmes, jól kezelhető, érthető modell.

Így végezetül csak arra szeretnék kilyukadni, hogy ha már rendelkezünk a modellek szabad választásának lehetőségével, néha tegyük félre kicsit a fizikusokat (akiknek csak annyi a lényeg, hogy a dolgok számolhatóak legyenek, ők nem akarják a szó klasszikus értelmében "megérteni" a világot), hagyjuk figyelmen kívül Occam borotváját, és vizsgáljuk meg az adott jelenséget egy másik modell szemszögéből. Ha más értelme talán nincs is, annyi mindenképp, hogy meg bírjuk érteni és "épp ésszel" fel tudjuk fogni a dolgokat. Mindamellett én szentül hiszem, hogy az ilyen modellek vizsgálata nem csupán játék az elméletekkel, hanem adott esetben segíthet a tudománynak kimozdulni egy "lokális maximumból", és talán kicsit továbblökheti azt. Persze ez már csak az én véleményem.

Az egymással ekvivalens modellekről, a tudomány filozófiájáról, a relativitásról, a Lorentz-elvről, és még sok hasonlóról íródott egy nagyon jó könyv. Mindenkinek csak ajánlani tudom. Nagy része volt abban, hogy ez a bejegyzés így ebben a formában elkészülhetett.