Anda di halaman 1dari 46

Rekabet ortamnda arama Adversarial Search

Rekabet ortamnda arama


oklu vekil ortam- her bir vekil karar verirken dier vekillerin de hareketlerini dikkate almal ve bu vekillerin onun durumunu nasl etkileyeceini bilmelidir Olaslk- dier vekillerin hareketlerinin tahmin edile bilmemesi nceden tahmin edilemeyen" kar taraf rakibin her olas cevabna kar bir hareketin belirlenmesi birliki ve rakip vekiller Rekabet ortamnda arama-oyun Zaman snrlamalar
2

Oyun neden renilmeli?


Yapay Zekann en eski alanlarndan birisi (Shannon and Turing, 1950)

Zeka gerektiren rekabetin soyut ifadesi


Durum ve faaliyetlerin kolay ifade edilebilirlii D dnyadan ok az bilginin gerek olmas

Oyun oynama, baz yeni gereksinimlerle aramann zel halidir.

Oyun trleri
Tam bilgili; tam olmayan bilgili Belirlenmi Talih Satran,dama,go- tam bilgili, belirlenmi

Tavla- tam bilgili,talih


Kat oyunlar- tam olmayan bilgili, talih
4

Oyunla bal sorunlar


Oyunlarn zm zordur: Olaslk sorunu

Rakibin hareketini bilmiyoruz ! Arama uzaynn boyutu:

Satran : her durumda yaklak ~15 hareket, 80 karlkl hamle aata 1580 dm Go : her durumda ~200 hareket, 300 karlkl hamle aata 200300 dm Optimal zmn ou zaman mmkn olmamas

Oyun oynama algoritmalar:


Minimax algoritmas Alpha-beta budama Deerlendirme fonksiyonu Aramay kesme

her hangi derinlik snrna kadar arama


Derinlik snrnda deerlendirme fonksiyonunun kullanlmas Deerlendirmenin tm aa boyunca yaylmas
6

Oyun-arama sorunu
Balang durum-ilk pozisyon ve birinci hamle yapacak oyuncu Ardl fonksiyonu- (hareket,durum) iftleri listesini veriyor; yasal hareket ve bu hareket sonucu durum U dm (terminal) denemesi -oyunun bittiini belirler. Oyunun son bulduu durumlara u durumlar denir Yarar fonksiyonu - u durumlar iin say deer Oyun aac- balang durum ve her iki tarafn yasal hareketleri
7

Oyun aac (2-oyuncu, belirlenmi)

Minimax yntemi
Belirlenmi oyunlar iin mkemmel taktik Temel fikir: en yksek minimax deerli hareketi semeli = en iyi ulalabilir sonu

Minimax deer
Minimax deer (n)= Yarar(n) , eer n son durum ise

Max (Minimaxdeer(s)), n -Max dm ise S ardllar(n)

Min (Minimaxdeer(s)), n - Min dm ise


S ardllar(n)

10

Minimax algoritmas

11

minimaxn zellikleri
tam? Evet (eer aa sonlu ise) Optimal? Evet (optimal rakibe kar) Zaman karmakl? O(bm) Uzay karmakl O(bm) (derinine izleme) m- aacn en fazla derinlii b- her noktada mmkn hamleler says Satran iin b 35, m 100

12

MINI MAX
Snrlamalar: 2 oyuncu: MAX (bilgisayar) ve MIN (rakip) belirlenmi, tam bilgi Derinine arama ve deerlendirme fonksiyonu
MAX Bu hareketi se

- Derine doru aa oluturmal -Her seviye iin deerlendirme fonksiyonunu hesaplamal -Deerlendirme fonksiyonunu yaymal: - MINde minimum kabul ediliyor - Maxda maximum kabul ediliyor
13

MIN

2
MAX

Alpha-Beta budama
Tm aacn (yukardan aaya doru derinine) oluturulmasna ve deerlerin tm aa boyu yaylmasna gerek kalmaya bilir Edinilmi baz deerler ,aacn retilmemi ksmlarnn fazla olduu ve retilmesine gerek kalmad bilgisini vere bilir

