Rekabet ortaminda arama Adversarial Search - PowerPoint PPT Presentation

1 / 46
About This Presentation
Title:

Rekabet ortaminda arama Adversarial Search

Description:

Rekabet ortam nda arama Adversarial Search * Kesmekle arama (cutting off) A a daki de erlerle al ma m mk n m ? bm = 106, b=35 m=4 – PowerPoint PPT presentation

Number of Views:91
Avg rating:3.0/5.0
Slides: 47
Provided by: DannyDe2
Category:

less

Transcript and Presenter's Notes

Title: Rekabet ortaminda arama Adversarial Search


1
Rekabet ortaminda aramaAdversarial Search
2
Rekabet 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

3
Oyun 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.

4
Oyun 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

5
Oyunla 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

6
Oyun 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

7
Oyun-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

8
Oyun agaci (2-oyuncu, belirlenmis)
9
Minimax yöntemi
  • Belirlenmis oyunlar için mükemmel taktik
  • Temel fikir en yüksek minimax degerli hareketi
    seçmeli en iyi ulasilabilir sonuç

10
Minimax 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)
11
Minimax 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

13
MINI 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
14
Alpha-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

15
a-ß 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

16
a-ß budama örnegi
17
a-ß budama örnegi
18
a-ß budama örnegi
19
a-ß budama örnegi
20
a-ß 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)

22
Neden 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

23
a-ß algoritmasi
24
a-ß algoritmasi
25
Alpha-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

26
Alpha-Beta budama ilkeleri (devami)
- MIN-dügümlerde (geçici) degerler
BETA-degerlerdir
27
Alpha-Beta ilkeleri (1)
?
28
Alpha-Beta ilkeleri (2)
?
1
29
Mini-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!
30
Kazanç En iyi hal
Yalniz kalin dogrular inclenmeli
31
Mükemmel siralanmis agaç örnegi
21
21 12
3
32
Degerlendirme 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)

33
sinirlamalar
  • Ö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

34
Kesmekle 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

35
Ufuk etkisi
ufuk mini-max derinligi
Derinine ilerlemekle felaketi önleye bilmesek
de onu geciktire biliriz
  • çözüm sezgisel devam

36
Sezgisel Devam
Aramani derinlik sinirinin disinda da yapmali!
37
Talih oyunlari
38
Talih 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 )
39
Ilave Oku için
  • Sonraki sunular ilave bilgi amaçlidir

40
belirlenmis 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.

41
State of the art
Drawn from an article by Mathew Ginsberg,
Scientific American, Winter 1998, Special Issue
on Exploring Intelligence
42
State of the art (2)
43
State 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)
Write a Comment
User Comments (0)
About PowerShow.com