1 / 79

YAPAY ZEKA ve UZMAN SİSTEMLER

YAPAY ZEKA ve UZMAN SİSTEMLER. Ders Notu – 4.1 Bilgili Arama. Geçen Ders: Problem Çözme. Problem çözme: Hedef formülasyonu Problem formülasyonu (durumlar, operatörler) Çözüm için ara Problem formulasyonu: Başlangıç durumu ? ? ? Problem tipleri:

arnie
Download Presentation

YAPAY ZEKA ve UZMAN SİSTEMLER

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. YAPAY ZEKA ve UZMAN SİSTEMLER Ders Notu – 4.1 Bilgili Arama

  2. Geçen Ders: Problem Çözme • Problem çözme: • Hedef formülasyonu • Problem formülasyonu (durumlar, operatörler) • Çözüm için ara • Problem formulasyonu: • Başlangıç durumu • ? • ? • ? • Problem tipleri: • tek durumlu: ulaşılabilir ve deterministik çevre • çok durumlu: ? • koşullu: ? • keşif: ?

  3. Geçen Ders: Problem Çözme • Problem çözme: • Hedef formülasyonu • Problem formülasyonu (durumlar, operatörler) • Çözüm için ara • Problem formulasyonu: • Başlangıç durumu • Operatörler • Hedef testi • Yol maliyeti • Problem tipleri: • tek durumlu: ulaşılabilir ve deterministik çevre • çok durumlu: ? • koşullu: ? • keşif: ?

  4. Geçen Ders: Problem Çözme • Problem çözme: • Hedef formülasyonu • Problem formülasyonu (durumlar, operatörler) • Çözüm için ara • Problem formulasyonu: • Başlangıç durumu • Operatörler • Hedef testi • Yol maliyeti • Problem tipleri: • tek durumlu: ulaşılabilir ve deterministik çevre • çok durumlu: ulaşılamaz ve deterministik çevre • koşullu: ulaşılamaz ve deterministik olmayan çevre • keşif: bilinmeyen durum uzayı

  5. Geçen Ders: Bir Çözüm Bulma Function General-Search(problem, strateji) returns bir çözüm ya da hata Başlangıç durum problemini kullanarak arama uzayını initialize et loop do if genişletmek için adaylar yok then return hata genişletmek için stratejiye göre bir yaprak düğüm seç if düğüm hedef durumu içerir then return uygun çözüm else düğümü genişlet ve sonuç düğümü arama uzayına ekle end Çözüm: ??? mi Ana fikir: Durum uzayının, gezilen durumların çocuklarını üreterek(genişletme) simule edilen offline, sistematik keşfi

  6. Geçen Ders: Bir Çözüm Bulma Function General-Search(problem, strateji) returns bir çözüm ya da hata Başlangıç durum problemini kullanarak arama uzayını initialize et loop do if genişletmek için adaylar yok then return hata genişletmek için stratejiye göre bir yaprak düğüm seç if düğüm hedef durumu içerir then return uygun çözüm else düğümü genişlet ve sonuç düğümü arama uzayına ekle end Çözüm:seni şu anki durumdan hedef duruma götüren operatörler sırasıdır. Ana fikir: Durum uzayının, gezilen durumların çocuklarını üreterek(genişletme) simule edilen offline, sistematik keşfi Strateji: Arama stratejisi ??? ile belirlenir.

  7. Geçen Ders: Bir Çözüm Bulma Function General-Search(problem, strateji) returns bir çözüm ya da hata Başlangıç durum problemini kullanarak arama uzayını initialize et loop do if genişletmek için adaylar yok then return hata genişletmek için stratejiye göre bir yaprak düğüm seç if düğüm hedef durumu içerir then return uygun çözüm else düğümü genişlet ve sonuç düğümü arama uzayına ekle end Çözüm: seni şu anki durumdan hedef duruma götüren operatörler sırasıdır. Ana fikir: Durum uzayının, gezilen durumların çocuklarını üreterek(genişletme) simule edilen offline, sistematik keşfi Strateji: Arama stratejisi düğümlerin genişletilme sırası ile belirlenir

  8. Arama stratejilerinin değerlendirilmesi • Bir arama stratejisi düğüm genişletme sırasının seçilmesiyle belirlenir. • Stratejiler dört kritere göre değerlendirilebilir: • Tamlık (Completeness): Eğer çözüm varsa strateji çözümü garanti ediyor mu? • Zaman Karmaşıklığı (Time complexity): Çözümü bulmak ne kadar zaman alıyor? • Bellek Karmaşıklığı (Space complexity): Aramayı gerçekleştirmek için ne kadar bellek gerekiyor? • Optimallik (Optimality): Birden fazla çözüm olduğu zaman strateji en iyi olanını buluyor mu? (en düşük maliyetli çözüm) • Zaman ve bellek karmaşıklığı şu terimler cinsinden ölçülür: • b – arama ağazının maksimum dallanma faktörü • d – en düşük maliyetli çözümün derinliği • m – arama ağacının maksimum derinliği(sonsuz olabilir)

  9. Geçen ders: Bilgisiz Arama Stratejileri Bilgisiz Arama Sadece problem formulasyonundaki mevcut bilgiyi kullanır. Hedefe olan yol/uzaklık maliyeti hesaba katılmaz. Bu yöntemlerle arama, durum uzayı hakkında bilgi olmadan gerçekleştirilir. • Genişlik-önce (Breadth-first) • Düzenli-maliyetli (Uniform-cost) • Derinlik-önce (Depth-first) • Derinlik-sınırlı (Depth-limited) • Tekrarlanan derinleştirme (Iterative deepening)

  10. Bu kez: Bilgili Arama Bilgili Arama Hedefe maliyetler hakkındaki bilgi hesaba katılır. Aramayı yönetmek için sezgiseller kullanır. Sezgisel arama yöntemleri , önce en umut verici yolu incelemekle aramanın etkisini yükseltir. • En iyi ilk önce • A* • IDA * • Sezgiseller • Tepe-tırmanma • Benzetimli tavlama

  11. En iyi ilk önce arama • Fikir: Her düğüm için bir değerlendirme fonksiyonu kullan; arzu edilebilirliğin (desirability) tahmini • en çekici genişletilmeyen düğümü aç. • Uygulama: QueueingFn = Çekiciliğin azalan sırasına göre ardılları ekle • Özel durumlar: greedy arama A* arama

  12. Greedy arama • Tahmin fonksiyonu (Estimation function): h(n) = n ‘den hedefe maliyetin tahmini (heuristic) h(n) = 0 n hedef ise • Mesela: hSLD(n) = n ‘den Bucharest‘ e düz-yol uzaklığı • Greedy arama h(n) ‘e bağlı olarak,hedefe en yakın görünen ilk düğümü açar..

  13. Algoritma 1. Başlangıç düğümlerin sınıflandırılmış bir listesi olan N’yi yerleştir 2. Eğer N boş ise o zaman çık ve hata mesajı ver 3. N ’de ilk düğüm olarak n ‘yi yerleştir ve N ’den n ’yi sil 4. Eğer n amaç düğümü ise o zaman çık ve başarı mesajı ver 5. Diğer durumlarda, N ’ye n ’nin çocuklarını ekle, N deki düğümleri, bunların amaçtan tahmin edilen mesafelerine göre sınıflandır ve adım 2 ye geri dön.

  14. Adımları km ile maliyetli Romanya

  15. Greedy Aramanın Özellikleri • Tamlık? • Zaman? • Bellek? • Optimal?

  16. Greedy Aramanın Özellikleri • Tamlık? Hayır – Döngülerde ya da sonsuz yollarda takılabilir mesela Iasi > Neamt > Iasi > Neamt > … Tekrarlı-durum testi ile sonlu uzayda tamdır. • Zaman? O(b^m) fakat iyi bir sezgisel etkileyici gelişme sağlayabilir • Bellek? O(b^m) – Değerleri karşılaştırmak için tüm düğümleri hafızada saklar • Optimal? Hayır.

  17. Düzenli-Maliyetli arama hatırlatması • Toplamlı maliyet fonksiyonu kullanır • olduğunda optimaldir

  18. A* arama • Fikir: evvelce pahalı olan yolları genişletmekten 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 tahmini maliyet f(n) – n’ den hedefe olan yolun tahmini toplam maliyeti • A* arama kabul edilebilir bir sezgisel kullanır, yani, h(n)  h*(n) , h*(n) n’den gerçek maliyettir. Mesela: hSLD(n) hiçbir zaman gerçek yol uzaklığını fazla tahmin etmez (düz yol uzaklığı hep küçüktür) • Teorem: A* arama optimaldir

  19. Algoritma • Başlangıç düğümü olan S ’yi AÇIK isimli genişletilmemiş düğümler listesine koy. f (S) ‘yi hesapla ve değerini S düğümüyle birleştir. • Eğer AÇIK boş ise, hata verip çık; çözüm yok. • AÇIK dan f değeri minimum olan bir i düğümü seç. Eğer birkaç düğüm koşulları sağlıyorsa, varsa içlerinden amaç düğümü seç. Aksi halde, keyfi olarak seçim yap. • i düğümünü AÇIK listesinden den çıkar ve onu genişletilmiş düğümlerin listesi KAPALI ’ya koy. • Eğer i amaç düğüm ise, başarı ile çık; bir çözüm bulunmuştur. • i düğümünü kendisinden sonrakiler için düğümler yaratarak genişlet. i ’ nin kendisinden sonra gelen her bir j düğümü için: • f(j) değerini hesapla. • Eğer j ne AÇIK ne de KAPALI listesinde yer almıyorsa, onu f değeriyle birlikte AÇIK listesine ekle. j den önceki düğümü i ’ye bir işaret ekle (bir amaç düğümü bulunduğunda geri izleme çözümü için.) • Eğer j, AÇIK ya da KAPALI listelerinde varsa, yeni hesaplanan f değerini daha önce j ile birleştirilen değer ile karşılaştır. Eğer yeni değer daha küçük ise; • Eski değer ile yerini değiştir. • Önceki düğümü yerine j ’yi i ye geri işaretle. • Eğer j düğümü KAPALI dosyasında ise, AÇIK listesine geri götür. • Adım 2’ye git.

  20. A* arama

  21. G 3 C F 4 4 4 3 S B 5 4 A D 2 5 5 E B D A E 4 2 4 5 5 2 4 4 5 D C E E B B F 2 4 5 4 4 5 4 4 A 3 4 D F B F C E A C G 3 3 4 3 4 S G C G F 3 G Döngülü yollardan kaçınmak !

  22. G 3 C F 4 4 B 5 E 4 2 10.4 6.7 A B C 4 5 D A 11 S 4 G 8.9 3 F 6.9 S 3 D E A* Örnek • h(T)= T’ den G’ ye düz yol uzaklığı

  23. S 3 + 10.4 = 13.4 4 + 8.9 = 12.9 A D S 13.4 A D D 9 + 10.4 = 19.4 6 + 6.9 = 12.9 A E S 13.4 A D 19.4 A E E 11 + 6.7 = 17.7 B 10 + 3.0 = 13.0 F S 13.4 A D 19.4 A E 17.7 B F F 13 + 0.0 = 13.0 G DUR!

  24. IF for tüm T: h(T) bir hedef düğüme kalan maliyetin altında paha biçilmişse (UNDERestimate) • THEN A* optimal dir. S Değerinin altında paha biçilen kalan maliyeti içerir 13.4 A D 19.4 A E 17.7 B F Gerçek kalan maliyetle bu yol en az 13.4 olmalıdır 13 G G Optimallik • Dallanma faktörü sonlu ve hareketlerin maliyeti pozitif olduğunda • Sezgi:

  25. 2 3 1 1 3 2 1 1 Gerçek kalan maliyet ler A B C 1 1 Over- estimate 1 5 2 4 1 1 1 S D E G 3 2 1 1 3 1 4 2 1 1 F H I 1+3 2+2 3+1 A A B B C C 1+5 4 S D G 1+4 Optimal yol değil! F Underestimate ile ilgili Örnek: • h bir underestimate DEĞİLSE

  26. 2 3 0 1 1 0 1 1 Gerçek kalan maliyet ler A B C 1 1 Under- estimate 1 2 2 1 1 1 1 S D E G 3 2 1 1 2 1 3 1 1 1 F H I 1+1 2+0 3+0 A A B B C C 1+2 4 3 ! E E G S D D G 1+3 F Underestimate ile ilgili • Örnek: • h bir underestimate ise: 2+1 Kötü underestimateler daima artan toplamlı maliyetle düzeltilir

  27. S 3 4 A A D 7 8 B D Toplamlı uzaklık Dikgen bir genişleme: 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) X at !

  28. S A D Q 7 8 9 6 A B D E Daha açık olarak X • IF QUEUE şunları içerirse : • I’ da sonlanan cost_P maliyetli bir P yolu • I’ yı içeren cost_Q maliyetli bir Q yolu • cost_Pcost_Q • THEN • P’ yi sil

  29. Düzenli Maliyetli’ de örnek • Düzenli Maliyet: -Şimdiye kadarki minimum maliyetli düğümü genişlet İki Örnek: - Yol silmesiz - Yol silmeli

  30. S 3 4 A D S 4 A A D 7 8 B D S A D D 7 8 9 6 A B D E S A D 9 7 8 A E E B D 10 11 B F Düzenli maliyet (yol silmesiz)

  31. S A D 9 8 A D B B E 11 10 B F 11 12 C E S A D 9 A D D B E 11 10 B F 11 12 10 C E E S A D A A D B E 11 10 B F 11 13 12 10 C E E B S A D A D B E 11 10 B F 11 13 12 C E E E B 15 14 B F

  32. S A D A D B E 11 B F F 11 13 12 C E E B 15 14 13 B F G S A D A D B E B B F 11 13 12 C E E B 15 14 15 15 13 B F A C G S A D A D B E B F 13 C E E E B 14 15 15 15 13 16 B F 14 D F A C G Hala durma! DUR!

  33. S 3 4 A D S 4 A D 7 8 B D X S A D 7 9 6 A B D E X X S A D 7 A E B D X X 10 11 B F X Yol silmeli

  34. S A D A D B E X X 10 B F 11 12 C E X X S A D A D B E X X B F 11 C E X 13 X G Bu optimizasyonun, dallan ve sınırla uzatmalı düzenli maliyetliyle karşılaştırıldığında genişleme sayısını ne kadar çok azalttığına dikkat edin. 5 genişletme daha az!

  35. S 3 + 10.4 = 13.4 4 + 8.9 = 12.9 A D S 13.4 A D 9 + 10.4 = 19.4 6 + 6.9 = 12.9 A E X Tek fark burasıdır. S 13.4 A D A E X B 10 + 3.0 = 13.0 F 11 + 6.7 = 17.7 S 13.4 A D A E DUR! X 17.7 B F 13 + 0.0 = 13.0 G Yol silmeli A*

  36. A* Optimalliği (1) • Tüm düğümler için f’ nin tüm değerlerinin genişletildiği konturlar.

  37. Monotonluk: • Bir sezgisel değerlendirme fonksiyonu monotonluk sınırlamasını sağlar ancak ve ancak • f-maliyetinin bir yol boyunca hiç azalmayacağını ifade eder ! • Düz yol uzaklığına uyar • Kontur görünümüyle sonuçlanır !

  38. (4) 5 + 4 = 9 A A 1 (2) 6 + 2 = 8 B Monotonluk: • F’ in bir yol boyunca azalması mantıksızdır: • Bu bilgiyi ziyan eder !! • Zaten biliyoruz ki bu yolun hedefe toplam maliyeti en az 9 (A düğümündeki bilgi). O zaman bu tahmin düğüm B’ de nasıl daha az olur ? • Monotonlukta olmaz !

  39. A* Pathmax • A* ‘ı düzenleyelim • f’ yi tekrar tanımlayalım • Pathmax eşitliği monotonluğu garanti eder • Düzenli-maliyet (h(n)=0 heryerde) • çemberler

  40. Optimallik (2) • İddia: A* ile bulunan ilk çözüm minimal yol-maliyetlidir • İspat: Optimal f* yol maliyetli bir hedef düğümünün olduğunu ancak A*’ ın başka alt optimal bir hedef düğüm, G2 , bulduğunu ve kuyrukta olduğunu varsayalım. n optimal en kısa yola, G1, uzaklık üzerinde açılmamış bir düğüm olsun

  41. Sonlandırma / Tamlık • Sonlandırma sadece ‘lı düğüm sayıları sonlu olduğunda garanti edilir • Sonlandırmama olabilir • Sonsuz dallanma faktörlü bir düğüm vardır ya da • Sonlu maliyetli fakat yanı sıra sonsuz sayıda düğüm olan bir yol vardır • Her hareketin maliyetinin pozitif sabit d’ den büyük olduğu varsayılarak kaçınılabilir

  42. f(n)  f* S Üretilir ve kaldırılmazsa seçilir A B C f(n) = f* D E F G H I bilinmez f(n)  f* J K L M N O seçilmez Genel görüntü: • Arama ağacı 3 katmana bölünmüştür:

  43. S 3 4 10 4 (7) B B (0) A A f(SBC) = 6  f* = 8, fakat SBC hiç kuyruğa girmez! 3 4 (0) C 4 8 G (0) f(p) < f* katmanı: • Üst katman tamamen seçilir mi? f(n) < f* ‘ lı bir n yolu kuyrukta hiç ortaya çıkmayabilir mi? • EVET ! Sonlanma

  44. S 2 2 6 2 (0) B B (4) A A 2 3 4 C (0) Bu yolun C’ ye optimalliği keşfedilmedi 5 (0) C C 2 7 (0) D Düğümlere minimal-maliyetli yollar • Aynı bir düğüm çoklu kez bulunabilir ( muhtemelen farklı maliyetlerde) • A*’ da gereksiz yol silimi ile icabına bakılır • Tüm gereksiz yolları silmeli miyiz ?? HAYIR !

  45. A* Özellikleri • Tamlık? • Zaman? • Bellek? • Optimal?

  46. A* Özellikleri • Tamlık? Evet, f  f(G) li sonsuz düğüm olmadığı müddetçe • Zaman? Exponansiyel [(h daki bağıl hata ) x (çözüm uzunluğu)] • Bellek? Tüm düğümleri hafızada tutar ! Maliyetlidir ! • Optimal? Evet – fi+1 ‘i, fi bitmeyene kadar açamaz

  47. Sezgisel Fonksiyonlar

  48. Örnek: 8-puzzle • h1(n) = yerinde bulunan taşların sayısı • h1(n) = 4 • h2(n) = yerinde bulunmayan taşların sayısı h2(n) = 4

More Related