Bundan yaklaşık 10 yıl evvel soğuk çay üreticisi Lipton, Türkiye’de çok ses getiren bir kampanyaya imza attı: Her Şeyi Bilen Kadın. Bir hanımefendi, aklınızdan rastgele bir şey tutmanızı istiyor ve size birkaç soru soruyordu. Bu sorular git gide sizin aklınızda tuttuğunuz objeye nazaran şekilleniyor, sonunda da çok yüksek ihtimalle yanlışsız karşılığı biliyordu.
Daha sonrasında farklı haller alan oyun, Lipton tarafından da bırakılmadı ve Lipton Akıllı Çay Bardağı oyununa dönüştü. Bu uygulamanın mantığı ise Her Şeyi Bilen Bayan ile birebir tıpkı. Ancak bütün bunların bir atası var: Akinatör.
Kısaca söyleyecek olursak Akinatör bir kişi ya da karakter üzerine, Akıllı Çay Bardağı ise neredeye tüm genel geçer kavramlar üzerine akıl okumayı sağlayan bir programlamayla oluşturulmuş durumda. Aslında temalar değişse de hepsi misal çalışma mantığına sahip.
Akıllı Çay Bardağı nasıl oynanır?
Aslında oyunu oynamak epeyce kolay, çünkü bu biçim oyunların hepsinin mantığı neredeyse büsbütün tıpkı. Karşınıza çıkan karakter -bu durumda bir çay bardağı ya da bir kadın- sizden aklınızdan bir şey, bir obje tutmanızı istiyor. Lakin herkesin bilebileceği tarzda bir “şey” olmak zorunda. Ayşe üzere Mehmet üzere bir özel isim; ya da Bayburt üzere Berlin gibi kent ismi olmamalı.
Ardından Akıllı Çay Bardağı, size toplam 20 adet soru soracağını ve sonunda aklından tuttuğunuz şeyi bulacağını söylüyor. Sorular karşınıza geldikçe “Evet, Hayır, Emin değilim” seçeneklerinden bir adedini seçiyorsunuz. Vakit geçtikçe sorular sizin aklından tuttuğunuz objeye nazaran şekillenmeye başlıyor. Sonunda da bir bakmışsınız akıllı bardak aklınızdan geçeni bilmiş. Nasıl olduğunu anlatmadan evvel, birkaç bilgi daha verelim.
Akıllı Çay Bardağı gibisi iddia oyunları:
- Akinatör
- 20q
- Guess The Dictator/Sit-Com Character
Akıllı Çay Bardağı oynayınca aklımız nasıl okunuyor?
Şimdiden spoiler verelim, Akıllı Çay Bardağı ve gibisi oyunlar aklımızı falan okumuyor. Büsbütün güzelce tasarlanmış bir yazılımdan ibaretler. Bunu da seçenekleri eleyerek yapıyorlar. Akinatör mantığını anlamamız için, yazılım dünyasında sıkça rastlanan ve kullanan Binary search (ikili arama) ya da Binary Tree (İkili Ağaç) kavramlarını açıklamamız gerek.
Peki nedir bu aklımızın okunmasını sağlayan Binary Tree?
Her bir kesimin yalnızca iki adet “çocuğu” olan ağaç sistemlerine Binary Tree denir. Bu sistem ise yinelemeli (recursive) biçimde devam eder. Bu durumda sıfırınca katmanda 1, birinci katmanda 2, ikinci katmanda 4, üçüncü katmanda 8; hülasa n’inci katmanda 2^n kadar düğüm (node) bulunur.
Akıllı Çay Bardağı oyunundaki mantık da büsbütün Binary Tree’den ibaret.
Uygulama, size 20 soru sorarak (2^20 = 1.048.576) 1 milyondan fazla farklı karşılığı birkaç seçeneğe düşürebiliyor. Başınızda canlandıracak olursanız, birinci sorunun karşılığıyla birlikte tüm seçeneklerin yarısı eleniyor. Size birinci düğümün bir çocuğunu, verdiğiniz yanıta nazaran silmiş oluyorsunuz. Böylelikle 1 milyon seçenek, yalnızca 20 soruyla çabucak elenmiş oluyor.
Yani aslında burada asıl süreç, çok fazla olan dataları en kısa formda azaltmak. Her ne kadar yazılım dünyasında farklı sıralama ve eleme formülleri olsa da ikili sistem bunların en verimlilerinden.
Akıllı Çay Bardağı’nın sorduğu her soru, kendi veritabanında (database) hazır olarak bulunan sorulardan. Bununla birlikte emsal biçimde Akıllı Çay Bardağı’nın yazılımı, her bir soru için bir hakikat olduğu yanıtları (nesneler) da veritabanında tutuyor. Yani N adet kestirimi obje ve M adet de soru varsa, Akıllı Çay Bardağı nın veritabanında sakladığı N*M kadar yanıt var. Her şey bu kadar kolay.
Tamam da her şey yarı yarıya azalarak gidiyorsa sorularda neden üçüncü bir seçenek var?
Yukarıda eleme sistemi kullanıldığını ve her seferinde yanıtların yarısının gittiğinden bahsetmiştik. Lakin oyunu açtığınızda görebileceğiniz üzere, bir tanesi Emin Değilim olmak üzere üç farklı cevap bahtınız var. Yalnızca Evet/Hayır karşılıkları olsaydı işlevlerin döndürdüğü kıymet (yani cevap) boolean (kısaca 1 yahut 0) olacaktı ve süreç daha da kolaylaşacaktı. Pekala durum böyleyken, yazılım bunu nasıl kıymetlendiriyor?
Yazılımın “boolean” yani evet ya da hayır dışında üçüncü seçenek sunmasının birkaç avantajı var. Öncelikle her bir karşılığın her bir obje için hakikat olması gerekmiyor. Böylece daha yakın olanları da seçme imkanı doğuyor. İkincisi, beşerler tıpkı obje için uzlaşamayıp farklı yanıtları verebilirler. Üçüncü bir seçeneğin olması ise programın gerçek yanıta yaklaşmasında esneklik sağlıyor.
Akıllı Çay Bardağı tam olarak bir yapay zekâ değil, aslında hiç değil? Pekala o vakit ne?
Normal koşullar altında, bu türlü bir program cümbüş maksatlı yazılmayıp bilimsel araştırmalarda kullanılsaydı işin içerisine derin öğrenme ve yapay zeka da girecek, program kullanıcıların girdiği dataları vakit içerisinde daha uygun tahlil edip hakikat sonuçları daha kesin olarak verecekti. Ama Lipton’un yalnızca bir cümbüş hedefi güderek oluşturduğu Akıllı Çay Bardağı’nda bu yolun kullanılmadığına eminiz.
Uygulamanın birtakım vakitlerde büsbütün alakasız karşılıklar vermesinin temel sebebi de öğrenme sürecinin gerçekleşmiyor oluşu. Tekrar Binary Tree örneğinden gidecek olursak, başta verilen yanlış bir karar binlerce seçeneği tek seferde eleyeceği için aklından tuttuğunuz objenin çıkmama mümkünlüğü da azımsanabilecek şekilde değil.
Akıllı Çay Bardağı dışındaki öteki oyunlarda durum epey farklı:
Akıllı Çay Bardağı’nın öbür örneklerine baktığımızda ise makine öğrenmesinin kullanıldığını görüyoruz. Üstte ismini zikrettiğimiz 20q.net sitesi, online olduğu üzere daima yenilenen bir veritabanı yapısına sahip.
Benzer biçimde tüm bu oyunların atası olan Akinatör de doğru tahmin edeceği insan sayısını birebir mantık ile birlikte, daima artırıp daha gerçek hale getiriyor. Yani 10 yıl evvel yazıldığı için yalnızca 10 yıl öncenin ünlülerini karşınıza çıkarmıyor; yeni ünlü isimleri de sisteme dahil ediyor.
Sonuç olarak… Aslında her şey makul kullanılan yazılımlardan ibaret ve sistem, düşündüğünüzden daha kolay:
Bilgisayar Mühendisliği usulü bir kısım okuduysanız ya da okumayı düşünüyorsanız, birinci sınıfta bahsedilen bahislerden birisinin sıralama prosedürleri ve verimlilikleri olduğunu anımsayacaksınız. En efektif yollardan birisi olan Binary Search Tree de rastgele bir data kümesinin taranıp sıralamasından tutun, RAM’lerin çalışma yapısına kadar birçok alanda kullanılıyor. Elbette bu usul eğlenceli ve bir o kadar da hayranlık uyandırıcı oyun ve uygulamaları kolay bir halde oluşturma işine de yarıyor.