14

- budama iin minimax deerinin bulunmas


Temel fikir: oyun aacnda her bir dme bakmadan da doru zm bulmak mmkndr. Bu halde aacn baklmayan ksm budanm oluyor
Minimax Deer(kk)= max(min(3,12,8),min(2,x,y),min(14,5, 2)) =max(3,min(2,x,y),2)= =max(3,z,2 ) ; z=min(2,x,y) kabul ettik . Buradan z<=2

olduu anlalyor.

O zaman Minimax Deer(kk)= 3 alrz

15

- budama rnei

16

- budama rnei

17

- budama rnei

18

- budama rnei

19

- budama rnei

20

-nn zellikleri
Budama son neticeyi etkilemez Hareketlerin iyi sralanmas budamann etkiliini ykseltir

mkemmel sralamada," zaman karmakl = O(bm/2)

21

Neden -?
, max iin yol boyunca

seilmi en iyi (en yksek) deer Eer v dan kt ise max onu iptal edecek uygun dal budanacak Min iin , benzer yolla deerlendirilir

22

- algoritmas

23

- algoritmas

24

Alpha-Beta budama ilkeleri


lkeler: Derinine, soldan saa aa retmeli son dmlerin deerlerini baba dmleri iin balang tahminler kabul etmeli.
MAX

-MIN-deer (1), babann (2) MAX deerinden kktr -MIN-deer daha ileride kle bilir,

MIN

=2

-MAX-deerin yalnz bymesine izin veriliyor,


-Bu dmden aa dmlere bakmamal

MAX

1
25

Alpha-Beta budama ilkeleri (devam)


- MAX-dmlerde (geici) deerler ALPHA-deerlerdir - MIN-dmlerde (geici) deerler BETA-deerlerdir
MAX

Alpha-deer

MIN

=2

Beta-deer

MAX

1
26

Alpha-Beta ilkeleri (1):


- Eer ALPHA-deer oul dmn Beta-deerinden byk veya ona eitse: uygun soydan dmlerin retimini dayandrmal
MAX

Alpha-deer

MIN

=2

Beta-deer

MAX

27

Alpha-Beta ilkeleri (2):


- Eer Beta-deer, oul dmn Alpha-deerinden kk veya ona eitse : uygun soy zere dmlerin retimini durdurmal
MAX

MIN

=2

Beta-deer

MAX

Alpha-deer
28

Mini-Max ve
4 16 5 31 = 5 39 3 38
MAX

8 6

= 4 15

5 23
= 5 30

MIN

8 2
=8 5

9 8

2 10 1 18 4 12 3 20
= 4 14 = 5 22

3 25 9 27 6 29 = 3 37

1 33 2 35
MAX

8 7 3 9 1 6 2 4 1
1 3 4 7 9 11 13

1 3 5 3 9 2 6 5 2
17 19 21 24 26 28

1 2 3 9 7 2 8 6 4
32 34 36
29

11 deerlendirmede tasarruf saland!

Kazan: En iyi hal:


- Eer her seviyede: en iyi dm en soldaki dm ise
MAX

MIN

MAX

Yalnz kaln dorular inclenmeli

30

Mkemmel sralanm aa rnei


21

MAX
3

21

12

MIN

21

24

27

12

15

18

MAX

21 20 19 24 23 22 27 26 25

12 11 10 15 14 13 18 17 16

3 2 1 6 5 4 9 8 7

31

Deerlendirme fonksiyonlar
Arlkl dorusal fonksiyon Eval(s) = w1 f1(s) + w2 f2(s) + + wn fn(s) w-zelliin arl f-zellik rnek: satranta f(s) = ayn trden talarn says w-uygun tan arl (rn., piyon iin 1)

32

snrlamalar
rnek: arama iin 100 saniyelik zaman tannmtr. Her saniyede 104 dm aratrlmaldr her harekette 106 dm yaklamlar: Kesme denemesi (cutoff test): Derinlik snr Deerlendirme fonksiyonlar

33

Kesmekle arama (cutting off)


