A gondolkodásról

Úgy érzem, azt a módot, ahogyan gondolkodom, nagy mértékben befolyásolja az, hogy sok év óta foglalkozom számítógép-programozással. Persze ez sem teljesen így igaz, hiszen azért szeretek programozni, mert gondolkodási módszereim közel állnak ahhoz, amit a gép követel tőlem. Kis kitérő ez, kedves Árnyék, de talán van értelme. Az első és legfontosabb eleme ennek a gondolkodásnak az, hogy hinned kell saját képességeidben. Hinned kell, hogy bármilyen problémát meg tudsz oldani. Azokra a kérdésekre, melyek a fejedben megszületnek, ugyanott létezik a válasz is - persze lehet, hogy nem azonnal jut az eszedbe. A gép azt csinálja, amit mondasz neki. Ha meg tudod fogalmazni a kérdést, már félig meg is fogalmaztad a választ, bár néhány furcsa formáját is kénytelen vagy elfogadni, például azt, hogy erre a kérdésre most nincs szükséged, vagy azt, hogy már régen megvan a válasz, előbb, mint a kérdést feltetted.

Másodszor, a válaszok a válóság egy kis darabjának egy lehetséges modelljét adják - és ez nem csak a programozással van így. Életem bármely kérdésére kereshetek választ, hinnem kell, hogy megtalálom, de amit találok, nem több, mint egy egyedül számomra létező modell, amely segít nekem jobban működni. Tehát (csak érdemes volt elindulni ebbe az irányba!) nem keresek soha abszolút válaszokat, mert az csak akkor létezik, ha a világ minden tényének birtokában vagyok. Egyszerű példa: ha elejtek egy kavicsot egy tányér felett, nem tudom, el fog-e törni a tányér - ennek abszolút eldöntéséhez a tányér minden tulajdonságára szükségem lenne - és nem csak arra. Hiszen ha éppen a kritikus pillanatban földrengés történne vagy meteor találná el a házat, a kavics esetleg el sem érné a tányért. Akkor mondhatom-e bármilyen egyszerű megállapításomra azt, hogy igaz? Legfeljebb számomra használható, engem cselekvésre sarkalló vélemény lenne - jelen esetben bár nem tudom, eltörne-e a tányér, megpróbálnám elkapni vagy elrúgni a kavicsot...

Ez a harmadik dolog. Választok egy modellt, aminek abszolút valódiságában nem vagyok biztos, viszont úgy érzem, az általa ösztönzött cselekedetek használhatók, akkor a modellt fenntartás nélkül használni kezdem. Teljes mélységében, minden szempontból elfogadom, ugyanakkor tudom, hogy levegőben lóg, tehát belül minden pillanatban megkérdőjelezem, keresek más modelleket. Így képes az ember programozni - vagy már nem is arról van szó? Felépítek a problémára egy modellt, finomítom és használom. A kidolgozás növeli a használhatóságot, viszont kevésbé átlátható lesz a rendszer, az esetleges hibajelenségek egyre jobban elbújnak. A kidolgozás nem mehet egy bizonyos szinten túl az áttekinthetőség rovására, mert ekkor már jobb egy kipróbálatlan, de áttekinthető modell, mint a teljesen elbonyolódott rendszer, amelyben a hibák felderítése és lehetőleg minimális mellékhatással járó javítása sokkal nehezebb (ez utóbbi pedig általában a kegyelemdöfés az áttekinthetőségnek). Ugyanakkor a kidolgozott rendszer stabilitása hatalmas tehetetlen tömegként áll ellen a változtatásnak, ami aztán általában robbanásszerűen következik be, egy súlyos összeomlás utáni kapkodó - tehát ismét veszélycsírákat hordozó - új prototípus létrejöttével. Már megint! Most programozásról, gondolkodásról vagy társadalmi rendszerekről beszélek? Hihi. Ez a néhány mondat is hogy el tudott bonyolódni egy pillanat alatt...

Nem szabad elfelejteni azonban a modellek információszűrő tulajdonságát sem. Ha van egy kialakult modellem és kapok egy új információt, nem fogom a modellt és az új ismeretet teljes egészében kielemezni és mindent átalakítani, sokkal inkább azt nézem meg, hogyan illeszkedik a modellbe. Van egy bizonyos tűréshatár is, ha túl nagy átalakítással járna egy kirívó eset lekezelése, a modellt nem fogom megváltoztatni. Például van egy nullánál nagyobb esély arra, hogy egy, a fejemre eső nehéz tárgy fogja okozni a halálomat, ami kivédhető lenne bukósisak viselésével. Ha a bennem a világról kialakult kép olyan, hogy bár léteznek benne ilyen esetek, a modellemben azonban nem szerepel valós veszélyként, akkor nem veszek fel sisakot - ugyanakkor egy épület bontása során lehet, hogy viselni fogom. Lesz mellettem olyan ember is, aki nevetni fog túlzott óvatosságomon, másvalaki egész életét bukósisakban tölti. Ha a bontás során történik hasonló baleset, megnövekszik a sisakot viselők száma - a baleset esélye nem módosult, viszont a modellek információszűrője igen.

A kép stabilitását növeli a hatékony szűrés, de általa használhatatlansága is növekedhet, mert a szűrő elemzés nélkül tünteti el a nem illeszkedő felfedezéseket ("... és mégis mozog a Föld!").

Azt hiszem - remélem - ezek határozzák meg gondolkodásomat. Nem fogadok el dogmákat és Szent Igazságokat - de nem is teremtek ilyeneket magam számára. Amit a világról magamban kialakítottam, számomra működő és engem működtető modellek halmaza, segítenek a tiszta szemű tanulásban. Szerintem ez fontos: nem állítom, hogy bármiről valaha is össze fogom gyűjteni az összes információt (bár nem zárom ki a megvilágosodás lehetőségét, sőt...), de minél több módon vagyok képes elfogulatlanul információt szerezni a világról, annál nagyobb esélyem van olyan szemlélet kialakítására, amit nem fogok megbánni... Furcsa definíció a tömör JÓ fogalom helyett. Sajnos ez utóbbit kénytelen vagyok halomra ölni, mert egy "jó" rendszer néha tehetetlenségénél fogva indokolatlanul gátol egy még jobbat, egy "rossz" ugyanakkor számtalan tanulsággal szolgál...

Igen, programozás szempontjából nincs jó vagy rossz megoldás. Vannak létrejött megoldások, amelyekre szükség volt és használható tanulságokkal szolgálnak, és vannak leendő megoldások, amelyek minél inkább ismerik - előítélet-mentesen viszonyulnak - elődeikhez, annál nagyobb esélyük van a hasznos működésre mindaddig, amíg egy ismét újabb fel nem váltja őket.


Kedves Loránd  /  Az örökkévalóság pillanatai  /  Számadás Vissza    Tovább