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

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

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

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

Örnek Arasınav Soruları Güz 2017

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

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

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

YZM YAPAY ZEKA DERS#6: REKABET ORTAMINDA ARAMA

Sezgisel-Bilgili Arama (Heuristic-Informed Search)

Graflar bilgi parçaları arasındaki ilişkileri gösterirler.

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

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

Yapay Zeka. BM437, Bahar Öğretim Üyesi: Yrd. Doç. Dr. Mehmet ŞİMŞEK

YZM 2116 Veri Yapıları

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

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

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

YZM 2116 Veri Yapıları

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

YZM 2116 Veri Yapıları

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

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

Azalt ve Fethet Algoritmaları

BIP116-H14-1 BTP104-H014-1

Ağaç (Tree) Veri Modeli

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

YZM 2116 Veri Yapıları

KLASİK FRAKTALLAR FRAKTAL ÖZELLİKLERİ VE BOYUT

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

Algoritmalara Giriş 6.046J/18.401J

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI

Kümeler arası. Küme içi. uzaklıklar. maksimize edilir. minimize edilir

İleri Diferansiyel Denklemler

İçerik: Graflar. Tanım. Gösterim. Dolaşma Algoritmaları. Yönlü ve yönsüz graflar Ağırlıklı graflar. Komşuluk Matrisi Komşuluk Listesi

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

Algoritmaların Karşılaştırılması. Doç. Dr. Aybars UĞUR

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

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

VERİ YAPILARI VE PROGRAMLAMA

Rekabet ortamında Arama (Adversarial Search) Oyunlarda Arama

Algoritma Analizi ve Büyük O Notasyonu. Şadi Evren ŞEKER YouTube: Bilgisayar Kavramları

Zeki Optimizasyon Teknikleri

Altın Oran Arama Metodu(Golden Search)

Algoritmalar ve Karmaşıklık

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

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



BLM-112 PROGRAMLAMA DİLLERİ II. Ders-7 Sıralama Algoritmaları

YZM 2116 Veri Yapıları

İLERİ ALGORİTMA ANALİZİ TABU ARAMA ALGORİTMASI (TABU SEARCH)

DOSYA ORGANİZASYONU. Ağaç Yapıları ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

YÖNEYLEM ARAŞTIRMASI - III

Arasınav Örnek Soruları Bahar 2018

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

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

KONU 4: DOĞRUSAL PROGRAMLAMA MODELİ İÇİN ÇÖZÜM YÖNTEMLERİ I

Kavramsal Tasarım - I

Çanakkale Onsekiz Mart Üniversitesi. Bilgisayar Mühendisliği Bölümü

BIL222 Veri Yapıları ve Algoritmalar

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

Özyineleme (Recursion)

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ü

MARKOV ZİNCİRLERİNDE DURUMLARIN SINIFLANDIRILMASI

RASTGELE SAYI ÜRETİMİ VE UYGULANAN TESTLER HAZIRLAYAN: ÖZLEM AYDIN

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

İşletim Sistemlerine Giriş

Kod Listeleri Genel Yapısı

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

BMB204. Veri Yapıları Ders 12. Dizgi Eşleme (String Matching) Algoritmaları İleri Veri Yapıları

Zeki Optimizasyon Teknikleri

DOSYA ORGANİZASYONU. Çarpışma çözümleme yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

A) 1 B) 10 C) 100 D) 1000 E) Sonsuz. öğrencinin sinemaya tam bir kez birlikte gidecek şekilde ayarlanabilmesi aşağıdaki n

BMB204. Veri Yapıları Ders 11. Çizgeler (Graph) Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

ALGORİTMA VE PROGRAMLAMA I

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

Dosyalarda Farklı Yaklaşımlar. Kütük Organizasyonu 1

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

Genel Graf Üzerinde Mutlak 1-merkez

Ağaç Yapıları (Tree Structures) Kütük Organizasyonu 1

Algoritmalara Giriş 6.046J/18.401J

Hafta 05 - Karar Ağaçları/Kümeleme

YAVAŞ DEĞİŞEN ÜNİFORM OLMAYAN AKIM

