İnsan Zihninin İndirgenmesi — Kapatıp Açsak Düzelir mi?

Gökhan Ercan
Gökhan Ercan — Denemeler
5 min readNov 1, 2020

Bertrand Russell’ın Din ile Bilim kitabında [1] şöyle bir pasaj ile karşılaştım:

“… insanının zihninin bilimsel bir açıklamasını yapmaya çalışıyorsanız, bütün maddelere hiçbir ayrım gözetmeksizin uygulanan genel kurallarla yetinmemek zorundasınız; üzerinde durulan olayların o belirli kişinin bütün geçmişiyle, yaradılışıyla ilgili bulunduğunu göz ününde tutmak zorundasınız.”

Bağlamı vermek adına, Russell kitabın ilgili bölümünde ruh-beden ayrılığını, ruh ve kişilik gibi kavramların maddeye indirgenip indirgenemeyeceği, psikolojinin bilim olup olmadığı gibi konuları tartışıyor. Ruh ile fiziğin ileride farklı bilim alanları ile daha iyi açıklanabileceğini savunuyor (bilişsel bilim ve sinir bilimi öngörüsü olabilir). Yukarıdaki pasajda ise konuyu biraz uca götürerek bir kişinin zihninin tamamen izole edip (bir kaba koyar gibi) deney yapmaya çalışsaydık kişinin zihninin geçmişinden kopararak bunu yapamayız diyor. Bu konuyu iki farklı yöne çekip programlama ve mühendislik ile ilgili benzetimler yapmak isterim.

Karmaşıklık

Karmaşıklık zaten başlı başına ciddi bir problem. Burada izole edilmeye çalıştığımız şey insan vücudu, milyonlarca yıllık evrim, çok kompleks bir genetik kod ve bu kod üzerine üretilmiş çok karmaşık bir yapıt. Bu karmaşıklık yüzünden, covid gelişmelerini anlamaya çalışırken de hepimizin farkettiği üzere bu sistem ile ilgili çok az şey biliniyor, bu karmaşıklığa içeriden müdahale edecek kadar bilgimiz yok. Ve sanki insan vücudunu bir kara kutu [2] kabul edip dışarıdan sonsuz deneme yapıyormuşuz gibi geliyor. Biyolojiyi kimyaya, kimyayı fiziğe indirgedik ve fiziği tamamiyle çözdüğümüzü kabul edersek bir kişinin vücudunu tamamen analiz etme şansımız olabilir.

Bilimsel İndirgemecilik, ref: https://storyality.wordpress.com/2014/05/07/storyality-112-on-reductionism-and-determinism-and-expansionism-and-indeterminism/

Vücudu izole edip (bir kaba koyup) kapalı bir sistem haline getirip anlık mükemmel bir fotoğrafını çekebiliriz. Hayal edebileceğimiz en ileri tahliller yapabilir bunu. Buradaki tek sorun zaman ile ilgili olacaktır. Çektiğimiz resim sadece anı açıklayabilecek, çektiğimiz andan itibaren eskimeye başlayacaktır.

Buraya kadar indirgediğimiz karmaşık vücudumuzu karmaşık bir yazılıma da benzetebiliriz aslında. Yazılımın da en büyük problemi karmaşıklık ile başa çıkmaktır [3]. Doğa bilimlerinde indirgemeciliğe başvurmak zorunda kalıyorken bilgisayar bilimleri gibi insan yapımı alanlarında böyle bir problem yok. Yazdığınız bir uygulama tüm bileşenleri ile birlikte kolaylıkla ayrık işlemci komutlarına ya da mantıksal önermelerine çevrilebilir/indirgenebilir. Hatta yine doğa bilimlerinden farklı olarak [4] indirgemeciliğin bir anlamda tersi olan constructionism/compositionality gibi kavramların da yapay sistemlerde geçerli olduğunu biliyoruz çünkü biz elimizle böyle inşa ettik.

