1 / 46

Rekabet ortamında arama Adversarial Search

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

leo-huffman
Download Presentation

Rekabet ortamında arama Adversarial Search

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rekabet ortamında aramaAdversarial 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. Oyunneden öğrenilmeli? • Zeka gerektiren rekabetin soyut ifadesi • Durum ve faaliyetlerin kolay ifade edilebilirliği • Dış dünyadan çok az bilginin gerek olması • Oyun oynama, bazı yeni gereksinimlerle aramanın özel halidir. • Yapay Zekanın en eski alanlarından birisi (Shannon and Turing, 1950)

  4. Oyuntü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ı sorunlar • Oyunların çözümü zordur: • “Olasılık ” sorunu • Rakibin hareketini bilmiyoruz ! • Arama uzayının boyutu: • Satranç : her durumda yaklaşık ~15 hareket, 80 karşılıklı hamle • ağaçta 1580düğüm • Go : her durumda ~200 hareket, 300 karşılıklı hamle • ağaçta 200300düğüm • Optimal çözümün çoğu zaman mümkün olmaması

  6. Oyun oynama algoritmaları: • Minimax algoritması • Alpha-beta budama • Değerlendirme fonksiyonu • Aramayı kesme • her hangi derinlik sınırına kadar arama • Derinlik sınırında değerlendirme fonksiyonunun kullanılması • Değerlendirmenin tüm ağaç boyunca 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ı (2-oyuncu, belirlenmiş)

  9. Minimax yöntemi • Belirlenmiş oyunlar için mükemmel taktik • Temel fikir:en yüksek minimax değerli hareketi seçmeli = en iyi ulaşılabilir sonuç

  10. Minimaxdeğer • Minimax değer (n)= Yarar(n), eğer n son durum ise Max (Minimaxdeğer(s)), n -Max düğüm ise S  ardıllar(n) Min (Minimaxdeğer(s)), n - Min düğüm ise S  ardıllar(n)

  11. Minimaxalgoritması

  12. minimax’ınözellikleri • tam?Evet (eğer ağaç sonlu ise) • Optimal?Evet (optimal rakibe karşı) • Zaman karmaşıklığı? O(bm) • Uzay karmaşıklığı O(bm) (derinine izleme) • m- ağacın en fazla derinliği • b- her noktada mümkün hamleler sayısı • Satranç için b ≈ 35, m ≈100

  13. Bu hare- keti seç MAX 3 MIN 3 2 1 MAX 2 5 3 1 4 4 3 MINI MAX • Sınırlamalar: • 2 oyuncu:MAX(bilgisayar)ve MIN (rakip) • belirlenmiş, tam bilgi • Derinine aramave değerlendirme fonksiyonu - Derine doğru ağaç oluşturmalı • Her seviye için değerlendirme • fonksiyonunu hesaplamalı • Değerlendirme fonksiyonunu • yaymalı: • - MIN’de minimum kabul ediliyor - Max’da maximum kabul ediliyor

  14. Alpha-Beta budama • Tüm ağacın (yukarıdan aşağıya doğru derinine) oluşturulmasına ve değerlerin tüm ağaç boyu yayılmasına gerek kalmaya bilir • Edinilmiş bazı değerler ,ağacın üretilmemiş kısımlarının fazla olduğu ve üretilmesine gerek kalmadığı bilgisini vere bilir

  15. α-β budama için minimax değerinin bulunması Temel fikir: oyun ağacında her bir düğüme bakmadan da doğru çözümü bulmak mümkündür. Bu halde ağacın bakılmayan kısmı budanmış oluyor Minimax Değer(kök)= 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 olduğu anlaşılıyor. O zaman Minimax Değer(kök)= 3 alırız

  16. α-β budama örneği

  17. α-β budama örneği

  18. α-β budama örneği

  19. α-β budama örneği

  20. α-β budama örneği

  21. α-β’nın özellikleri • Budama son neticeyi etkilemez • Hareketlerin iyi sıralanması budamanın etkiliğini yükseltir • “mükemmel sıralamada," zaman karmaşıklığı = O(bm/2)

  22. α, max için yol boyunca seçilmiş en iyi (en yüksek) değer Eğer vα’dan kötü ise max onu iptal edecek uygun dal budanacak Min için β, benzer yolla değerlendirilir Neden α-β?

  23. α-β algoritması

  24. α-β algoritması

  25. MAX 2 1 2 =2 MIN MAX 2 5 1 Alpha-Beta budama ilkeleri • İlkeler: • Derinine, soldan sağa ağaç üretmeli • son düğümlerin değerlerini baba düğümleri için başlangıç tahminler kabul etmeli. • MIN-değer (1), babanın (2) • MAX–değerinden küçüktür • MIN-değer daha ileride • küçüle bilir, • MAX-değerin yalnız büyümesine • izin veriliyor, • Bu düğümden aşağı düğümlere • bakmamalı

  26. - MAX-düğümlerde (geçici) değerler ALPHA-değerlerdir MAX 2 Alpha-değer 1 2 =2 MIN Beta-değer MAX 2 5 1 Alpha-Beta budama ilkeleri (devamı) - MIN-düğümlerde (geçici)değerlerBETA-değerlerdir

  27. - EğerALPHA-değer oğul düğümünBeta-değerinden büyük veya ona eşitse: uygun soydan düğümlerin üretimini dayandırmalı MAX 2 Alpha-değer 1 2 =2 MIN Beta-değer MAX 2 5 1 Alpha-Beta ilkeleri (1): 

  28. - EğerBeta-değer, oğul düğümün Alpha-değerinden küçük veya ona eşitse : uygun soy üzere düğümlerin üretimini durdurmalı MAX 2 Alpha-değer 2 =2 MIN Beta-değer 1 MAX 3 2 6 Alpha-Beta ilkeleri (2):  1

  29.  4  5 = 5 16 31 39  8  5 23 6 = 4 = 5 15 30  3 38  1  2  1  8 33 10 18 2  3  2 25  4  3 35 = 8 12 20 5  9  9  6 = 3 8 27 29 = 4 = 5 37 14 22 8 7 3 9 1 6 2 4 1 1 3 5 3 9 2 6 5 2 1 2 3 9 7 2 8 6 4 Mini-Max ve MAX MIN MAX 1 3 4 7 9 11 13 17 19 21 24 26 28 32 34 36 11 değerlendirmede tasarruf sağlandı!

  30. MAX - Eğer her seviyede: en iyi düğüm en soldaki düğüm ise MIN MAX Kazanç: En iyi hal: Yalnız kalın doğrular inclenmeli

  31. MAX MIN MAX 21 24 27 12 15 18 3 6 9 3 2 1 6 5 4 9 8 7 21 20 19 24 23 22 27 26 25 12 11 10 15 14 13 18 17 16 Mükemmel sıralanmış ağaç örneği 21 21 12 3

  32. Değerlendirme fonksiyonları • Ağırlıklı doğrusal fonksiyon Eval(s) = w1 f1(s) + w2 f2(s) + … + wn fn(s) w-özelliğin ağırlığı f-özellik Örnek: satrançta f(s) = aynı türden taşların sayısı w-uygun taşın ağırlığı (örn., piyon için 1)

  33. sınırlamalar Örnek: arama için 100 saniyelik zaman tanınmıştır. Her saniyede 104düğüm araştırılmalıdırher harekette 106düğüm yaklaşımlar: • Kesme denemesi (cutoff test): Derinlik sınırı • Değerlendirme fonksiyonları

  34. Kesmekle arama (cutting off) Aşağıdaki değerlerle çalışma mümkün mü? bm = 106, b=35  m=4 Yalnız 4 hamle ileriyi görmeksatranç oyuncusu için başarısızlıktır! • 4 hamle≈ acemi oyuncu • 8 hamle≈tipik bir program, usta oyuncu • 12 hamle≈ Deep Blue, Kasparov

  35. Vezir kaybı Piyonun kaybı Vezirin kaybı Ufuketkisi ufuk = mini-max derinliği • Derinine ilerlemekle • felaketi önleye bilmesek de onu geciktire biliriz • çözüm: sezgisel devam

  36. Strateji durumlarda çok önemli oyun taşının kaybı, piyonun vezire çevrilmesi, ... Derinlik sınırı Sezgisel Devam Aramanı derinlik sınırınındışında da yapmalı!

  37. Örnek: Tavla: Oyun ağacının biçimi: Talih oyunları

  38. C MAX d1 d2 d3 d4 d5 Min s1 s2 s3 s4 S(C,d3) Talih oyunlarında “Yarar”ınyayılması: C düğümü için yarar fonksiyonu 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 • Sonraki sunular ilave bilgi amaçlıdır

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

  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. Chess Rating 3500 ? Kasparov 3000 2500 2000 1500 Depth in ply 2 4 6 8 10 12 14 Further increase of depth was likely to win ! Computer chess ratings studied around 90ies:

  45. Satranç ustası ve satranç programı arasındaki farklar: 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 rehberliğinden faydalanmıştır Bir ustaya ise antrenörü ve çok iyi satranç oynaya bilme yeteneği yardım eder 5. İnsankendi 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

  46. 6. 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. Programsatranç 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. İnsanrakibini 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)

More Related