Aadaki deerlerle alma mmkn m? bm = 106, b=35 m=4 Yalnz 4 hamle ileriyi grmek satran oyuncusu iin baarszlktr! 4 hamle acemi oyuncu 8 hamle tipik bir program, usta oyuncu 12 hamle Deep Blue, Kasparov

34

Ufuk etkisi

Vezir kayb

Piyonun kayb

ufuk = mini-max derinlii


Vezirin kayb

Derinine ilerlemekle felaketi nleye bilmesek de onu geciktire biliriz zm: sezgisel devam

35

Sezgisel Devam
Strateji durumlarda ok nemli oyun tann kayb, piyonun vezire evrilmesi, ... Araman derinlik snrnn dnda da yapmal!

Derinlik snr

36

Talih oyunlar
rnek: Tavla: Oyun aacnn biimi:

37

Talih oyunlarnda Yararn yaylmas:


C dm iin yarar fonksiyonu

Di- zarn deeri P(di)-Dinin oluma olasl

MAX

S(C,Di)-Di deerinde Cden ulala bilen durum


Yarar(s)-sin deerlendirilmesi

d1 d2 d3 d4 d5

Beklenen_max( C ) =

s1 s2 s3 s4 S(C,d3)

Min

38

lave Oku iin


Sonraki sunular ilave bilgi amaldr

39

belirlenmi 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 > 300, so most programs use pattern knowledge bases to suggest plausible moves.
40

State of the art


Drawn from an article by Mathew Ginsberg, Scientific American, Winter 1998, Special Issue on Exploring Intelligence

41

State of the art (2)

42

State of the art (3)

43

Computer chess ratings studied around 90ies:

Chess Rating
3500 3000 2500 2000 1500 2 4 6 8 10 12 14

Kasparov

Depth in ply

Further increase of depth was likely to win !


44

Satran ustas ve satran program arasndaki farklar:

1. Deep Blue saniyede 200,000,000 in zerinde pozisyonu inceleye ve deerlendire bilir Bir usta ise saniyede 3 pozisyon deerlendire bilir 2. Satran programnn bilgisi azdr ,ama hesaplama yetenei ok yksektir Ustann ok byk satran bilgisi var, ama hesaplama yetenei snrldr. 3.nsan satran oynad zaman duyumundan,nsezisinden yararlanyor. Programn duyma, sezme yetenei yoktur. 4. Deep Blue ,bir uluslararas byk usta ve be IBM aratrmac bilim adamnn rehberliinden faydalanmtr Bir ustaya ise antrenr ve ok iyi satran oynaya bilme yetenei yardm eder 5. nsan kendi hatalarndan ve baarlarndan renebilme yeteneine sahiptir. Deep Blue, bugnk haliyle, renme sistemi deildir; bu nedenle, rakibinden renmek ve ya satran tahtasndaki durumu dnmek iin yapay zeka kullanma yeteneine sahip deildir

45

6. Programn korku duygusu, fikrinin datlmas endiesi yoktur (rnein,Kasparovun sabit baklarndan). Bir ustann ise ise insani zafiyeti var, can skla bilir, fikri dala bilir ve s. 7. Program satran oynarken ok etkileyicidir, ama zekas en geri zekal insandan da geridir Satran ustalar ise genellikle aydn insanlardr, birka dil biliyorlardr, toplumun ileri gelenleridir 8. Programn oyun anlayndaki deiimler ,gelitirme ekibi tarafndan yaplmaldr Usta ise her oyundan nce,sonra, oyun iinde oyununda deiiklik yapa bilir. 9. nsan rakibini deerlendire, onun zayf ynlerini rene ve bundan yararlana bilir. Program ise satran pozisyonlarn ok iyi deerlendirse de rakibinin zayf ynlerinden yararlana bilmez. 10. nsan , deerlendire bildii pozisyonlar iinden seim yapar Program ise mmkn pozisyonlar iinden en iyisini see biliyor (Deep Blue saniyede 200 milyon pozisyon iinde arama yapa biliyor)

46

Anda mungkin juga menyukai