Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

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

Benzer bir sunumlar


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

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

2 Hatırlatma 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) 2

3 3 Bilgili Arama Bu yöntemler, problem hakkındaki bilgiden de yararlanarak arama yaparlar Bunun için hedefe olan tahmini uzaklık (maliyet) kullanılır Aramayı yönetmek için sezgiseller kullanılır – Bu tahmini gerçekleyen fonksiyona Sezgisel (Heuristic) fonksiyonu (h(n)) denilir

4 4 Bilgili Arama Stratejileri En iyi öncelikli (Best-first) Aç gözlü (Greedy) A* IDA* (Iterative Deepening A*) SMA* (Simplified Memory Bounded A*)

5 En iyi öncelikli (Best-first) arama Genel yaklaşım: Her durum için, o durumun istenebilirliğini (desirability) tarif edecek bir tahmin fonksiyonu f(n) kullanılır En çok istenen ilerletilmemiş durum ilerletilir Uygulama: Durumları (düğümleri) istenebilirlikleri azalacak şekilde sırala: Priority Queue Özel durumlar: Aç gözlü arama (greedy search) A*arama 5

6 Aç Gözlü (Greedy) Arama Hedef durumuna en yakın olduğu tahmin edilen/düşünülen durumu ilerletir Tahmin fonksiyonu – f(n) = h(n) = n durumundan hedef duruma kadar olan, sezgisele göre hesaplanmış masraf Örnek: h SLD (n)= n şehrinden İzmir’e kadar olan kuş uçuşu mesafe – SLD: Straight Line Distance – h(n) = 0, n hedef ise 6

7 Örnek: Arad’dan Bükreş’e ulaşmak 7

8 Greedy Çözümü 8

9 9

10 10

11 Greedy Çözümü 11

12 12 Aç Gözlü: Özellikleri Completeness: Hayır – Döngülerde takılabilir: – Iasi > Neamt > Iasi > Neamt > … Time complexity: O(b m ) – Fakat iyi bir heuristic bu zamanı çok azaltabilir Space complexity: O(b m ) – Değerleri karşılaştırmak için bütün düğümleri bellekte tutar Optimality: Hayır b: dallanma faktörü m: arama ağacının max derinliği

13 A* Arama Ana Fikir: Masraflı olan yolları ilerletmekten kaçın Değerlendirme fonksiyonu: f(n) = g(n) + h(n) – g(n) : n’e ulaşmak için şimdiye kadarki maliyet – h(n) : n’den hedefe olan tahmini maliyet – f(n) : n’den hedefe olan yolun tahmini toplam maliyeti Teorem: A* arama optimaldir 13

14 Örnek: Arad’dan Bükreş’e ulaşmak 14

15 A* Çözümü 15

16 A* Çözümü 16

17 A* Çözümü 17

18 A* Çözümü 18

19 A* Çözümü 19

20 A* Çözümü 20

21 21 Örnek-2 h(T)= T’ den G’ ye düz yol uzaklığı D E G S A B C F DE G S ABC F

22 22 AD = = 12.9 S S AD 13.4 S AD A E S AD A E B F D A E = = 12.9 E B F = = 17.7 F G = 13.0 DUR!

23 23 A* Özellikleri Completeness: Evet – Döngülere girmediği için Time complexity: Kullanılan sezgisele göre değişebilir – En kötü durum (worst case): Çözüm yolunun uzunluğunda eksponansiyel Space complexity: O(b m ) – Bütün düğümleri bellekte tutar Optimality: Evet b: dallanma faktörü m: arama ağacının max derinliği

24 24 Optimallik h SLD (n): her zaman gerçek uzaklıktan küçük olduğundan kabul edilebilir sezgiseldir  IF for tüm T: h(T) ile hedef düğüme kalan maliyetin altında paha biçilmişse (UNDERestimate)  THEN A* optimal dir. S AD A E B F G 13 Değerinin altında paha biçilen kalan maliyetiiçerir G Gerçek kalan maliyetle bu yol en az 13.4 olmalıdır

