Rekabet ortamında arama Adversarial Search

Slides:



Advertisements
Benzer bir sunumlar
“TOPLAM İSTİHBARAT” İÇİN KONSOLİDE VERİ TABANI
Advertisements

Ders İçeriği Ağaç Veri Modeli Tanım ve Gerçekleştirim İkili Ağaç
Arama ile sorun çözme Ders 3.
KARAR TEORİSİ.
YAPAY ZEKA Yrd. Doç. Dr. Rembiye Kandemir
Yapay Zeka DR.KORHAN KAYIŞLI.
YENİ BAŞLAYANLAR İÇİN SATRANÇ
YAPAY ZEKA Yrd. Doç. Dr. Rembiye Kandemir
VARYANT HESAPLAMA. ►K►K►K►Kolay anlaşılması için varyantlara, gidiş yolu diyebiliriz. ►S►S►S►Satranççılar; satranç oyunun her aşamasında, planlarını gerçekleştirmek.
Informed Search and Exploration
YAPAY ZEKA ÖDEV - 2 Kenan KILIÇASLAN Trakya Üniversitesi Fen Bilimleri Enstitüsü Makina Mühendisliği Doktora Programı.
Oyun Programlama (Yapay Zeka)
İkili Ağaçlar İkili Arama Ağaçları
4.1. Grafik Yöntemleri 4.2. Kapalı Yöntemler 4.3. Açık Yöntemler
Lokal Arama Algoritmaları
Bir eksik rekabetçi firma;
Ek 2A Diferansiyel Hesaplama Teknikleri
Prof. Dr. Halil İbrahim Karakaş
İkili Arama Ağaçları (Binary Search Trees) BST
Karar Ağaçları.
A Z B Y C V Ç Ü D U F T H Ş İ S K R M Ö N O
Enerji Sistemlerinde Yapay Arı Kolonisi (YAK) Algoritması Kullanarak Yük Akışı Optimizasyonu Nihat Pamuk.
En Küçük Yol Ağacı (Minimum Spanning Tree)
Karar Ağaçları İle Sınıflandırma
Proje ve girişim zamanlarının hesaplanması
Chapter 3 Brainstorming a Game Idea: Gameplay, Technology, and Story
5 KONUM VEKTÖRÜ M.Feridun Dengizek.
Yapısal Program Geliştirme – if, if-else
Arama ile sorun çözme Ders 3.
Çizge Teorisi, Dağıtık Algoritmalar ve Telsiz Duyarga Ağları
YAPAY ZEKA ve UZMAN SİSTEMLER
Sonlu Durum Makinesi M=(S, I, O, f, g, s0) S:durumlar kümesi
YENİ BAŞLAYANLAR İÇİN SATRANÇ
MIT503 Veri Yapıları ve algoritmalar Veri ağaçları
Ders Notu – 3.2 Bilgisiz (Kör) Arama Yöntemleri
Abdulkerim Karabiber Ozan Gül
DERS 11 KISITLAMALI MAKSİMUM POBLEMLERİ
Kısıtlamalı Sorunlar Constraint Satisfaction Problems
BİL551 – YAPAY ZEKA BİLGİSİZ ARAMA YÖNTEMLERİ
Arama ile sorun çözme Ders 3.
Bilgili arama Yöntemleri
BİYOİNFORMATİK NEDİR? BİYOİNFORMATİKTE KULLANILAN SINIFLAMA YÖNTEMLERİ
M.Fatih AMASYALI Yapay Zeka Ders Notları
Bilgili arama Yöntemleri
Gameplay Unsurları (Chapter 7 - The Elements of Gameplay) Meryem YILMAZ BTÖ 517 Değişen Eğitim ve Yeni Teknolojiler Güz.
BAĞLAMA DUYARLI GRAMERLER
Oyunlar.
8 VEZİR PROBLEMİ (N QUEEN PROBLEM)
BTÖ521-Eğitsel Bilgisayar Oyunları Tasarımı
BİL551 – YAPAY ZEKA BİLGİLİ ARAMA YÖNTEMLERİ
Strateji Oyunları.
Minimaks Algoritması Kullanılarak Tasarlanması ve Geliştirilmesi
BİL 4112 Yapay Zeka Hafta 2 – Bölüm 2
BİL 4112 YAPAY ZEKA Hafta 3 – Bölüm 1
Oyunlar. Giriş YZ da oyunlar 3 sınıfa ayrılarak incelenir. – Rasgele sonuçlu (tavla vb) – Ustalık gerektiren (futbol, golf vs) – Stratejik (satranç,dama,
BİL 4112 YAPAY ZEKA Hafta 5.
BİL 4112 YAPAY ZEKA Hafta 6.
Bölüm10 İteratif İyileştirme Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Bölüm 2 : Yapay Zeka nedir?
Makine Öğrenmesinde Yeni Problemler YILDIZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ.
Ağırlıksız ikili eşleştirme
YAPAY ZEKA DERS NOTLARI UYGULAMALARI Bölüm 1 : Yapay Zeka
TAVLA.
Game Design Theory And Practice
Makine Öğrenmesinde Yeni Problemler
Uzay ve Uzay Çalışmaları.
YER DEĞİŞTİRME VE DEĞER DÖNÜŞTÜRME ÖZELLİĞİNE SAHİP GÖRÜNTÜ ŞİFRELEME ALGORİTMALARININ ANALİZİ Erdal GÜVENOĞLU Nurşen SUÇSUZ 
NİŞANTAŞI ÜNİVERSİTESİ
DERİN ÖĞRENME UYGULAMA ALANLARI
Oyuncular hazinelerinde en fazla taşı biriktirmeye çalışırlar.
Sunum transkripti:

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

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.

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

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 200300 düğüm Optimal çözümün çoğu zaman mümkün olmaması

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ı

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

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

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ç

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)

Minimax algoritması

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

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

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

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

α-β budama örneği

α-β budama örneği

α-β budama örneği

α-β budama örneği

α-β budama örneği

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

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

α-β algoritması

α-β algoritması

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ı

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

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 

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

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

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

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

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)

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ı

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

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

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ı

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

Talih oyunlarında “Yarar”ın yayılması: C düğümü için yarar fonksiyonu MAX s1 s2 s3 s4 d1 d2 d3 d4 d5 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şıla bilen durum Yarar(s)-s’in değerlendirilmesi Beklenen_max( C ) =

İlave Oku için Sonraki sunular ilave bilgi amaçlıdır

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.

State of the art Drawn from an article by Mathew Ginsberg, Scientific American, Winter 1998, Special Issue on Exploring Intelligence

State of the art (2)

State of the art (3)

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

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

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)