Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

YAPAY ZEKA ve UZMAN SİSTEMLER

Benzer bir sunumlar


... konulu sunumlar: "YAPAY ZEKA ve UZMAN SİSTEMLER"— Sunum transkripti:

1 YAPAY ZEKA ve UZMAN SİSTEMLER
Ders Notu - 5 Oyun Oynama

2 Rekabet ortamında arama Adversarial 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 Oyun neden öğrenilmeli?
Yapay Zekanın en eski alanlarından birisi (Shannon and Turing, 1950) 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.

5 Oyun tü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 1580 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-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 Minimax değ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 Minimax algoritması

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 Ortalama hamle sayısı = 40
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 yıl sürer. Evrenin yaşı ~= 1010 yıl

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

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

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 Neden α-β? Eğer v α’dan kötü ise max onu iptal edecek
α, 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

26 α-β algoritması

27 α-β algoritması

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

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

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

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

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

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

34 Mükemmel sıralanmış ağaç örneği
MAX MIN 21

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 104 düğüm araştırılmalıdır  her harekette 106 düğü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ö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

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

39 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. Sınırlı Derinlikte Arama’da Ufuk Etkisi - Horizon Effect

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

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

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

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

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.

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

52 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

53 Expectiminimax özellikleri
Bütünlük? 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(bmnm) Bellek karmaşıklığı? O(nmbm) (derinlemesine arama) n şans faktörünün dallanma sayısı Tavla için b ≈ 20, n = 21  tam çözüm şu anki şartlarda imkansız. En fazla 3-seviye pratikte mümkün. TDGammon adlı oyun 2 derinlikli arama yapar. Çok iyi bir değerlendirme fonksiyonu var. Sonuç: dünya şampiyonu

54 Tahmin ve Ögrenme Bilgisayar kullanıcının hareket loglarını kaydedebilir. Kullanıcının bir sonraki hareketini bu loglara 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, Uppercut % Low Kick, Low Punch, Low Punch % Low Kick, Low Punch, Low Kick % Şimdiki durum: Low Kick, Low Punch, ? Ör: Virtual Fighter 4

55 Değerlendirme fonksiyonunu öğrenmek
Deep Blue durum değerlendirme fonksiyonundaki ağırlıkları (w1, w2,.. ,wn) öğrenmiştir. f(p) = w1f1(p) + w2f2(p) wnfn(p) Nasıl?

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

57 Sorular Deep Blue’nun yaptığı şey sadece tasarımcıların fikirlerini büyük hesap kabiliyetiyle uygulamak. Yenen tasarımcılar ve teknoloji. Yapılan sadece özel bir hesap makinesi. Drew McDermott: 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 Kapışmaya Deep Blue’yu mu Kasparov’u mu gönderirdiniz?

58 Deep Thought kaleyi aldı!
Oyun sırası beyaz’da Çözüm yeni bir f’in eklenmesi

59 Deep Thought kaleyi yine aldı!
Oyun sırası beyaz’da Çözüm yeni bir f’in daha eklenmesi Nereye kadar?

60 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. İ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

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

62 Özet Oyunlar zevklidir. YZ hakkında pratik yeni fikirler üretirler.
Hesaplama karmaşıklığı sebebiyle mükemmellik genelde sağlanamaz. Bunun yerine yaklaşımlar, kestirimler kullanılır.


"YAPAY ZEKA ve UZMAN SİSTEMLER" indir ppt

Benzer bir sunumlar


Google Reklamları