360 likes | 861 Views
YAPAY ZEKA. Yrd. Doç. Dr. Rembiye Kandemir Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü. Bilgisiz Arama Stratejileri. Derinlik Öncelikli Arama –Depth First Search (DFS) Genişlik Öncelikli Arama –Breadth First Search (BFS) Düşük Maliyetli Arama –Uniform Cost Search (UCS)
E N D
YAPAY ZEKA Yrd. Doç. Dr. Rembiye Kandemir Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü
Bilgisiz Arama Stratejileri • Derinlik Öncelikli Arama –Depth First Search (DFS) • Genişlik Öncelikli Arama –Breadth First Search (BFS) • Düşük Maliyetli Arama –Uniform Cost Search (UCS) • Sınırlı Derinlikte Arama -Depdth-Limited Search (DLS) • Tekrarlı Derinlikte Arama –Iterative Deeping Search (IDS) • İki Yönlü Arama –Bidirectional Search (BS)
Uniform Cost Search (Düşük Maliyetli Arama) • Genişlik öncelikli aramaya benzer. • Dallar üzerinde toplam en düşük maliyetli düğümü seçer ve genişletir. • Depdth-Limited Search (Sınırlı Derinlikte Arama) • Derinlik öncelikli aramaya benzer, ağaç dalları çok fazla ise amaç çözüme ulaşmak mümkün olmayabilir. • Bu nedenle derinlik aramada bir yere saplanmamak için sınır şartları verilir.
Iterative-Deeping Search (TekrarlıDerinlikte Arama) • Tekrarlı derinlikte arama tüm olası derinlik sınırlarını deneyerek, en iyi derinlik sınırını seçen bir stratejidir. • Tekrarlı derinlikte arama, derinlik öncelikli ve genişlik öncelikli aramaların iyi yönlerinin birleşimidir. • Bidirectional Search (İki YönlüArama) • İleri ve geri aramaların her biri sadece yarım yol gider.
Sezgisel Problem Çözümleme • İnsan farkında olmadan sezgisel yaklaşımlarla iç içe yaşamaktadır • Kısıtlı zaman içerisinde karar vermeler, • Karmaşık olaylarda seçimin yapılması, • Yargılar, • Bireyler arasında olan ilişkiler, • Düşüncelerin değişmesi vs. “Bana dostunu söyle sana kim olduğunu söyleyeyim” “Meyve veren ağıcın başı aşağı olur”
Sezgisellik nedir? • “sezgisellik” sözcüğü “heuristic” kelimesinin Türkçe eşdeğer anlamı olarak kullanılmaktadır. Bu kelime ise Yunanca “Eureka” (Buldum) kelimesinden gelmektedir. Daha sonraları Arşimet’in kullandığı “eureka” kelimesini yanlış olarak “Heureka” yazılması ile ortaya çıkmaktadır. • Fagenbaum ve Fieldman tarafından sezgisellik tanımı; Sezgisellik (sezgisel kurallar, sezgisel yöntem) problemin durum uzayı çok büyük olduğunda, çözümün aranmasını kesin biçimde sınırlayan herhangi bir kural, strateji, hile, sadeleştirme ve diğer etmenler kullanımıdır.
Sezgisel Arama Stratejileri • Best-First Search – En İyi Arama • Gready Search (GBFS) • A* Search (A*) – A* Arama • Hill Climbing Search (HCS) – Tepe Tırmanma • Simulated Annealing (SA)– Isıl İşlem Arama • Genetik Search (GA) – Genetik Arama
Best First Search (En İyi Arama)Greedy Search • En İyi Arama, bilgilendiren arama metodlarındandır. • Bu yöntem Breath-First ile Depth-First aramalarının en iyi yönlerini birleştirmiştir. • Düğümler değerlendirme fonksiyonu f(n) ’e göre genişletilir. Geleneksel olarak f bir maliyet ölçüsüdür. • Üretilen düğümler içinden en uygunu seçilir ve bu düğüm genişletilir. Seçme işlemi h(n) (sezgisel fonksiyon)’ e göre yapılır. h(n) : n düğümünden amaç düğüme olan tahmini en ucuz maliyet. • Varsayım : h(n) = 0 ise n amaç düğümdür.
Greedy Best-First Search (GBFS) Algoritması 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.
Greedy Best-First Search - (GBFS) (Devam) • Bütünlük : Yok. (Bir döngüye saplanıp kalabilir. Tekrarlı bir alanda sınırlı arama yapar.) • Zaman Karmaşıklığı :O(bm) , iyi bir sezgisel ile yeterli ölçüde gelişme sağlanabilir • Alan Karmaşıklığı :O(bm)(Bütün düğümleri bellekte tutar.) • Optimallik : Yok
S 30 40 1 10 20 3 15 35 2 27 18 25 45 ‘açık’ düğümler Greedy Best-First Search (Devam) Yrd.Doç.Dr.Rembiye Kandemir
Best-First Aramaya göre Arad-Sibiu-Fagares-Bucharest Toplam Uzaklık 140+99+211=450
A* Search (Toplam Yolu Azaltma) • Belirli ve iyi tanımlanmış koşullar altında, bu sezgisel başlangıç ve amaç noktası arasında, eğer varsa minimum maliyetli yolu en az sayıda düğüm oluşturarak bulacağı garanti eder. • A* akla uygun bir sezgisel kullanır. • n düğümü göstermek üzere; f(n) = g(n)+h(n): değerlendirme fonksiyonu tanımlanır (başlangıç noktasından bulunan düğüme kadar tahmini toplam maliyet) g(n): Başlangıç noktasından, bulunan düğüme kadar olan maliyetin doğru ölçümü (gerçek mesafe olabilir) h(n): Mevcut düğümden amaç düğümüne kadar en az maliyet tahmini. Bu fonksiyon negatif olmamalı ve asla amaç düğümüne ulaşım maliyetinden daha fazla olmamalı. h : Tasarım problemine bağlı olarak değişen fonksiyon. • g fonksiyonu S ’den (başlangıçtan) n ’ye her yol için kesin olarak hesaplanırken, h fonksiyonu daha az belirgin ve sezgisel bir bilgidir. • Eğer tüm düğümler için h=0 ise araştırma en iyi öncelikli araştırmaya (best-first search) döner.
A* Search (Toplam Yolu Azaltma) (Devam...) • Bütünlük : Var. ( f ≤ f(G) durumunda . ) • Zaman Karmaşıklığı : Üssel olarak artmakta • Alan Karmaşıklığı :O(bm)(Bütün düğümleri bellekte tutar.) • Optimallik : Var. ( fi+1 ‘i genişletemediğinde fisonlanmıştır) C* maliyet açısından optimal çözüm olmak üzere • A* tüm düğümleri genişletir f(n) < C* olduğunda • A* bazı düğümleri genişletir f(n) = C* olduğunda • A* hiç bir düğümü genişletmez f(n) > C* olduğunda
A* göre Arad-Sibiu-Rimnicu-Pitesti-BucharestToplam Uzak140+80+97+101=418
Örnek:8-taş bulmacası Başlangıç Amaç Problem : A* algoritması kullanılarak 8 taş bulmacasının çözümü Durumlar : boş, 1, 2, 3, 4, 5, 6, 7, 8 numaralı taşlar Operatör : Sağ, Sol, Yukarı, Aşağı hareketleri Maliyet : Her hareket 1 birim
Örnek:8-taş bulmacası Başlangıç Amaç 8-taş bulmacasında 9! = 362,800 durum vardır f(n) = g(n) + h(n) A* arama için g(n): başlangıçtan n düğümüne kadar olan gerçek uzaklığı ifade eder. h(n):n düğümü için sezgisel bir değer, bu değeri bulmak için farklı yöntemler kullanılır.
Örnek:8-taş bulmacası • h1(n) = yerinde bulunan taşların sayısı h1(n) = 4 • h2(n) = yerinde bulunmayan taşların sayısı h2(n) = 4
Örnek:8-taş bulmacası • h3(n) = taşların hedefteki yerlerine uzaklıkları toplamı (yatay ve dikey hane toplamları) • Bu uzaklıklara Manhattan uzaklığı da denir h3(n) = 1 + 1 + 2 + 2 = 6
Sezgisellerin hakimiyeti • h1 ve h2 sezgiseli verilmekte • h1veh2her ikisi de akla uygun veriler • h1veh2her ikisi de kolay hesaplanabilir • Herhangi bin n düğümü için, h2(n) >= h1(n) • Hangisi daha iyi? • h2 hakimdir h1 • bütün arama boyunca h2 daha iyi sonuç üretir.
Tipik bir arama maliyeti : d = 14 ise IDS = 3,493,941 düğüm A*(h1) = 539 düğüm A*(h2) = 113 düğüm d = 24 ise IDS ≈ 54,000,000,000 düğüm A*(h1) = 39,135 düğüm A*(h2) = 1,641 düğüm