YZM YAPAY ZEKA DERS#6: REKABET ORTAMINDA ARAMA

Benzer belgeler
Rekabet ortamında Arama (Adversarial Search) Oyunlarda Arama

BLM-431 YAPAY ZEKA. Ders-3 Durum Uzayında Arama. Yrd. Doç. Dr. Ümit ATİLA

Örnek Arasınav Soruları Güz 2017

Sequence Oyununun Minimaks Algoritması Kullanılarak Tasarlanması ve Geliştirilmesi

YZM YAPAY ZEKA DERS#4: BİLGİSİZ ARAMA YÖNTEMLERİ

YZM 3217 YAPAY ZEKA DERS#3: PROBLEM ÇÖZME VE ARAMA

Akıllı Satranç Uygulaması HAZIRLAYAN: BERKAY ATAMAN DANIŞMAN: DOÇ. DR. FEZA BUZLUCA

BLM-431 YAPAY ZEKA. Ders-4 Bilgisiz Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

OYUN TEORİSİ. Özlem AYDIN. Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ

BLM-431 YAPAY ZEKA. Ders-5 Bilgili Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

DARÜŞŞAFAKA LİSESİ SALİH ZEKİ LİSE ÖĞRENCİLERİ ARASI MATEMATİK PROJELERİ YARIŞMASI

Oyun Tasarımı. 8. Ders

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

Fonksiyon Minimizasyonunda Simulated Annealing Yöntemi

YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR

YZM 2116 Veri Yapıları

b) Algoritmanızın en kötü durumda işlem zamanını asimptotik olarak bulunuz

14.12 Oyun Teorisi Ders Notları

YÖNEYLEM ARAŞTIRMASI - III

Oyun Teorisi IENG 456 Karar Vermede Analitik Yaklaşımlar

Pratik Ara Sınav 1 Çözümleri

Eğitim seti (training set) sınıflandırma modelinin elde edileceği kayıtları içerir

Veritabanı. SQL (Structured Query Language)

GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA

SAĞLIK KURUMLARINDA OPERASYON YÖNETİMİ

END. İKTİSADI VE OYUN TEORİSİ (BİRİNCİ ÖDEV)

DOĞRUSAL PROGRAMLAMADA DUALİTE (DUALITY)

ELEKTRONİK ÇİZELGE. Hücreleri Biçimlendirme. Formülleri Kullanma. Verileri Sıralama. Grafik Oluşturma 1) HÜCRELERİ BİÇİMLENDİRME

Oyun Teorisine (Kuramına) Giriş

Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür.

Tam ve Karma Stratejili Oyunlar. İki Kişili Oyunlar için

DERS SEÇİM KILAVUZU. Sınıf Dönemi Kodu Adı Sınıf Dönemi Kodu Adı. Nesne Yönelimli Programlama. Yazılım Tasarımı ve Mimarisi

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI

Zeki Optimizasyon Teknikleri

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Genel görüntüsü yandaki gibi olması planalanan oyunun kodu e.py bağlantısından indirilebilir. Basitçe bir text ed

CEBİRDEN SEÇME KONULAR

Veritabanı Tasarımı. Çoklu Satır Alt Sorgular

Arama Algoritmaları ile Gerçek Dünya Örnekleri

FMEA. Hata Türleri ve Etkileri Analizi

TAMSAYILI PROGRAMLAMA

İki kişili-sıfır toplamlı oyunlar. Tam ve Karma Stratejili Oyunlar. Varsayımlar. Sıfır toplamlı oyunlar

3 KESİKLİ RASSAL DEĞİŞKENLER VE OLASILIK DAĞILIMLARI

YZM 2116 Veri Yapıları

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#9: AÇGÖZLÜ ALGORİTMALAR

YÖNEYLEM ARAŞTIRMASI - III

Simpleks Yönteminde Kullanılan İlave Değişkenler (Eşitliğin yönüne göre):

KALİTE SİSTEM YÖNETİCİSİ EĞİTİMİ

METASEZGİSEL YÖNTEMLER. Genetik Algoritmalar

