Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

BİL 4112 YAPAY ZEKA Hafta 5. Rekabet ortamında Arama (Adversarial Search), Oyunlarda Arama.

Benzer bir sunumlar


... konulu sunumlar: "BİL 4112 YAPAY ZEKA Hafta 5. Rekabet ortamında Arama (Adversarial Search), Oyunlarda Arama."— Sunum transkripti:

1 BİL 4112 YAPAY ZEKA Hafta 5

2 Rekabet ortamında Arama (Adversarial Search), Oyunlarda Arama

3 Rekabet ortamında arama   Çoklu etmen ortamı- her bir etmen (agent) karar verirken diğer etmenlerin de hareketlerini dikkate almalı ve bu etmenlerin onun durumunu nasıl etkileyeceğini bilmelidir   Olasılık- diğer etmenlerin hareketlerinin tahmin edilebilmemesi   “Önceden tahmin edilemeyen" karşı taraf   rakibin her olası cevabına karşı bir hareketin belirlenmesi   İşbirlikçi ve rakip etmenler   Rekabet ortamında arama / oyun   Zaman sınırlamaları

4 Oyun neden öğrenilmeli?  Yapay Zekanın en eski alanlarından birisi (Shannon and Turing, 1950)   Zeka gerektiren rekabetin soyut ifadesi   Durum ve eylemlerin kolay ifade edilebilirliği   Dış dünyadan çok az bilginin gerekli olması   Oyun oynama, bazı yeni gereksinimlerle aramanın özel halidir.

5 Oyun Türleri Tam bilgili (perfect info) Tam olmayan bilgili (imperfect info) Belirlenmiş (deterministic) Şans / rastsal (chance) Satranç, dama, go - tam bilgili, belirlenmiş Tavla- tam bilgili, şans / rastsal Kağıt oyunları- tam olmayan bilgili, şans / rastsal imperfect information - örn: karşı tarafın elindekini bilememe

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 düğüm   Go : her durumda ~200 hareket, 300 karşılıklı hamle   ağaçta düğü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 problemlerinde Arama ağaçları   Başlangıç durum- ilk pozisyon ve birinci hamle yapacak oyuncu   Ardıl fonksiyonu- (hareket,durum) çiftleri listesini veriyor; geçerli hareket (legal move) ve bu hareket sonucu durum   Uç düğüm (terminal) denemesi - oyunun bittiğini belirler. Oyunun son bulduğu durumlara uç düğümler (yapraklar / leaf nodes / terminals) denir   Yarar fonksiyonu (utility function)- uç durumlar için sayısal bir değer verir   Oyun ağacı - başlangıç durum ve her iki tarafın geçerli hareketleri

9 Oyun Ağacı Örneği (2-oyunculu tic-tac-toe, belirlenmiş) Yarar fonk. (Utility): Kazanırsa +1 Kaybederse -1 Beraberlik 0

10 Minimax Algoritması   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 (n)= Yarar(n), eğer n son durum ise (yaprak / uç düğüm) Max (Minimaxdeğer(s)), n Max düğüm ise (maksimum toplamak isteyen oyuncu, o1) Min (Minimaxdeğer(s)), n Min düğüm ise (o1’e minimum toplatmak isteyen diğer oyuncu, o2) S  ardıllar(n) Minimax Algoritması S  ardıllar(n)

12 Minimax Algoritması

13   tam? Evet (eğer ağaç sonlu ise)   Optimal? Evet (optimal rakibe karşı)   Zaman karmaşıklığı? O(b m )   Uzay karmaşıklığı O(bm) (derinine arama)   m: ağacın en fazla derinliği   b: her noktada mümkün hamleler sayısı   Satranç için b ≈ 35, m ≈100 Minimax - Özellikleri

14 Satrançta Minimax kullanılırsa…?   Arama uzayının büyüklüğü (32 40 )   Ortalama hamle sayısı = 40   Her adımda yapılabilecek farklı hamle sayısı ortalaması = 32   = ~   Saniyede 3 milyar durum işlersek   Bir yıldaki saniye sayısı ~ 32*10 6   Bir yılda işlenecek durum sayısı ~   Tüm durumların değerlendirilmesi ~ yıl sürer.   Evrenin yaşı ~ yıl

15   Sınırlamalar:   2 oyuncu: MAX (bilgisayar) ve MIN (rakip)  belirlenmiş, tam bilgi  Derinine arama ve değerlendirme fonksiyonu MAX MIN MAX - Derine doğru ağaç oluşturmalı - Her seviye için, en son uç düğüm / yaprağa ulaşılınca, değerlendirme fonksiyonu ile değer hesaplamalı Değerlendirme fonksiyonunu yaymalı: - MIN’de minimum kabul ediliyor MAX’da maximum kabul ediliyor3 Bu hare- keti seç Minimax Algoritması - Örnek

