2012 m. birželio 18 d.

Ar kompiuteriniai žaidimai yra laiko švaistymas?


Atsakymas: taip. Kompiuteriniai žaidimai yra laiko švaistymas. Kadangi jau atsakiau į šitą klausimą, tai galiu pereiti prie daug įdomesnių klausimų. Pavyzdžiui, ar mes esame kompiuteriniame žaidime? Atsakymas: ne. Nes taip liepia teigti Okamo skustuvo principas [1]. Bet man neįdomūs paprasti ir tikėtini dalykai, dėl to aš čia papasakosiu apie įdomius ir mažai tikėtinus dalykus.

Kažkada jau labai seniai buvo mane užkabinę Dr. S. James Gates [2][3] pusiau tiriamos prielaidos, kad gali būti, jog mes gyvename simuliuojamame pasaulyje. Kitaip tariant esam simuliacijos kompiuterinėse simuliacijoje. Labai, labai debiliška idėja. Bet...  Pagalvokite. Paimkite kuriamo Unreal Engine 4 (2012 m.) [4][5] vaizdus ir palyginkite juos su 1965 m. Lincoln Lab TX-2 vienos programos vaizdais[6] – viena iš pirmųjų kompiuterinės grafikos aplikacijų žmonijos istorijoje. 2012-1965 = 47. Per 47 m. buvo sugebėta nueiti nuo apgailėtinų linijų iki įrodymo, kad 100% vizualus realumas yra ranka pasiekiamas. Tiesa, dar ne su UE4, bet kelių 3D varikliukų generacijų eigoje. Tik 47 metai. Ir aš kalbu apie realaus laiko interaktyvią grafiką, o ne grafiką, kurios kadrui sugeneruoti reikia žymiai daugiau laiko (Pavyzdžiui, filmų specialieji efektai). Tik 47 metai ir jau toks progresas. 50 metų yra niekas žmonijos istorijoje. O viskas tik akseleruoja. Taip, sutinku, dabar daugiausia dėmesio skiriama vaizdiniam simuliavimui. Bet beveik pilnai priartėjus prie 100% panašumo ribos, bus sparčiau pajudėta prie kitų jutimų ir dirbtinio intelekto sudėtingumo užkariavimų.

Kas iš to? Reiškiasi, labai tikėtina, kad galiausiai žmonija sugebės sukurti virtualų, simuliuojamą pasaulį, kuris savo kompleksija prilygs tam, kuriame mes gyvename (aš specialiai nevartoju teiginio „realus pasauslis“). Jau dabar yra prikurta galybė žaidimų, turinčių savo vidinius pasaulius. Kas žmonijai trukdys, turint vieno virtualaus pasaulio simuliaciją, ją dublikuoti ir sukurti kitą virtualų pasaulį? Niekas. O dabar darykime prielaidą, kad yra vienas realus pasaulis. To realaus pasaulio gyventojai sukūrė daug (tarkim, N) virtualių simuliacijų. Tarkim, tu esi vieno iš visų pasaulių gyventojas. Kokia tikimybė, kad tu gyveni realiame pasaulyje? Vienas padalinta iš N plius vienas (1 / (N+1)). N, beje, artėja link begalybės. O dabar dar įdomiau. Kas sakė, kad yra realus pasaulis? Kas sakė, kad ne Turtles all the way down [7]? Kodėl reiktų atmesti variantą, kad simuliacijos gyventojai, nesukūrė simuliacijos, kurioje gyvename mes ir kurioje mes sukursime simuliacijas, kuriose gyvens kiti gyventojai. Arba kodėl negali būti, kad simuliacijoje esančios simuliacijos, kuri taip pat yra simuliacija ir taip toliau. Tai yra, kodėl negali būti taip, kad viskas yra tik amžina simuliacijos simuliacijų begalinė abipusė aibė? Sakiau, kad nereikia žvelgti į viską paprastai. Sudėtingai gi daug įdomiau...