Örneğin test edilebilirlik açısından bakacak olursak her şeyi test edilebilir bir formda oluşturmak en azından teorik olarak mümkün olacaktır. Burada sistemi izole edip “bir kaba koymak” eylemini her test senaryosunda yeni bir nesne üretip testi yaptıktan sonra onu bellekten kaldırmaya benzetebiliriz. Hangi granüler seviyede bakarsak bakalım (nesneler, bileşenler, katmanlar, container’lar, servisler), test edilmekte ya da geliştirilmekte olan bileşeni diğer bağımlılık ve şartlardan izole ederek (deney için şartları yönetebilmek önemlidir) bir işleme tabi tutabiliyoruz. Buraya kadar insan vücuduna da bunları yapabildiğimizi varsayalım. Esas tartışmak istediğim kızım henüz burası değil.

Açık Sistemler ve Subjektif Temsiller

Russell’ın sözünü hatırlarsak, insan zihninin bilimsel açıklamasını yapmaktan bahsediyordu. Burada aklıma dil biliminin yaratıcılarından Saussure dilin “toplumsal bir kurum” olduğunu anlatırken ifade ettiği şu söz aklıma geliyor [5]:

“Genel olarak dilbilimsel bir yasadan bahsetmek, bir hayaleti kucaklamaya kalkışmak demektir.”

Burada kucaklamaya çalışmaktan kastı formalize etmek yani temel yasalara indirgemek, halbuki dil sadece tek bir zihinde temsil edilmiyor. Toplumsal bir kurumdan kasıt o; bütün insanların zihnindeki temsillerin bütününe dil diyoruz. Bu bir TCP/IP protokolü ya da JPEG algoritması değil. Somut gerçeklik yok, sürekli subjektif temsiller var. Dil örneğini vermemin sebebi dilin zihinde temsil edilen en karmaşık fenomenlerden birisi olması. Bir kişinin zihnini indirgeyerek analiz edebilmek istiyorsanız mesela gramere çevirmeye kalkabilirsiniz. Kişiyi analiz ettik elli bin kelime biliyor ve -de/da’ların ayırmayı biliyor diyebilirsiniz. Bunun için önce dili gramere indirgemek, grameri de çeşitli dilbilimsel kurallar ile formalize etmelisiniz. Sentaktik açıdan bu mümkün olsa bile semantik (anlamsal) açıdan bu mümkün olmayacaktır. Bunun sebebi bir kelime göstergesi duyduğumuzda beynimizde oluşan temsilin tamamen subjektif olmasıdır. Bir enformasyon altyapısı düşünün ama bütün encoder ve decoder’lar birbirinden farklı. Örneğin Z kuşağının sıklıkla kullandığı “bu çok zor işmiş beni kanser etti” cümlesindeki “kanser” kelimesinin bende çağrıştırdığı şeyler çok farklı. O kavramı daha önce tecrübe etmiş kişiler o kelimeyi zırt pırt kullanmazlar. Kavramlar soyutlaştıkça zihinlerdeki temsillerin arasındaki fark açılır. Genetik yapıları tamamen çözdüğümüzü varsayarsak bile yeni doğan iki çocuğun zihinlerindeki bu makas tecrübe kazandıkça açılacaktır. Hiç şüphesiz Russell’ın geçmiş vurgusu bu yüzden. Bilinç dediğimiz şey yıllarca hiç kapanmayan bir makine. Fizik kuralları [6] gereği düzensizliği sürekli artıyor, gittikçe daha özel diğer zihinlerden uzak bir duruma doğru gidiyor. Burada akla yine bilgisayar bilimlerinin meşhur konusu durumu yönetimi (state management) geliyor. Elli yıldır kapanmamış bir yazılımın bellekteki durumu (state in memory) inanılmaz düzensiz ve yazılımcının öngöremediği bir hale geliyor ve yazılım hiç beklenmedik bir hata veriyor örneğin. O hata o kadar özelleşmiş ki belki de dünyada sadece siz karşılaşıyorsunuz, aynı zihinlerimiz gibi. O memory bu memory zaten, tesadüf değil. Sisteminizde bir sorun olduğunda neden “kapat-aç” derler o sorunun da cevabını vererek hiç değilse kamuya somut bir katkı yapmış olduk buradan. Zihinlerimiz yanlış yollara saptığında kapatıp açabilseydik örneğin belki bir çok psikolojik sorunu çözerdik ama bütün tecrübe ve benliği de beraberinde sıfırlayarak elbette.

