58
YAPAY ZEKA YAPAY ZEKA Yrd. Doç. Dr. Rembiye Kandemir Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü

YAPAY ZEKA

  • 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?

...

3

(x2+3x-2)dx

x2dx 3xdx 2dx

x3/3 3x2/2 2x

Bu tip problemler parçala ve çözümle yöntemiyle çözülür.

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

11

Örnek-1: Dünyayı Temizleme problemini formule etme (Devam)

• Problemin durum uzayı

12

Örnek-2: Romanya’ yı Gezme

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ı

17

Durum Grafiği (Yönlendirilmiş)

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.

28

Genişlik Öncelikli Aramanın Durum Tablosu

29

Breadth-First Search (BFS) (devam)

Optimumsonuç

Derinlik 0

Derinlik 1

2

3amaç

*

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

32

Breadth-First Search (BFS) (devam)

(A)

33

Breadth-First Search (BFS) (devam)

(A) (B,C)

34

Breadth-First Search (BFS) (devam)

(A) (B,C)

(C,D,E)

35

Breadth-First Search (BFS) (devam)

(A) (B,C)

(C,D,E) (D,E,F,G)

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

39

Şekil : Romanya haritası

Bucharest’e kadar olan doğrusal uzaklık

Romanya Ziyareti

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

43

Depth-First Search (DFS) (devam)

Amaç

AmaçDerinlik

d

44

Depth-First Search (DFS) (devam)

45

Depth-First Search (DFS) (devam)

46

Depth-First Search (DFS) (devam)

47

Depth-First Search (DFS) (devam)

48

Depth-First Search (DFS) (devam)

49

Depth-First Search (DFS) (devam)

50

Depth-First Search (DFS) (devam)

51

Depth-First Search (DFS) (devam)

52

Depth-First Search (DFS) (devam)

53

Depth-First Search (DFS) (devam)

54

Depth-First Search (DFS) (devam)

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ç

58

Problem : S şehrinden G şehrine ulaşmayı Bilgisiz Arama yöntemleri ile çözme (BFS, UC, DFS)

Başlangıç : S şehriAmaç : G şehriOperatör : Şehirler arası mesafe

G