Kalbant apie kompiuterius ir kompiuterinis simuliacijas, geras tonas reikalauja aptarti ir Antikos laikų Graikiją... Taip, taip – atėjo laikas papasakoti apie tokį veikėją, kaip Pitagoras [8]. Daugeliui jis žinomas tik dėl Pitagoro teoremos. Bet jis yra vienas iš įdomiausių (bent jau man) istorinių asmenybių. Tarsi, jis sugebėjo sukurti religiją, sektą, bendruomenę ir mokyklą pastatytą ant matematikos. Aišku, ta matematika buvo kiek kitokia nei dabartinė matematika. Ji buvo mažiau sausa. Joje buvo daugiau misticizmo, daugiau kosmologijos ir daugiau filosofijos. Anot kai kurių šaltinių Pitagorininkai tikėjo (manė? galvojo? žinojo? buvo apskaičiavę?), kad pasaulis yra paremtas skaičiais. Kad skaičiai yra absoliuti tikrovė ir viskas, kas gyva yra sugeneruota per skaičių funkcijas.

Kas, beje, pilnai sutampa su dabartiniai mūsų kuriamais virtualiais pasauliais. Virtualūs pasauliai yra generuojami programinio kodo. Programiniame kode yra kviečiamos funkcijos, kurios kaip parametrai yra perduodami skaičiai. Ir kurios grąžina, spėkit ką? Taip – skaičius. Taigi, kaip jau minėjau, pitagorininkai manė, kad mūsų pasaulis yra sugeneruotas iš skaičių...

Beje, yra daug abejonių, ar Pitagoras pats sugalvojo šitas idėjas. Kaip kad ar Pitagoras (ar pitagorininkai) surado Pitagoro teoremą. Surado dėl to, kad vienas iš Pitagoro filosofijos principų yra tas, kad niekas nėra nauja, o viskas, kas atsitinka, yra atsitikę praeityje ir po tam tikro laiko atsitiks ateityje. Taigi, yra galvojama, kad Pitagoras išmoko visų savo gudrybių (tuo tarpu ir apie trikampius) iš babiloniečių ir egiptiečių. Apsistokime ties pastaraisiais. Yra daugmaž tikėtinų šaltinių, teigiančių, kad Pitagoras mokėsi Egipte. Kad anie išmanė matematiką abejonių nekyla – tereikia pažvelgi į bet kurią piramidę ir daugybę matematiškai įdomių skaičių, užkoduotų tų piramidžių dimensijose [9]. Ir, aišku, labiau nei senovės Egiptas, misticizmo persmelktos civilizacijos žmonijos istorijoje nėra. Taigi, yra teigiama, kad Pitagoras beveik visas pitagorininkų idėjas pasiėmė iš mokymų Egipte. Kai kurie autoriai, kaip pavyzdžiui kontraversiškas John Anthony West [10], beveik neabejoja, kad taip ir buvo.

Spėkit, kas dar mokėsi pas egiptiečius. Ogi Platonas. Ką teigia Platonas? Kad yra du pasauliai. Yra absoliutinis formų pasaulis. Ir yra materialus pasaulis (Cosmos) – mūsų pasaulis [11]. Formų pasaulis yra nekintantis, visada yra ir nedalyvauja vyksme. Tai absoliučių idėjų pasaulis. Cosmos pasaulis, kuriame vyksta vyksmas, yra sugeneruotas per formų (absoliučių idėjų) pasaulį. Kuris iš mūsų mokslų yra nekintantis ir absoliutus idėjų mokslas? Matematika. Skaičių mokslas...

Dar viena įdomi detalė apie Platono mokymą. Platonas teigė, kad Cosmos elementai yra sudaryta iš trikampių detalių (trikampiai Platono mokyme yra mūsų mokslo atomų atitikmuo). Spėkit, iš ko sudaryti vaizdai dabartiniuose kompiuteriniuose žaidimuose? Iš trikampių... [12][13]

Pabaigai

Ar aš tikiu, ką pats ką tik parašiau? Neaaa... Gal... Būtų jėga, jeigu taip būtų. Neaaa... Nors... Teoriškai tarsi įmanoma... Bet... Ai, koks skirtumas, kaip yra – vistiek žinojimas man nepadės ir rytoj vis tiek turėsiu eiti į prekybos centrą ir nusipirkti batono ir kefyro, nes reikia maitintis.

Bet būtų jėga... Primesk, reverse engineer'ini pasaulį, surandi bug'ą ir "You are the One"...