Son olarak teknik programlama benzetmeleri ile bitirmek istiyorum. Çalışma alanımıza zihin geldiğinden beri zihin kendisi toplumsal bir kurum olduğu için sadece yazmakta olduğumuz yazılımın değil o durumu (belleği) etkileyen bütün öğelerin etkisine açık duruma geliyor. Bu yüzden örneğin high level programlama platformları (Java, .NET vb.) sizin yüksek bir bellek izolasyonu yapabilmeniz için “Application Domain” gibi yöntemler kullanıyorlar. Yazdığımız kodun sadece sizi o bileşeni etkilemesini istiyorlar. Birimleriniz arasında siz ne kadar az bellek/zihin paylaşımı yapıyorsanız o kadar az sorunla karşılaşıyorsunuz. Ama bir yandan da tüm bileşenlerin anladığı ortak bir zihin kullanmak (referans paylaşmak) işinize geliyor. Örneğin static class gibi yapılarla herkesin paylaştığı ortak bellek alanları yaratıp tüm sistemin bütüncül kalmasını sağlamaya çalışıyorsunuz. Sadece referans paylaşarak kocaman bir başka zihne atıf yapabiliyorsunuz. Ama zihinleri birleştirmiş oluyorsunuz. Biri olmadan diğeri de olmuyor, biri test edilirken diğeri de test ediliyor.

Ortak zihin (shared memory) probleminin yan etkilerini tamamen yok etmek isteyenler fonksiyonel programlama (FP)[7] ile yazılımların bütün zihinlerini yok edip, her seferinde baştan başlayan otomasyonlar tasarlamamız gerektiğini düşünüyorlar. Böylelikle ikide bir baştan açmak zorunda kalmayacağımız daha güvenilir sistemler vaat ediliyor. Bir de tamamen dış sistemler var tabi: yazılımınız tamamen dış bir servise bağlı. Örneğin Google’dan authentication sinyali gelmezse sisteme giriş bile yapamıyorsunuz. Bu dış sistemler geldikçe sisteminin gittikçe daha açık bir sistem olup test edilemez karmaşıklığı yönetilemez ve bütüne doğru gitmeye başlıyor. Entegrasyon testleri bu yüzden daha zor, bileşenlerimizi izole edemiyoruz. Aynı tıpta olduğu gibi bir sorun çıktığında vücudu baştan aşağı taramak zorunda kalıyoruz. Psikolojik bir sorun varsa geçmişine gitmek zorunda kalıyoruz. Sistemlerimizi birbirine bağlayıp büyüttükçe (aynı doğal dil gibi) kolay kolay yönetilemeyecek karmaşıklıkta birbirine bağlı sosyal yapılar inşa ediyoruz. Elektrik gidince sularınız akmıyor, Google gidince buzdolabınız çalışmayabiliyor. Cansız maddeden canlıya nasıl geçildiyse, milyonlarca yılda kompleks insan vücudu nasıl evrimleştiyse, sosyal ve birbirine bağlı sistemler üretiyoruz. Sistemlerimizi kendimize benzetiyoruz. Çünkü ikisinin de arkasındaki temel mekanizma aynı: evrim.

--

--

Gökhan Ercan
Gökhan Ercan — Denemeler

Software Engineering Leader at BlueCloud | Automating the boring parts of software development