Dağıtımlı bir sıra tabanlı oyun yapay zekâsının geliştirilmesi

advertisement
EK-11
ANKARA ÜNİVERSİTESİ
BİLİMSEL ARAŞTIRMA PROJESİ KESİN RAPORU
Dağıtımlı bir sıra tabanlı oyun yapay zekâsının geliştirilmesi
Proje yürütücüsü:
Yardımcı araştırmacı:
Yrd. Doç. Dr. Şahin Emrah
Doç.Dr. İman Askerbeyli
Yrd.Doç.Dr. Ayşe Karaman
Öğr.Gör. Bülent Tuğrul
Arş.Gör. Yılmaz Ar
Proje Numarası: 08A4343001
Başlama Tarihi: 20/06/2008
Bitiş Tarihi:
20/12/2009
Rapor Tarihi
17/02/2010
Ankara Üniversitesi Bilimsel Araştırma Projeleri
Ankara - 2010
I.
Dağıtımlı bir sıra tabanlı oyun yapay zekâsının geliştirilmesi
Özet
Yapay Zekâ (YZ) makinelere düşünmeyi kazandırmayı hedefleyen bilim dalıdır.
Oyun Yapay Zekâsı(OYZ) ise makinelere oyun oynamayı öğretmeyi hedefleyen
bilim dalıdır.
Projede Modern Yapay Zekânın(YZ) temel modelleri, akıllı sistemlerin teorik
altyapısı ve pratik örnekleri araştırılıştır. Yapay zekânın tarihi, günümüzde geldiği
nokta ve bundan sonraki olası gelişme süreci anlatılmıştır. Bunun yanı sıra Oyun
Yapay Zekâsının( OYZ) tarihi, gelişimi ve teorisi incelenmiş, domino oyunu için
bilgisayarda uygulanmıştır. Domino oyunu, bilindiği üzere 2 kişi veya 4 kişi
tarafından oynanan eski bir oyundur. Projede 2 oyuncudan birinin bilgisayar olduğu
tam olarak kodlaştırılmış ve uygulanmıştır. 4 oyuncu varken bilgisayarlar bir ağla
birleştirilmiş, oyunculardan birinin veya bir kaçının makine olacağı durumun teorik
altyapısı incelenmiştir. Bunun için bulanık mantık kullanılmış, karşıya çıkan teorik
sorular için çözüm yöntemi üretilmiş ve bu yöntem 2009 Ekim TOBB ETÜ de
gerçekleştirilen 1. Uluslar arası Fuzzy Sistemler konferansında sunulmuştur.
Development of Artificial Intelligence for a Distributed Turn-based Game.
Abstract
Artificial Intelligence(AI) is a branch of science that aims to make machines 'think'.
Game Articicial Intelligence(GAI), in particular, is the science of teaching machines how to
play games. In this project, the fundamentals models of AI, and the theoretical foundations
and the practical examples of intelligent systems were investigated. The past, the current and
prospective states of AI were discussed. In addition, the theory of GAI was applied on the
dominos game. Dominos is a well-known old game played with 2 or 4 players. The version
of the game with two players (one being controlled by the computer) on a single machine
has been fully developed as software. For four players (one or more artificial players ) with
network support, the game has been designed and is still at development stage. Fuzzy logic
was used to resolve some theoretical problems that arose in the design. The methodology
was presented at the 1st International Fuzzy Systems Conference at TOBB ETÜ in October
2009.
II.Amaç ve kapsam
Projenin amacı bir veya ağla bağlı birkaç bilgisayara, sıra tabanlı bir
oyunu
(domino oyununu) “düşünerek” oynamayı öğretebilen yöntemleri
araştırmak ve domino oyunun bilgisayar kodunu yazmaktır. Bu amaçla Microsoft
XNA teknolojisi kullanılmıştır. Bu teknoloji Microsoft tarafından bilgisayar
oyunlarını geliştirmek ve yönetmek için üretilmiştir.
III.Materyal ve Yöntem
A.
Zekâ ve Yapay zekâ( YZ)
Zekâ, bir problemle karşılaştığımızda o problem için çözüm üretebilmemizi
sağlayabilen bir yetenektir. Problem denince akla mutlaka zor bir soru gelmemelidir,
örneğin, su içebilmek için kapalı bir musluğu açmak da basit de olsa bir zekâ işidir.
Bu tür bir davranışı en akıllı sayabileceğimiz hayvanlardan bile beklememiz çok
zordur. Aslında modern tıp halen düşünmenin ne olduğunu, nasıl gerçekleştiğini
çözememiştir.
Dolayısıyla insan zekâsının tam olarak ne olduğunu, nasıl ölçülebileceğini
bilmiyoruz ama bunu bilmememiz günlük hayatımızda karşımıza çıkan yüzlerle
problemi çözebilmemiz için engel değil. Hayatımızı kolaylaştırabilen araçlar (araba,
telefon, televizyon, bilgisayar) icat ediyoruz, bu araçları kullanabiliyoruz. Bazen
satranç, dama, okey veya bilgisayarlardaki strateji oyunları gibi oyunlar oynuyoruz
ve kazanmaya çalışıyoruz.
Acaba bu işleri makineler de yapabilir mi?
50 yıldan fazladır birçok bilim
adamını düşündüren sorulardan biri de şudur: Makineler de insanlar gibi
düşünebilirler mi?
Makinenin düşünebilme yeteneğine yapay zekâ denebilir.
Yapay zeka üzerine ilk çalışma olarak 1943 yılında McCulloch ve Pitts tarafından
yapılmış “Beynin Boole cebiri ile modellenmesi” çalışması gösterilmektedir.
Yapay zekâ kavramı ise bilim adamları tarafından 1956 yılında Dartmouth
toplantısında kabul edilmiştir.
1950 lerden 1970 lere kadar olan dönem yapay zekâ konusunda büyük beklentilerin
oluştuğu dönemdir. 1950 lerde ilk YZ programları yapılmıştır.1965 de Robunson
mantıksal sonuç çıkarma algoritmasını bulmuştur.
1960 ların sonu-1970 lerin başında YZ oluşturabilmenin varsayılandan çok daha
zor bir iş olduğu fark ediliyor ve yapay sinir ağları çalışmalarından vazgeçiliyor.
1970 lerin sonuna doğru bilgi tabanlı sistemlerin geliştirilmesiyle Yapay Zeka bir
endüstri haline geliyor, 1986 da Yapay sinir ağları çalışmalarına yeniden başlanıyor.
1987 de Yapay Zeka bir bilim dalı olarak ortaya çıkıyor.
1995 de akıllı sistem uygulamaları, 2000 lerde YZ kullanan robotlar hayatımıza
giriyor.
Yapay zekâda 2 temel yaklaşım vardır:
-Kuvvetli yapay zekâ
Makinelerin düşünerek davranış sergilemesi
-Zayıf yapay zekâ
Makinelerin düşünmeden akıllı davranışta bulunması
Yapay zekâda 4 temel model vardır:
-İnsan gibi düşünen sistemler
Bu tür modellerde insan beyninin çalışması modellenmektedir.
-İnsan gibi davranan modeller
Bu tür modellerde insan gibi konuşabilir, insan gibi hareket eder
-Rasyonel düşünen sistemler
Bu modeller mantıksal çıkarımlar yapabiliyorlar
-Rasyonel davranan sistemler
Bu modeller bir problemle karşılaştıklarında en uygun davranışı sergileyen
modellerdir
B. Oyun yapay zekâsı
Klasik oyunlar her zaman yapay zekâ araştırmacılarının araştırma konusu olmuştur.
Bu tür modellerde genellikle arama ağaçları kullanılmaktadır.
Örnek olarak, aşağıdaki oyunları gösterelim:
1. Japonların favori oyunu olan Go oyunu
Go oynayan YZ geliştirilmiştir ama iyi oynayan bir Go ustasını yenemeyecek bir YZ
dir.
2. Satranç oyunu
Satranç oynayan birçok YZ vardır. IBM Deep Blue 1997’de dünya satranç
şampiyonu Gary Kasparov’u yenmiş olsa da halen de mükemmel bir satranç YZ nin
var olduğunu söylemek için henüz erkendir. Ticari satranç programlarının büyük bir
kısmı yinelemeli arama ağaçlarını ve iyi oyuncuların oyunlarını kullanmaktadırlar.
3. Poker oyunu
Poker oynayan YZ nın eksiği blöf olayıdır. İnsanların kolaylıkla yapabildiği
blöfü makineler yapamamaktadır.
Günümüzde var olan yüksek teknoloji bilgisayar oyunlarını hızlı bir biçimde
geliştirmektedir. Yalnız artık sadece görsellik üzerine gelişme yeterli
olmamaktadır. Oyunların kalitesini artık kullanılan YZ ler belirlemektedir. Bu
nedenle de firmalar YZ geliştirilmesine de para harcamak zorundalar. Buna
rağmen yine de bu konuda şöyle bir çelişki vardır. Aslında YZ konusunda
akademik araştırmalar, yani oyunların teorik altyapısı, şu anda var olan ticari
oyunların YZ sına göre çok da ileri konumdadır. Bunun nedeni olarak,
yapay zekaya ayrılan kaynak azlığını;
sinir ağlarına şüphe ile yaklaşılmasını;
geliştirme sürelerinin azlığı;
ileri YZ tekniklerinin kolay anlaşılabilir olmamasını gösterebiliriz.
Oyunlarda kullanılan YZ teknikleri aşağıdakilerdir:
Sonlu Durum Makineleri
Bulanık Durum Makineleri
Genetik Algoritmalar
Yapay Yaşam
Yapay Sinir Ağları
Birim Davranışları
C.
XNA 2D ve XNA koordinat sistemi
Oyunun görselliği için XNA 2D platformu kullanılmıştır.
Sol üst nokta XNA
koordinat siteminde orijine denk gelmektedir. X ekseni orijinden sağa doğru çıkan
bir ışındır. Y ekseni ise orijinden aşağıya doğru çıkan bir ışındır.
(0,0)
(0,768)
(1024,0)
D. Domino oyunu
Oyunda 28 tane taş vardır. Her taş çizgiyle ayrılan 2 kareden oluşmakta ve her
karede 1 den 6 ya kadar olan (1 ve 6 dahil olmak üzere) sayılardan biri noktalarla
aşağıdaki gibi yazılmıştır.
0 sayısı
1 sayısı
*
2 sayısı
*
*
3 sayısı
*
*
*
4 sayısı
*
*
*
*
*
*
5 sayısı
*
*
*
*
*
*
*
*
*
6 sayısı
olarak yazılmıştır.
İki kişilik oyun. İlk seferinde her oyuncu 7 taş alıyor. Oyun sıra ile oynanıyor.
Sırası gelen oyuncu bu taşlardan birini açarak diğer taşlarla zincir oluşturacak
biçimde masanın üzerine koyuyor. Zincir aynı değerdeki karelerin uç uça gelmesiyle
oluşmaktadır. Sırası geldiğinde hamle yapamayan oyuncu dağıtılmayan 14 taştan
ikisini alıyor. Taşlarını ilk bitiren oyuncu, rakibinin elinde kalan taşların içeriklerinin
toplamı kadar kazanıyor.
Dört kişilik oyun. Tüm taşlar bir masa etrafında oturan 4 kişi arasında eşit
paylaştırılıyor. Karşılıklı oturan kişiler bu oyunda ortak oluyorlar. Oyuncular
yine de taşları sırayla masaya masadaki taşlarla uç uca zincir oluşturacak biçimde
bırakıyorlar. Sırası geldiğinde uygun taşı olmayan sırasını kaybediyor.
Ortaklardan biri taşlarının tümünü masaya bıraktığında oyunu kazanıyorlar ve
kazançları rakiplerinin elinde kalan taşların içeriklerinin toplamı kadar oluyor.
Bir oyuncunun taşları bitmeden hiçbir oyuncunun koyacak taşı kalmazsa bu defa
tüm eller açılıyor ve elinde toplam içeriği en az olan ortaklar rakiplerinin
ellerinde kalan taşların toplam içeriği kadar kazanıyorlar.
Domino oyunu, satranç oyunu kadar olmasa da bir zeka oyunudur ama aynı
zamanda satrançtan farklı olarak belirsizlikler içermektedir. Oyuncu hamle
yaparken kendi elindeki ve yerdeki taşları görüyor. Bunun dışında oyuncu
yerdeki taşların hangisinin kimin koyduğunu aklında tutarak bu bilgiyle ortağının
ve rakiplerinin ellerindeki taşları tahmin etmek zorundadır. Bu da oyuna bir
belirsiklik katmaktadır. Belirsizlikler 3 farklı yöntemle modellenebilirler. 1.
Rastlantısal olarak, yani olasılık teorisinin yardımıyla 2. Bulanık manıkla 3.
Aralılar teorsisinin yardımıyla
Bu projede biz bulanık mantık kullandık.
IV. Analiz ve Bulgular
A.Teorik alt yapı çalışması
Oyunda YZ belli bir anlamda en iyisini seçebilmek zorundadır. Belirsizlik ortamında
en iyinin ne olduğunu tanımlamak gerekmektedir. Domino öyle bir oyundur ki bu
oyunu en iyi oynayabilen bir insanın da kazanmasını garantileyebilmesi zordur.
Oyunun sonucu insanın bu oyunu nasıl oynaması dışında taşların dağılımını da
bağlıdır. Dolayısıyla bir belirsizlik vardır. Belirsizliğin modellenmesi için bulanık
mantık seçilmesinin nedeni şudur: Olasılık teorisi kullanılmış olsaydı en iyi durumda
gelen taşarın durumunda oyuncunun kazanması olasılığını hesaplayabilirdik veya
ortalama kazancı bulmuş olurduk. Oysaki bizim amacımız YZ yaratmaktı yani
belirsizlik ortamında bilgisayarın karar verebilmesini sağlamaktı. Başka bir deyimle
bilgisayarın aynen bir insan gibi davranmasını sağlamaya çalıştık. Belirsizlik
ortamında karar vermeye çalışan insan da kendisi için en iyisini seçmeye çalışıyor
ama ne yazık ki en iyinin ne olduğunu tam olarak bilemiyor. Bu çalışmalar bizi
bulanık fonksiyonların tanımına, sürekliliğine ve özellikle çok değişkenli bulanık
fonksiyonların analizine çıkardı. Bulanık kümeler teorisi ilk defa Zadeh tarafından
1965 de ortaya atılmış, bu gün çok popüler bir teori olsa da ilk yıllar bilim insanları
tarafından fazla rağbet görmemiştir. Teknolojinin gelişmesi ile bulanık mantık
belirsizliklerin modellenmesi için daha çok kullanılmaya başlamıştır ama her model
matematik altyapı gerektirmektedir. Ne yazık ki bulanık kümeler teorisinin
uygulamada olduğu kadar oturuşmuş bir matematiksel teorisi bulunmamaktadır.
Projede bu altyapı üzerine araştırmalar yapılmıştır. Araştırma sonuçlarından biri olan
“A novel approach to definition of fuzzy functions” makalesi Communications
dergisinde yayın için kabul edilmiştir.[10]
B. Bulanık koordinatlar
Bulanık sayıların en populeri üçgensel bulanık sayılardır. Bu sayılar, ∆ = ( a, b, c) ile
gösterilir ve bu sayıların üyelik fonksiyonları aşağıdaki gibi tanımlanır:
x−a
 b − a , a ≤ x ≤ b
