Title: Rekabet ortaminda arama Adversarial Search
1Rekabet ortaminda aramaAdversarial Search
2Rekabet ortaminda arama
- Çoklu vekil ortami- her bir vekil karar verirken
diger vekillerin de hareketlerini dikkate almali
ve bu vekillerin onun durumunu nasil
etkileyecegini bilmelidir - Olasilik- diger vekillerin hareketlerinin tahmin
edile bilmemesi - Önceden tahmin edilemeyen" karsi taraf
- rakibin her olasi cevabina karsi bir hareketin
belirlenmesi - Isbirlikçi ve rakip vekiller
- Rekabet ortaminda arama-oyun
- Zaman sinirlamalari
3Oyun neden ögrenilmeli?
- Yapay Zekanin en eski alanlarindan birisi
(Shannon and Turing, 1950)
- Zeka gerektiren rekabetin soyut ifadesi
- Durum ve faaliyetlerin kolay ifade
edilebilirligi - Dis dünyadan çok az bilginin gerek olmasi
- Oyun oynama, bazi yeni gereksinimlerle aramanin
özel halidir.
4Oyun türleri
- Tam bilgili tam olmayan bilgili
- Belirlenmis
- Talih
- Satranç,dama,go- tam bilgili, belirlenmis
- Tavla- tam bilgili,talih
- Kagit oyunlari- tam olmayan bilgili, talih
5Oyunla bagli sorunlar
- Oyunlarin çözümü zordur
- Olasilik sorunu
- Rakibin hareketini bilmiyoruz !
- Arama uzayinin boyutu
- Satranç her durumda yaklasik 15 hareket, 80
karsilikli hamle - agaçta 1580 dügüm
- Go her durumda 200 hareket, 300 karsilikli
hamle - agaçta 200300 dügüm
- Optimal çözümün çogu zaman mümkün olmamasi
6Oyun oynama algoritmalari
- Minimax algoritmasi
- Alpha-beta budama
- Degerlendirme fonksiyonu
- Aramayi kesme
- her hangi derinlik sinirina kadar arama
- Derinlik sinirinda degerlendirme fonksiyonunun
kullanilmasi - Degerlendirmenin tüm agaç boyunca yayilmasi
7Oyun-arama sorunu
- Baslangiç durum-ilk pozisyon ve birinci hamle
yapacak oyuncu - Ardil fonksiyonu- (hareket,durum) çiftleri
listesini veriyor yasal hareket ve bu hareket
sonucu durum - Uç dügüm (terminal) denemesi -oyunun bittigini
belirler. Oyunun son buldugu durumlara uç
durumlar denir - Yarar fonksiyonu - uç durumlar için sayi deger
- Oyun agaci- baslangiç durum ve her iki tarafin
yasal hareketleri
8Oyun agaci (2-oyuncu, belirlenmis)
9Minimax yöntemi
- Belirlenmis oyunlar için mükemmel taktik
- Temel fikir en yüksek minimax degerli hareketi
seçmeli en iyi ulasilabilir sonuç
10Minimax deger
- Minimax deger (n)
- Yarar(n) ,
eger n son durum ise - Max
(Minimaxdeger(s)), n -Max dügüm ise
S ? ardillar(n)
Min
(Minimaxdeger(s)), n - Min dügüm ise
S ? ardillar(n)
11Minimax algoritmasi
12 minimaxin özellikleri
- tam? Evet (eger agaç sonlu ise)
- Optimal? Evet (optimal rakibe karsi)
- Zaman karmasikligi? O(bm)
- Uzay karmasikligi O(bm) (derinine izleme)
- m- agacin en fazla derinligi
- b- her noktada mümkün hamleler sayisi
- Satranç için b 35, m 100
13MINI MAX
- Sinirlamalar
- 2 oyuncu MAX (bilgisayar) ve MIN (rakip)
- belirlenmis, tam bilgi
- Derinine arama ve degerlendirme fonksiyonu
- Derine dogru agaç olusturmali
- Her seviye için degerlendirme
- fonksiyonunu hesaplamali
- Degerlendirme fonksiyonunu
- yaymali
- - MINde minimum kabul ediliyor
- Maxda maximum kabul ediliyor
14Alpha-Beta budama
- Tüm agacin (yukaridan asagiya dogru derinine)
olusturulmasina ve degerlerin tüm agaç boyu
yayilmasina gerek kalmaya bilir - Edinilmis bazi degerler ,agacin üretilmemis
kisimlarinin fazla oldugu ve üretilmesine gerek
kalmadigi bilgisini vere bilir
15a-ß budama için minimax degerinin bulunmasi
Temel fikir oyun agacinda her bir dügüme
bakmadan da dogru çözümü bulmak mümkündür. Bu
halde agacin bakilmayan kismi budanmis oluyor
- Minimax Deger(kök) max(min(3,12,8),min(2,x,y),m
in(14,5,2)) - max(3,min(2,x,y),2) max(3,z,2 )
- zmin(2,x,y) kabul ettik . Buradan zlt2 oldugu
anlasiliyor. - O zaman Minimax Deger(kök) 3 aliriz
16a-ß budama örnegi
17a-ß budama örnegi
18a-ß budama örnegi
19a-ß budama örnegi
20a-ß budama örnegi
21 a-ßnin özellikleri
- Budama son neticeyi etkilemez
- Hareketlerin iyi siralanmasi budamanin etkiligini
yükseltir - mükemmel siralamada," zaman karmasikligi
O(bm/2)
22Neden a-ß?
- a, max için yol boyunca seçilmis en iyi (en
yüksek) deger - Eger v adan kötü ise max onu iptal edecek
- ? uygun dal budanacak
- Min için ß, benzer yolla degerlendirilir
23a-ß algoritmasi
24 a-ß algoritmasi
25Alpha-Beta budama ilkeleri
- Ilkeler
- Derinine, soldan saga agaç üretmeli
- son dügümlerin degerlerini baba dügümleri için
baslangiç tahminler kabul etmeli.
- MIN-deger (1), babanin (2)
- MAX degerinden küçüktür
- MIN-deger daha ileride
- küçüle bilir,
- MAX-degerin yalniz büyümesine
- izin veriliyor,
- Bu dügümden asagi dügümlere
- bakmamali
26Alpha-Beta budama ilkeleri (devami)
- MIN-dügümlerde (geçici) degerler
BETA-degerlerdir
27Alpha-Beta ilkeleri (1)
?
28Alpha-Beta ilkeleri (2)
?
1
29Mini-Max ve ???
MAX
MIN
MAX
1
3
4
7
9
11
13
17
19
21
24
26
28
32
34
36
11 degerlendirmede tasarruf saglandi!
30Kazanç En iyi hal
Yalniz kalin dogrular inclenmeli
31Mükemmel siralanmis agaç örnegi
21
21 12
3
32Degerlendirme fonksiyonlari
- Agirlikli dogrusal fonksiyon
- Eval(s) w1 f1(s) w2 f2(s) wn fn(s)
- w-özelligin agirligi
- f-özellik
- Örnek satrançta
- f(s) ayni türden taslarin sayisi
- w-uygun tasin agirligi (örn., piyon için 1)
33sinirlamalar
- Örnek arama için 100 saniyelik zaman
taninmistir. Her saniyede 104 dügüm
arastirilmalidir? her harekette 106 dügüm - yaklasimlar
- Kesme denemesi (cutoff test)
- Derinlik siniri
- Degerlendirme fonksiyonlari
34Kesmekle arama (cutting off)
- Asagidaki degerlerle çalisma mümkün mü?
- bm 106, b35 ? m4
- Yalniz 4 hamle ileriyi görmek satranç oyuncusu
için basarisizliktir! - 4 hamle acemi oyuncu
- 8 hamle tipik bir program, usta oyuncu
- 12 hamle Deep Blue, Kasparov
35Ufuk etkisi
ufuk mini-max derinligi
Derinine ilerlemekle felaketi önleye bilmesek
de onu geciktire biliriz
36Sezgisel Devam
Aramani derinlik sinirinin disinda da yapmali!
37Talih oyunlari
38Talih oyunlarinda Yararin yayilmasi
- C dügümü için yarar fonksiyonu
Di- zarin degeri P(di)-Dinin olusma
olasiligi S(C,Di)-Di degerinde Cden ulasila
bilen durum Yarar(s)-sin degerlendirilmesi Beklen
en_max( C )
39Ilave Oku için
- Sonraki sunular ilave bilgi amaçlidir
40belirlenmis oyunlar
- Checkers Chinook ended 40-year-reign of human
world champion Marion Tinsley in 1994. Used a
precomputed endgame database defining perfect
play for all positions involving 8 or fewer
pieces on the board, a total of 444 billion
positions. - Chess Deep Blue defeated human world champion
Garry Kasparov in a six-game match in 1997. Deep
Blue searches 200 million positions per second,
uses very sophisticated evaluation, and
undisclosed methods for extending some lines of
search up to 40 ply. - Othello human champions refuse to compete
against computers, who are too good.
- Go human champions refuse to compete against
computers, who are too bad. In go, b gt 300, so
most programs use pattern knowledge bases to
suggest plausible moves.
41State of the art
Drawn from an article by Mathew Ginsberg,
Scientific American, Winter 1998, Special Issue
on Exploring Intelligence
42State of the art (2)
43State of the art (3)
44 - Computer chess ratings studied around 90ies
45- Satranç ustasi ve satranç programi arasindaki
farklar
- 1. Deep Blue saniyede 200,000,000 in üzerinde
pozisyonu inceleye ve degerlendire bilir - Bir usta ise saniyede 3 pozisyon degerlendire
bilir - 2. Satranç programinin bilgisi azdir ,ama
hesaplama yetenegi çok yüksektir - Ustanin çok büyük satranç bilgisi var, ama
hesaplama yetenegi sinirlidir. - 3.Insan satranç oynadigi zaman duyumundan,önsezisi
nden yararlaniyor. - Programin duyma, sezme yetenegi yoktur.
- 4. Deep Blue ,bir uluslararasi büyük usta ve bes
IBM arastirmaci bilim adaminin rehberliginden
faydalanmistir - Bir ustaya ise antrenörü ve çok iyi satranç
oynaya bilme yetenegi yardim eder - 5. Insan kendi hatalarindan ve basarilarindan
ögrenebilme yetenegine sahiptir. - Deep Blue, bugünkü haliyle, ögrenme sistemi
degildir bu nedenle, rakibinden ögrenmek ve ya
satranç tahtasindaki durumu düsünmek için yapay
zeka kullanma yetenegine sahip degildir -
46- 6. Programin korku duygusu, fikrinin dagitilmasi
endisesi yoktur (örnegin,Kasparovun sabit
bakislarindan). - Bir ustanin ise ise insani zafiyeti var, cani
sikla bilir, fikri dagila bilir ve s. - 7. Program satranç oynarken çok etkileyicidir,
ama zekasi en geri zekali insandan da geridir - Satranç ustalari ise genellikle aydin
insanlardir, birkaç dil biliyorlardir, toplumun
ileri gelenleridir - 8. Programin oyun anlayisindaki degisimler
,gelistirme ekibi tarafindan yapilmalidir - Usta ise her oyundan önce,sonra, oyun içinde
oyununda degisiklik yapa bilir. - 9. Insan rakibini degerlendire, onun zayif
yönlerini ögrene ve bundan yararlana bilir. - Program ise satranç pozisyonlarini çok iyi
degerlendirse de rakibinin zayif yönlerinden
yararlana bilmez. - 10. Insan , degerlendire bildigi pozisyonlar
içinden seçim yapar - Program ise mümkün pozisyonlar içinden en
iyisini seçe biliyor (Deep Blue saniyede 200
milyon pozisyon içinde arama yapa biliyor)