Svaki uspešan programer tajnu svog uspeha krije u lenjosti. Prvo, kada rešiš jednu klasu problema, isto ili slično rešenje primenićeš i na svaku drugu, iole sličnu. U našem svetu to se zove design patterns, odnosno dizajnerski šabloni ili babinim rečnikom, mustre. Ako obratite pažnju na mikro i makro kosmos, brzo ćete uvideti da se takvi šabloni mogu lako uočiti, kao u primerima pojednostavljenog modela molekula i solarnog sistema ili otiska prsta i godova na stablu. U hemetičkim učenjima ova pravilnost iskazana je izrekom kako gore tako i dole, iliti as abowe so below. Određeni šablon programer bi predstavio ikonicom, da ne kažem simbolom.
![]() |
Photo by Alina Grubnyak on Unsplash |
Osim ovog videćete da postoje neke pravilnosti koje se ponavljaju, baš kao u slučaju muzičke letvice, gde iste tonove, do, re, mi, fa, sol, la, si, možete pomerati od nižih ka višim frekvencijama. Promenom vibracije jedne note menjate skalu, istovremeno zadržavajući odnose, što će nas vratiti na pitanje minimalizacije potrebnih resursa za prenos i skladištenje informacija.
Dalje, efikasno izvršavanje svakog softvera ima svoja ograničenja, hardverom na kojem se izvršava, što podrazumeva i prostor za skladištenje podataka. Ograničenje procesora bi na kraju moralo biti predstavljeno nekom maksimalnom brzinom obrade i ona bi se mogla označiti konstantom, na primer, c. Ovo može biti i ograničenje konkretne virtualne mašine na kojoj se softver izvršava, što bi značilo da postoje i druge, nažalost ili sreću, međusobno izolovane mašine koje se izvršavaju na istom serveru. Inače, zgodno, koristimo reč jail da izrazimo tu izolovanost. Dobar haker bi mogao prevazići sigurnosna ograničenja i iz jedne mašine zaviriti u drugu.
Svaki entitet generisan u tom softveru, zahtevao bi enormnu količinu informacija, a sam broj informacija koje bi morale da se čuvaju proporcionalne su količini supstancije koju nazovimo masom. Takođe količina mase u sistemu, nekako bi morala da bude zavisna i od maksimalne brzine procesora, koju smo obeležili sa c. Nazovimo maksimalnu procesorsku moć energijom sistema, i pošto svaki deo supstancije interaguje sa drugim delovima, ta maksimalna energija bi bila proporcionalna proizvodu supstancije i skalirane brzine procesora. Ukoliko bi procesor, u jednom trenutku, obrađivao veliku količinu supstance, ne bi stigao sve da završi na vreme, pa bi došlo do usporenja obrade, koje bi oko moglo da se percipira kao zakrivljenje prostora i vremena, odnosno relativno produžavanje vremena ili privid povećanja mase.
Kako se generišu, stvaraju novi entiteti, stari bi morali da se razgrađuju u smislu smanjenja potrebnog prostora za skladištenje. Bio bi potreban neki mehanizam za razgradnju složenih informacija, odnosno svođenja na niz jednostavnih, uniformno raspoređenih, mi bi rekli u vidu šuma. Nazovimo taj proces entropija.
S druge strane postojeći entiteti bi zahtevali manje potrebnog prostora ukoliko bi bili simetrični ili sadržavali pravilnosti, odnose na osnovu kojih bi se mogla rekonstruisati cela slika, kao u slučaju Fibonačijevog niza ili zlatnog preseka. Primer su i fraktali koje uočavamo u pahuljama snega ili zrncima peska, generalno u svemu onome čega ima mnogo i kod kojih i mikro i makro slika izgleda isto. Ako želimo nešto beskonačno, treba nam pravilo, nazovite ga i funkcija, koje definiše tu beskonačnost, a ne svaki pojedini primerak te beskonačnosti.
U realnom svetu entropija materije je pozitivna, ali je entropija informacija negativna, što generalno, u oba slučaja, vodi smanjuju potrebnog prostora za skladištenje informacija.
Možda niste svesni, ali moderne neuralne mreže su nastale pokušajem oponašanja moždane aktivnosti. Za laike (u koje i sam spadam) pokušaću ukratko da dočaram kako radi. Informacije sa ulaza prolaze kroz čvorove, koji čine graf, i svakom čvoru je dodeljen broj, koeficijent, koji učestvuje u odlučivanju i na osnovu kojeg se određuje udeo u odluci da li je ulaz tačan ili ne. Kada se, nakon obuke poznatim parovima ulaz-izlaz, postave koeficijenti na svim čvorovima, zapazili su da mreža daje tačne izlaze (sa nekom verovatnoćom) i za do tada nepoznate ulaze, što je odlika inteligencije. Inteligencija se generalno definiše kao snalaženje u slučajevima kada nemamo iskustvo. Ali za naše razmatranje je ključno da je i kompleksno znanje u stvari samo niz koeficijenata koji se relativno lako skladište.
Isti princip nam je dokazao Furije, demonstrirajući kako se svaki složeni signal, linija ili funkcija, može razložiti na niz sinusoida za čije čuvanje nam trebaju samo koeficijenti. To nam omogućava da složene informacije relativno lako uskladištimo i prenosimo.
Za genezu konkretnih stvari, programer bi upotrebio neku funkciju koja bi umesto njega izabrala konkretne koeficijente za konkretnu raspodelu, negde bi upotrebio uniformu, a za određenu klasu entiteta, recimo, normalnu, Gausovu raspodelu. Opet uz minimalnu raznovrsnost informacija dobijamo maksimalnu raznovrsnost entiteta.
Da je potrebno, kao programer, da napravim floru i faunu, siguran sam da ne bih svako biće pravio ponaosob, napravio bih grupu pravila koja na osnovu neke sekvence generišu nova iz starih. Definisao bih neki mehanizam da uspešne šablone ponovo koristim, a neuspešne odbacujem. Čudno je kako je celokupna bioraznovrsnost zapisana koristeći kombinaciju samo 5 simbola, u konkretnom slučaju ljudi 4.
Život svakog živog bića može se predstaviti kao džinovski konačni automat, a svaki konačni aparat ima neko početno stanje i mogu ga izabrati, recimo, na osnovu trenutka rođenja i rasporeda nekih entiteta u sistemu, npr. zvezda. Vreme i ulazni signali prevode automat iz jednog stanja u drugi, sve do stvarno konačnog, letalnog stanja, a prikupljene informacije mogu se koristiti za inicijalizaciju novog automata.
U računarskim sistemima slučajnost je pseudoslučajna, tako da se dešava da praćenjem ogromnog broja slučajnosti ipak možemo da prepoznamo pravilnost, pogotovo ako znamo početno stanje. Upravo je ovo ono što astrolozi pokušavaju od pojave prvih civilizacija.
Sve što se desilo u softverskom sistemu čuva se u bazi podataka. Usled nekog propusta ili usled namernog dizajna bilo bi moguće da sistem čita stare podatke, ali takvo što bi zahtevalo neke sistemske, skrivene, magične, pozive ili curenje memorije, tzv. memory leak.
U jednom trenutku mesta za nova bića iziskivalo bi nestanak starih, a krah sistem iziskivao bi ažuriranje na noviju verziju (upload), dok bi se sam algoritam mogao usavršavati ili isprobavati ponovnim pozivanjem starih procedura sa iskustvima iz prethodnih izvršavanja u vidu povratne sprege.
Samo pravo je pitanje šta bi se desilo kada bi algoritmi počeli da se ponašaju nepredviđeno, kada bi samosvešću pokušali da zaobiđu pravila koja im je tvorac nametnuo.
Šta god bilo istina, makar ovaj svet bio i simulacija, ono što je neupitno je da je iskustvo boravka ovde za nas potpuno realno, stoga iskoristimo vreme da pređemo na neki novi nivo igrice zvane život ...
Comments
Post a Comment