120 likes | 476 Views
Oyun Programlama (Bulanık Mantık). Hazırlayan: Yrd.Doç.Dr. Emin BORANDAĞ. Bulanık Mantık. Tarihsel Geçmişi : Bulanık küme teorisi türetilen 1965 yılında University of California, Berkeley Prof Lotfi Zadeh tarafından geliştiril miştir.
E N D
Oyun Programlama(Bulanık Mantık) Hazırlayan: Yrd.Doç.Dr. Emin BORANDAĞ
Bulanık Mantık • Tarihsel Geçmişi: • Bulanık küme teorisi türetilen • 1965 yılında University of California, Berkeley Prof Lotfi Zadeh tarafından geliştirilmiştir. • Bulanık küme teorisi geleneksel ("net") küme teorisininden farklıdır. • Geleneksel küme teorisi: Bir nesne ya bir dizi ya da aittir. • Bulanık küme teorisi: bir nesne bir dizi "kısmen ait" olabilir • Örnek: Uzun ve Kısa: iki takım insanları sınıflandırmak için • Orta uzunlukta olan biri kısmen o gruba ait olarak sayilır.
Bulanık Küme Üyeleri • Geleneksel Küme Teorisi: Bir nesne dizi üyesidir. • Bulanık Küme Teorisi: Bir nesne kısmen bir dizi üyesidir.
Üyelik Fonksiyonu • Örneğin, Kısa, Orta ve Uzun üç grup için üyelik fonksiyonları tanımlayabilir. Kişinin boyuna göre hangi grupta olacağı belirlenir. • Kimi oyunlarda anlık yapılan yer tespiti gibi. Membership 1.0 Short Medium Tall 0.5 0.0 Height (meters) 1.4 1.5 1.6 1.8 1.9 2.0 1.55
Mantıksal Operatörler • Programlar içerisinde sürekli olarak kullanılan mantıksal operatörlerin doğru ve yerinde kullanılması. Ara değer ve eşittlik değerlerine bakılarak sistemin test edilmesi önemlidir.
Bulanık Mantık Operatörleri • Gelen veriye göre program içerisinde kullanılan mantıksal operatörlerin kullanımları farklı olabilir. • NOT: • AND: • OR:
Kurallar • Örnek olarak mavi olarak tanımlanan bir grupta bulunan bir nesne diğer mavi nesnelerine saldırmaması gerekmektedir. • Diğer nesnelerden biri kırmızıya döndüğünde saldırı yapılacak şekilde kuralın tekrardan tanımlanması gerekmektedir. • Anlık olarak durum kendi ile tutarsız olarak görünsede kendi içinde belli bir bulanık mantık sorusu olarak karşımıza çıkmaktadır. • Burada anlık duruma göre karar değişecektir. Bunun kolay bir şekilde yapılması için bir karar tablosu içeriinde bu kuralların yazıldığı bir tablo oluşturmak yararlı olacaktır.
Bulanık Mantığın Bir Oyuna Uygulanması • Kullanılan Bulanık Mantık Yöntemi ile oyuncunun yapacağı hareketleri belirleyip ona karşı bir karşı duruşun tanımlanması gerkmektedir. • Yanda Hareket İle İlgili Tablo örneği verilmiştir. • Eğer ilk hareket yumruk,İkinci Hareket yumruksa üçüncü hareketin aşağıdan gelen bir tekme olma ihtimali daha çoktur.
Kullanıcıların Hareketlerinin Tahmini • Nasıl Karar Tablosu Oluşuturulacak • İlk ve ikinci Tablo sutununa olası bütün sonuçlar yazılır. • Kullanıcı oyun sırasında yaptığı hareketler kaydedilir. • Örnek olarak kullanıcı yumruk, yüksek tekme hareketlerini yaptıktan sonra yumruk atma ihtimali ve yüksek tekme ihtimali daha fazladır. • Daha önce yaptığı hareketlere bakılarak.
Kullanıcının Hareketini Tahmin Et! • 3. Hamlede hangi hareketi yapacaktır?
Olasılık • Eğer gelecek hareketi bilsek okuncu kanaza bilirmi? • Peki olasılı nasıl belirleyeceğiz! • Örnek: 100 hareketten 30 hareket yumruksa yumruk yani punch yüzdesi P(punch) = 0.3 • Matematik Nerelerde • P(AuB) = P(A) + P(B)– P(AnB) • Son 100 günün; 70 günü hava kapalı ve 35 günü yağmurlu oldu başka hava koşulun da bir günde olmadı! • Kaç gün hem kapalı hemde yağmurlu oldu?