Bilgisayar Oyunları: Yargının Hesaplanması
Hans J. Berliner
Bilgisayar Bilimleri Bölümü
Carnegie Mellon Üniversitesi
Pittsburgh, PA 15213
“Çoğu insan, ilginç oyunlar oynamanın zor olduğu konusunda hemfikirdir; yani bu, zekâ gerektirir.”
Yargının Kullanılması
Bir bilgisayar yargıyı nasıl kullanır?
Aşağıdaki şekilde bazı araştırmalar yaptık:
- Büyük miktarda yargı gerektiren bir oyun olan tavla oynayan bir bilgisayar programı geliştirildi.
- Yargıların hesaplanması için yeni bir yöntem keşfedildi.
- Bu yöntem, Dünya Tavla Şampiyonu ile oynamaya davet edilecek kadar iyi bir program ortaya koydu.
- Çoğu insanın şaşkınlığına, bilgisayar programı kazandı.
İlginç Oyunlar Oynamak
Çoğu insan, ilginç oyunlar oynamanın zor olduğu konusunda hemfikirdir. Yani bu, zekâ gerektirir.
Satranç şampiyonu olan insanlara hayranlık duyarız. Oyunlar, sıradan yaşama kıyasla çok daha iyi tanımlanmıştır. Bir oyunun kuralları değişmez. Dolayısıyla oyun, sınırlı ama yine de oldukça geniş ve zor bir bağlam içinde incelenebilir.
Ayrıca, öğretici literatür, test problemleri ve yarışmalar, ilginç oyunların çoğu için mevcuttur. Tüm bunlar, iyi performans göstermek için zekâ gerektiren ilginç bir alanla ilgilenen ve kabul edilebilir, iyi ve mükemmel olarak neyin sayıldığına dair zaten mevcut standartlara sahip bilgisayar programları geliştirmeyi mümkün kılar.
Bilgisayar Yöntemleri ve İnsanların Oyun Oynama Yöntemleri
Bu özellikler, bilgisayar oyunlarını birçok araştırmacı için cazip inceleme nesneleri haline getirmiştir.
Bir oyunu oynayabilen bir bilgisayar programının, programında oyunun kesin kurallarına erişimi olmalıdır. Bunlar, rakibin yaptığı bir hamlenin yasal olup olmadığını belirlemek için kullanılır.
Programın oynama sırası geldiğinde, kendi etkinliklerini yönlendirmek için oyun kurallarını kullanır (Şekil 1).
Tree searching olarak bilinen bir teknik, oyunun olası bir seyrini izleyen ardışık hamleleri, iyi tanımlanmış bir sona kadar incelemek için devreye sokulabilir (Şekil 2). Bu son genellikle oyunun bitişi değildir; çünkü ilginç oyunların çoğunda bu son, 40 ya da daha fazla hamle uzakta olabilir.
Üstel patlama olarak bilinen olgu nedeniyle, en hızlı bilgisayarların bile tüm hamleleri çok derinlemesine incelemesi imkânsızdır.
Her turda her iki taraf için (örneğin) 35 olası hamle varsa, her taraf için birer hamleyi incelemek 35 × 35 = 1.225 son duruma bakmayı gerektirir. Her taraf için iki hamleyi incelemek 1,5 milyon son duruma yol açar ve her taraf için 10 hamleyi incelemek 30 basamaklı bir sayı üretir.
Dolayısıyla, gelişmiş bir oyunu düzgün biçimde oynamak, aramanın bir ölçüde denetlenmesini ve aramayı yönlendirecek ve alternatifleri değerlendirecek bir miktar bilgi gerektirir.
Arama Yoğun ve Bilgi Yoğun
Aramayı olabildiğince verimli hale getirmek için bu doğrultuda çok şey başarılmıştır. Deneysel olarak, belirli miktarda aramanın belirli miktarda bilginin yerine geçebileceği gösterilmiştir.
İnsanlar, çok bilgi yoğun olma eğilimindedir ve sorunları, genellikle sorunların benzerliğini fark etme yeteneğine dayalı bir yanıt üretecek olan geniş deneyim birikimlerine başvurarak çözerler. Bu başarısız olursa, sorunun doğasını daha net hale getirmek için az miktarda arama yapılır. Bu ek incelemelerden sonra insanlar genellikle bir yanıt üretebildiklerini görürler.
Bilgi Odaklı Programlar
Oyun oynayan programların aramaya bu kadar yoğun biçimde dayanmasının nedenlerinden biri, bu tekniğin çalışır hale getirilmiş olmasıdır; buna karşılık bilgi ve yargı kullanımını içeren tekniklerin, büyük ve karmaşık bir alanda uygulanmasının şimdiye kadar son derece zor olduğu görülmüştür.
Genel kamuoyu, bir bilgisayarın yargı yapmasının; yani çok sayıda alternatifi inceleyip “en iyi” olanı seçmesinin imkânsız olduğuna kesin olarak inanır. Güzellik yarışmalarındaki değerlendirmelerin de gösterdiği gibi, insanlar bile neyin en iyi olduğu konusunda anlaşmazlık yaşar.
Bununla birlikte, çoğu insan makinelerin asla bu tür şeyleri yapamayacağını düşünme eğilimindedir. Bunun bir nedeni, böyle makinelerin henüz var olmamış olmasıdır; bir diğer neden ise makinelerin siyah-beyazla başa çıkabilen, ama gri tonlarla zorlanan ya hep ya hiç biçiminde çalıştıklarının genel olarak düşünülmesidir.
Bu, güncel araştırmaların gösterdiği üzere, hatalı bir görüştür.
Gerçek Dünya Bilgisinin Temsili
Dünya, birçok yönüyle sürekli bir yerdir. Ancak süreklilik, bir süreklilik boyunca 10, 50 ya da hatta yüzlerce veri noktası yerleştiren yarı-süreklilik ile istenen herhangi bir doğruluk derecesine yaklaştırılabilir.
Verilerimizi bu şekilde sunmak istersek, gözetilmesi gereken bazı uyarılar vardır.
Bilgiyi Kurallar Kümesiyle Temsil Etmek
Yapay Zekâ alanındaki sözde uzman sistemlerde bilginin temsil edilmesinin olağan yolu, bir kurallar kümesidir.
Bir kural A → B biçimindedir: “Eğer A doğruysa, o zaman B’yi yap (ya da B’yi çıkar).” Bu tür kurallardan, öncül koşullar kümesinden yola çıkarak çok karmaşık koşullar ya da eylemler üretmek mümkündür.
Bilgiyi Bir Fonksiyonla Temsil Etmek
Bilgiyi temsil etmenin bir başka yöntemi de matematiksel fonksiyonlar biçimindedir.
- A = 2B, her yerde A’nın, B’nin sahip olduğu değerin iki katına sahip olduğunu söyler.
- A = C/B (C’nin bir sabit olduğu durumda), A’nın B ile ters orantılı olarak değiştiğini söyler.
Birçok başka temel işlev türü de mümkündür ve belirli türdeki bilgiler için bunlar, kurallar biçimindeki bilgiye kıyasla temel alanı temsil etmekte daha uygundur.
Örneğin, “Hava ne kadar sıcaksa, giymeniz gereken giysiler o kadar hafif olmalıdır” kuralı, çeşitli olası sıcaklıklar ve çeşitli giysi türleriyle ilgili bir dizi kuraldan ziyade, bir fonksiyon biçiminde çok daha iyi temsil edilir.
Fonksiyon Bilgisinin İnce Noktaları
A = 2B fonksiyonuna doğrusal polinom denir. Bu, bilgiyi kodlamak için çok elverişli bir yoldur; ancak, bu bilgi temsil biçimini kullanmaya yönelik önceki girişimlerdeki başarısızlığını açıklayan bazı ciddi sınırlamalara sahiptir.
A portakalların fiyatını, B ise elmaların fiyatını temsil ediyorsa, denklem “portakallar elmalardan iki kat daha değerlidir” ifadesini dile getirir. Ancak bu ilişki ne kadar geçerli görünürse görünsün, portakal bolluğu sırasında olduğu gibi, tamamen yanlış olduğu zamanlar vardır.
Gerçek bir uzman, yukarıdaki kuralın yalnızca bir ilk yaklaşım olduğunu ve durumu denetleyen başka etkiler bulunabileceğini bilir. Bir bolluk durumunda, fiyat oranı elma ve portakalların göreli sayısından etkilenir.
Genel olarak, bir manav deposundaki malların değerini hesaplamak isteseydi, aşağıdaki doğrusal polinom bu işi görürdü:
Değer = C₁F₁ + C₂F₂ + C₃F₃ + … + CₙFₙ
Burada C’ler, bir ürünün fiyatını temsil eden sabitlerdir; F’ler ise her kategorideki ürün sayılarıdır.
Aynı şekilde, bir oyun pozisyonu (ya da başka herhangi bir durum), bileşenlerinin değerleri toplanarak değerlendirilebilir. Yaygın bir klişe, bütünün parçalarının toplamına eşit olmadığı yönündedir. Ancak yukarıdakilerde, her terimin mutlaka bir parçayı temsil etmesi gerektiğine dair hiçbir şey yoktur.
Elmaları, portakalları ve ayrıca meyveleri de toplayabiliriz. Mevcut elma ve portakalların göreli sayısını hesaba katmamak yanlış bir tabloya yol açabilir ve bu da bazı düzeltici önlemler gerektirir.
Bu tür zorluklar, insanları iyi yargılarda bulunabildiklerine ve makinelerin bunu asla yapamayacağına inanmaya yöneltir.
Yeni Bir Yaklaşım
Backgammon üzerine araştırmalarıma başladığımda karşılaştığım durum buydu. Backgammon seçildi; çünkü iyi oynayabilmek için esas olarak büyük ölçüde yargı gerektirir; oysa satranç gibi oyunlar, yargının yanı sıra çok sayıda olasılığın hesaplanmasını da gerektirir.
Araştırmalarımın sonucu, iyi yargılarda bulunabilmek için bilginin doğrusal olmayan fonksiyonlar kullanılarak temsil edilmesinin gerekli olduğunu ikna edici biçimde gösterdi.
Bu tür bir fonksiyonun en basit biçimi şudur:
Değer = C₁A₁F₁ + C₂A₂F₂ + … + CₙAₙFₙ
Bazı uyarılara dikkat edildiği sürece bunun gayet iyi çalıştığı görülür. Temel olarak, fonksiyonlar şu özelliklere sahip olmalıdır:
- Düzgün
- Doğrusal olmayan
- Değişkenliği düşük
Her terimde iki değişken bulunduğundan, bunlardan birinin yavaş değişmesi gerekir. Bu tür değişkenlere Uygulama Katsayıları adını veriyoruz.
Düzgün, doğrusal olmayan ve Uygulama Katsayılarına sahip fonksiyonlara SNAC fonksiyonları denir.
Smooth, Non-linear ve Application Coefficients ifadelerinden SNAG kısaltmasını elde ederiz. SNAG fonksiyonları iyi yargılar üretir.
Bir paltonun yararlılığını değerlendirmek isteseydik, yalnızca fiyatını (C) bilmek istemezdik; bu, aynı miktar parayla alternatif olarak ne satın alabileceğimizi gösterir. Ayrıca, paltoyu ekvatordan ne kadar uzakta kullanacağımızı da bilmek isterdik. Bu, kuzeye ya da güneye doğru ilerledikçe yavaş değişen, ancak paltonun yararlılığına dair çok net bir gösterge sunan Uygulama Katsayısıdır.
Ustalıkla yapılandırılmış SNAG fonksiyonlarının ortaya çıkardığı etki son derece çarpıcı olabilir. Şekil 3’te, backgammon programımın Dünya Şampiyonu ile yaptığı maçta oynadığı bir hamle gösterilmektedir.
Backgammon meraklıları için, Siyah 5–1 atmıştı. Burada program, son derece alışılmadık ama doğru olan 13–8, 3–2 hamlesini yaptı. Ek taşların kırılarak eve gönderilmesine maruz kalmayı dert etmediğini fark etti; çünkü zaten iyi bir savunma pozisyonuna sahipti ve bir süre savunmaya bağlı kalmış durumdaydı.
Bu nedenle, gözü kara bir şekilde oynadı ve bunun kendisine kazanmak için iki şans verdiğine hükmetti: ya vahşi saldırı başarılı olacaktı ya da saldırı başarısız olursa daha da güçlenecek olan savunma başarılı olacaktı. İki şans, bir şanstan iyidir.
Bu son derece hayal gücü yüksek hamlenin yanı sıra, program daha alışılmış durumlarda da istikrarlı oynadı; bu da uygulama katsayılarının ne zaman risk alınacağını ve ne zaman alınmayacağını denetlediğini gösterdi.
Deneysel Sonuçlar
Bilginin düzenlenmesine yönelik SNAG yöntemini keşfetmeden önce ve sonra backgammon programımızla yapılan çeşitli deneylerin sonuçları Şekil 4’te gösterilmektedir.
Programın her iki sürümünde de esasen aynı bilgi bulunuyordu; ancak değerlendirmeyi üreten fonksiyonların düzenlenişi kökten farklıydı.
SNAG ile programın; bir dizi test probleminde, diğer bilgisayar programlarına karşı, insan oyunculara karşı turnuva maçlarında ve eski programa karşı çok daha iyi performans gösterdiği görülmektedir.
Bu testlerin doruk noktası, BKG 9.8 adlı bilgisayar programının, özel olarak düzenlenmiş bir gösteri maçında insan Dünya Backgammon Şampiyonu’nu 7–1’lik skorla yenmesi oldu; bu, backgammon gibi entelektüel bir etkinlikte bir Dünya Şampiyonu’nun ilk kez bir makineye yenilmesiydi.
Gelecek İçin Çıkarımlar
Bu çalışmadan çıkan en önemli sonuç, bir makinenin ilk kez bir Dünya Şampiyonu’nu kendi oyununda yenmiş olması gerçeği değildir.
Bunun yerine, yargının özünü yakalamaya yönelik bir yöntemin gösterilmesidir. Bu kanıt, görece iyi tanımlanmamış, bulanık durumlarla başa çıkabilmeleri için makinelerin kullanılmasına olanak tanıyacak biçimde, bugün birçok alanda kullanılabilir.
Genel olarak, yukarıdaki denklemlerdeki F’ler, problem ortamında var olan belirli bir türdeki öğelerin sayısı olarak görülebilir. F’ler portakal ya da palto sayısı olabilir ya da …
(lütfen 31. sayfaya bakınız)
kırmızı boya miktarı ya da daha karmaşık olarak büyük bir şehir merkezinin 2 mil çevresinde yaşayan 3 çocuklu ailelerin sayısı. F’ler, problem durumundaki her bir Fi’nin birim maliyetini veya değerini temsil eder. Son olarak Ai’ler, mevcut durum hakkında belirli küresel bilgiler verildiğinde i teriminin önemini temsil eder.
Bir Öğretim Ortamı
Bu tür bir yapının bir öğretim ortamına kolaylıkla uyum sağladığı görülebilir. Hatalar şu nedenlerle yapılabilir:
- Bir Fi’nin veya değişkenin problemin önemli bir yönü olarak tanınmaması.
- Her bir Fi’nin, problemdeki diğer F’lere veya değişkenlere göre göreli öneminin tanınmaması. Bu, C’lerin katkısıdır.
- Küresel bağlamın, çevrenin, ortamın veya durumun Fi’nin faydasını nasıl artırıp azalttığının anlaşılmaması. Bu, A’ların katkısıdır.