0
bilgisayar gençleri ve yaşlıları olarak hepimiz bilgisayar oyunları ile ilgileniyoruz. herkes ömründe birçok oyun oynarken pek azımız 3d modelleme, programlama gibi şeylerle ilgileniyor, fakat genelimiz bunların ne olduğunu biliyor. teknoloji geliştikçe programlarda gelişiyor, bundan yıllar önce programcılar için mit olan sanal zeka birkaç yıl önce ilk adımlarını atmaya başladı. tabi burada bahsettiğim sanal zeka oyunlarımızda kullanılan sanal zekadan daha farklı.
günümüz teknolojisi için konuşalım: diyelimki bir programcıyız ve bir oyun yapacağız. önce oyunumuzun geçeceği mekanı modelliyoruz. modelimiz elbette poligonlardan ibaret ve bu poligonların üzerine resimler (texture) giydiriyoruz. mekan ve üzerindeki nesnelerin modellenmesi bittikten sonra kahramanımızı ve düşmanlarını oluşturuyoruz. bitimi, bitmedi tabi, sonrasında oluşturduğumuz bu mekanın fizik modelini programlıyoruz. yani yaptığımız modeller için hangi ortamın ne tip tepki vereceğini belirliyoruz. en basitinden basit bir hatamız yada yanlış hesaplamamız yüzünden oyundaki karakterimizi yöneten kişi duvarın içinden geçemesin istiyoruz ve duvar, toprak gibi modellerimizi karakterimize ve diğer karakterlere karşı blokluyoruz. eh karşı karakterlerimizi başkaları yönlendirmeyecekse bilgisayarın yönetmesi gerektiğinden bunlar için küçük birde sanal zeka programı yazmamız gerekiyor. bir oyun için bu çevredeki sesleri algılamak, harekete tepki vermek gibi şeyler. bir an oturup düşünüyoruz, acaba ana karakterimizi biz yönlendirmesekte kendisine bir sanal zeka yazılımı yapıp kendi kendini yönetmesine izin versek nasıl olurdu. yapılacak şey imkansız değil (kolayda değil) karakterimizin amacı karşısındaki düşmanları öldürmek olsun, nereden geçip nereden geçemeyeceğini öğrensin, yani duvardan geçemeyeceğini anladığında yönünü değiştirsin ve duvardan geçemediğini hafızasına kaydedip hatasını tekrarlamasın gibi eklentiler yapalım. hatta zamanımızı harcayıp başka ek programcıklar ile çevresini algılamasını sağlıyalım. peki bu sanal karakterimizin gözünden dünyası nasıl görünür? onun dünyası poligonlardan oluşmuştur ama kendisi bunu bilmez, öğrenemez de çünkü ona verdiğimiz zeka gerçek hayattaki bir böceğin zekasından bile daha düşüktür. karakterimiz sadece progrdıbına yazdığımız amacı gerçekleştirmeye çalışır.
şimdi bu olayı bırakıp sanal zeka programları ne alemde ona bakalım. sanal zeka programları birçoğumuzun zannettiği gibi sadece oyunlarda veya istatistik veya tahmin programlarında kullanılmıyor, dünyada en çok ilgi gören ve ihtiyaç duyulan program çeşidi olduğundan konu hakkında birçok çalışma yapılıyor ve bazı gelişkin sanal zeka programlar robotlar üzerine yüklenerek deneyler yapılıyor. bu programların öğrenebilme yetileri mevcut, programcısının verebildiği kadarıyla öğrendikleri arasında ilişki kurabiliyor vs. şu anda dünyadaki programcılığın yapabildiği en gelişmiş sanal zeka programı küçük bir kemirgen kadar zekaya sahip fakat yinede absürt gelişmiş bilgisayarlar ve yine absürt bir kapasiteye ihtiyaç duyuyor, fakat önemli olan bunun yapılmış olması ve gelişecek olması. elbette bir süre sonra çok daha gelişkin sanal zeka programları yazılacak.
şimdi bir miktar geleceğe gidelim, elimizde çok, ama çok güçlü, şu anda hayal edemediğimiz işlem, hafıza ve depolama kapasitesinde bir bilgisayarımız olduğunu düşünelim. ki herhalde şu anda süper bilgisayar olarak nitelendirilen ve askeri amaçlar için kullanılan villa boyutlarındaki süper bilgisayar 10 yıl içinde mobil-cpu olarak karşımıza geleceklerdir ;) ki sadece 1 yıl içinde tek çekirdekten 4 çekirdekli cpu'lara geçtiğimizi düşünürsek çok daha yakın bir zamanda da olabilir. herneyse, kısaca absürt güçte bir bilgisayarımızın var olduğunu varsayıyoruz ve bu ileride gerçekleşeceği için hayalde sayılmaz. bizim ise bir programcı olduğumuzu varsayıyoruz. bir önceki programımızda mekanımızı poligonlardan oluşturmuştuk. şimdi ise elimizde absürt kapasiteler olduğundan bütün nesnelerimizi üzeysel poligonlardan değil 3d parçacıklardan oluşturuyoruz(atom), bu parçacıkları çeşitlendirip fizik motoru olan programıza her çeşit parçacık için özellikler kaydediyoruz ve birbirleri ile etkileşmelerine izin veriyoruz.
karakterlerimize ise oldukça geniş içerikli bir sanal zeka veriyoruz, karakterlerimiz kendilerine göre bir düşünme kapasitesine sahip, tabi bu kapasite ancak bizim ona verdiğimiz kadar. ve programladığımız bu mekanı işletmeye başlıyoruz. ne olurdu? düşünme kapasitesine sahip sanal zekamız kurguladığımız mekan içinde çeşitli aletler yapabilir (çünkü fizik motorumuz buna izin veriyor) kendisi için kolaylıklar sağlamaya çalışabilir ve biz onun progrdıbına ne tip temel yazılımlar eklediysek onları gerçekleştirmeye çalışabilir, bu üreme olabilir, barınma olabilir, araştırma/öğrenme olabilir vs. eğer yeterince merak özelliği vermişsek kendi dünyasını inceleyecek, onun hakkında bilgi edinmeye çalışacak, edindiği bilgi ile bizim verdiğimiz imkanlar dahilinde birşeyler üretmeye çalışacak. ama asla, ama asla bizim verdiğimiz sınırların dışına çıkamayacaktır. biz programcı olduğumuz için onun dünyasında istediğimiz herşeyi yapabilirken o bizim yazdığımız fizik motorunun imkan verdiği ölçüde sınırlı kalacaktır. şimdi sanırım bazılarınızın kafasındaki tilkiler hareketlendi
biraz daha ileriye gidelim ve programcılığımız da, teknolojimizde bir önce bahsettiğimizden çok daha ileride olsun. dizayn ettiğimiz mekan bir evren boyutunda, kurguladığımız canlılar ise trilyonlarca olsun. olamaz mı, elbette olur, bugün olmaz ama belki yüz yıl sonra bu tip bir programı çalıştıracak cihazlarımız olur. yani gerçekte var olmayan bir evren ve o evrende gerçekte var olmayan canlılar olabilir. tabi gerçekte var olmayan diyorum fakat programımızdaki sanal canlılara sorsak onlar için gerçek içinde bulundukları mekandan başka birşey değildir. bir bilgisayar programcığı hiç bizim bulunduğumuz gerçeklik kavrdıbını anlayabilir mi, anlayamaz çünkü ne bizim bulunduğumuz gerçekliğe ulaşabilir, nede hayal edebilir. zaten ne kadar hayal edebileceğini de biz programlamışızdır.
bu sanal evren modelini anlamışsak bir ileri aşamaya geçelim ve biraz tanrı'cılık oynayalım.
yaptığımız her karaktere iki adet logger programı ekleyelim, programlardan birisi uygun gördüklerimizi, diğeri uygun görmediklerimizi log'lasın.
i̇şi biten karakterlerin programlarını silmeyelim, ileride karakteri tekrar canlandırmak isteyebiliriz.
karakterlerimizle iletişim kurmak istersek, vereceğimiz mesajları direkt onun progrdıbına yazabiliriz (vahiy) veya diğer herşeye görünmeyen fakat istediğimiz karaktere görünen birbaşka özel karakter aracılığı ile iletebiliriz.
kurguladığımız evrenden farklı fizik motoruna sahip başka evrenler kurgulayıp işi bitmiş karakter programlarını bu kurgu evrenlere aktarıp orada çalıştırmaya devam edebiliriz. yani aslında karakterlerimiz için ölüm sadece biz istersek vardır. yeni kurgu evrenlerimizde onları rahatta ettirebiliriz, rahatsız da.
şu anda bazı arkadaşlar inançlarına saygısızlık ettiğimi düşünüyorlardır. aksine: burada anlatmak istediğim asıl olay; biz bile teknolojimiz sayesinde sanal bir tanrıcılık oyunu oynayabilirken bizden çok daha üstün bir varlığın, bizim sanal olarak yapabildiğimiz şeyi, gerçek olarak yapabilmesi düşüncesinin imkansız olmadığıdır. şimdi tanrı varlığını inkar eden arkadaşlardan tekrar düşünmelerini istiyorum, belki fikirleri değişir.
özet mözet yok amk okyun biraz adam olun