ASELSAN TEDARİKÇİ PORTALI KALİTE SÜREÇLERİ DOKÜMANI

Algoritmalar. DERS 7 Dengeli Arama Ağaçları Kırmızı-siyah ağaçlar Kırmızı-siyah ağacın yüksekliği Rotation / Dönme Insertion / araya yerleştirme

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

Veri Yapıları ve Algoritmalar

YÖNEYLEM ARAŞTIRMASI - III

TAMSAYILI PROGRAMLAMA

Veri Yapıları. Ağaçlar

Veri ve Dosya Yapıları. Kütük Organizasyonu 1

Algoritmalara Giriş Ekim 17, 2005 Massachusetts Institute of Technology Profesörler Erik D. Demaine ve Charles E. Leiserson Dağıtım 15.

Algoritma Geliştirme ve Veri Yapıları 7 Liste ve Bağlantılı Liste. Mustafa Kemal Üniversitesi

Ağaçlar (Trees) Ağaçlar (Trees)

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

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

Kıymet Takdiri Süreci

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

Transkript:

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

Bilgisiz Arama Stratejisi Sadece problem formülasyonundaki mevcut bilgiyi kullanır Durum bilgisinden yararlanmazlar Çözüme ulaşmak için hiçbir bilgi verilmez Aramanın herhangi bir adımında çözüme ne kadar yakın (veya uzak) olduğu veya çözümün bulunabileceği hakkında fikir söylemek mümkün değildir 2

Bilgisiz Arama Yöntemleri Genişlik-öncelikli (Breadth-first) Eşit-maliyetli (Uniform-cost) Derinlik-öncelikli (Depth-first) Derinlik-sınırlı (Depth-limited) Yinelemeli Derinleşen (Iterative deepening) İki Yönlü (Bi-directional) 3

Genişlik Öncelikli Arama Her bir seviyedeki düğümlerin tamamı arandıktan sonra, bir sonraki seviyenin düğümlerine ilerlenir Aynı seviyede arama: soldan sağa En sığ (üst seviye) genişletilmemiş düğüm açılır 4