[1] http://en.wikipedia.org/wiki/Occam's_razor
[2] http://www.youtube.com/watch?v=q1LCVknKUJ4
[3] http://www.youtube.com/watch?v=9Z9tO0D6W-Y
[4] http://www.youtube.com/watch?v=OZmRt8gCsC0
[5] http://www.youtube.com/watch?v=MOvfn1p92_8
[6] http://www.youtube.com/watch?v=PZrA6Uqwyy0
[7] http://en.wikipedia.org/wiki/Turtles_all_the_way_down
[8] http://plato.stanford.edu/entries/pythagoras/
[9] http://www.theglobaleducationproject.org/egypt/studyguide/gpmath.php
[10] http://www.jawest.net/books_vids.htm
[11] http://faculty.washington.edu/smcohen/320/timaeus.htm
[12] http://en.wikipedia.org/wiki/Real-time_computer_graphics#Principles_of_real-time_3D_computer_graphics
[13] http://http.developer.nvidia.com/CgTutorial/cg_tutorial_chapter01.html

3 komentarai:

  1. Lieka pagrindinis klausimas: energija. Ar energija gali būti susimuliuota (pvz. energija naudojama simuliacijai paleisti)? Arba laikas - juk simuliacija neveikia be laiko/judesio.

    Jei ne, tai ar galime energiją ir laiką laikyti vieninteliais dalykais, kurie negali būti simuliuojami? Jeigu darome prielaidą, kad energija ir laikas negali būti simuliujami, reiškia pirminis šaltinis turi būti.

    O jei padarytumėm prielaidą, jog mes nesame simuliuojami, tai kas tada yra mūsų mintys ir vaizdiniai daiktų, kuriuos užfiksuoja mūsų jutikliai?

    AtsakytiPanaikinti
    Atsakymai
    1. Visų pirma reiktų pasakyti, kad aš nė velnio nenutuokiu, ką rašau ir ką rašiau blogo įraše. Bet paspangti man visada smagu.

      Norint atsakyti, kaip reikia simuliuoti laiką ir kaip reikia simuliuoti energiją, pirma reikia suvokti, kas tas laikas ir kas ta energija. Čia tas klasikinis klausimas: ar mes gyvename diskrečiame pasaulyje (dalelyčių), ar kontiniumo galios pasaulyje (bangų). Ar ir bangų, ir dalelyčių. T.y. žmonija vis dar nesugeba sujungti mikro ir makro fizikinių kūnų elgsenos po viena teorija. Jeigu pasaulis diskretus – simuliacija būtų, mano manymu, žymiai paprastesnė.

      Laikas: absoliutaus laiko nėra. Iš esmės kiekviena subatominė dalelė turi savo nuosavą laiko tėkmę.

      Energija: iš esmės visas mums žinomas pasaulis yra energija. Tik energija ir nieko daugiau. Energija, kuri nuolat keičia atskirų erdvės blokų tankį. Dėl tų pokyčių mes ir įsigudrinome pradėti skaičiuoti laiką.

      Tai kaip dabar simuliuoti tą 4D (3D+laikas) energijos pasaulį. Nežinau... Vienintelė viltis yra juodosios skylės ir absoliutus greitis. Tokių reiškinių buvimas, tarsi sako, kad gali būti, kad pasaulyje yra taškų ir momentų, kur viską gali suvesti į vieną vietą – klasikinį žaidimo kodo ciklą while(1) { if (!endgame()) { gamestep(); } }

      Panaikinti
    2. Aš čia mat daugiau irgi klausinėju ne tam kad atsakymą gauti, o kad pasakyti.

      O klausinėju irgi labiau ne iš simuliuojamųjų pusės o simuliuojančių - jiems reikalinga energija, tam kad galėtų sukurti, o kad kūryba veiktų irgi reikia energijos.

      Arba energija ir laiko fenomenas tai tik atributai, kuriais manipuliuoja programeriai, kuriems nereikia tų atributų, tam kad galėtų egzistuoti/programuoti.

      Peršasi tokia mini išvada: būtų gerai, kad mūsų programuotojams nereikėtų energijos (taip kaip suprantame mes ją), kad galėtų programuoti/kurti šią mūsų simuliaciją.

      Dar vienas klausimas: ar teoriškai įmanoma, jog programa sugebėtų identifikuoti save, kad ji yra programa ir pakilti nuo programuotojo užduotų ribų?

      Panaikinti