Computational Kindness

Photo credit: Etienne Boulanger

Computational Kindness

ing. hesaplamalı/hesaplanabilir nezaket/iyilik/kolaylık

Brian Christian ve Tom Griffiths tarafından yazılan Algorithms To Live By adlı kitabın sonuç bölümünde bilgisayar bilimleri(computer science) literatürüne kazandırılmış kavram.

Henüz tanımlanmamış olsa da daha öncesinde Edsger Wybe Dijkstra’nın gösterim kuralları hakkındaki notunda şöyle bir ifade ile kendine yer bulmuş:

“Sadece 60 okuyucuya sahip olsanız bile, ortalama okuyucunuza bir dakika kazandırmak bir saat harcamayı öder.” (even if you have only 60 readers, it pays to spend an hour if by doing so you can save your average reader a minute.)

Bu her yazarın kulak vermesi gereken bir aforizma. Özü anlatmanın, açık olmanın, lafı eveleyip gevelememenin çabasının karşındakilere kendini en yalın şekliyle ifade etme ve karşındakine bir şeyler kazandırma iyiliğini temsil ediyor. Böylece daha anlaşılır, okunabilir ve konuşulabilir oluyorsunuz.

Hesaplanabilir iyilik ya da nezaketten bahsederken ne demek istiyoruz? Buradaki hesaplama, iyiliğin karşılığını beklemek, peşine düşmek ya da göze sokmak değil. Karşımıza çıkan problemlerde, yüzyüze geldiğimiz durumlarda optimum çözümü ve davranışı sergilemek için girilen bir hesaptan bahsediyoruz.

“Objektif doğruluğun değerlendirilmesindeki olasılıkları hesaba katmamız gerekecek gibi görünüyor… Objektif olarak doğru olan eylem, muhtemelen en hayırlı olanıdır. Bunu en akıllıca hareket olarak tanımlayacağım.” - Bertrand Russell

Bilgisayar dünyasında hesaplama maliyetli bir iş. Donanım seviyesinde fiziksel maliyetlerle, yazılım seviyesinde yer ve zaman maliyetleriyle karşılaşıyoruz. Sırf bu maliyet hesaplamaları için karmaşıklık ve karmaşıklık analizi konuları mevcut. Ayrıca işlemcinin boş yere çalışmasını da istemiyoruz ve işlemciyi optimum şekilde kullanabilmek için cpu scheduling hesaplamasına gidiyoruz. Yazılım tarafında en uygun yer ve zaman maliyetini veren algoritmalarla, tasarım desenleriyle, ‘kendini tekrar etme’ gibi prensiplerle, takımca kabul edilmiş ve sınırları çizilmiş kodlama stilleriyle çalışarak hem emeğin sergilendiği tarafta hem de ürünün nihayete erip koştuğu tarafta bir iyilik hesaplamasına gidiyoruz. Bunları düzgün yapmadığınızda iş gücünü, zihinsel faaliyeti, fiziksel kaynakları sonsuza kadar çalışmak üzere yazılmış döngülere, uzun zaman alan işlemlere, gereksiz yer kaplayan uygulamalara, yanlış ve eksik hesaplamalara harcamış oluyorsunuz. Bunu istemezsiniz.

Aslında etrafımıza şöyle bir baktığımızda hayatımıza bir şekilde girmeye başlayan teknolojik gelişmeler birilerinin bizim için önceden hesaplayıp hayata geçirdiği iyiliklerden oluşuyor. Mobil ödeme, temassız kart, tek tıkla ödeme, amazon go, parmak izi okuyucu ile doğrulama, yüz ile doğrulama, akıllı bisikletler…

Bu konu teknik olarak bilgisayar bilimlerinde çözülmüş, prensipleri oluşturulmuş ve genel anlamda çoğu hesabı yapılmış ve bir olgunluğa erişmiş. Bundan sonraki bölümde hesaplanabilir iyiliğin sosyal alanlardaki etkilerini, iletişim becerilerine ve doğru iletişime katkılarını, ikili ilişkilerdeki rolüne değineceğim.

  • “Tiyatroya gidelim mi?”
  • “Olur.”
  • “Ne zaman gidelim?”
  • “Ne zaman istersen, benim için fark etmez.”
  • “… Tamam.”

  • “Hey tiyatro planı ne oldu?

Bu ve benzeri diyalogları yaşamışsınızdır. Gerçekleşmemiş planlar, cevaplanamamış sorular, yarım kalan konuşmalar iletişimi, etkileşimi ve ilişkileri etkiliyor.

İletişim kurarken ve planlar yaparken doğru soruları ve istenen cevapları almak için hesaplamanız gereken bir yükle karşılaşıyoruz. Kitapta buna bilişsel yük(cognitive load) denmiş. Eğer bu yükü daha iletişimin en başında hesap ederseniz, sorulması gereken soruları ve beklediğiniz cevapları netleştirebilirsiniz. Böylece ne zaman evet/hayır cevapları beklediğinizi, ne zaman bu cevaplardan kaçınıp iletişimi tıkamamanız gerektiğini anlayabiliyorsunuz. Böylece computationally kind bir tavır sergilemiş ve karşınızdaki için işleri kolaylaştırmış oluyorsunuz. Eğer bunu yapamazsanız iletişimin bozulmasına, planların gerçekleşmemesine, istenen cevapları alamamanıza karşılık sorumluluğu başkalarına yüklüyorsunuz. Kitap bunu “pass the cognitive buck” olarak ifade etmiş.

Kitapta hesaplanabilir iyiliğin sadece davranışsal değil aynı zamanda bir tasarım prensibini de ifade ettiğini belirten güzel örnekler mevcut. Para üstü vermek, doğru park yeri tasarımı ve etkili iş görüşmesi yapmak üzerine farklı bakış açıları sunuyor fakat girinin uzamaması ve merak edenin gidip okuması için açıklamayacağım.

Özellikle karşımıza çıkan bu ve benzeri kavramların sadece bilgisayar bilimleri alanıyla sınırlı kalmamış olması ilgi çekici. Yapay zekayı(artifical intelligence) anlamak, büyük verilerle(big data) çalışıp makinelerin öğrenmesini(machine learning) sağlamak ve bu öğrenme sonucunda bir karar verme(decision making) durumuna gelmek disiplinlerarası bir çalışmanın ürünü olarak ortaya çıkıyor.(bilişsel bilimler / cognitive science) Tüm bu hesaplamaları yapabilmek için matematikle, doğru ve mantıksal karar verebilmek için iktisatla, insan gibi karar verebilmek için psikolojiyle, problemleri modelleyebilmek için sinirbilimle ve daha sayamadığım bir çok alanla ilişki içerisindeki bir disiplin. Haliyle bilgisayar bilimlerinde yapılan çalışmaların ilgili olduğu disiplinlere sunduğu katkılar ve getirdiği yeni bakış açıları hayatın içerisinde karşımıza çıkabiliyor. Ne yazık ki ülkemizde “bilgisayar mühendisi” titri ile çalışan ya da okuyan insanlarda gördüğüm eksiklik bu mesleğin bilimsel tarafını gözardı ediyor olmaları. Hangi programlama dilini öğreneyim, hangi yazılımı iyi kullanayım, hangi mülakat sorularını cevaplayayım gibi sadece iş bulmaya ve sektörde “sıradan bir geliştirici” olmaya yönelik çabalar içerisindeler. Oysa bilgisayar bilimlerinin ilişkili olduğu alanlar o kadar geniş ki; yapılacak, keşfedilecek, deneyimlenecek bambaşka dünyalar ve çözülecek birçok problem var.