Genel Graf Üzerinde Mutlak 1-merkez

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Güz Yarıyılı Balıkesir Üniversitesi, Endüstri Mühendisliği Bölümü EMM4129 ÇİZELGELEME


Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1

YÖNEYLEM ARAŞTIRMASI - I

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1

Veri Tabanı Tasarım ve Yönetimi

KARAR TEORİSİ. Özlem AYDIN. Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü

PARÇACIK SÜRÜ OPTİMİZASYONU BMÜ-579 METASEZGİSEL YÖNTEMLER YRD. DOÇ. DR. İLHAN AYDIN

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

KARINCA KOLONİ ALGORİTMASI BMÜ-579 Meta Sezgisel Yöntemler. Yrd. Doç. Dr. İlhan AYDIN Fırat Üniversitesi, Bilgisayar Mühendisliği Bölümü

Altın Oran Arama Metodu(Golden Search)

Tek Değişkenli Optimizasyon OPTİMİZASYON. Gradient Tabanlı Yöntemler. Bisection (İkiye Bölme) Yöntemi

Yrd. Doç. Dr. Caner ÖZCAN

Y N G. Kris Burm G I P F

K En Yakın Komşu Methodu (KNearest Neighborhood)

Oyun Tasarımı. 10. Ders

GENETİK ALGORİTMA ÖZNUR CENGİZ HİLAL KOCA

3.2. DP Modellerinin Simpleks Yöntem ile Çözümü Primal Simpleks Yöntem

YZM 2116 Veri Yapıları

127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ

YZM 3217 YAPAY ZEKA DERS#5: BİLGİLİ ARAMA YÖNTEMLERİ

Sonuçlanmamış bir cephede rakibinizin dilediğiniz bir birlik kartını alın ve kendi tarafinıza geçirerek istediğiniz bir cepheye yerleştirin.

1 ÜRETİM VE ÜRETİM YÖNETİMİ

Web Madenciliği (Web Mining)

Sanal Antrenör düğmesine basıp tüm bu işleri senin için özel antrenörümüzün yapmasını da sağlayabilirsin!

Yapay Zekada Problem Çözme

Excel de çalışma alanı satır ve sütunlardan oluşur. Satırları rakamlar, sütunları ise harfler temsil eder. Excel çalışma sayfası üzerinde toplam

Yrd. Doç. Dr. A. Burak İNNER

x 2i + A)( 1 yj 2 + B) u (v + B), y 1

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

BİLGİSAYAR MÜHENDİSLİĞİ DOKTORA DERS PROGRAMI (Lisanstan gelenler için)

METASEZGİSEL YÖNTEMLER

DERS 2 : BULANIK KÜMELER

kişi biri 4 kişilik, üçü ikişer kişilik 4 takıma kaç farklı şekilde ayrılabilir? (3150)

BİLGİSAYAR VE ENFORMASYON BİLİMLERİ YÜKSEK LİSANS DERS PROGRAMI (Tezli Program)

YÖNEYLEM ARAŞTIRMASI - III

AKADEMİK LMS PROGRAMI ÖĞRETİM ELEMANI SORU HAZIRLAMA KILAVUZU

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1

Week 9: Trees 1. TREE KAVRAMI 3. İKİLİ AĞAÇ DİZİLİMİ 4. İKİLİ ARAMA AĞACI 2. İKİLİ AĞAÇ VE SUNUMU > =


Ayrık Olasılık. Ayrık Olasılığa Giriş

fonksiyonu aralığında sürekli bir fonksiyon ve için ise olur. Eğer bu aralıktaki bütün x ler için ise bu fonksiyonun noktasında bir minimumu vardır.

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

Transkript:

YZM 3217- YAPAY ZEKA DERS#6: REKABET ORTAMINDA ARAMA

Oyun Oynama Ç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

Oyun Oynama Soyut ve önemli bir Yapay Zeka problemi Yapay Zekanın en eski uygulama alanlarından biri Zeka gerektiren rekabetin soyut ifadesi Durum ve etkinliklerin kolay ifade edilebilirliği Dış dünyadan çok az bilginin gerekli olması Birçok durumda tamamen erişilebilir bir durum uzayı ile karşı karşıyayız.

