1 / 62

YAPAY ZEKA ve UZMAN SİSTEMLER

YAPAY ZEKA ve UZMAN SİSTEMLER. Ders Notu - 5 Oyun Oynama. 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

ula
Download Presentation

YAPAY ZEKA ve UZMAN SİSTEMLER

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. YAPAY ZEKA ve UZMAN SİSTEMLER Ders Notu - 5 Oyun Oynama

  2. Rekabet ortamında aramaAdversarial Search

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

  4. 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)

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

  6. 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ı

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

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

  9. Oyun ağacı (2-oyuncu, belirlenmiş)

  10. 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ç

  11. 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)

  12. Minimaxalgoritması

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

  14. Satrançta Sınırlar • Arama uzayının büyüklüğü(3240) • Ortalama hamle sayısı = 40 • Her adımda yapılabilecek farklı hamle sayısı ortalaması = 32 • 3240= 2200~= 1060 • Saniyede 3 milyar durum işlersek • Bir yıldaki saniye sayısı ~= 32*106 • Bir yılda işlenecek durum sayısı ~= 1017 • Tüm durumların değerlendirilmesi 1043yıl sürer. • Evrenin yaşı~= 1010yıl

  15. Sınırları Aşmak İçin • Sınırlı Derinlikte Arama ve değerlendirme fonksiyonu (cutoff test, evaluation function) • Alfa beta budaması

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

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

  18. α-β 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

  19. α-β budama örneği

  20. α-β budama örneği

  21. α-β budama örneği

  22. α-β budama örneği

  23. α-β budama örneği

  24. α-β’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)

  25. α, 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 α-β?

  26. α-β algoritması

  27. α-β algoritması

  28. 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ı

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

  30. - 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): 

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

  32.  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ı!

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

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

  35. 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)

  36. 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ı

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

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

  39. Aramayı farklı derinliklerde yapmanın etkisi: C2’deki beyaz kale a2’deki piyonu alır mı? 1 derinlikBir piyon kazançta olduğundan alır.2 derinlik Bir piyona bir kale değmez. Almaz.3 derinlikBir piyon + bir kaleye, bir kale değer. Alır. 4 derinlikbir piyon + bir kaleye, 2 kale değmez. Almaz. Sınırlı Derinlikte Arama’daUfuk Etkisi -Horizon Effect

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

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

  42. Rastgele olmayan oyun uygulamaları Dama (Checkers): Chinook 1994’de dünya şampiyonu Marion Tinsley ile başabaş oynadı, aynı yıl Tinsley sağlık sebeplerinden oyunlardan çekildi ve Chinook o zamandan beri dünya şampiyonu. Günümüzde dama tamamen çözülmüşü durumda. Satranç: Deep Blue 1997’de 6 oyun sonunda dünya satranç şampiyonu Garry Kasparov’u yendi. Deep Blue saniyede 200 milyon düğümü arayabilmekte, oldukça iyi bir değerlendirme fonksiyonu kullanmakta, gerektiğinde 40-kat hamle ileriyi görebilecek derecede arama yapabilmektedir.

  43. Rastgele olmayan oyun uygulamaları Othello (reversi): Günümüzde insan dünya şampiyonları bilgisayarlara karşı yarışamamaktadırlar, bilgisayarlar bu alanda çok üstündür.

  44. Rastgele olmayan oyun uygulamaları Go: İnsanlar halen üstünlüklerini korumaktadırlar. Bunun sebebi 19x19’luk oyun tahtasında b=361 olmasıdır. Arama teknikleri yerine örüntü tanıma teknikleri daha yaygın kullanılmaktadır.Ağustos 2008’de herbiri 32 işlemciye sahip 25 server’da çalışan Mygo profesyonel bir go oyuncusunu yendi.

  45. Bilgisayarla satranç oynamak 1957 - Newell ve Simon:10 yıl içinde dünya satranç şampiyonunun bir bilgisayar olacak 1958 :Satranç oynayan ilk bilgisayar IBM 704 1967 : Mac Hack programı insanların katıldığı bir turnuva da başarıyla yarıştı 1983 : Belle programı, Amerika Satranç Federasyonundan master ünvanını aldı. 1980’lerin ortaları : Carnegie Mellon üniversitesinde bilim adamları sonradan Deep Blue’ya dönüşecek çalışmayı başlattı. 1989: Projeyi IBM devraldı.

  46. Bilgisayarla satranç oynamak 11 Mayıs 1997, Gary Kasparov, 6 oyunluk maçta Deep Blue’ya 3.5 a 2.5 yenildi. 2 oyun deep blue, 1 oyun Kasparov aldı, 3 oyun berabere http://www.research.ibm.com/deepblue/meet/html/d.3.html

  47. Shannon, Turing Minimax arama 1950 Kotok/McCarthy Alpha-beta budama1966 MacHack Dönüşüm tabloları 1967 Chess 3.0+ Iterative-deepening 1975 Belle Özel donanım1978 Cray Blitz Paralel arama1983 Hitech Paralel değerlendirme 1985 Deep Blue yukarıdakilerin hepsi 1997 Metotların Tarihi

  48. İçinde şans faktörü olan oyunlar Tavla – atılan zara göre oyun oynanır. Kağıt oyunları – kağıtların dağılımına göre oyun oynanır. Oyun ağacını oluşturmak için her türlü varyasyonun göz önüne alınması gerekir.

  49. Tavla

  50. Expectiminimax bileşenleri Terminal (Sonuç) düğümü min düğümü max düğümü Şans düğümü Şans düğümünde gelebilecek zar, kağıt, vs. gibi durumlar olasılıklarına göre dizilirler. Örnek: Tavlada atılan çift zar için 21 değişik durum (düğüm) oluşabilir. (6 aynı çift zar, 15 değişik çift zar), yani her seviye için 21 şans düğümü vardır.

More Related