25 25 Underestimate ile ilgili h bir underestimate DEĞİLSE S A D F B E H C G I Gerçekkalanmaliyetler Over-estimate S A D F C G 4 Optimal yol değil ! B C3+1B2+2A Örnek:

26 26 İyileştirme: Yol silme Artık yolları at: İlke: S’ ten G’ ye I’ dan geçerek minimum maliyet = (S’ ten I’ ya minimum maliyet) + (I’ dan G’ ye minimum maliyet) S A D 4 3 Toplamlı uzaklık X at ! A B D 78

27 27 Eşit Maliyetli (Uniform Cost) için Hatırlatma: -Şimdiye kadarki minimum maliyetli düğümü genişlet İki Örnek: - Yol silmesiz - Yol silmeli D E G S A B C F

28 28 Eşit maliyetli arama (yol silmesiz)AD 34 S S AD 4 A BD 78 S A BD 78 D D A E 96 S AD BD 78 A E 9 E BF 11 10

29 29 S AD B D 8 A E 9 B F 1110 B CE S AD B D A E 9 B F 1110 CE D E 10 S AD B D A E B F 1110 CE E 10 A B 13 S AD B D A E B F 1110 CE EB 13 E BF 1514

30 30 S AD B D A E B F 11 CE EB 13 BF 1514 Hala durma! F G 13 S AD B D A E B F CE EB 13 BF 1514 G 13 B AC 1515 S AD B D A E B F CE EB 13 BF G 13 AC 1515 DUR! E FD 14 16

31 31 AD 34 S Yol silmeli S A D 4 B D 78 X S A D BD 7 A E 96 XX S AD B D 7 A E B F X XX

32 32 S AD B D A E B F 10 C E X X X X S AD B D A E B F CE 11 G 13 X X X X Genişletilen düğüm sayısı büyük ölçüde azaldı: – 5 genişletme daha az => Bellek gereksinimi azalır

33 33 Yol silmeli A* AD = = 12.9 S S AD A E = = 12.9 X S AD A E B F = = 13.0 X S AD A E B F G = 13.0 DUR! X

34 34 Sezgisel Fonk. Örnek: 8-puzzle h1(n) = yerinde bulunan taşların sayısı h2(n) = yerinde bulunmayan taşların sayısı h2(n) = 4 h1(n) = 4 Hedef

35 35 Sezgisel Fonk. Örnek: 8-puzzle h3(n) = taşların hedefteki yerlerine uzaklıkları toplamı (yatay ve dikey hane toplamları) Bu uzaklıklara Manhattan uzaklığı da denir h3(n) = = 6

36 36 Kabul edilebilir sezgiseller

37 37 İlerleyen Derinleştirmeli A* (IDA*) A* genişlik önceye benzer : Genişli-önce d = 1 d = 2 d = 3 d = 4 Derinlik-katmanları ile açar f1 f2 f3 f4 A* F-konturlarla açar IDA* : Yinelemeli Derinleştirmeye benzer bir fikri kullanır

38 38 IDA* Her f- konturdaderinlikönce F-sınırına limitlenmiş derinlik önce aramasını yürüt. Hedef bulunmuşsa: TAMAM. Değilse: f-sınırını arttır ve tekrar başla. f4 f3 f2 f1 F-sınırları nasıl belirlenmeli? - başlangıçta: f(S) sezgisele göre belirle 1. tüm ardılları (succ) üret 2. minimal f(succ) > f(S) ise kaydet 3. f(S)’ in yerine minimal f(succ) ile devam et (1’e dön)

39 39 Örnek Sf=100 Af=120Bf=130Cf=120 Df=140Gf=125Ef=140Ff=125 f-yeni = 120 f-limitli, f-sınır = 100

40 40 Örnek Sf=100 Af=120Bf=130Cf=120 Df=140Gf=125Ef=140Ff=125 f-limitli, f-sınır = 120 f-yeni = 125

