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

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

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

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

YZM YAPAY ZEKA DERS#6: REKABET ORTAMINDA ARAMA

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

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

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#3: ALGORİTMA ANALİZİ#2

Yapay Zekada Problem Çözme

ÖZET...V ABSTRACT...VII TEŞEKKÜR... IX ŞEKİLLER DİZİNİ... XIV SÖZLÜK... XIX

Genel Graf Üzerinde Mutlak 1-merkez

Graf Veri Modeli. Düğümler kümesi. Kenarlar kümesi

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

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

Veritabanı Tasarımı. Sütunlar, Karakterler ve Satırlar ile Çalışma

VERİ YAPILARI. GRAPH LAR Düzce Üniversitesi Teknoloji Fakültesi ÖĞR.GÖR.GÜNAY TEMÜR 1

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

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

Algoritma Geliştirme ve Veri Yapıları 10 Graf Veri Modeli. Mustafa Kemal Üniversitesi

Çizgeler (Graphs) Doç. Dr. Aybars UĞUR

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

YZM 2116 Veri Yapıları

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

10.Hafta Minimum kapsayan ağaçlar Minimum spanning trees (MST)

Rekabet ortamında Arama (Adversarial Search) Oyunlarda Arama

YAKIN DOĞU ÜNİVERSİTESİ BESYO SATRANÇ DERS NOTLARI SATRANÇ OYUNUNUN TEMEL KURALLARI

GRAPH LAR Düzce Üniversitesi Teknoloji Fakültesi VERİ YAPILARI. Bilgisayar Mühendisliği ÖĞR.GÖR.GÜNAY TEMÜR 1

BLM-431 YAPAY ZEKA. Ders-2 Etmenler. Yrd. Doç. Dr. Ümit ATİLA

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ

Algoritmalar. Çizge Algoritmaları. Bahar 2017 Doç. Dr. Suat Özdemir 1

Wheep Em v B puzzle Oyunu Referans: Passage3 PC Oyunu. Son Güncelleme: Wheep Em. Oyun Tasarım Dokümanı.

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ

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

BİLGİSAYAR PROGRAMLAMA DERSİ

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

Yrd. Doç. Dr. Caner ÖZCAN

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

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

Yazarlar hakkında Editör hakkında Teşekkür

Zeki Optimizasyon Teknikleri

Yrd. Doç. Dr. Caner ÖZCAN

Oyun Tasarımı. 8. Ders

-ÖRÜNTÜ NEDİR? Bir örnek verebilir misin?

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

SERİMYA 2003 I. MATEMATİK YARIŞMASI I. AŞAMA SORULARI

YÖNEYLEM ARAŞTIRMASI - III

Algoritmalara Giriş 6.046J/18.401J

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

Apriori Algoritması. Konu İçeriği. Giriş. Tarihçesi. Apriori Nedir? Örnekler. Algoritma. Açıklama. Weka İle Kullanımı. Kaynakça.

Büyük Veri İçin İstatistiksel Öğrenme (Statistical Learning for Big Data)

International Olympiad in Informatics 2013

Lineer Denklem Sistemleri

Örnek Arasınav Soruları Güz 2017

köşe (vertex) kenar (edg d e)

İSTANBUL İL MİLLİ EĞİTİM MÜDÜRLÜĞÜ BİLİM OLİMPİYATLARI 2018 SINAVI

Anadolu Üniversitesi Endüstri Mühendisliği Bölümü İST328 Yöneylem Araştırması 2 Dersi Bahar Dönemi. Hazırlayan: Doç. Dr.

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek)

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

SATRANÇ OYUNU EĞİTİM KILAVUZU

Sevdiğim Birkaç Soru


BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

YZM 2116 Veri Yapıları

Concept Learning. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ. Yapay Zeka - Kavram Öğrenme

Boyut: Belirli bir doğrultuda ölçülmüş bir büyüklüğü ifade etmek için kullanılan geometrik bir terim.