Oyun Oynama Zorlayıcı bir problem olabilir: belirsizlik Karşıdaki oyuncunun (rakibin) yapacağı hamleler Problemin karmaşıklığı (tam arama -> mümkün değil) --- Arama Uzayının Boyutu Satranç oyunu: Her durumda yaklaşık 15 hareket, 80 karşılıklı hamle => 15 80 düğümlü bir arama ağacı Go oyunu: Her durumda yaklaşık 200 hareket, 300 karşılıklı hamle => 200 300 düğümlü bir arama ağacı

Oyun Türleri Tam bilgili / Eksik bilgili Oyuncuların ardışık olarak stratejileri seçtiği ve diğer oyuncuların seçiminin ne olduğunun farkında olduğu bir oyun türüdür. Oyuncuların yalnızca diğer oyuncuların ne yapacağını tahmin ederek, bir başka oyuncunun hamlesini bilmeden hareket etmesidir Belirli / Şansa Dayalı

Oyun Türleri Satranç / Dama /Go Oyunu: Tam Bilgili, Belirlenmiş Tavla: Tam Bilgili, Şansa Dayalı Kart Oyunları: Eksik Bilgili, Şansa Dayalı

Oyun Türleri Belirli Şansa Dayalı Tam Bilgili Satranç, Go Backgammon, monopoly Eksik Bilgili? Bridge, poker

İki Oyunculu Tam Bilgili Oyunlar İki etmen (oyuncu) bulunmaktadır. Oyunu, oyunculardan birisinin kazanması ya da oyuncuların berabere kalması şeklinde sonlanır. Her bir oyuncu ortama ilişkin tam ve eksiksiz bilgiye sahiptir.

İki Oyunculu Tam Bilgili Oyunlar Başlangıç Durumu: Oyuna ilişkin ilk durum ve kimin oyuna başlayacağı Operatörler: Uygulanabilir hamleler Sonlanma Testi: Oyun Bitti mi? Fayda Fonksiyonu: Sonuç (Kazandı:+1, Kaybetti:-1, Berabere Kaldı :0 gibi) İki oyuncu (MIN ve MAX) kendi hamlelerini gerçekleştirirken oyunu kazanma şanslarını artırmayı amaçlıyor. Bir oyuncunun zaferi, diğerinin yenilgisi anlamına geliyor. Dolayısıyla, rakibin yaptığı hamle ne olursa olsun, bize oyunu kazandıracak stratejiyi belirlememiz gerekli!

MINIMAX Algoritması MINIMAX algoritması, derinlik öncelikli, derinlik sınırlı bir arama prosedürüdür. Mevcut durumda, bir sonraki adımdaki olası hamleler oluşturularak devam edilir. Ardından, statik değerlendirme fonksiyonu kullanılarak, en uygun hamle seçilir. Statik değerlendirme fonksiyonu, oyuncu için yüksek, rakip için düşük değer döndüren bir fonksiyondur.

MINIMAX Algoritması Yandaki oyun ağacında, 10: Oyuncu oyunu kazandı. -10: Rakip oyunu kaybetti. 0: Oyuncular berabere kaldı. İki oyuncu aynı bilgi seviyesinde olduğu takdirde, sıra oyuncuda olduğunda; statik değerlendirme fonksiyonu değeri yüksek olan; sıra rakipte olduğunda ise; statik değerlendirme fonksiyonu değeri düşük olan hamlenin seçilmesi amaçlanır. Burada, oyunu kazanma şansımızı artırmak için B yi seçmeliyiz.

MINIMAX Algoritması Genellikle arama ağacı birkaç adım sonraki hamleler de göz önünde bulundurularak açılır: Eğer biz B düğümünü seçersek; aslında; F düğümüne erişebilmesi, rakibimizi avantajlı çözüme ulaştırmamız anlamına geliyor.

