Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

BİL551 – YAPAY ZEKA BİLGİSİZ ARAMA YÖNTEMLERİ Dr. Mehmet Dikmen

Benzer bir sunumlar


... konulu sunumlar: "BİL551 – YAPAY ZEKA BİLGİSİZ ARAMA YÖNTEMLERİ Dr. Mehmet Dikmen"— Sunum transkripti:

1 BİL551 – YAPAY ZEKA BİLGİSİZ ARAMA YÖNTEMLERİ Dr. Mehmet Dikmen

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

3 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

4 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

5 5 Örnek Yol OPEN listCLOSED 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 = 10 Genişletilen düğüm sayısı (hedef düğüm dahil) = 7 S CBA D G E

6 6 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. m G G b d Böylece: O(b d )Optimal çözüm: Köke en yakın (az maliyetli-adımlı)

7 Özellikleri Her bir düğümün b sayıda alt dal varsa, incelenmesi gereken toplam dal sayısı – M = 1 + 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 = 1 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

8 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 8 S CBA D G E Genişlik-Öncelikli çözüm: S->A->G

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

10 10 Ö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.listesiYol {S(0)}- S {A(1) B(5) C(8)}S A {D(4) B(5) C(8) E(8) G(10)}S,A D {B(5) C(8) E(8) G(10)}S,A,D B {C(8) E(8) G’(9) G(10)}S,B C {E(8) G’(9) G(10) G”(13)} S,C E {G’(9) G(10) G”(13)}S,A,E G’ {G(10) G”(13)} S,B,G

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

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

13 13 Örnek G D 5 E 5 F 5 S A C 1 5 B 1 1 # Durum Maliyet Ata 1S0-

14 14 Örnek G D 5 E 5 F 5 S A C 1 5 B 1 1 # Durum Maliyet Ata 1S0- 2A1S 3C5S

15 15 Örnek G D 5 E 5 F 5 S A C 1 5 B 1 1 # Durum Maliyet Ata 1S0- 2A1S 4B2A 3C5S

16 16 Örnek G D 5 E 5 F 5 S A C 1 5 B 1 1 # Durum Maliyet Ata 1S0- 2A1S 4B2A 5C3B 6G102B C’nin maliyeti ve atası güncellenir: Ata:S -> B Maliyet:5 -> 3

17 17 Örnek G D 5 E 5 F 5 S A C 1 5 B 1 1 # Durum Maliyet Ata 1S0- 2A1S 4B2A 5C3B 7D8C 6G102B

18 18 Örnek G D 5 E 5 F 5 S A C 1 5 B 1 1 # Durum Maliyet Ata 1S0- 2A1S 4B2A 5C3B 7D8C 8E13D 6G102B

19 19 Örnek G D 5 E 5 F 5 S A C 1 5 B 1 1 # Durum Maliyet Ata 1S0- 2A1S 4B2A 5C3B 7D8C 8E13D 9F18E 6G102B

20 20 Örnek G D 5 E 5 F 5 S A C 1 5 B 1 1 # Durum Maliyet Ata 1S0- 2A1S 4B2A 5C3B 7D8C 8E13D 9F18E 10G239 6G1024 Hedefe ulaşıldı

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

22 22 Örnek G.DüğümD. 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 = 10 Genişletilen düğüm sayısı (hedef düğüm dahil) = 5 (daha iyi)

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

24 24 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-1) * m) + 1 Karmaşıklık: O(m*b)

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

26 Derinlik Sınırlı Arama En fazla ℓ derinliğe izin verilen derinlik öncelikli arama çeşididir Completeness: Çözümü <= ℓ derinlikte ise evet – Eğer gereken çözüm ℓ+1 derinlikte ise, o zaman bulunamaz Time complexity: O(b ℓ ) Space complexity: O(b ℓ) Optimality: Hayır Derinlik sınırı (ℓ) 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 1 arttırılıyor 26

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

28 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

29 29 Yinelemeli derinleştirme araması l =0

30 30 Yinelemeli derinleştirme araması l =1

31 31 Yinelemeli derinleştirme araması l =2

32 32 Yinelemeli derinleştirme araması l =3

33 33 Ö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 = 1 ise) b: dallanma faktörü d: en düşük maliyetli çözümün derinliği

34 İki Yönlü Arama 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

35 İ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?) 35

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

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

38 38 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ış Çözüm

39 S ORULAR ? 39


"BİL551 – YAPAY ZEKA BİLGİSİZ ARAMA YÖNTEMLERİ Dr. Mehmet Dikmen" indir ppt

Benzer bir sunumlar


Google Reklamları