YAPAY ZEKA YAPAY ZEKA Yrd. Doç. Dr. Rembiye Kandemir Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü
Jan 26, 2016
YAPAY ZEKAYAPAY ZEKAYrd. Doç. Dr. Rembiye Kandemir
Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü
2
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)
3
• 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.
4
• 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.
5
Arama Stratejilerinin Karşılaştırma Tablosu
6
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”
7
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.
8
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
9
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.
10
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.
11
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
Yrd.Doç.Dr.Rembiye Kandemir 12
‘‘açık’ açık’ düğümlerdüğümler
Greedy Best-First Search (Devam)
SS 3030
1010 20204040
11
3535 1515
22
2525 4545
33
2727 1818
13
Greedy Best-First Search (Devam)
14
Greedy Best-First Search (Devam)
15
Greedy Best-First Search (Devam)
16
Greedy Best-First Search (Devam)
17
Best-First Aramaya göre Arad-Sibiu-Fagares-Bucharest Toplam Uzaklık 140+99+211=450
18
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.
19
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 fi sonlanmış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
20
A* Search (Toplam Yolu Azaltma) (Devam...)
21
A* Search (Toplam yolu Azaltma) (Devam...)
22
A* Search (Toplam yolu Azaltma) (Devam...)
23
A* Search (Toplam yolu Azaltma) (Devam...)
24
A* Search (Toplam yolu Azaltma) (Devam...)
25
A* Search (Toplam yolu Azaltma) (Devam...)
26
A* göre Arad-Sibiu-Rimnicu-Pitesti-BucharestToplam Uzak
140+80+97+101=418
27
Ö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
28
Ö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.
29
Ö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
30
Ö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
31
Sezgisellerin hakimiyeti
• h1 ve h2 sezgiseli verilmekte– h1 ve h2 her ikisi de akla uygun veriler – h1 ve h2 her 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.
32
• Tipik bir arama maliyeti :
d = 14 ise IDS = 3,493,941 düğümA*(h1) = 539 düğümA*(h2) = 113 düğüm
d = 24 ise IDS ≈ 54,000,000,000 düğümA*(h1) = 39,135 düğümA*(h2) = 1,641 düğüm