µ ( x) = 
x−c , b ≤ x ≤ c
 b − c
Burada b ≠ a, b ≠ c .
a reel sayısını ( a, a, a ) üçgensel bulanık sayı olarak düşünebiliriz.
Verilen α ∈ [0, 1] olabilirliği için ∆ = ( a, b, c) üçgensel sayısının α kesiti sırasıyla
∆ L (α ) = a + α (b − a ) ve ∆ R (α ) = c + α (b − c) ile hesaplanır.
Tanım1. ∆ = ( a, b, c) üçgensel sayısı verilmiş olsun. ∆ cr = b sayısına ∆ sayısının
kesin kısmı denir.
Aşağıdaki tanımlarda ∆1 = (a, b, c) ve ∆ 2 = (d , e, f ) üçgensel bulanık sayılardır.
Tanım2. ∆1 = ∆ 2 olması için ancak ve ancak a = d , c = f , b = e olmalıdır.
Tanım3. ∆1 + ∆ 2 = (a + d , b + e, c + f )
Tanım 4.
(ka, kb, kc), k ≥ 0
k ∆1 = 
(kc, kb, ka), k < 0
Tanım 5. ∆1 − ∆ 2 = ∆1 + (−1)∆ 2
Tanım 6. D ve F bulanık kümeler olsun. µ D (x) ve µ F (x) sırasıyla D ve
üyelik
fonksiyonları
F kümelerinin
olsu G = {( x, y ) x ∈ D, y ∈ F , µG ( x, y ) = min( µ D ( x ), µ F ( y ))} kümesine
D ve F
kümelerinin kartezyen çarpımı denir ve G = D × F ile gösterilir.
∆ x = (ax , bx , cx ) ve
Köşeleri
∆ y = (a y , by , c y ) bulanık üçgensel sayılar verilmiş olsun.
A1 ( ax , a y ) , A2 ( ax , c y ) , A3 (cx , c y ) , A4 (cx , a y ) olan A1 A2 A3 A4 dikdörtgeni
XY koordinat sisteminde ,
∆ x = (ax , bx , cx ) ve ∆ y = (a y , by , c y ) bulanık sayılar
ikilisini ifade etmektedir. Bu dikdörtgenin B (bx , by ) noktası, derecesi 1 olan noktaya
karşılık gelmektedir. B (bx , by ) noktasına A1 A2 A3 A4 dikdörtgeninin kesin merkezi
diyelim
ve
S ( B)
ile
gösterelim.
XY
koordinat
sisteminde
her
( ∆ x = (ax , bx , cx ) , ∆ y = (a y , by , c y ) ) ikilisi için sadece bir tane S ( B) dikdörtgeni vardır
ve
tam
tersi
her
S ( B)
dikdörtgeni
sadece
bir
tane
( ∆ x = (ax , bx , cx ) , ∆ y = (a y , by , c y ) ) bulanık üçgen sayı ikilisi belirlemektedir. Bu
nedenle S ( B) dikdörtgenine koordinatları ( ∆ x , ∆ y ) olan bulanık dikdörtgen(nokta)
diyelim ve S% ( ∆ x , ∆ y ) ile gösterelim. ∆ x e S% in apsisi ve ∆ y ye ordinatı denir.
C. Bulanık Fonksiyonlar
Bulanık üçgensel sayılar kümesini E 1 ile gösterelim. We call function, defined in
~
~
~
A ⊂ E 1 kümesinden B ⊂ E 1 kümesine bulanık f fonsiyonunu tanımlayalım ve
~
~
y = f (~
x ) ile gösterelim.
Örnek.
~ ~
~
f ( x ) = 2~
x +b
~
bulanık fonksiyon olsun. Burada b = (1,2,3) verilen
üçgensel sayıdır.
~
Genel durumda, k verilen reel sayı ve b verilen üçgensel sayı ise
~ ~
~
f ( x ) = k~
x +b
(1)
bulanık fonksiyondur.
Koordinat sisteminde
~ ~
(~
x, ~
y ) ikilisine karşılık gelen S ( ~
x , y ) dikdörtgenlerinin
~
~
~ ~
geometric yeri f bulanık fonksiyonlarının grafiğidir, burada ~y = f ( ~
x ) dir. S ( ~
x, y)
dikdörtgenlerinin kesin merkezlerinin geometrik yerine bulanık fonksiyonun ana
yörüngesi denir.
Not edelim ki ana yörünge klasik anlamda bulanık fonksiyon olmak zorunda değil..
Bunu aşağıdaki örnekte görebiliriz.
~
~
Örnek. A = {(1,3,4), ( 2,3,5)} ve B = {(1,3,5), (2,4,6)} bulanık sayılar kümeleri olsun.
~ ~ ~
f : A → B fonksiyonunu
~
f ((1,3,4)) = (1,3,5)
~
f (( 2,3,5)) = ( 2,4,6)
ile tanımlayalım.
~
Bu durumda f fonksyonun grafiği aşağiki dibidir:
y
6
5
4
3
2
1
1
2
3
4
5
x
6
Şekil1
Göründüğü gibi
tanımlamamktadır.
bu
örnekte
ana
yörünge
{(3,3), (3,4)} bir
fonksiyon
Tanım 7. Eğer ∆1 = (a1 , b1 , c1 )
ve ∆ 2 = (a2 , b2 , c2 )
üçgensel sayıları için
a1 ≠ a2 , b1 ≠ b2 , c1 ≠ c2 koşullarının üçü de sağlanıyorsa ∆1 ve ∆ 2 üçgensel
sayılarına ciddi farklı üçgensel sayılar denir
~
~
A kümesi ciddi farklı üçgensel sayılar kümesi olsun. Şimdi A kümesinde tanımlı
bulanık fonksiyonların ana yörüngesi de bir fonksiyon olacaktır.
E1 × E1 kümesinde tanımlı d fonksiyonu aşağıdaki gibi tanımlayalım:
Tanım
8.
∆1 = (a1 , b1 , c1 )
ve
∆ 2 = (a2 , b2 , c2 )
üçgensel
sayıları
için,
d (∆1 , ∆ 2 ) = a1 − a2 + b1 − b2 + c1 − c2
Önerme 1. d (∆1 , ∆ 2 ) metrik bir fonsiyondur.
İspat d (∆1 , ∆ 2 ) ≥ 0 ve d (∆1 , ∆ 2 ) = 0 doğru ise ∆1 = ∆ 2 olduğu açıktır. Kolaylıkla
d (∆1 , ∆ 2 ) = d (∆ 2 , ∆1 ) olduğunu görebiliriz.
∆1 = (a1 , b1 , c1 ) , ∆ 2 = (a2 , b2 , c2 ) ve ∆ 3 = (a3 , b3 , c3 )
olsun. Buradan
d (∆1 , ∆ 3 ) = a1 − a3 + b1 − b3 + c1 − c3
≤ a1 − a2 + a2 − a3 + b1 − b2 + b2 − b3 + c1 − c2 + c2 − c3 = d (∆1 , ∆ 2 ) + d (∆ 2 , ∆ 3 )
~
Tanım 9. A kümesi ciddi farklı üçgensel sayılar kümesi olsun. Aşağıdaki
işaretlemeyi kullanalım:
{
}
b = inf {b (a, b, c) = ∆ ∈ A% } , b
c = inf {c (a, b, c) = ∆ ∈ A% } , c
{
}
a1 = inf a (a, b, c) = ∆ ∈ A% , a2 = sup a (a, b, c) = ∆ ∈ A%
1
2
1
2
{
}
= sup {c (a, b, c) = ∆ ∈ A% }
= sup b (a, b, c) = ∆ ∈ A%
~
Eğer her a ∈ (a1 , a2 ) , b ∈ (b1 , b2 ) ve c ∈ (c1 , c2 ) için ∆ = ( a, b, c ) ∈ A
~
ise A kümesine sıkı bulanık küme denir.
~
~
~
Tanım 10. A ve B bulanık üçgensel sayılar kümesi olsun. A kümesi sıkı bulanık
~ ~ ~
~
küme ve f : A → B bulanık fonksiyon olsun. ∆1 ∈ A alalım. Eğer her ε > 0 için
öyle bir δ > 0 varsa ki d (∆, ∆1 ) < δ koşulunu sağlayan her ∆
~
~
d ( f ( ∆), f ( ∆1 )) < ε eşitsizliğinin doğru oluyor,
üçgensel sayısı için
~
f fonksiyonuna ∆1
için sürekli fonksiyon denir.
~
Eğer f
~
fonksiyonu her ∆1 ∈ A , için sürekli ise
süreklidir denir.
~
Önerme 2. A kümesinde sürekli
~
~
f fonksiyonu A kümesinde
~
f fonksiyonunun ana yörüngesi de sürekli
fonksiyondur.
Bu önermenin ispatı [] de verilmiştir.
~
Önerme 2 ye gore sürekli f fonksiyonu aşağıdaki gibi açıklanabilir:
Sürekli bir ana yörünge üzerinde sürekli hareket eden dikdörtgenler vardır(Şekil.2).
y
Şekil.2
x
Örneğin, ana yörüngesi aşağıdaki şekil3 de verilen
~
f
fonksiyonu için
~
f ((4,5,6))=(4,6,8) olsun. (Şekil.3).
y
8
6
4
x
4
5
6
Şekil 3
Şekil 3 den görüldüğü gibi
~
0,5 olabilirlikli x = 4,5 için f fonksiyonu [4,8]
aralığından çeşitli olabilirlikte değer almaktadır. Örneğin,
~
f (4,5;0,5) = 4;0
~
f (4,5;0,5) = 5;0,5
~
f (4,5;0,5) = 6;1
~
f (4,5;0,5) = 7;0,5
~
f (4,5;0,5) = 8;0
D.Domino oyunu Yapay zekâ algoritması
Giriş verileri: Hamle sırası geldiğinde elindeki taşlar ve masada açılmış taşlar
Oyun stratejisi: i. hamlede bilgisayar f(i) bulanık fonksiyonun değerlerini ve
olabilirliklerini değerlendirir. Olabilirliği en yüksek olan ama elindeki toplam değeri
minimize edecek taşı oynar
V. Sonuç ve Öneriler
Proje sonucunda aşağıdakiler yapılmıştır:
1. Domino oynayan yapay zekâ tasarımı
2. Bulanık mantığa dayalı yapay zekâ modeli
3. Teorik altyapı çalışmaları
4. 2 kişilik domino oyunun tasarımı ve kodlaştırılması
5. 2 kişilik domino oyunun görsel sunumu
6. 4 kişilik oyunun tasarımı ve kodlaştırılması
Projede araştırılan konu çok kapsamlıdır ve daha ayrıntılı araştırılabilmesi için
daha büyük bütçe, zaman ve uzmanlaşmış kişilerin güç birliği gerekmektedir..
Dünyada oyun yapay zekası üretmeye çalışan bir çok merkezler vardır ama bu
merkezlerde teorik araştırmalardan daha çok pratik işlemler yapılmaktadır.
Örneğin, oyun oynayabilen robotlar üretiliyor. Doğal olarak robotun oyunu en iyi
oynayabilmesi hedeflenmektedir ama ilk aşamada robotun en iyi şekilde
oynayabilmesinden daha çok herhangi bir şekilde oynayabilmesi sağlanmaktadır.
Gelecekte, üniversitemizde bilgisayar mühendisliği bölümünün gelişmesi ve
genişlemesiyle yapay zekâ grubu oluşturulabilir. Bu bağlamda bu proje ilk adım
olarak değerlendirilebilir
VI. Kaynaklar
[1] Zadeh L.A., Inf. Control 8 (1965) 338–353.
[2]Sugeno M. ,Yasukawa T, IEEE Transactions on Fuzzy Systems 1(1), (1993) 7–
31
[3] Takagi T. , Sugeno M., IEEE Trans. Syst. Man Cybern. SMC-15 (1)(1985) 116–
132.
[4] Tanaka H., Fuzzy Sets Syst. 24 (1991) 363–375.
[5] Mamdani E.H., Assilian S, in: Mamdani E.H., Gains B.R. (Eds.), Fuzzy
Reasoning and Its Applications, Academic Press, New York, 1981, pp.
311–323.
[6] Türkşen I.B., Applied Soft Computing 8 (2008) 1178–1188
[7] Demirci M., Fuzzy Sets Syst. 106 (1999) 239–246.
[8] Sasaki M., Fuzzy sets and systems 55(2993),295-301
[9]Şahin Emrah, Iman
Askerzade Fuzzy Extreme of the Multivariable Crisp Functions Defined on Fuzzy
Domain,Proceedings. pp. 337-341. 1st International Fuzzy Systems Symposium
(FUZZYSS'09)
[10] Şahin Emrah Amrahov, İ.N.Askerzade “A novel approach to definition of fuzzy
functions” Communications,Vol 59, issue1,2010
[11] Luger, George; Stubblefield, William (2004). Artificial Intelligence: Structures
and Strategies for Complex Problem Solving (5th ed.). The Benjamin/Cummings
Publishing Company, Inc.. ISBN 0-8053-4780-1.
[12] Nilsson, Nils (1998). Artificial Intelligence: A New Synthesis. Morgan
Kaufmann Publishers. ISBN 978-1-55860-467-4.
[13] Russell, Stuart J.; Norvig, Peter (2003), Artificial Intelligence: A Modern
Approach (2nd ed.), Upper Saddle River, New Jersey: Prentice Hall, ISBN 0-13790395-2
[14]
Poole,
David; Mackworth,
Alan; Goebel,
Randy (1998). Computational
Intelligence: A Logical Approach. New York: Oxford University Press.
[15] Winston, Patrick Henry (1984). Artificial Intelligence. Reading, Massachusetts:
Addison-Wesley. ISBN 0201082594
VII. Ekler
A. Mali Bilanço ve Açıklamaları
Bütçe
Proje No
kodu
08A4343001 G-03-2
08A4343001 G-03-3
08A4343001 G-03-5
08A4343001 G-03-7
Toplam
Gider
Gelir miktarı miktarı
100.00
1500.00
500.00
Proje
Bütçesi
100.00
1500.00
500.00
Ödenek adı
Tüketime Yönelik Mal ve Malzeme Alımları
Yolluklar
Hizmet Alımları
Menkul Mal, Gayrimaddi Hak Alımları,
Bakım ve Onarım
4050.00
3327.60
722.40
6150.00
3327.60
2822.40
B. Makine ve Teçhizatın konumu ve İlerideki Kullanımına Dair Açıklamalar
Proje kapsamında harcanan 3327.60 lira ile alınan bilgisayar ve yazıcı Bilgisayar
Mühendisliği bölümünde proje yöneticisi Şahin Emrah’ın odasında ve
kullanımındadır. İleride de bilimsel araştırma amacıyla kullanılması
düşünülmektedir.
Download