MINIMAX Algoritması Statik Değerleme Fonksiyonu değerini yukarıya doğru yaymalı ve C düğümünü seçmeliyiz. MAX MIN (-4)

MINIMAX Algoritması Birçok oyun için arama uzayına ilişkin tüm ağacın oluşturulması hesaplama maliyeti bakımından uygulanabilir değil! Arama sonlandığından, en iyi olası hamleye ilişkin bir kestirimde bulunulmalı. Hangi hamlenin seçileceği, ağacın yaprak düğümlerinden başlanarak, statik değerlendirme fonksiyonunun uygulanması ile yapılabilir. Değerlendirme fonksiyonu herhangi bir düğümün değerini temsil eder. MAX oyuncusu: en yüksek değere; MIN oyuncusu en düşük değere doğru hamlelerini yapmayı amaçlar. Sıfıra yakın değerlendirme fonksiyonu değerleri, ne MAX ne de MIN oyuncusu için tercih edilebilir değildir.

MINIMAX Algoritması MAX MIN 3 3 0 2 3 9 MAX 0 7 2 6 2 3 5 9 0 7 4 2 1 5 6

Tic-Tac-Toe MAX oyuncusunun X, MIN oyuncusunun O hamleleri yaptığını varsayalım: İlk olarak oyunu MAX oyuncusu başlayacak. Derinlik sınırı değeri 2 için, tüm olası düğümleri oluşturup statik değerlendirme fonksiyonunu uygulayalım: Statik değerlendirme fonksiyonu: e(p) = MAX oyuncusu için halen tamamlanabilir olan toplam satır, sütun ve köşegen sayısı MIN oyuncusu için halen tamamlanabilir olan toplam satır, sütun ve köşegen sayısı e(p) = Eğer p düğümü MAX oyuncusu için kazanma ise. e(p) = - Eğer p düğümü MIN oyuncusu için kazanma ise.

Tic-Tac-Toe Aşağıdaki p düğümü için: O X e(p) = 6 4 = 2 Simetrik durumlar elenebilir: O X X O X O O X

MINIMAX Algoritması

MINIMAX Algoritması

MINIMAX Algoritması

Alfa-Beta Budama Algoritması 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. 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.

Alfa-Beta Budama Prosedürü Kesim Eğer güncel maksimum değer, kendisinden sonra gelen düğümlerin minimum değerinden büyükse; alt ağaçta geriye kalan düğümlerin incelenmesine gerek yoktur. 4 MAX >=4 MIN =< 2 Sağ Alt Ağaç 2 ya da daha düşük bir değer döndürecek. Dolayısıyla, MAX her zaman sol yol üzerinden ilerleyecek. 4 6 2 İncelenmesine gerek yok

Alfa-Beta Budama Prosedürü Kesim Eğer güncel minimum değer, daha sonra gelen düğümün maksimum değerinden küçükse; o zaman sağ alt ağaca bakmaya gerek yoktur. 1 3 3 5 MIN =< 3 MAX >=5 Sağ Alt Ağaç en az 5 olabilir. Dolayısıyla, MIN oyuncusu her zaman sol alt ağaç üzerinden ilerleyecek. inceleme

Alfa-Beta Budama Prosedürü Örneği MAX 3 C MIN 3 A 0 D 2 E 3 B 0 2 MAX 2 3 5 0 2 1 1) A: = 3 B: budanmış D : budanmış, 0<3 E : budanmış, 2<3 2) C = 3

- Prosedürünün Arama Etkinliği Budama arama algoritmasının son sonucunu etkilemez. Alfa-beta budama algoritmasının işletilebilmesi için, arama ağacının en azından bir bölümünün en yüksek derinlik derecesine kadar açılmış olması gereklidir. Alfa-beta budama algoritmasının performansı, düğümlerin sıralanmasına dayalı olarak artırılabilir.

Etkin bir Budama için Sıralama Önemli MIN için: Değerleme fonksiyonun artan sırada sıralanması; MAX için: Değerleme fonksiyonu değerlerinin azalan sırada sıralanması daha iyidir.

- Örneği

- Örneği

- Örneği