16 Minimax Algoritması – Örnek 2

17 Minimax Algoritması – Örnek 3

18 Minimax Algoritması – Örnek 4 (üç oyunculu bir örnek) Bu örnekte, her oyuncu sadece kendisi için en iyiye (maksimum) bakıyor. Birisini dışarıda tutacak, vb. ittifak stratejileri de düşünülebilirdi.

19 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 kalmayabilir  Edinilmiş bazı değerler,ağacın üretilmemiş kısımlarının fazla olduğu ve üretilmesine gerek kalmadığı bilgisini verebilir

20 Tüm durumları değerlendirmek gerekir mi? Basit bir α-β budama örneği: Önemsiz, seçilecek yolu etkilemez α  Bir durumun alabileceği maksimum değer β  Bir durumun alabileceği minimum değer ≤1

21 α-β budama için Minimax değerinin bulunması 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 Temel fikir: oyun ağacında her bir düğüme bakmadan da doğru çözümü bulmak mümkündür. Böylece ağacın bakılmayan kısmı budanmış oluyor.

22 α-β Budama örneği - 1

23

24

25

26

27 Alpha'ya -∞, Beta'ya +∞ ilk değerlerini ata. Derinine arama (Depth first) ile ilk yaprağa (uç düğüme) kadar in. Eğer α ≥ β, o zaman o düğümün altında kalanları buda. α-β Budama örneği - 1

28 İlk yaprağı değerlendir ve buna göre [alfa, beta] değerlerini güncelle. 1.adım 2.adım 3.adım α-β Budama örneği - 1

29 İkinci yaprağı değerlendir ve buna göre alfa, beta değerlerini güncelle. 1.adım 2.adım 3.adım 4.adım α-β Budama örneği - 1

30 1.adım 2.adım 3.adım 4.adım 5.adım α-β Budama örneği - 1 Üçüncü yaprağı değerlendir ve buna göre alfa, beta değerlerini güncelle.

31 1.adım 2.adım 3.adım 4.adım 5.adım6.adım 7.adım 7.adım: En küçük değer 3, altıncının en büyük değeri 2, o halde X ile işaretlilerin değerlerini bulmaya gerek yok, zaten alfa ve beta yı değiştiremezler. α-β Budama örneği - 1 Dördüncü yaprağı değerlendir ve buna göre alfa, beta değerlerini güncelle. [3,2]

32 α-β Budama için Başka bir Örnek

33 α-β Budama' nın Özellikleri   Budama, sonucu etkilemez   Hareketlerin iyi sıralanması budamanın etkinliğini yükseltir   “mükemmel sıralamada," zaman karmaşıklığı = O(b m/2 )

34 Neden α-β Budama?   α, 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

35 α-β Budama Algoritması

36

37   https://www.youtube.com/watch?v=Ewh-rF7KSEg https://www.youtube.com/watch?v=Ewh-rF7KSEg   https://www.youtube.com/watch?v=J1GoI5WHBto https://www.youtube.com/watch?v=J1GoI5WHBto (26dk 25.sn. den itibaren) α-β Budama Örnekleri (Internet – video kaydı ile anlatım)

38 Başka bir α-β Budama örneği 6,+ ∞ - ∞,2 5,+ ∞ - ∞,4

39 MIN MAXMAX2 Alpha-Beta Budama İlkeleri   Derinine, soldan sağa ağacı üretip büyütmeli  Son düğümlerin (yaprak / uç) değerlerini ebeveyn (parent) düğümleri için başlangıç tahminler kabul etmeli. 2222 5 =2 2222 1 1111 MIN değer (1), ebeveyn (2) MAX değerinden küçüktür MIN değer daha ileride küçülebilir MAX değerin yalnız büyümesine izin veriliyor Bu düğümden aşağı düğümlere bakmamalı

40 Alpha-Beta Budama İlkeleri - MAX düğümlerde (geçici) değerler ALPHA değerlerdir - MIN düğümlerde (geçici) değerler BETA değerlerdir MIN MAX MAX 2 2222 5 =2 2222 1 1111 Alpha-değerBeta-değer

41 41 Eğer Alpha-değer çocuk düğümün Beta-değerinden büyük veya ona eşitse: Uygun soydan düğümlerin üretimini dayandırmalı MIN MAX MAX 2 2222 5 =2 2222 1 1111 Alpha-değer Beta-değer  Alpha-Beta Budama İlkeleri