Örnek S 8 A B 3 7 9 4 D E G Yol OPEN list CLOSED list { S } {} S { A B C } {S} S,A { B C D E G } {S A} S,B { C D E G G' } {S A B} S,C { D E G G' G" } {S A B C} S,A,D { E G G' G" } {S A B C D} S,A,E { G G' G" } {S A B C D E} S,A,G { G' G" } {S A B C D E} Bulunan çözüm yolu S A G --> maliyeti = 0 Genişletilen düğüm sayısı (hedef düğüm dahil) = 7 C

Zaman karmaşıklığı Eğer hedef düğüm ağacın d derinliğinde bulunursa bu derinliğe kadarki tüm düğümler oluşturulur. d b G m G Böylece: O(b d ) Optimal çözüm: Köke en yakın (az maliyetli-adımlı) 6

Özellikleri Her bir düğümün b sayıda alt dal varsa, incelenmesi gereken toplam dal sayısı M = + b + b 2 + b 3 + + b d Bütünlük: b sonsuz degil ise evet Zaman karmaşıklığı: O(b d ) Bellek karmaşıklığı: O(b d ) En iyi çözüm bulunabilir mi (optimality): Evet Çünkü köke en yakın olanı bulur (her adım maliyeti = varsayarak) Çok fazla bellek ihtiyacı var Tüm düğümleri bellekte tutmaya gerek var mı? Ağaçta çok fazla dallanma varsa ve çözüm köke uzak ise uygun değildir 7

Eşit Maliyetli (Uniform Cost) Arama Genişlik öncelikli aramaya benzer Kökten itibaren toplam maliyeti en az olan düğüm seçilir ve genişletilir Sıralama: Maliyeti en azdan en çoğa D S 8 Genişlik-Öncelikli çözüm: A B C 3 S->A->G 7 9 4 E G 8

Örnek G.Düğüm D.listesi Yol {S(0)} - S {A() B() C(8)} S A {D(4) B() C(8) E(8) G(0)} S,A D {B() C(8) E(8) G(0)} S,A,D B {C(8) E(8) G (9) G(0)} S,B C {E(8) G (9) G(0) G (3)} S,C E {G (9) G(0) G (3)} S,A,E G {G(0) G (3)} S,B,G D 3 7 A E S 8 B C 9 4 G G G Bulunan çözüm yolu: S B G --> maliyeti = 9 (0 değil) Genişletilen düğüm sayısı (hedef düğüm dahil) = 7 (aynı) 9

Önemli! Arama süreci kuyrukta (sıralı düğüm listesinde) herhangi bir düğüm hedef düğüm olduğunda sonlandırılırsa optimal olmaz G.Dğm. D.listesi {S(0)} - S {A() B() C(8)} S A Yol {D(4) B() C(8) E(8) G(0)} S,A D {B() C(8) E(8) G(0)} S,A,D B {C(8) E(8) G (9) G(0)} S,B C {E(8) G (9) G(0) G (3)} S,C E {G (9) G(0) G (3)} S,A,E G {G(0) G (3)} S,B,G 0

Özellikleri Completeness: Her adım maliyeti > 0 ise evet Time complexity: O(b C*/ε ) C*: optimal çözümün maliyeti : en düşük adım maliyeti Her adımın maliyeti aynı ise O(b d ), Neden? Genişlik-öncelikliye dönüşür Space complexity: O(b C*/ε ) Optimality: Her adım maliyeti > 0 ise evet b: dallanma faktörü d: en düşük maliyetli çözümün derinliği

İyileştirme Kuyruktaki (Düğüm listesi) düğümlerden birine başka bir yoldan tekrar ulaşılırsa Önceki maliyetle karşılaştır Maliyeti küçük olanı tut Yolu ve yeni maliyeti güncelle 2

Örnek B A S C D # Durum Maliyet Ata S 0-00 E G F 3

Örnek B A S C D # Durum Maliyet Ata S 0-2 A S 3 C S 00 E G F 4

Örnek B A S C D # Durum Maliyet Ata S 0-2 A S 4 B 2 A 3 C S 00 E G F

Örnek B 00 A G S C F D E # Durum Maliyet Ata S 0-2 A S 4 B 2 A C 3 B 6 G 02 B C nin maliyeti ve atası güncellenir: Ata: S -> B Maliyet: -> 3 6

Örnek B 00 A S C D E # Durum Maliyet Ata S 0-2 A S 4 B 2 A C 3 B 7 D 8 C 6 G 02 B G F 7

Örnek B 00 A S C D E # Durum Maliyet Ata S 0-2 A S 4 B 2 A C 3 B 7 D 8 C 8 E 3 D 6 G 02 B G F 8

Örnek B 00 A G S C F D E # Durum Maliyet Ata S 0-2 A S 4 B 2 A C 3 B 7 D 8 C 8 E 3 D 9 F 8 E 6 G 02 B 9

Örnek B 00 A G S C F D E # Durum Maliyet Ata S 0-2 A S 4 B 2 A C 3 B 7 D 8 C 8 E 3 D 9 F 8 E 0 G 23 9 6 G 02 4 Hedefe ulaşıldı 20

Derinlik Öncelikli Arama Bir düğümün öncelikle tüm alt düğümlerine bakıldıktan sonra aynı seviyedeki diğer düğümlere geçilir 2

Örnek G.Düğüm D. Listesi { S } S { A B C } A { D E G B C} D { E G B C } E { G B C } G { B C } Düğüm kontrol sırası: D, E, G (3. kontrolde hedef bulunur) Bulunan çözüm yolu: S A G --> maliyeti = 0 Genişletilen düğüm sayısı (hedef düğüm dahil) = (daha iyi) 22

Zaman karmaşıklığı En kötü durumda: hedef (sadece) dalın en sağında olabilir, b m G Zaman karmaşıklığı = b m + b m- + + = b m+ - Böylece: O(b m ) b - 23

Bellek karmaşıklığı Kuyrukta (Düğ. Listesi) en fazla düğüme altta en solda ulaşılır. Örnek: m = 3, b = 3 :... Kuyruk, tüm düğümleri içerir --> 7 Genelde: ((b-) * m) + Karmaşıklık: O(m*b) 24

Özellikleri Completeness: Hayır Sonsuz derinlikteki ya da tekrarlanan durumlu (döngülü) ağaçlarda sonuca ulaşamaz Time complexity: O(b m ) Space complexity: O(b m) Genişlik-öncelikliye göre daha az Optimality: Hayır Kökten mümkün olduğunca uzaklaştığı için b: dallanma faktörü m: arama ağacının max derinliği 2

Derinlik Sınırlı Arama En fazla l derinliğe izin verilen derinlik öncelikli arama çeşididir Completeness: Çözümü <= l derinlikte ise evet Eğer gereken çözüm l+ derinlikte ise, o zaman bulunamaz Time complexity: O(b l ) Space complexity: O(b l) Optimality: Hayır Derinlik sınırı (l) nası seçilmeli? Durum sayısı: çözüm yolu uzunluğu en fazla durum sayısı kadar Arama uzayı büyük ve çözüm derinliği belli olmayan durumlarda Yinelemeli Derinleşen Arama tercih edilir Başarıya ulaşana dek derinlik sınırı her defa arttırılıyor 26

Örnek: Romanya ya ulaşmak Haritada 20 şehir var. Maximum derinlik sınırı l = 9 seçilebilir 27

Yinelemeli Derinleşen Arama Satranç turnuvalarında oyunlar belirli bir zaman sınırı içinde oynanır Bu nedenle çoğu satranç programı bu yöntemi kullanır Başka değişle, program önce 2 seviyede, sonra 3, sonra 4, seviyede arama yapıyor Bu, arama için ayrılan süre dolana dek devam ediyor Bundan sonra program, bulunan hamleler içinden en iyisini çözüm gibi kabul ediyor 28

Yinelemeli derinleştirme araması l =0 29

Yinelemeli derinleştirme araması l = 30

Yinelemeli derinleştirme araması l =2 3

Yinelemeli derinleştirme araması l =3 32

Özellikleri Completeness: Evet Derinlik sınırlı da hedef düğüm sınır derinliğinin altında ise çözüm bulunamazdı Yinelemeli derinleşende ise, her iterasyonda derinlik sınırını arttırarak çözümü bulmayı garantiler Time complexity: O(b d ) Space complexity: O(b d) Optimality: Evet Çünkü kök dügüme en yakın çözümü bulur (eğer adım maliyeti = ise) b: dallanma faktörü d: en düşük maliyetli çözümün derinliği 33

İki Yönlü Arama Başl. Hedef Aramaya başlangıç ve hedef durumlarından aynı anda başlanır İki arama ortada karşılaştığı zaman biter Tek bir başlangıç ve amaç durumu olduğunda iyidir Çözüme daha hızlı ulaşmak mümkün olabilir 34

İki Yönlü Arama Hedef düğümden başlayarak önceki düğümler de (predecessor) sırayla üretilir Bazı problemlerde öncekileri bulmak zor olabilir Birden fazla hedef durum var ise ne yapılabilir? Hedef durum yerine hedef durum kümesine aynı işlemler uygulanabilir Ancak, hedef durumların tespiti güç olabilir Örneğin satrançta şah-mat amacını üretecek durumların testpiti? Yeni oluşturulacak bir düğümün arama ağacının diğer yanında yer alıp almadığını kontrol etmenin etkin bir yolu olmalıdır Her iki yarıda ne çeşit aramanın yapılacağına karar vermek gerekir (Örn., genişlik-öncelikli?) 3

Fazlalık Arama Eğer farklı hareketler aynı durum sonucunu veriyorsa bunlara fazlalık denir. Aynı Durum! Durum/Geçiş Uzayı Arama Ağacı 36

Fazlalık Arama Aramayı gereğinden fazla üssel olarak büyütebilir Durumlar/Hareketler Herbir durum için 4 mümkün hareket Fakat tüm durumlar Od 2 Arama ağıcı O 4 d 37

Çözüm Bütün ziyaret edilmiş düğümleri bellekte tut Yeni düğüm, önceden görünmüş durumlara benziyorsa bu düğümü genişletme Ard arda gelen tekrarlı düğüm ve hareketler budanmış 38