Dosya Sıkıştırma (File Compression) Kütük Organizasyonu 1

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

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

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Ş

BIP116-H14-1 BTP104-H014-1

Yrd. Doç. Dr. Caner ÖZCAN

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

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

Dr. Fatih AY Tel: fatihay@fatihay.net

Fiziksel Veritabanı Modelleme

11.Hafta En kısa yollar I-II-III Devam. Negatif Ağırlıklı En Kısa Yollar Doğruluk Çözümleme

Algoritmalar. Doğrusal Zamanda Sıralama. Bahar 2017 Doç. Dr. Suat Özdemir 1

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ

SORU 1: En az iki elemana sahip bir X kümesi ile bunun P (X) kuvvet. kümesi veriliyor. P (X) üzerinde 0 ; A = 1 ; A

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Hülya Özdağ (YTÜ Matematik Bölümü Ö.Ü.) Nilgün Aygör (YTÜ Matematik Bölümü Ö.Ü.) Aykut Parlak (YTÜ Matematik Mühendisliği)

BMT 206 Ayrık Matematik. Yük. Müh. Köksal GÜNDOĞDU 1

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Yrd. Doç. Dr. Ümit ATİLA

İLERİ ALGORİTMA ANALİZİ GENETİK ALGORİTMA

Fonksiyon Minimizasyonunda Simulated Annealing Yöntemi

B03.10 Algoritmalari Uygulamak : Durum 3 (Yuvalı Kontrol Yapıları) Şimdi başka bir problem üzerinde çalışalım.

1. LabVIEW ile Programlama

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

2. LOJİSTİK ŞEBEKESİ TASARIMI

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

13.Konu Reel sayılar

25. KARARLILIK KAPALI ÇEVRİM SİSTEMLERİNİN KARARLILIK İNCELENMESİ

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

Sezgisel-Bilgili Arama (Heuristic-Informed Search)

bitık MOBİL TİCARET UYGULAMASI ABDULLAH ÇİÇEKCİ

BÖLÜM13 3- EXCEL DE VERİ İŞLEMLERİ

Transkript:

BLM-431 YAPAY ZEKA Ders-3 Durum Uzayında Arama Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/

Dersin Hedefleri Durum uzayı temsilini öğrenmek ve durum uzayında arama problemi olarak formülize edilen bazı genel problemlere aşinalık kazanmak Verilen bir problem tanımından, problemi durum uzayı arama problemi olarak formülize edebilme Durumların onların özellikleri ile nasıl temsil edilebildiğini anlamak. Hedef Temelli etmenlerin durum uzayında arama kullanılarak modellenmesi. 2

Akıllı Etmen 3

Hedefe Yönlendirilmiş Etmen Hedefe yönlendirilmiş etmen, kesin hedeflere ihtiyaç duyar. Birçok problem, bir durum kümesi ve bir durumun diğerine nasıl değiştiğinin kural kümesi olarak temsil edilebilir. Bir etmen istenen hedefe ulaşmak için bir dizi eylem seçmek zorundadır. 4

Arama Problemi Her bir durum, etmenin bulunduğu ortamın soyut bir temsilidir. Her durum etmenin biçiminin belirtilmesi için bir soyutlamadır. Bir etmen bir eylem gerçekleştirerek, bulunduğu durumdan o durumun varislerinden birine geçer. Başlangıç Durumu: Etmenin başlangıç biçiminin tanımlanmasıdır. Bir eylem / operatör etmeni bir durumdan diğerine sokar. Bir durum birçok varis duruma sahip olabilir. 5

Arama Problemi Plan, bir etmenin başlangıç durumundan başlayarak hedefe ulaşana kadar bir eylem dizisini gerçekleştirmesidir. Path (yol) ise eylem dizisini tanımlar. Hedef, ortama ait bir grup istenen durumun tanımlamasıdır. Hedef durumlar sıklıkla bir hedef testi ile belirtilir. Hedef testi hedef durumun birini sağlamalıdır. Bir yolun maliyeti genellikle farklı adımların maliyetlerinin toplamı olan pozitif bir saydır. 6