42 Eğer Beta-değer, çocuk düğümün Alpha-değerinden küçük veya ona eşitse: Uygun soy üzerindeki düğümlerin üretimini durdurmalı MIN MAX MAX 2 2222 6 =2 2222 3 1111 Alpha-değer Beta-değer  1 Alpha-Beta Budama İlkeleri

43 Mini-Max ve  1 2  8 8 8 83 5 =  8 8 8 87 8  9 9 9  2 2 2 2 12  4 4 4 4 14 = 4 15  4 4 4  1 1 1 1 20  3 3 3 3 22 = 5 30  5 5 5 523  5 5 5  3 3 3 3 27  9 9 9 9 29  6 6 6 6 33  1 1 1 1 35  2 2 2 2 37 = 3  3 3 3 = 5 MAX MIN MAX Budama ile 11 adet değerlendirme / düğüm kontrolünün yapılmasına gerek kalmadı!

44 44 Kazanç: En İyi (optimal) Olası DurumMAXMIN MAX Eğer her düzeyde en iyi düğüm, en soldaki düğüm ise Yalnızca kalın doğrular incelenmeli

45 45 Mini-Max ve  Budama için İdeal sıralanmış ağaç örneğiMAXMIN MAX

46 α-β Özellikleri   Budama seçilen hareketi etkilemez.   Karmaşıklığı O(b m/2 ) ‘ye kadar düşürebilir.   arama derinliğini iki katına çıkarır. 4*2=8 (satrançta master seviyesi)

47 Değerlendirme Fonksiyonları   Ağırlıklı doğrusal fonksiyon Eval(s) = w 1 f 1 (s) + w 2 f 2 (s) + … + w n f n (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)

48 Satranç için değerlendirme fonksiyonu   Taş değerleri: Piyon=1, at=fil=3, kale=5, vezir=9   Siyahlar:   5 piyon, 1 fil, 2 kale   Skor = 1*(5)+3*(1)+5*(2) = = 18   Beyazlar:   5 piyon, 1 kale   Skor = 1*(5)+5*(1) = = 10 Bu durumun iki taraf için skorları: siyahlar için = = 8 beyazlar için = = -8

49 Değerlendirme fonksiyonları   Oyunun sonucunun çok derinlerde olduğu durumlarda durumların değerlendirilmesi için kullanılan fonksiyonlardır.   Satranç için bu fonksiyon genellikle önceden belirlenen özniteliklerin doğrusal toplamı olarak düşünülür. Eval(s) = w 1 f 1 (s) + w 2 f 2 (s) + … + w n f n (s)   Örnek, w 1 = 9 ve f 1 (s) = (beyaz vezir sayısı) – (siyah vezir sayısı), vs.   Ağırlıklı toplam, bileşenlerin birbirinden bağımsız olduğunu varsayar.

50 Satranç için değerlendirme fonksiyonu   Asıl iş: f’leri ve w’leri belirlemek:   Etrafı boş olan piyonlar kötüdür.   Şahın korumaları var mı?   Hareket becerin ne durumda?   Tahtanın ortasının kontrolü sende mi?   Oyun süresince w’ lerin değerleri değişir mi?

51 Tic-Tac-Toe için Değerlendirme fonksiyonu

52 (ilk hamlemiz, 2 derinlikli arama)

53 Tic-Tac-Toe için Değerlendirme fonksiyonu (2. hamlemiz, 2 derinlikli arama)

54 Sınırlamalar Örnek: arama için 100 saniyelik zaman tanınmıştır. Her saniyede 10 4 düğüm araştırılmalıdır  her harekette 10 6 düğüm Yaklaşımlar:   Kesme denemesi (cutoff test):   Derinlik sınırı   Değerlendirme fonksiyonları

55 Sınırlı Derinlikte ya da Kesmekle Arama (cutting off / cutoff search) Aşağıdaki değerlerle çalışmak mümkün mü? b m = 10 6, b=35  m=4 Yalnız 4 hamle ileriyi görmek satranç 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

