YZM 3217 YPY ZEK ER#5: İLGİLİ RM YÖNTEMLERİ
Hatırlatma ilgisiz rama Yöntemleri Genişlik-öncelikli (readth-first) Eşit-maliyetli (Uniform-cost) erinlik-öncelikli (epth-first) erinlik-sınırlı (epth-limited) Yinelemeli erinleşen (Iterative deepening) İki Yönlü (i-directional) 2
ilgili rama u yöntemler, problem hakkındaki bilgiden de yararlanarak arama yaparlar unun için hedefe olan tahmini uzaklık (maliyet) kullanılır ramayı yönetmek için sezgiseller kullanılır u tahmini gerçekleyen fonksiyona ezgisel (Heuristic) fonksiyonu (h(n)) denilir 3
ilgili rama tratejileri En iyi öncelikli (est-first) ç gözlü (Greedy) * I* (Iterative eepening *) M* (implified Memory ounded *) 4
En iyi öncelikli (est-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: urumları (düğümleri) istenebilirlikleri azalacak şekilde sırala: Priority Queue Özel durumlar: ç gözlü arama (greedy search) *arama 5
ç Gözlü (Greedy) rama 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 L (n)= n şehrinden İzmir e kadar olan kuş uçuşu mesafe L: traight Line istance h(n) = 0, n hedef ise 6
Örnek: rad dan ükreş e ulaşmak 7
Greedy Çözümü 8
Greedy Çözümü 9
Greedy Çözümü 10
Greedy Çözümü 11
ç Gözlü: Özellikleri Completeness: Hayır öngülerde takılabilir: Iasi > Neamt > Iasi > Neamt > Time complexity: O(b m ) Fakat iyi bir heuristic bu zamanı çok azaltabilir pace complexity: O(b m ) eğ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 12
* rama na Fikir: Masraflı olan yolları ilerletmekten kaçın eğ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: * arama optimaldir 13
Örnek: rad dan ükreş e ulaşmak 14
* Çözümü 15
* Çözümü 16
* Çözümü 17
* Çözümü 18
* Çözümü 19
* Çözümü 20
Örnek-2 3 4 4 C 4 5 5 2 E 4 F 3 G h(t)= T den G ye düz yol uzaklığı 10.4 6.7 C 4 11 8.9 E 6.9 F 3 G 21
3 + 10.4 = 13.4 4 + 8.9 = 12.9 13.4 9 + 10.4 = 19.4 E 6 + 6.9 = 12.9 13.4 19.4 11 + 6.7 = 17.7 E F 10 + 3.0 = 13.0 13.4 19.4 17.7 E F UR! G 13 + 0.0 = 13.0 22
* Özellikleri Completeness: Evet ö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 pace complexity: O(b m ) ütün düğümleri bellekte tutar Optimality: Evet b: dallanma faktörü m: arama ağacının max derinliği 23
Optimallik IF for tüm T: h(t) ile hedef düğüme kalan maliyetin altında paha biçilmişse (UNERestimate) THEN * optimal dir. h L (n): her zaman gerçek uzaklıktan küçük olduğundan kabul edilebilir sezgiseldir eğerinin altında paha biçilen kalan maliyeti içerir 13.4 19.4 17.7 Gerçek kalan maliyetle bu yol en az 13.4 olmalıdır E F G 13 G 24
Underestimate ile ilgili Örnek: Gerçek kalan maliyet ler 1 1 1 3 2 1 1 1 C 25 1 1 4 1 1 E G 3 2 1 34 2 1 1 1 F H 1 I 3 2 Overestimate h bir underestimate EĞİLE 1+3 2+2 1+5 1+4 F Optimal yol değil! 3+1 C G 4 25
İyileştirme: Yol silme rtık yolları at: 3 4 7 8 X at! Toplamlı uzaklık İlke: ten G ye I dan geçerek minimum maliyet = ( ten I ya minimum maliyet) + (I dan G ye minimum maliyet) 26
Eşit Maliyetli (Uniform Cost) için Hatırlatma: -Şimdiye kadarki minimum maliyetli düğümü genişlet İki Örnek: - Yol silmesiz - Yol silmeli 3 4 4 C 4 5 5 2 E 4 F 3 G 27
Eşit maliyetli arama (yol silmesiz) 3 4 4 7 8 7 8 9 6 7 8 E E 9 E 11 10 F 28
C C C C 8 9 E 11 E 12 11 10 9 E 11 E 12 E 10 F 11 10 E 11 E 12 E 10 13 F 11 10 E 11 E 12 E 13 15 F 14 F 11 10 F 29
C E 11 11 E 12 E 13 15 F 14 Hala durma! F G 13 C E 11 E 12 E 13 15 F 14 C 15 15 F G 13 E C E E 13 15 F 14 14 F 16 C UR! 15 15 F G 13 30
3 4 4 7 8 X Yol silmeli 7 E X X 9 6 7 E X X X 11 10 F 31
C E X X F 10 X X 11 E 12 C 11 E X X E X X F G 13 Genişletilen düğüm sayısı büyük ölçüde azaldı: 5 genişletme daha az => ellek gereksinimi azalır 32
Yol silmeli * 3 + 10.4 = 13.4 4 + 8.9 = 12.9 13.4 9 + 10.4 = 19.4 E 6 + 6.9 = 12.9 X 13.4 X 11 + 6.7 = 17.7 E F 10 + 3.0 = 13.0 13.4 X 17.7 E F UR! G 13 + 0.0 = 13.0 33
ezgisel Fonk. Örnek: 8-puzzle h1(n) = yerinde bulunan taşların sayısı h1(n) = 4 Hedef h2(n) = yerinde bulunmayan taşların sayısı h2(n) = 4 34
ezgisel Fonk. Örnek: 8-puzzle h3(n) = taşların hedefteki yerlerine uzaklıkları toplamı (yatay ve dikey hane toplamları) u uzaklıklara Manhattan uzaklığı da denir h3(n) = 1 + 1 + 2 + 2 = 6 35
Kabul edilebilir sezgiseller 36
İlerleyen erinleştirmeli * (I*) * genişlik önceye benzer : Genişliönce d = 1 d = 2 d = 3 d = 4 erinlik-katmanları ile açar * f1 f2 f3 f4 F-konturlarla açar I* : Yinelemeli erinleştirmeye benzer bir fikri kullanır 37
I* Her f- konturda derinlik önce f1 f2 f3 f4 F-sınırına limitlenmiş derinlik önce aramasını yürüt. Hedef bulunmuşsa: TMM. eğilse: f-sınırını arttır ve tekrar başla. F-sınırları nasıl belirlenmeli? - başlangıçta: f() sezgisele göre belirle 1. tüm ardılları (succ) üret 2. minimal f(succ) > f() ise kaydet 3. f() in yerine minimal f(succ) ile devam et (1 e dön) 38
Örnek f-limitli, f-sınır = 100 f=100 f-yeni = 120 f=120 f=130 C f=120 f=140 G f=125 E f=140 F f=125 39
Örnek f-limitli, f-sınır = 120 f-yeni = 125 f=100 f=120 f=130 C f=120 f=140 G f=125 E f=140 F f=125 40
Örnek f-limitli, f-sınır = 125 f=100 f=120 f=130 C f=120 f=140 G f=125 E f=140 F f=125 ŞRI 41
I* Özellikleri Yinelemeli derinleşen ile aynı mantığa dayanır Tam ve Optimal Completeness: Evet Optimality: Evet Time complexity: O(b d ) pace complexity: O(b d) b: dallanma faktörü d: en düşük maliyetli çözümün derinliği 42
asitleştirilmiş Hafıza-sınırlı * M*: implified Memory ounded * (15) 13 15 13 C 18 adece 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(). Her ata düğümünde en iyi unutulan çocuğun f-değerini hatırla ( te15). 43
Tek tek çocukları üretme 13 ir düğümü açarken () herhangi bir zamanda sadece bir çocuğunu kuyruğa ekle. oldan-sağa yı kullanırız Önce sonra yi ekle Hafıza taşmasından kaçın ve başka bir düğümü silip silmeyeceğimizi gözle 44
Çok uzun yol: vazgeç 13 13 Genişletilen bir düğüm hafızadan daha uzun bir yol üretiyorsa : u yoldan vazgeç (C). Çünkü daha az maliyetli bir opsiyon mevcut 18 C adece 3 düğümlük hafıza üğümün (C) f-değerini yap (burdan bir yol bulamayacağımızı hatırlamak için) 45
F-değerlerini ayarla 15 13 15 24 ir 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) } f() için daha iyi tahmin Yol boyunca n in çocuklarından birisinin üzerinden gitmesi gerektiği için! 46
M*: bir örnek 0+12=12 10 8 10+5=15 8+5=13 10 8 16 10 20+5=25 C G1 20+0=20 16+2=18 G2 24+0=24 10 10 8 8 30+5=35 30+0=30 24+0=24 24+5=29 E G3 G4 F 12 12 1213 13 (15) 15 15 13 15 13 18 47
13 (15) 13 0+12=12 10 8 10+5=15 8+5=13 10 8 16 10 20+5=25 C G1 20+0=20 16+2=18 G2 24+0=24 10 10 8 8 30+5=35 30+0=30 24+0=24 24+5=29 E G3 G4 F 15 13(15) 15 (15) 15 (24) 20 15 (24) 24( ) 13 15 ( ) 24 15 24 20 15 ( ) G2 24 G2 24 C 25 C G1 20 48
M* Özellikleri Completeness: Evet En kısa yolu depolamaya izin verecek yeterli hafıza varsa Optimality: Evet En iyi yolu depolamaya yetecek hafıza varsa eğilse: hafızaya uyan en iyi yolu geri gönderir Time complexity: Tüm ağacı depolayacak yeterli hafıza varsa * daki gibidir pace complexity: Varolan tüm hafızayı kullanır b: dallanma faktörü d: en düşük maliyetli çözümün derinliği 49
ONUÇ: ilgisiz ve ilgili rama ilgisiz 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 ilgili arama yaklaşımlarında, amaca olan tahmini uzaklık kullanılır. maca yakın olan düğümler ilk önce açılır. Çözümün bulunması garanti değildir. u yöntemlerin başarılı olmasında doğru değerlendirme fonksiyonunun seçilmesi önemli rol oynar 50