Arama Problemi Problem Formülasyonu, değerlendirmek üzere uygun durumları seçmek ve bir durumdan diğerine geçmek için uygun operatörleri seçmek. Bize verilen bir problemin, durum kümeleri ve eylem (operatör) kümeleri olarak formülize edilmesidir. Arama, başlangıç durumuna uygulanacak olan eylem dizilerini hayal etme ve hangi eylem dizisinin hedefe ulaştığını kontrol etme süreci 7

Arama Problemi Bir etmen bir durumdayken mümkün olan eylemlerden birini gerçekleştirir. Arama Problemi: Etmeni başlangıç durumdan hedef duruma götürecek eylemler dizisinin bulunmasıdır. Böylece arama problemi bir yönlü graf olarak temsil edilmiş olur. Durumlar düğümler ile temsil edilir. İzin verilen eylemler ise bağlantılar ile temsil edilir. 8

Arama Problemi S: tüm durumlar kümesi S 0 : başlangıç durumu A: S S operatör kümesi G: hedef durum kümesi Arama Problemi: Etmeni başlangıç durumdan hedef duruma götürecek eylemler dizisinin bulunması 9

Arama İşlemi Mevcut durumu kontrol et Bir sonraki duruma geçebilmek için izin verilen eylemleri gerçekleştir Yeni durumun hedef durum olup olmadığını kontrol et. Eğer değilse, yeni durum mevcut durum olur ve bu işlemler bir çözüm bulana kadar veya durum uzayı bitene kadar tekrar edilir. Böylece etmen başlangıç durumundan başlayarak durum uzayını keşfeder ve amacı hedef duruma varmaktır. 10

Arama İşlemi 11

Arama İşlemi 12

Arama İşlemi 13

Arama İşlemi 14

Arama İşlemi 15

Arama İşlemi 16

Hanoi Kuleleri 3 adet çubuk ve 3 adet diskimiz var. Operatörler: çubukların herhangi birinin en üstünde yer alan disk, bir başka çubuğun yine en üst konumuna taşınabilir. Amaç, diskleri aynı dizilim sırası ile A çubuğundan B çubuğuna taşımak. 17

Hanoi Kuleleri Başlangıç durumundan hedef duruma gitmek için gerçekleştirilecek eylem dizisi ne olmalı? 18

Hanoi Kuleleri 19

Hanoi Kuleleri 20

Hanoi Kuleleri 21

Hanoi Kuleleri 22

Hanoi Kuleleri 23

Hanoi Kuleleri 24

Hanoi Kuleleri 25

Hanoi Kuleleri 26

Hanoi Kuleleri 27

Hanoi Kuleleri 28

Hanoi Kuleleri 29

Hanoi Kuleleri 30

Hanoi Kuleleri 31

Hanoi Kuleleri 32

8 Vezir Problemi 8 adet veziri satranç tahtasına öyle bir yerleştirin ki bu vezirlerden hiç biri diğeri hamle yapamasın. Bu problem için durum uzayını nasıl formülize edebiliriz ve bu problemi bir durum uzayında arama problemi olarak nasıl çözebiliriz? 33

8 Vezir Problemi Çözümü Örnek bir çözüm 34

8 Vezir Problemi Çözümü Geçerli olmayan bir çözüm 35

8 Vezir Problemi Formülasyon-1 Durumlar: 8 vezirin tahta üzerinde herhangi bir dizilimi Başlangıç durumu: Tahta üzerinde hiç vezir yok. Successor Fonksiyonu: Bir kareye bir vezir yerleştir. Tahtada 5 vezir varsa 64-5= 59 successor durumu vardır. Hedef Testi: Tahta üzerinde 8 vezir ve hiçbirine hamle yapılamıyor. 36

8 Vezir Problemi Formülasyon-1 Başlangıç durumunda 64 Successor 37