56 Sınırlı Derinlikte Arama (Cutoff search) MinimaxCutoff MinimaxValue ile aynıdır Terminal yerine Cutoff Kullanılır Utility yerine Eval kullanılır. Satrançta yeterli mi? Hamle yapma süresi eğer 100 saniye ise ve 10 4 düğüm/saniye hızda inceleme yapabiliyorsak  her hareket için 10 6 düğüm inceleyebiliriz. b m = 10 6 ile sınırlıysa b=35 ise m=4 olabilir. 4-katlı ileri-bakış (look-ahead)  amatör bir satranç oyuncusu 4 kat (hamle) ileri bakan bir program en iyi olasılıkla amatör oyuncuları yenebilir.   4-kat ≈ amatör oyuncu - insan   8-kat ≈ master seviyesinde insan   12-kat ≈ Deep Blue, Kasparov Çözüm: Sınırlı derinlikte aramaya alfa beta budamayı eklemek

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

58 Ufuk Etkisi Vezir kaybıPiyonun kaybı Vezirin kaybı Ufuk = Minimax derinliği  Çözüm: sezgisel devam Derinine ilerlemekle felaketi önleyemesek de, onu geciktirebiliriz

59 Sezgisel Devam Strateji durumlarda çok önemli; Örn. oyun taşının kaybı, piyonun vezire çevrilmesi,... Arama, derinlik sınırının dışında da yapmalı! Derinlik sınırı

60 60 Şans oyunları Örnek: Tavla:Oyun ağacının biçimi:

61 61 Şans oyunlarında “Yarar”ın yayılması C düğümü için yarar fonksiyonu: MAX s1s2s3s4 d1 d2d3d4d5 S(C,d3) C Min Di: zarın değeri P(di): Di’nin oluşma olasılığı S(C,Di): Di değerinde C’den ulaşılabilen durum Yarar(s): s’in değerlendirilmesi Beklenen_max( C ) =

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

63 Expectiminimax Benim yapabileceğim olası hamleler Karşı tarafın atabileceği zarlar Karşı tarafın yapabileceği olası hamleler Benim atabileceğim zarlar Benim yapabileceğim olası hamleler

64 Expectiminimax   EXPECTIMINIMAX(n) =   UTILITY(n)eğer n oyun sonu (terminal) durumu ise   max ( Ardıl (n) )eğer n MAX seviyesinde ise   min ( Ardıl (n) )eğer n MIN seviyesinde ise   ∑ P(s) * Ardıl(s)eğer n şans düğümü ise

65 Expectiminimax Örnek Benim yapabileceğim olası hamleler Karşı tarafın atabileceği zarlar Karşı tarafın yapabileceği olası hamleler Benim açımdan Durum skorları

66 Expectiminimax - Örnek

67 Expectiminimax – Örnek 2

68 Expectiminimax – Örnek 3 Soldaki ağaçta, Max için en iyi seçenek a1 yoludur. Sağdaki ağaçta, Max için en iyi seçenek a2 yoludur.

69 Expectiminimax özellikleri   Tam çözüm? Evet (eğer ağaç sınırlı ise)   En iyi çözüm? Evet (şans faktörü göz önünde olmalı)   Zaman karmaşıklığı? O(b m n m )   Bellek karmaşıklığı? O(n m bm) (derinlemesine arama)   n  şans faktörünün dallanma sayısı   Tavla için b ≈ 20, n = 21  tam çözüm şu anki koşullarda olanaksız gibi. Pratikte en fazla 3 seviye mümkün.   ‘TDGammon’ adlı oyun 2 derinlikli arama yapar. Çok iyi bir değerlendirme fonksiyonu var. Sonuç: dünya şampiyonu

70 Tahmin ve Öğrenme   Bilgisayar kullanıcının hareket log’larını kaydedebilir.   Kullanıcının bir sonraki hareketini bu log’lara göre tahmin edebilir. Tüm olasılıkları hesaba katmaya gerek kalmaz.   Bu tahmine göre yapması en iyi hareketi yapabilir.   Önceki hareketler Low Kick, Low Punch, Uppercut1050% Low Kick, Low Punch, Low Punch 735% Low Kick, Low Punch, Low Kick 315%   Şimdiki durum: Low Kick, Low Punch, ?   Ör: Virtual Fighter 4

71   Deep Blue durum değerlendirme fonksiyonundaki ağırlıkları (w 1, w 2,..,w n ) öğrenmiştir. f(p) = w 1 f 1 (p) + w 2 f 2 (p) w n f n (p)   Nasıl? Değerlendirme fonksiyonunu öğrenmek

72 Değerlendirme fonksiyonunu Öğrenmek Grand master seviyesindeki oyuncuların 1000’den fazla oyunundaki her hamlenin yer aldığı “şu durumda şunu yaptı“ veri tabanı Tüm hamleler için, önceki durumdan gidilebilecek tüm durumların içinde yapılanın (veri tabanında yer alanın) seçileceği (f(p)’si büyük) şekilde w’ lerin düzenlenmesi

