rekabet ortamında arama adversarial search
DESCRIPTION
Rekabet ortamında arama Adversarial Search. Rekabet ortamında arama. Çoklu vekil ortamı- her bir vekil karar verirken diğer vekillerin de hareketlerini dikkate almalı ve bu vekillerin onun durumunu nasıl etkileyeceğini bilmelidir - PowerPoint PPT PresentationTRANSCRIPT
Rekabet ortamında aramaRekabet ortamında aramaAdversarial SearchAdversarial Search
2
Rekabet ortamında arama
Çoklu vekil ortamı- her bir vekil karar verirken diğer vekillerin de hareketlerini dikkate almalı ve bu vekillerin onun durumunu nasıl etkileyeceğini bilmelidir
Olasılık- diğer vekillerin hareketlerinin tahmin edile bilmemesi“Önceden tahmin edilemeyen" karşı taraf rakibin her olası cevabına karşı bir hareketin
belirlenmesi İşbirlikçi ve rakip vekiller Rekabet ortamında arama-oyun Zaman sınırlamaları
3
OyunOyun neden öğrenilmeli?neden öğrenilmeli?
Yapay Zekanın en eski alanlarından birisi Yapay Zekanın en eski alanlarından birisi
(Shannon and Turing, 1950)(Shannon and Turing, 1950)
Zeka gerektiren rekabetin soyut ifadesiZeka gerektiren rekabetin soyut ifadesi
Durum ve faaliyetlerin kolay ifade Durum ve faaliyetlerin kolay ifade
edilebilirliğiedilebilirliği
Dış dünyadan çok az bilginin gerek olmasıDış dünyadan çok az bilginin gerek olması
Oyun oynama, bazı yeni gereksinimlerle Oyun oynama, bazı yeni gereksinimlerle
aramanın özel halidir.aramanın özel halidir.
4
OyunOyun türleritürleri
•Tam bilgili; tam olmayan bilgili
•Belirlenmiş
•Talih
Satranç,dama,go- tam bilgili, belirlenmiş
Tavla- tam bilgili,talih
Kağıt oyunları- tam olmayan bilgili, talih
5
Oyunla bağlı sorunlarOyunla bağlı sorunlar Oyunların çözümü zordur:Oyunların çözümü zordur:
““Olasılık Olasılık ” ” sorunusorunu Rakibin hareketini bilmiyoruzRakibin hareketini bilmiyoruz ! !
Arama uzayının boyutuArama uzayının boyutu::SatrançSatranç : : her durumda yaklaşık her durumda yaklaşık ~15 ~15 harekethareket, 80 , 80
karşılıklı hamlekarşılıklı hamle ağaçta ağaçta 15158080 düğümdüğüm
Go : Go : her durumda her durumda ~200 ~200 harekethareket, 300 , 300 karşılıklı karşılıklı hamlehamle ağaçta ağaçta 200200300300 düğümdüğüm
Optimal çözümün çoğu zaman mümkün olmamasıOptimal çözümün çoğu zaman mümkün olmaması
6
Oyun oynama algoritmalarıOyun oynama algoritmaları::
Minimax algoritmasıMinimax algoritması Alpha-beta budamaAlpha-beta budama
Değerlendirme fonksiyonuDeğerlendirme fonksiyonuAramayı kesmeAramayı kesmeher hangi derinlik sınırına kadar aramaher hangi derinlik sınırına kadar arama Derinlik sınırında değerlendirme Derinlik sınırında değerlendirme
fonksiyonunun kullanılmasıfonksiyonunun kullanılması Değerlendirmenin tüm ağaç boyunca Değerlendirmenin tüm ağaç boyunca
yayılmasıyayılması
7
Oyun-arama sorunu
Başlangıç durum-ilk pozisyon ve birinci hamle yapacak oyuncu
Ardıl fonksiyonu- (hareket,durum) çiftleri listesini veriyor; yasal hareket ve bu hareket sonucu durum
Uç düğüm (terminal) denemesi -oyunun bittiğini belirler. Oyunun son bulduğu durumlara uç durumlar denir
Yarar fonksiyonu - uç durumlar için sayı değer Oyun ağacı- başlangıç durum ve her iki tarafın
yasal hareketleri
8
Oyun ağacıOyun ağacı (2- (2-oyuncuoyuncu, , belirlenmiş)belirlenmiş)
9
MinimaxMinimax yöntemi yöntemi Belirlenmiş oyunlar için mükemmel taktikBelirlenmiş oyunlar için mükemmel taktik Temel fikir:Temel fikir: en yüksek en yüksek minimax minimax değerli hareketi seçmelideğerli hareketi seçmeli
= = en iyi ulaşılabilir sonuçen iyi ulaşılabilir sonuç
10
MinimaxMinimax değerdeğer
Minimax değer (n)=Minimax değer (n)=
Yarar(n)Yarar(n) , , eğer n son durum iseeğer n son durum ise
Max (Minimaxdeğer(s)),Max (Minimaxdeğer(s)), n -Max düğüm ise n -Max düğüm iseS S ardıllar(n ardıllar(n))
Min (Minimaxdeğer(sMin (Minimaxdeğer(s)))),, n - Min düğüm ise n - Min düğüm ise
S ardıllar(n)
11
MinimaxMinimax algoritalgoritmasıması
12
minimaxminimax’’ının özellikleriözellikleri
tamtam?? EvetEvet ( (eğer ağaç sonlu iseeğer ağaç sonlu ise)) Optimal?Optimal? EvetEvet ( (optimal rakibe karşıoptimal rakibe karşı)) Zaman karmaşıklığıZaman karmaşıklığı?? O(b O(bmm)) Uzay karmaşıklığıUzay karmaşıklığı O(bm) ( O(bm) (derinine izlemederinine izleme)) m- m- ağacın en fazla derinliği ağacın en fazla derinliği bb- her noktada mümkün hamleler sayısı- her noktada mümkün hamleler sayısı Satranç içinSatranç için b ≈ 35, m ≈100 b ≈ 35, m ≈100
13
MINI MAXMINI MAX SınırlamalarSınırlamalar::
2 2 oyuncuoyuncu:: MAXMAX ((bilgisayarbilgisayar)) veve MIN ( MIN (rakiprakip)) belirlenmişbelirlenmiş, , tam bilgitam bilgi
Derinine aramaDerinine arama ve değerlendirme fonksiyonuve değerlendirme fonksiyonu
MAXMAX
MINMIN
MAXMAX
-- Derine doğru ağaç oluşturmalı Derine doğru ağaç oluşturmalı
-Her seviye için değerlendirmeHer seviye için değerlendirme fonksiyonunu hesaplamalıfonksiyonunu hesaplamalı
22 55 33 11 44 44 33
-Değerlendirme fonksiyonunu Değerlendirme fonksiyonunu yaymalı:yaymalı: - - MINMIN’de ’de minimum kabul ediliyorminimum kabul ediliyor
22 11 33
- - Max’da Max’da maximum kabul ediliyormaximum kabul ediliyor
33Bu hare-Bu hare-keti seçketi seç
14
Alpha-Beta Alpha-Beta budamabudama
Tüm ağacın (yukarıdan aşağıya doğru derinine) Tüm ağacın (yukarıdan aşağıya doğru derinine) oluşturulmasına ve değerlerin tüm ağaç boyu oluşturulmasına ve değerlerin tüm ağaç boyu yayılmasına gerek kalmaya biliryayılmasına gerek kalmaya bilir
Edinilmiş bazı değerler ,ağacın üretilmemiş Edinilmiş bazı değerler ,ağacın üretilmemiş kısımlarının fazla olduğu ve üretilmesine gerek kısımlarının fazla olduğu ve üretilmesine gerek kalmadığı bilgisini vere bilirkalmadığı bilgisini vere bilir
15
α-β budama için minimax değerinin bulunması
Minimax Değer(Minimax Değer(kökkök)= )= max(max(min(3,12,8),min(2,x,y),min(min(3,12,8),min(2,x,y),min(14,5,2)14,5,2)))
=max(=max(3,min(2,x,y),23,min(2,x,y),2)= )= =max(=max(3,z,2 3,z,2 ) ; ) ;
z=min(z=min(2,x,y2,x,y) ) kabul ettik . Buradan kabul ettik . Buradan z<=2z<=2 olduğu anlaşılıyor. olduğu anlaşılıyor.
O zaman Minimax Değer(O zaman Minimax Değer(kökkök)= 3 )= 3 alırız alırız
Temel fikirTemel fikir: oyun ağacında her bir düğüme bakmadan : oyun ağacında her bir düğüme bakmadan da doğru çözümü bulmak mümkündür. Bu halde da doğru çözümü bulmak mümkündür. Bu halde ağacın bakılmayan kısmı budanmış oluyorağacın bakılmayan kısmı budanmış oluyor
16
α-β α-β budama örneğibudama örneği
17
α-β α-β budama örneğibudama örneği
18
α-β α-β budama örneğibudama örneği
19
α-β α-β budama örneğibudama örneği
20
α-β α-β budama örneğibudama örneği
21
α-βα-β’nın özellikleri’nın özellikleri
Budama son neticeyi etkilemezBudama son neticeyi etkilemez
Hareketlerin iyi sıralanması budamanın etkiliğini Hareketlerin iyi sıralanması budamanın etkiliğini yükseltiryükseltir
“ “mükemmel sıralamadamükemmel sıralamada," ," zaman karmaşıklığızaman karmaşıklığı = O(b= O(bm/2m/2))
22
NedenNeden α-β? α-β?
αα, , maxmax için yol için yol boyunca seçilmiş en boyunca seçilmiş en iyi (en yüksek) değeriyi (en yüksek) değer
Eğer Eğer vv αα’dan kötü ise ’dan kötü ise max onu iptal edecekmax onu iptal edecek
uygun dal uygun dal budanacakbudanacak
MinMin için için ββ, , benzer benzer yolla değerlendiriliryolla değerlendirilir
23
α-β algoritα-β algoritmasıması
24
α-β algoritα-β algoritmasıması
25
MINMIN
MAXMAX
MAXMAX
22
Alpha-Beta Alpha-Beta budama ilkeleribudama ilkeleri İlkelerİlkeler::
Derinine, soldan sağa ağaç üretmeliDerinine, soldan sağa ağaç üretmeli son düğümlerin değerlerini baba düğümleri son düğümlerin değerlerini baba düğümleri
için başlangıç tahminler kabul etmeliiçin başlangıç tahminler kabul etmeli..
22
55
=2=2
22
11
11
-MINMIN--değerdeğer ( (11)), babanın (, babanın (22) ) MAXMAX –değerinden küçüktür–değerinden küçüktür
-MINMIN--değer daha ileride değer daha ileride küçüle bilküçüle biliirr,,
-MAXMAX--değerin yalnız büyümesinedeğerin yalnız büyümesineizin veriliyorizin veriliyor,,
-Bu düğümden aşağı düğümlereBu düğümden aşağı düğümlere bakmamalıbakmamalı
26
Alpha-Beta Alpha-Beta budama ilkeleri (devamı)budama ilkeleri (devamı)
- - MAXMAX--düğümlerde düğümlerde ((geçicigeçici) ) değerlerdeğerler ALPHA- ALPHA-değerlerdirdeğerlerdir
- - MINMIN--düğümlerdedüğümlerde ( (geçici)geçici) değerlerdeğerler BETA-BETA-değerlerdirdeğerlerdir
MINMIN
MAXMAX
MAXMAX
22
22
55
=2=2
22
11
11
Alpha-Alpha-değerdeğer
Beta-Beta-değerdeğer
27
Alpha-Beta Alpha-Beta ilkeleri ilkeleri (1):(1):
- - EğerEğer ALPHA-ALPHA-değer oğul düğümündeğer oğul düğümün Beta-Beta-değerinden değerinden büyük veya ona eşitsebüyük veya ona eşitse::
uygun soydan uygun soydan düğümlerindüğümlerin üretimini dayandırmalı üretimini dayandırmalı
MINMIN
MAXMAX
MAXMAX
22
22
55
=2=2
22
11
11
Alpha-Alpha-değerdeğer
Beta-Beta-değerdeğer
28
Alpha-Beta Alpha-Beta ilkeleriilkeleri (2): (2):
- - EğerEğer Beta-Beta-değer, oğul düğümün değer, oğul düğümün Alpha-Alpha-değerinden değerinden küçük veya ona eşitse küçük veya ona eşitse ::
uygun soy üzere uygun soy üzere düğümlerin düğümlerin üretimini durdurmalıüretimini durdurmalı
MINMIN
MAXMAX
MAXMAX
22
22
66
=2=2
22
33
11
Alpha-Alpha-değerdeğer
Beta-Beta-değerdeğer
1
29
88 77 33 99 11 66 22 44 11 11 33 55 33 99 22 66 55 22 11 22 33 99 77 22 88 66 44
Mini-Max Mini-Max veve
11
22 88
33
55= 8= 8
44
66 88
77
88 99
99 1111 1313 1717 1919212124242626 2828 3232 3434 3636
1010 221212 441414= 4= 4
1515= 4= 4
441616
1818 112020 332222= 5= 5
3030= 5= 5 55 2323
553131
2525 332727 99 2929 66
3333 113535 223737= 3= 3
33 3838
3939= 5= 5MAXMAX
MINMIN
MAXMAX
11 11 değerlendirmede tasarruf sağlandı değerlendirmede tasarruf sağlandı!!
30
KazançKazanç: : En iyi halEn iyi hal::
MAXMAX
MINMIN
MAXMAX
- - Eğer her seviyedeEğer her seviyede: : en iyi düğüm en soldaki düğüm en iyi düğüm en soldaki düğüm iseise
Yalnız kalın doğrular inclenmeliYalnız kalın doğrular inclenmeli
31
Mükemmel sıralanmış ağaç örneğiMükemmel sıralanmış ağaç örneği
MAXMAX
MINMIN
MAXMAX
21 20 19 24 23 22 27 26 2521 20 19 24 23 22 27 26 2512 11 10 15 14 13 18 17 1612 11 10 15 14 13 18 17 163 2 1 6 5 4 9 8 73 2 1 6 5 4 9 8 7
21 24 2721 24 27 12 15 1812 15 18 3 6 93 6 9
21 12 321 12 3
2121
32
Değerlendirme fonksiyonlarıDeğerlendirme fonksiyonları
Ağırlıklı doğrusal fonksiyonAğırlıklı doğrusal fonksiyon
Eval(s) Eval(s) = w= w11 f f11(s) + w(s) + w22 f f22(s) + … + w(s) + … + wnn f fnn(s)(s)
w-özelliğin ağırlığıw-özelliğin ağırlığı
f-özellikf-özellik
Örnek:Örnek: satrançta satrançta
ff(s)(s) = = aynı türden taşların sayısıaynı türden taşların sayısı
w-uygun taşın ağırlığı (örn., piyon için 1)w-uygun taşın ağırlığı (örn., piyon için 1)
33
sınırlamalarsınırlamalar
Örnek:Örnek: arama için 100 saniyelik zaman tanınmıştır. Her arama için 100 saniyelik zaman tanınmıştır. Her saniyedesaniyede 10 1044 düğüm araştırılmalıdırdüğüm araştırılmalıdır her harekette her harekette 101066 düğümdüğüm
yaklaşımlaryaklaşımlar:: Kesme denemesi (Kesme denemesi (cutoff testcutoff test)): :
Derinlik sınırıDerinlik sınırı Değerlendirme fonksiyonlarıDeğerlendirme fonksiyonları
34
Kesmekle arama (cutting off)Kesmekle arama (cutting off)
Aşağıdaki değerlerle çalışma mümkün mü?Aşağıdaki değerlerle çalışma mümkün mü?bbmm = 10 = 1066, b=35 , b=35 m=4 m=4
Yalnız 4 Yalnız 4 hamlehamle ileriyi görmek ileriyi görmek satranç oyuncusu için satranç oyuncusu için başarısızlıktırbaşarısızlıktır!!
44 hamle hamle ≈ ≈ acemi oyuncuacemi oyuncu 88 hamle hamle ≈≈ tipik bir program, usta oyuncutipik bir program, usta oyuncu 1212 hamle hamle ≈≈ Deep Blue, Kasparov Deep Blue, Kasparov
35
UfukUfuk etkisietkisi
Vezir kaybıVezir kaybı Piyonun kaybıPiyonun kaybı
Vezirin kaybıVezirin kaybı
ufukufuk = = mini-max mini-max derinliğiderinliği
Derinine ilerlemekle Derinine ilerlemekle felaketi önleye bilmesek de onu geciktire felaketi önleye bilmesek de onu geciktire bilirizbiliriz
çözümçözüm: : sezgisel devamsezgisel devam
36
Sezgisel DevamSezgisel Devam
Strateji durumlarda çok önemliStrateji durumlarda çok önemlioyun taşının kaybı, piyonun vezire çevrilmesioyun taşının kaybı, piyonun vezire çevrilmesi, ... , ...
Aramanı derinlik sınırınınAramanı derinlik sınırının dışında da yapmalıdışında da yapmalı!!
Derinlik sınırıDerinlik sınırı
37
Talih oyunlarıTalih oyunları
ÖrnekÖrnek: : TavlaTavla:: Oyun ağacının biçimiOyun ağacının biçimi::
38
Talih oyunlarında Talih oyunlarında ““YararYarar””ının yayılmasıyayılması::
C düğümü için yarar C düğümü için yarar fonksiyonufonksiyonu
MAXMAX
s1s1 s2s2 s3s3 s4s4
d1d1 d2d2 d3d3 d4d4 d5d5
S(S(CC,,d3d3))
CC
MinMin
Di- zarın değeri
P(di)-Di’nin oluşma olasılığı
S(C,Di)-Di değerinde C’den ulaşıla bilen durum
Yarar(s)-s’in değerlendirilmesi
Beklenen_max( C ) =
39
İlave Oku içinİlave Oku için
Sonraki sunular ilave bilgi amaçlıdırSonraki sunular ilave bilgi amaçlıdır
40
belirlenmiş oyunlarbelirlenmiş oyunlar Checkers: Chinook ended 40-year-reign of human world Checkers: Chinook ended 40-year-reign of human world
champion Marion Tinsley in 1994. Used a precomputed champion Marion Tinsley in 1994. Used a precomputed endgame database defining perfect play for all positions endgame database defining perfect play for all positions involving 8 or fewer pieces on the board, a total of 444 involving 8 or fewer pieces on the board, a total of 444 billion positions.billion positions.
Chess: Deep Blue defeated human world champion Garry Chess: Deep Blue defeated human world champion Garry Kasparov in a six-game match in 1997. Deep Blue Kasparov in a six-game match in 1997. Deep Blue searches 200 million positions per second, uses very searches 200 million positions per second, uses very sophisticated evaluation, and undisclosed methods for sophisticated evaluation, and undisclosed methods for extending some lines of search up to 40 ply.extending some lines of search up to 40 ply.
Othello: human champions refuse to compete against Othello: human champions refuse to compete against computers, who are too good.computers, who are too good.
Go: human champions refuse to compete against Go: human champions refuse to compete against computers, who are too bad. In go, computers, who are too bad. In go, b > 300b > 300, so most , so most programs use pattern knowledge bases to suggest programs use pattern knowledge bases to suggest plausible moves.plausible moves.
41
State of the artState 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)State of the art (2)
43
State of the art (3)State of the art (3)
44
Computer chess ratings studied around 90ies:Computer chess ratings studied around 90ies:
15001500
20002000
25002500
30003000
35003500
22 44 66 88 10101212 1414
Chess RatingChess Rating
Depth in plyDepth in ply
KasparovKasparov??
Further increase of depth was likely to win !Further increase of depth was likely to win !
45
1. 1. Deep Blue saniyede 200,000,000 ‘in üzerinde pozisyonu inceleye ve değerlendire bilir Bir usta ise saniyede 3 pozisyon değerlendire bilir 2. Satranç programının bilgisi azdır ,ama hesaplama yeteneği çok yüksektir Ustanın çok büyük satranç bilgisi var, ama hesaplama yeteneği sınırlıdır. 3.İnsan satranç oynadığı zaman duyumundan,önsezisinden yararlanıyor. Programın duyma, sezme yeteneği yoktur. 4. Deep Blue ,bir uluslararası büyük usta ve beş IBM araştırmacı bilim adamının Deep Blue ,bir uluslararası büyük usta ve beş IBM araştırmacı bilim adamının
rehberliğinden faydalanmıştırrehberliğinden faydalanmıştır Bir ustaya ise antrenörü ve çok iyi satranç oynaya bilme yeteneği yardım eder 5. İnsan kendi hatalarından ve başarılarından öğrenebilme yeteneğine sahiptir. Deep Blue, bugünkü haliyle, öğrenme sistemi değildir; bu nedenle, rakibinden öğrenmek
ve ya satranç tahtasındaki durumu “düşünmek” için yapay zeka kullanma yeteneğine sahip değildir
Satranç ustası ve satranç programı arasındaki farklarSatranç ustası ve satranç programı arasındaki farklar: :
46
6. 6. Programın Programın korku duygusu, fikrinin dağıtılması endişesi yoktur (örneğin,Kasparov’un sabit bakışlarından).
Bir ustanın ise ise insani zafiyeti var, canı sıkla bilir, fikri dağıla bilir ve s. 7. Program satranç oynarken çok etkileyicidir, ama zekası en geri zekalı insandan da
geridir Satranç ustaları ise genellikle aydın insanlardır, birkaç dil biliyorlardır, toplumun ileri
gelenleridir 8. Programın oyun anlayışındaki değişimler ,geliştirme ekibi tarafından yapılmalıdır Usta ise her oyundan önce,sonra, oyun içinde oyununda değişiklik yapa bilir.9. İnsan rakibini değerlendire, onun zayıf yönlerini öğrene ve bundan yararlana bilir. Program ise satranç pozisyonlarını çok iyi değerlendirse de rakibinin zayıf yönlerinden
yararlana bilmez. 10. İnsan , değerlendire bildiği 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)