8 Vezir Problemi Formülasyon-1 Bir vezir yerleşti, Bu durumdayken mümkün 63 Successor daha var 38

8 Vezir Problemi Formülasyon-1 63 Successor 39

8 Vezir Problemi Formülasyon-1 63 Successor 40

8 Vezir Problemi Formülasyon-1 63 Successor 41

8 Vezir Problemi Formülasyon-1 63 Successor... 42

8 Vezir Problemi Formülasyon-2 Durumlar: 8 adet vezirin tahta üzerinde herhangi bir dizilimi Başlangıç durumu: Bütün vezirler 1. sütunda Successor Fonksiyonu: Bir vezirin yerini değiştir. Hedef Testi: Tahta üzerinde 8 vezir ve hiçbirine hamle yapılamıyor. 43

8 Vezir Problemi Formülasyon-2 Başlangıç durumu 44

8 Vezir Problemi Formülasyon-2 Vezirler 7 sütundan birine hareket ettirilir. 45

8 Vezir Problemi Formülasyon-2 Örnek bir ara durum 46

8 Vezir Problemi Formülasyon-3 Durumlar: k adet vezirin ilk k adet satırda hiçbirine hamle yapılamayacak şekilde herhangi bir dizilimi Başlangıç durumu: Tahtada hiç vezir yok Successor Fonksiyonu: (k+1). Satıra bir vezir ekle ve vezirlerin hiç birine hamle yapılamasın Hedef Testi: Tahta üzerinde 8 vezir ve hiçbirine hamle yapılamıyor. 47

8 Vezir Problemi Formülasyon-3 k = 3 için başlangıç durumu k+1 için 4. satırda 4. ve 8. sütunlara vezir konabilir. k=3 durumunda, 2 adet successor var. 48

8 Vezir Problemi Yapılan formülasyonlar arama algoritmaları için uygun mudur? Hangi arama algoritması hangi formülasyon için daha verimli çalışır? 49

Açık vs. Üstü Kapalı Durum Uzayları Durum uzayı açık bir şekilde temsil edilebilir. Durum uzayındaki tüm durumlar ve mümkün tüm eylemler ortaya konur. Yapay zeka problemlerinde durum uzayları büyüktür ve açık temsil zor ve gereksizdir. Durumları temsil etmek için metodlar vardır ve verilen bir durum ve operatör ile sonraki durumu üretilebilir. Durum uzayı tipik olarak üstü kapalı bir şekilde temsil edilir ve ihtiyaç duyulduğunda oluşturulur. Etmen Başlangıç durumunu bilir Opertatörleri bilir Durum uzayını böylece genişletebilir. Bir operatör bir düğümü açan fonksiyondur. Etmen verilen düğümün successor larını hesaplar. Etmen kendine verilen durum ve verilen operatörle successor düğümü oluşturabilecektir. 50

8-Puzzle Problemi 8 puzzle probleminde 9 kareden oluşan bir platform ve bu platform üzerinde 1 den 8 e kadar numaralanmış 8 blok bulunur. Bu bloklar belli bir dizilime sahip olur ve 9 kareden biri boştur. 8 puzzle probleminde amaç blokları boşluğa kaydırmak suretiyle verilen bir hedef dizilime ulaşmaktır. Hedef durum sistemin farklı bir biçimidir. 51

8-Puzzle Problemi Boşluk 4 veya 8 e kaydırılabilir. 52

8-Puzzle Problemi 53

8-Puzzle Problemi Durumlar Bir durum, 8 bloğun her birinin bir konumda tanımlanmasıdır Operasyonlar / Eylemler Boşluk sağa, sola, yukarı, aşağı hareket edebilir. Hedef Testi Mevcut durumun verilen hedef durumla uyuşması Yol Maliyeti (Path Cost) Boşluğun her bir hareketinin maliyeti 1 Boşluk kaç kere hareket ettirildi? Hedef minimum olan. 54