41 41 Örnek Sf=100 Af=120Bf=130Cf=120 Df=140Gf=125Ef=140Ff=125 f-limitli, f-sınır = 125 BAŞARI

42 42 IDA* Özellikleri Yinelemeli derinleşen ile aynı mantığa dayanır – Tam ve Optimal Completeness: Evet Optimality: Evet Time complexity: O(b d ) Space complexity: O(b d) b: dallanma faktörü d: en düşük maliyetli çözümün derinliği

43 43 Basitleştirilmiş Hafıza-sınırlı A* S AB C Sadece 3 düğümlük hafıza Eğer hafıza dolu ise ve yeni bir ekstra düğüm (C) üretmek zorundaysak : En yüksek f-değerlikli yaprağı Kuyruktan kaldır(A). Her ata düğümünde en iyi ”unutulan” çocuğun f-değerini hatırla (S’te15). 18 B (15) SMA*: Simplified Memory Bounded A*

44 44 Tek tek çocukları üretme S AB 13 Önce A sonra B’yi ekle BA Bir düğümü açarken (S) herhangi bir zamanda sadece bir çocuğunu kuyruğa ekle. Soldan-sağa’yı kullanırız Hafıza taşmasından kaçın ve başka bir düğümü silip silmeyeceğimizi gözle

45 45 Çok uzun yol: vazgeç S B C Sadece 3 düğümlük hafıza D 18  Genişletilen bir düğüm hafızadan daha uzun bir yol üretiyorsa : Bu yoldan vazgeç (C). Çünkü daha az maliyetli bir opsiyon mevcut Düğümün (C) f-değerini  yap (burdan bir yol bulamayacağımızı hatırlamak için)

46 46 F-değerlerini ayarla S AB f(S) için daha iyi tahmin Bir n düğümünün tüm m çocukları gezilmişse ve tüm m için : f(m)  f(n) o zaman güncelle: f(n) = min { f(m) } Yol boyunca n’in çocuklarından birisinin üzerinden gitmesi gerektiği için!

47 47 SMA*: bir örnek S AB CG1DG2 EG3G4F 0+12=12 8+5= = = =1820+0= = = = = = S12S12 A 15 S12A 15 B 13 S 13 B 13 A 15 A 15 D 18 1213(15)

48 48 S 13 (15) B 13 D  S 13 B D  13 (15) G D  (()(() 24 S AB CG1DG2 EG3G4F0+12=128+5= = = =1820+0= = = = = = S 15 B 24 (()(()(15)G2 24 (15) A 15 (()(() G2 24 S 15 A 15 B 24 (24) B 24 C 25  S 15 (24) A C  ()() G1 20 C  20 15

49 49 SMA* Özellikleri Completeness: Evet – En kısa yolu depolamaya izin verecek yeterli hafıza varsa Optimality: Evet – En iyi yolu depolamaya yetecek hafıza varsa – Değilse: hafızaya uyan en iyi yolu geri gönderir Time complexity: Tüm ağacı depolayacak yeterli hafıza varsa A* daki gibidir Space complexity: Varolan tüm hafızayı kullanır b: dallanma faktörü d: en düşük maliyetli çözümün derinliği

50 50 SONUÇ: Bilgisiz ve Bilgili Arama Bilgisiz arama algoritmaları, düğümlerin amaca uzaklığı hakkında bir bilgiye sahip değildirler. Eğer belirli sayıda düğüm varsa, uygun çözüm bulunabilir Bilgili arama yaklaşımlarında, amaca olan tahmini uzaklık kullanılır. Amaca yakın olan düğümler ilk önce açılır. Çözümün bulunması garanti değildir. Bu yöntemlerin başarılı olmasında doğru değerlendirme fonksiyonunun seçilmesi önemli rol oynar

51 S ORULAR ? 51


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

Benzer bir sunumlar


Google Reklamları