73 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 yapay zeka ve oyun algoritmaları ile tamamen çözülmüş durumdadır.   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.

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

75 Rastgele olmayan oyun uygulamaları   Go: İnsanlar 2015 yılına kadar halen üstünlüklerini korumaktaydı. Bunun nedeni, 19x19’luk oyun tahtasında b=361 olmasıdır. Arama teknikleri yerine örüntü tanıma teknikleri daha yaygın kullanılmaktadır.   İlk olarak, Ağustos 2008’de her biri 32 işlemciye sahip 25 sunucuda çalışan Mygo profesyonel bir go oyuncusunu yendi.   Ama dahası da oldu! Ekim 2015, Şubat 2016…Google DeepMind   https://deepmind.com/alpha-go.html https://deepmind.com/alpha-go.html   go go

76 Bilgisayarla satranç oynamak   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ı.

77 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 om/deepblue/meet/html/d. 3.html

78   Shannon, TuringMinimax arama1950   Kotok/McCarthyAlpha-beta budama1966   MacHackDönüşüm tabloları1967   Chess 3.0+Iterative-deepening1975   BelleÖzel donanım1978   Cray BlitzParalel arama1983   HitechParalel değerlendirme1985   Deep Blueyukarıdakilerin hepsi1997 Yöntemlerin Gelişimi ve Kullanımı

79 Satranç ustası İnsan ve Deep Blue arasındaki farklar: Deep Blue saniyede 200,000,000 ‘in üzerinde pozisyonu inceleyebilir ve değerlendirebilir. Bir usta ise saniyede 3 pozisyon değerlendirebilir. Deep Blue’ nun bilgisi azdır, ama hesaplama yeteneği çok yüksektir. Ustanın çok büyük satranç bilgisi vardır, ama hesaplama yeteneği sınırlıdır. İnsan satranç oynadığı zaman duyumundan, önsezisinden yararlanıyor. Deep Blue’ nun duyma, sezme yeteneği yoktu. Deep Blue, bir uluslararası büyük usta ve beş IBM araştırmacı bilim İnsanının rehberliğinden faydalanmıştır (1997 yılı). Bir ustaya ise antrenörü ve çok iyi satranç oynayabilme yeteneği yardım eder. İnsan kendi hatalarından ve başarılarından öğrenebilme yeteneğine sahiptir. Deep Blue ise, geliştirildiği dönemde öğrenme sistemi değildi; bu nedenle, rakibinden öğrenmek veya satranç tahtasındaki durumu “düşünmek” için yapay zeka kullanma yeteneğine sahip değildi.

80 Programın korku duygusu, fikrinin dağıtılması endişesi yoktur (örneğin, Kasparov’un sabit bakışlarından). Bir ustanın ise insani zayıflıkları vardır, canı sıkılabilir, konsantrasyon dağılabilir vb. 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 / taktiklerinde değişiklik yapabilir. İnsan, rakibini değerlendirerek onun zayıf yönlerini öğrenebilir ve bundan yararlanabilir. Program ise satranç pozisyonlarını çok iyi değerlendirse de rakibinin zayıf yönlerinden yararlanamaz. İnsan, değerlendirebildiği pozisyonlar içinden seçim yapar. Program ise mümkün pozisyonlar içinden en iyisini seçebilir. (Deep Blue, geliştirildiği ve sınandığı dönemde (1997 yılı) bile, saniyede 200 milyon pozisyon içinde arama yapabiliyordu) Satranç ustası İnsan ve Deep Blue arasındaki farklar:

81 Öte yandan…   Drew McDermott (Prof. Dr., Computer Science, Yale University, AI expert) :   ‘Deep Blue’nun gerçekte satrançtan anlamadığını söylemek, bir uçağın kanatlarını çırpmadığı için uçmadığını söylemeye benzer.’   Uzaylılar dünyaya gelse ve bize satrançta meydan okusalar;   Yarışmaya Deep Blue’u mu, Kasparov’u mu gönderirdiniz…?

82 İçinde şans faktörü olan oyunlar   Tavla – atılan zarlara 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.

83 83

84 84

85 Özet   Oyunlar zevklidir.   Yapay Zeka hakkında pratik yeni fikirler üretirler.   Hesaplama karmaşıklığı sebebiyle mükemmellik sağlanamayabilir. Bunun yerine yaklaşımlar, kestirimler kullanılır.


"BİL 4112 YAPAY ZEKA Hafta 5. Rekabet ortamında Arama (Adversarial Search), Oyunlarda Arama." indir ppt

Benzer bir sunumlar


Google Reklamları