8-Puzzle Problemi Bu başlangıç durumundan iki adet mümkün eylem gerçekleştirebiliriiz. Bunlardan biri 4 ün sağa kayması, diğeri de 8 in yukarı kayması. Diğer bir deyişle boşluğun sola veya aşağı kayması 55

8-Puzzle Problemi Eğer boşluğu sola kaydırırsak elde edilen dizilim 56

8-Puzzle Problemi Eğer boşluğu aşağı kaydırırsak elde edilen dizilim 57

8-Puzzle Problemi Bu noktadan sonra boşluk aşağı veya sola kaydırılabilir. Boşluğu sağa kaydırmıyoruz çünkü eğer sağa kaydırırsak bir önceki duruma dönmüş oluruz. Bu şekilde 8 puzzle probleminin durum uzayını genişletmiş oluruz. Bu operatörün uygulanması sonucu sonucun tanımlandığı kapalı durum uzayının çok basit bir örneğidir. 58

Tic-tac-toe Bir diğer örnek olarak Tic-Tac-Toe oyununu ele alalım. Bu oyun single agent olarak modellenemez çünkü iki kişiyle oynanır. Tic-Tac-Toe oyununda 3x3 bir tablo var. Her oyuncu bir sembolü kullanarak tabloda bir hücreyi işaretler. Bu yöntemle Tic-Tac-Toe probleminin her bir durumu noktaların ve çarpıların konumları ile temsil edilebilir. 59

Tic-tac-toe 60

Tic-tac-toe Diyelim oyuncu noktayı şuraya yerleştirdi. Mümkün successorlar nelerdir? 61

Tic-tac-toe Mevcut durum için 8 adet successor var. Sonraki oyuncu hamlesi için 7 successor kaldı. 62

Tic-tac-toe 63

Durum Uzayında Arama Giriş Durum kümesi Operatörler ( ve maliyetler) Başlangıç durumu Hedef durum (test) Çıkış Yol: başla hedef testini sağlayan bir durum En kısa yol gerekebilir. 64

Temel Arama Algoritması L başlangıç durumunu tutan liste ( L = fringe) L başta başlangıç durumunu tutan bir listeyken, daha sonra o ana kadar oluşturduğumuz durum kümesini tutacak bir listedir. Döngü Eğer L boş ise hata döndür Değilse Node select (L) Eğer Node hedef ise Düğümü döndür (başlangıç durumundan düğüme olan yol) Değilse tüm uygulanabilir eylemleri düğüme uygula ve yeni oluşturulan durumları L ye ekle 65

Temel Arama Algoritması Çeşitli arama algoritmaları farklı successor ları fringe içerisinde nasıl yerleştirdiğimize ve fringe te yer alan hangi düğümün seçilerek açılacağına göre birbirleridne ayrılırlar. 66

Temel arama algoritması: Anahtar noktalar Arama ağacı sınırlandırılmamış olabilir. Döngüler sebep olur Durum uzayının sonsuz olması sebep olur. Bir yol veya düğüm döndürüyor mu? Birleştirme ve seçimler nasıl yapılıyor? Graf ağırlıklı mı ağırlıksız mı? Ara durumların kalitesi hakkında ne kadar bilgi sahibiyiz? Hedefimiz en iyi çözümü bulmak mı yoksa en çabuk şekilde bir çözüm mü bulmak? 67

Arama stratejisi Problem çözme performansının ölçülmesi: Completeness: Arama stratejisi çözümün olduğu durumda bir çözüm bulmayı garanti ediyor mu? Optimality: Çözümün maliyeti düşük mü yoksa minimum mu? Stratejiye bağlı olan arama maliyeti çözümü bulmak için ihtiyaç duyulan zaman ve hafızadır 68

Arama Stratejileri Bilgisiz (Kör) Arama (Blind) Depth first arama Breath first arama Iterative deepining arama Bilgili Arama (Informed) Kısıt Sağlama (Constraint Satisfaction) Yarışmacı Arama (Adversarial) 69