Upload
sera
View
189
Download
7
Embed Size (px)
DESCRIPTION
YAPAY ZEKA. Problem Analizi. Bir problemi çözmede en uygun yöntemi seçmek için, problemi birçok yönden incelemek gerekir. Problem ayrıştırılabilir mi? Örnek Çözüm adımları önemsenmeyebilir ya da geri alınabilir mi? Önemsenmeyebilen Düzeltilebilen Düzeltilemeyen - PowerPoint PPT Presentation
Citation preview
YAPAY ZEKAYAPAY ZEKAYrd. Doç. Dr. Rembiye Kandemir
Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü
2
Problem Analizi• Bir problemi çözmede en uygun yöntemi seçmek için,
problemi birçok yönden incelemek gerekir.
– Problem ayrıştırılabilir mi? Örnek – Çözüm adımları önemsenmeyebilir ya da geri alınabilir
mi?• Önemsenmeyebilen• Düzeltilebilen• Düzeltilemeyen
– Problem uzayı tahmin edilebilir mi?– Cevap, mutlak mı yoksa göreceli mi?– Bilgi tabanı tutarlı mı?– Bilginin rolü nedir?– Acaba iş kişi ile karşılıklı etkileşimi gerektiriyor mu?
...
4
Yapay Zeka’ da Problem Çözme Teknikleri
• Yapay zekanın nasıl çalıştığını anlamak için, yapay zeka tarafından kullanılan yaklaşımları ve problem çözme stratejilerini bilmek gerekir.
– Arama Doğrudan bir yaklaşımın olmadığı problemleri çözmeyi sağlar.
– Bilgi kullanımıKonusu geçen objelerin yapılarındaki bilgileri kullanarak kompleks problemleri çözmek için yol gösterir.
– Soyutlama Önemli özellikleri ve değişimleri, önemsiz olanlardan ayırmayı sağlar
5
Problem Çözme İşlemi ve Karar Verme
• Simon’a göre problem çözme yaklaşımı üç aşamadan oluşur– Bilgi– Tasarım– Seçim
• Araştırmacı Bel’e göre ise problem çözme ve karar verme, – Problemi tespit etme ve tanımlama– Bir çözüm için bulunan kriteri tanımlama– Alternatifleri üretme– Çözüm ve değerlendirmeler için arama– Seçim ve öneriler– Uygulama
6
• Yapay zekayı kullanarak herhangi bir problemi çözmenin genel işlemi üç temel bileşenden oluşur:
• Problem durumunu tanımlama - Problem durumu ve var olan şartlar tanımlanır.
“Arabanız çalışmıyor” - Durumlar, problemde potansiyel alternatif çözümler olabilir.
“Bir petrol sızıntısı olabilir”, “Akü bitmiş olabilir”, vs.- Tüm tanımlamalar birbirinden farklıdır.
• Amaç- Başarılacak hedeftir, son bir çözümdür.
‘Amacınız aracınızla ilgili yanlış giden şeyin ne olduğunu bulmaktır’. - Amaca ulaşmak için birden fazla arama olabilir.
‘Depo kontrol edilir”, “akü kontrol edilir”, vs.
• Operatörler- Bir durum dan başka bir duruma değişim için kullanılan işlemlerdir. - Bir operatör, algoritmaya dayalı bir alt program olabilir.
Problemin Durum Uzayını Belirleme
7
Problemi Formüle Etme• Başlangıç Durumu
• Hareket Operatörleri: Bir sonraki durumu gösteren operatör
• Durum Uzayı: Başlangıç durumundan, ulaşılabilir tüm durumlar kümesi
• Amaç Durumu Belirleyicileri
• Yol: Özel hareketlerin birleşimi
• Yol Maliyeti: Herbir yolun toplam maliyeti– Optimal çözüm: minimum yol maliyetli çözüm
8
Problemler• Oyun Problemleri : Basit, fakat teori ve analizler için
yararlıdır.– Dünyayı temizleme– N kraliçe– N kare bulmacası vs.
• Gerçek Problemler: Bu tür çözümler daha çok kullanışlıdır, fakat teoriye fazla faydalar değildir.– Yol bulma– Linear programlama– Optimizasyon– Oyun teorisi– Optimal control – Evrim
9
Örnek-1: Dünyayı Temizleme problemini formule etme
• Durumlar : Yer kirli, yer kirli değil
• Başlangıç Durumu : Problem tarafından verilir.
• Amaç : Hiçbir yer kirli kalmayacak
• Operatör (hareket) : Sol, sağ, temizle, işlem yok
• Yol Maliyeti : Her hareket 1 birim, işlem yok 0 birim
• N oda için durum sayısı ?N * 2^N
10
Örnek-1: Dünyayı Temizleme problemini formule etme (Devam)
Durum Yol maliyeti
1 3
2 3
3 1
4 2
5 2
6 1
7 0
8 0
• Her bir durum için yol maliyeti
13
Örnek-2: Romanya’ yı Gezme (Devam)
• Durumlar : Ülkenin şehirleri
• Başlangıç Durumu : Arad Şehri
• Amaç : Bucharest şehrine ulaşmak
• Operatör (hareket) : Bir şehirden diğer şehre gitmek
• Yol Maliyeti : Şehirler arası uzaklık
14
Örnek-3: 8 kare Bulmacası
• Durumlar : 1, 2, 3, 4, 5, 6, 7, 8, boşluk kareleri
• Başlangıç Durumu : Problem tarafından verilir
• Amaç : Problem tarafından verilir
• Operatör (hareket) : Boşluk karesinin sağ, sol, yukarı, aşağı hareketi
• Yol Maliyeti : Her hareket 1 birim
Başlangıç Durumu Amaç Durum
15
Örnek-3: 8 kare Bulmacası (Devam)
• Durumlar : Herhangi bir bölge ile başlayabilir
• 9! / 2 = 181,440 durum (Durum uzayı)
• 15-puzzle: ~ 1.3 trilyon durum
• 24-puzzle: ~ 1025 durum (çözümü oldukça zor)
Başlangıç Durumu Amaç Durum
16
Problem Çözümünde Arama
• Bir tanımlama uzayı, verilerin bir problem için ulaşılabilir tüm durum gruplarını temsil eder.
• Bir problemin durum uzayını grafiksel olarak ifade etmek mümkündür. – Durum Grafiği– Arama Ağıcı
18
Arama Ağacı• Bir ağaçtaki her düğüm problem
durumu (problem state) olarak tanımlanır.
• İlk durum düğümü kök düğüm (roote node) olarak anılır.
• Kökten diğer düğümlere uzanan bütün yollar problem durum uzayı’nı tanımlar (dallar).
• Eğer yeni bir düğüm oluşturulduysa buna düğüm üretildi (generated) denir.
• Üretilen düğüm çocuk veya torun düğüm dür.
• Bunu üreten düğüm için de düğüm araştırıldı (explored) denir.• Eğer bir düğümün tüm çocukları üretildiyse, bu düğüm için düğüm genişledi (expanded) denir.• Çocuksuz düğümler yaprak düğüm veya ölü düğüm olarak ifade edilir.
19
AND/OR (Ve / Veya) Arama Ağacı
• Bir düğümden çıkan dallar iki veya daha fazla alternatif yolu temsil edebilir. Bu yollardan biri veya diğeri amaca götürebilir. Bu düğümler OR düğümleri olarak ifade edilir.
• Bununla birlikte bazı problemlerde ardıl düğümler tüm başarılabilen veya amaca ulaşmadan önce içinden seçilen problem durumlarını temsil eder. Bunlar AND düğümleri olarak ifade edilir.
• Bilgi akışı ileri zincirleme gösteren bir OR ağacında başlangıç durumundan başlar ve aşağı doğru düğümleri genişleterek ve değerlendirerek ilerler.
• Bir AND ağıcında ise, bir yandan aşağı doğru bilgi akışı kontrol edilirken, kısmi çözümler önce alt seviyelerde oluşturulur ve sonuçlar en üst düğümde ortaya çıkana kadar yukarıya doğru daha yüksek seviye fonksiyonları ile birleştirilerek yeniden işlenir.
B C
D E F G H
A
20
Arama Algoritmaların Performansı• Completeness (Bütünlük): Bir tane çözüm olduğunda arama
startejisi çözümü garanti ediyor mu?
• Optimality (En iyilik): Birkaç farklı çözüm olduğu zaman arama stratejisi en iyi kalitede çözümü buluyor mu?
• Time complexity (Zaman karmaşıklığı): Çözümü bulmak ne kadar bir zaman alır?
• Space complexity (Alan karmaşıklığı): Arama işlemi ne kadar bellek gerektirir?
b : Arama ağıcının maximum dallanma faktörüd : Amaç düğümün bulunduğu en sığ derinlik (en düşük
maliyetinin bulunduğu derinlik)m : Durum uzayının maximum uzunluğu (∞ olabilir)
• Arama Maliyeti: Toplam maliyet
21
Arama Stratejileri– Informed (bilgili) yaklaşımlar
Bunlar “içten geleni hissetme” veya sadece dürtüler üzerinde hareket etme önsezileri ile ilgilenir.
– UnInformed (bilgilisiz) yaklaşımlar• Kör arama (bilgisiz arama)
22
Optimizasyon
• Optimizasyon, özel durumları modelleyen matematiksel formülleri kullanarak en iyi mümkün çözümü bulmaya çalışır.
• Yöneylem araştırması ve matematik gibi yapay zeka teknolojileri olmayan durumlarda yoğun bir şekilde kullanılır.
23
Kör Arama (Blind Search)
• Kör arama teknikleri, alternatifleri ve bir karar çözümünün kanıtlarını (hipotezlerini) teker teker araştırır.
• Kör aramanın iki tipi vardır. – Ayrıntılı arama
- Tüm alternatifler değerlendirilir ve bu nedenle optimal bir çözüm bulunur.
– Eksik (parçalı) arama - Arama yeterli derecede iyi bir çözüm bulununcaya kadar devam eder. - Belirsiz durumlarda arama yolu keyfidir. - Zaman miktarı ve bilgisayarda depolama imkanı üzerinde pratik sınırlandırmalar vardır. - Belirsiz arama metodu ile çözüm bulunabilmesine rağmen metot büyük problemler için pratik değildir.
24
• Kör bir aramada, değerlendirilen alternatif sayıları üssel olarak artabilir.
Bu tür problemler, ‘combinetorial’ problemler olarak adlandırılır.
Örneğin, işleri ya da adayları birleştiren bir problem için;
Adayların ve işlerin sayısının 10’dan 11’e yükselmesi ile (%10’luk bir artış) potansiyel birleşmelerin sayısı %1100 oranında artar (10!=3,628,800 11!=39,916,800).
10’dan 12’ye (%20’lik bir artış) alternatif sayıları yaklaşık 480,000,000’a çıkmasına veya yaklaşık %13200 artmasına neden olabilir.
25
Sezgisel Arama (Heuristic Search)
• Birçok uygulama için, arma işlemine rehberlik edecek özel bilgilere ihtiyaç duyulur (sezgisel bilgi).
• Bu bilgileri kullanan arama prosedürlerine de sezgisel arama metotları denir.
• Sezgisel bilgiler, bir problemin nasıl çözülmesi gerektiği ile ilgili karar kurallarıdır.
• Sezgisel arama, bir kör aramadan daha ucuz ve daha hızlıdır.
26
Kör Arama (Blind Search)(Bilgisiz Arama)
• Kör arama teknikleri, alternatif yolları teker teker araştırır.
• Bilgisiz aramalardan bazıları
• BFS - Breath-First Search• UCS - Uniform Cost Search • DFS - Depth-First Search • DLS – Depth Limited Search • IDS – Iterative Deeping Search • BS – Bidirectional Search
27
Breath-First Search – BFS(Genişlik Öncelikli Arama)
– b dallanma faktörü, m maximum derinlik olmak üzere, d optimum sonuç derinliği
– Bütünlük : Var (Eğer b sonlu ise)– Zaman Karmaşıklığı : 1+b+b2+b3+...+bd+b(bd-
1)=O(bd+1) dir.– Alan Karmaşıklığı : O(bd+1) dir (her düğümü hafızada
tutar). – Optimallik : Her zaman çözüm bulunur.
30
Breadth-First Search (BFS) (devam)
Optimumsonuç
Derinlik 0
Derinlik 1
2
3amaç
*
Dallanma faktörü b = 3 Derinlik d = 2
31
Breadth-First Search (BFS) (devam)
Optimumsonuç
Derinlik 0
Derinlik 1
2
3amaç
*
Dallanma faktörü b = 3 Zamanı Karmaşıklık O(bd+1) = 27 Derinlik d = 2 Alan Karmaşıklığı O(bd+1) = 27
36
Genişlik Öncelikli Arama Algoritması
1. Başlangıç düğümlerin 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ı geri gönder
5. Aksi durumda N’nin sonuna n’ nin coçuklarını ekle ve 2. adıma geri dön.
37
Genişlik öncelikli aramaya benzer. Dallar üzerinde toplam en düşük maliyetli düğümü seçer ve
genişletir.b = dallanma faktörü,C*= en düşük maliyetli çözümün derinliği
51 15
A
CB D
A
B C D
F
155
5
110
1
E
1
51
10
15
5
A
CB D
F E
F
51
10
15
5
A
CB D
F E
10
F
1
Bütünlük : Var, eğer maliyet > 0Zaman Karmaşıklığı : O(b[C*/ ])Alan Karmaşıklığı : O(b[C*/ ])Optimallik : Var, uzaklığa göre yol maliyeti hiçbir zaman azalmaz
Uniform Cost Search – UCS(Düşük Maliyetli Arama)
38
Uniform-Cost Search Algoritması
• Başlangıç listesin N ‘ yi oluştur (kök düğüm)
• Repeat until (Liste boş ise) veya (ilk düğüm n amaç durum ise):
– Listenin başındaki ilk düğümü sil– Bu düğümü genişlet (çocuk düğümlerini bul) – Döngüye takılmamak için daha önce değerlendirilen
çocuk düğümleri değerlendirilmeye alma– Çocukları Listeye ekle (her defasında azalan yol
maliyetine göre)
• Eğer n Amaç düğüm ise başarı, değilse hata değeri geri döndür
40
Uniform Cost Search’e göre Romanya Ziyareti
AB
Z
O
S F
C
PR
T LM
D
118
75
71 151
140
111 7075
120
80
99
211
97
146 138
101
41
S140 O146 L229
Uniform Cost Search (devam)
A
T118 S140 O146
Z75 T118 S140
O146 R220 L229 F239 O291
R220 L229 F239 O291 S297
AB
Z
OS F
C
PR
T LM
D
118
75
71 151
140
111 7075
120
80
99
211
97
146 138
101
F239 O291 S297 P317 D340 C366 M399
…
L229 F239 O291 S297 P317 D340 C366
42
Depth-First Search – DFS(Derinlik Öncelikli Arama)
– b dallanma faktörü, m maximum derinlik olmak üzere– Bütünlük : Yok, her zaman aramayı sonlandıramaz– Zaman Karmaşıklığı : O(bm) dir.– Alan Karmaşıklığı : O(bm)– Optimallik : Her zaman çözüm bulunamaz.
Seviye 0
Seviye 1
Seviye 2
Seviye 3
55
Derinlik Öncelikli Arama Algoritması
1. Başlangıç düğümlerin bir listesi olan N’yi yerleştir
2. Eğer N boş ise o zaman çık ve başarısızlık mesajı ver
3. N’de ilk düğüm olan 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. Eğer n=max derinlik ise o zaman 2. adıma git
6. Aksi durumda N’nin önüne n’nin coçuklarını ekle ve 2. adıma geri dön
56
Problem : 3-bulmacaBaşlangıç : Şekil 1Durumlar : 4 kare, 3 sayı ve boşAmaç : En kısa çözüm (Şekil 2)
- Arama uzayı, - Derinlemesine arama, - Genişlemesine arama
İşlem : Yukarı, Aşağı, Sağ, Sol, boş alandan yararlanılacak, tekrar eden hareketler göz ardı edilecek
Maliyet : Her hareket 1 birim
2 3
1
1 2
3
Şekil 1: Başlangıç Şekil 2: Amaç
57
Problem: Kırmızı ve mavi jetonların yerini
değiştirmeDurumlar : 2 kırmızı, 2 mavi jeton ve 5 gözlü bir tahta
Başlangıç : Şekil 1
Amaç : Değişimi tamamlamak için gerekli en küçük sayı nedir?
(Şekil 2)
Arama Ağıcı, BFS, DFS
İşlem : Kırmızı sadece sağa, Mavi sadece sola,
Sadece 1 taşıma yapılabilir ,
Taşıma işleminde boşluktan yararlanılır ,
Sadece 1 dolu göz üzerinden atlanabilir
Maliyet : 1 birimM M K KK K M M
Şekil 1: Başlangıç Şekil 2: amaç