Arama ile sorun - PowerPoint PPT Presentation

1 / 54
About This Presentation
Title:

Arama ile sorun

Description:

Title: Solving problems by searching Author: Min-Yen Kan Last modified by: OEM Created Date: 12/17/2003 2:58:58 AM Document presentation format: Ekran G sterisi – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 55
Provided by: MinY235
Category:

less

Transcript and Presenter's Notes

Title: Arama ile sorun


1
Arama ile sorun çözme
  • Ders 3

2
Konular
  • Sorun çözen vekil
  • Sorun türleri
  • Sorunun ifade edilmesi
  • Sorun örnekleri
  • Temel arama algoritmalari

3
Arama Türleri
  • Tüm arama yöntemlerinde baslica düsünce, kismi
    çözüm ardisikliklari kümesini bulmak ve
    genisletmektir
  • Bilgisiz Arama (Körüne arama)
  • Enine arama
  • Derinine arama
  • Özyinelemeli derinine arama
  • Bilgili Arama Stratejileri
  • Daga Tirmanma
  • En iyisini arama
  • Hirsli arama
  • Isin arama
  • Algorithm A

4
Bilgisiz veya KÖRÜNE ARAMA- Blind search
5
Bilgisiz (kör) arama yöntemleri
  • Bilgisiz arama yöntemlerinde yalniz sorunun
    taniminda bulunan bilgiler kullanila bilir
  • Enine arama-Breadth-first search
  • Derinine arama-Depth-first search
  • Sinirli derinine arama-Depth-limited search
  • Özyinilemeli derinine arama-Iterative deepening
    search

6
Kör Arama
  • Kör arama yöntemlerinde çözüme ulasmak için
    hiçbir bilgi verilmez. Aramanin her hangi
    adiminda çözüme ne kadar yakin (veya uzak) olmasi
    hakkinda veya çözümün buluna bilecegi hakkinda
    fikir söylemek mümkün degildir.

7
Yol haritasi

8
Enine arama
  • Enine aramada agaç soldan saga, yukaridan asagiya
    dogru taraniyor. Baska degisle, bir seviyedeki
    tüm dügümler genislendikten (tarandiktan) sonra
    bir sonraki asagi seviyeye geçilir.

9
Enine arama
  • En yüzeyde (en üst seviye) olan genislenmemis
    dügümü genisletmeli
  • FIFO yapisi yeni ardillar sona eklenecek

10
Enine arama
  • En yüzeyde (en üst seviye) olan genislenmemis
    dügümü genisletmeli
  • FIFO yapisi yeni ardillar sona eklenecek

11
Enine arama
  • En yüzeyde (en üst seviye) olan genislenmemis
    dügümü genisletmeli
  • FIFO yapisi yeni ardillar sona eklenecek

12
Enine arama
  • En yüzeyde (en üst seviye) olan genislenmemis
    dügümü genisletmeli
  • FIFO yapisi yeni ardillar sona eklenecek

13
Enine aramanin özellikleri
  • Tam? evet (b sonlu ise)
  • Zaman? 1bb2b3 bd O(bd)
  • Mekan? O(bd) (her bir dügüm bellekte tutuluyor)
  • Optimal? Evet (eger her adim için deger 1 ise)
  • Mekan sorunu çok önemlidir

14
Enine Arama
  • Gen. dügüm
  • S
  • S A B C
  • A B C D E G
  • B C D E G G'
  • C D E G G' G"
  • D E G G' G"
  • E G G' G"
  • G G' G"
  • Çözüm yolu- S A G lt-- Gnin degeri-10
  • Genislenen dügümler sayisi
  • (amaç dügümle birlikte) 7

15
Enine Arama-örnek
s
  • d derinlikli tam arama agaci her bir yaprak
    olmayan dügümün b oglu var
  • Toplam 1 b b2 ... bd

d
  • Örnek 12 derinlikli tam arama agacinda 0,,11
    derinlikte her dügümün 10 oglu var. 12.ci
    derinlikteki dügümlerin ogullari yoktur.
    Böylelikle, agaçta 1 10 100 1000 ...
    1012 (1013 - 1) dügüm var

16
Derine Arama
  • Derine aramada arama agaci yukaridan asagiya en
    sol dügümden baslayarak yaprak dügüme ulasilana
    dek gelistiriliyor.
  • Eger bir yolda çözüm bulunamazsa, arama sonraki
    en sol ve genislenmemis dügümle devam ettirilir.

basari
17
Derinine Arama
  • Derinine aramada arama agaci yukaridan asagiya en
    sol dügümden baslayarak yaprak dügüme ulasilana
    dek gelistiriliyor.
  • Eger bir yolda çözüm bulunamazsa, arama sonraki
    sol ve genislenmemis dügümle devam ettirilir.

basari
18
Derinine arama
  • Derinine arama islemleri ardisikligi

CG SCS SR L A R FA SG
19
Derinine arama
  • En derindeki genislenmemis dügümü genisletmeli
  • LIFO yapisi, yani ardillar öne yazilacak

20
Derinine arama
  • En derindeki genislenmemis dügümü genisletmeli
  • LIFO yapisi ardillar öne yazilacak

21
Derinine arama
  • En derindeki genislenmemis dügümü genisletmeli
  • LIFO yapisi, yani ardillar öne yazilacak

22
Derinine arama
  • En derindeki genislenmemis dügümü genisletmeli
  • LIFO yapisi, yani ardillar öne yazilacak

23
Derinine arama
  • En derindeki genislenmemis dügümü genisletmeli
  • LIFO yapisi, yani ardillar öne yazilacak

24
Derinine arama
  • En derindeki genislenmemis dügümü genisletmeli
  • LIFO yapisi, yani ardillar öne koyulacak

25
Derinine arama
  • En derindeki genislenmemis dügümü genisletmeli
  • LIFO yapisi, yani ardillar öne yazilacak

26
Derinine arama
  • En derindeki genislenmemis dügümü genisletmeli
  • LIFO yapisi, yani ardillar öne yazilacak

27
Derinine arama
  • En derindeki genislenmemis dügümü genisletmeli
  • LIFO yapisi, yani ardillar öne yazilacak

28
Derinine arama
  • En derindeki genislenmemis dügümü genisletmeli
  • LIFO yapisi, yani ardillar öne yazilacak

29
Derinine arama
  • En derindeki genislenmemis dügümü genisletmeli
  • LIFO yapisi, yani ardillar öne yazilacak

30
Derinine arama
  • En derindeki genislenmemis dügümü genisletmeli
  • LIFO yapisi, yani ardillar öne yazilacak

31
derinine arama (daha bir örnek)
Dügümlerin yaninda parantez içinde o dügümün
taranma sirasi gösterilip.
32
Derinine aramanin özellikleri
  • Tam? Degil sonsuz derinlik,döngülü uzaylar ola
    biliyor
  • Tekrarlanan durumlarin önlenmesi için algoritmada
    degisiklik yapiliyor
  • ? sonlu uzayda tamlik
  • Zaman? O(bm) m , dden çok büyük ise zaman
    oldukça büyük olacak m-yol uzunlugu
  • çözümler çok ise, enine aramadan daha hizli ola
    bilir
  • Uzay? O(bm)- dogrusal uzay
  • Optimal? Degil

33
Derinine Arama algoritmasi
  • Gen. dügüm liste
  • S
  • S A B C
  • A D E G B C
  • D E G B C
  • E G B C
  • G B C
  • Çözüm yolu S A G lt-- Gnin degeri 10
  • Genislenen dügümler sayisi (amaç dügümle
    birlikte) 5

S
1
8
5
C
B
A
3
9
7
E
D
G
34
Derinine Arama algoritmasi
  • Algoritmanin esas özellikleri
  • Genislenme için listeden her zaman en derindeki
    dügümü seçmeli ve yeni üretilmis dügümleri
    listeye yazmali
  • liste LIFO yapilidir.
  • Genislenme için seçilmis dügüm amaç ise
    algoritmayi sonlandirmali

goal
  • Sonlu olmaya bilir
  • Tam degil
  • Exponensiyel zaman O(bd)
  • Dogrusal mekan O(bd)
  • sansimiz varsa çözüm çok hizli buluna bilir

35
Sinirli derinine arama
  • derinligi sinirli götürmekle derinine arama

36
Sinirli Derinine Arama
  • Bu arama yönteminde, derinine aramada olasi
    sonsuz (ölü döngü) arama islemini önlemek için
    aramanin belirli bir seviyeye kadar yapilmasi
    düsünülmektedir.
  • Örnegin, Yol haritasinda hiçbir çözüm 11den
    fazla adim gerektirmeyecek. Çünkü, burada yalniz
    12 yerlesim vardir. Bu nedenle biz sinir gibi
    11i kullana bileriz. Döngülerin var oldugunu
    kabul etmiyoruz ve varsayiyoruz ki, sorun sonlu
    derinlik seviyesinde çözüle bilir.

37
Sinirli Derinine arama
  • Eger gereken çözüm L1 derinlikte ise, o hiç
    zaman bulunamayacak. (L-sinir derinligi)
  • Karmasiklik bakimindan yöntem siradan derinine
    aramaya benzer (azami derinligi ifade eden
    derinlik sinirini göz önüne almakla)

Zaman karmasikligi Uzay karmasikligi Tam? Optimal?
O(bl) O(bl) Evet(çözüm ltl derinlikte ise) hayir
38
Sinirli Derinine arama
  • Sinirli derinine arama yönteminde iyi arama
    sinirini bulmak çogu zaman kolay olmuyor.
  • Arama uzayi büyük ve çözüm derinligi belli
    olmayan durumlarda yinelemeli derinine arama
    tercih edilen yöntemdir
  • Basariya ulasana dek derinlik siniri her defa 1
    arttiriliyor

39
Yinelemeli derinine arama
  • Satranç turnuvalarinda oyunlar kesin zaman siniri
    içinde oynaniliyor. Satranç programi da her hamle
    için ne kadar zaman kullanmali oldugu kararini
    vermelidir. Pek çok satranç programlari aramani
    belirlenmis derinlige kadar degil, yinelemeli
    derinine arama ile gerçeklestiriyorlar. 
  • Baska degisle, program önce 2 seviyede, sonra 3 ,
    sonra 4 seviyede arama yapiyor. Bu, arama için
    ayrilan zaman bitene dek devam ediyor.
  • Zaman bittikte program, bulunan hamleler içinden
    en iyisini çözüm gibi kabul ediyor 

40
Yinelemeli derinine arama fonksiyonu
41
Yinelemeli derinine arama l 0
42
Yinelemeli derinine arama l 1
43
Yinelemeli derinine arama l 2
44
Yinelemeli derinine arama l 3
45
Yinelemeli derinine arama
  • Sinirli derinine arama yönteminde üretilen
    dügümler sayisi
  • NDLS b0 b1 b2 bd-2 bd-1 bd
  • Yinelemeli derinine aramada üretilen dügümler
    sayisi
  • NIDS (d1)b0 d b1 (d-1)b2 3bd-2
    2bd-1 1bd
  • Örnek b 10, d 5,
  • NDLS 1 10 100 1,000 10,000 100,000
    111,111
  • NIDS 6 50 400 3,000 20,000 100,000
    123,456
  • Yineleme ve sinirli arama arasindaki fark
    (123,456 - 111,111)/111,111 11

46
Yinelemeli derinine arama yönteminin özellikleri
  • Tam? Evet
  • Zaman? (d1)b0 d b1 (d-1)b2 bd O(bd)
  • Mekan? O(bd)
  • Optimal? Evet,eger adim degeri1

47
Sabit maliyet- Uniform-Cost (UCS)
  • g(n) baslangiç dügümden açik n dügümüne yolun
    degeri
  • Algoritma
  • her zaman en küçük g(.) degerli dügümü seçmeli
    tüm yeni üretilmis dügümleri OPEN listesine
    kaydetmeli
  • OPEN listesindeki dügümleri g(.) nin artmasi
    ardisikligi ile siralamali
  • Açilmak için seçilmis dügüm amaç ise algoritmayi
    sonlandirmali
  • Algoritmalarla bagli kaynaklardaDijkstra
    Algoritmasi , yöneylem arastirmasinda Dal ve
    Sinir Algoritmasi denir

48
Sabit maliyet Aramasi
  • Açilan
  • dügüm dügümler listesi
  • S(0)
  • S A(1) B(5) C(8)
  • A D(4) B(5) C(8) E(8) G(10)
  • D B(5) C(8) E(8) G(10)
  • B C(8) E(8) G(9) G(10)
  • C E(8) G(9) G(10) G(13)
  • E G(9) G(10) G(13)
  • G G(10) G(13)
  • çözüm yolu S B G lt-- Gnin degeri 10 degil,
    9tur
  • Açilan dügüm sayisi (amaç dügümle birlikte)
    7

S
1
8
5
C
B
A
3
9
4
5
7
E
D
G
G
49
Sabit maliyet yönteminin özellikleri
  • Tam (her bir adimin degeri sonsuz degilse)
  • g(n) lt g(amaç) kosulu ile durum uzayinda
    dügümler sayisi n sonludur)
  • n dügümü nin oglu ise g(n) g(n) c(n, n)
    gt g(n)
  • Amaç dügümü nihayette üretilecek ve amaç
    denemesinden geçecek
  • Optimal/Uygun
  • Uygunluk dügüme uygulanan amaç denemesine
    baglidir
  • Çoklu çözüm yollari
  • Açik n dügümünden üretilen her çözüm yolunun
    degeri gt g(n)
  • Genislenme için açilan ve denemeden geçen birinci
    dügümün yol OPEN listesindeki her bir açik
    dügümün degerinden küçük veya esittir
  • Eksponensiyel zaman ve mekan karmasikligi (bd)
    d en küçük degerli çözüm için çözüm yolunun
    derinligidir

50
Tekrarlanan durumlarin aradan kaldirilmasi
  • Durum uzayinin boyutunu küçültmekle arama
    etkisinin yükseltilmesi
  • 1. Bir önce bulundugun duruma geri dönmemeli
  • 2. Döngü yapacak yollar olusturmamali
  • 3. Daha önce olusturulmus olan bir durumu yeniden
    olusturmamali

51
Ikiyönlü arama- Bi-directional search
  • Baslangiç durumdan amaca ve amaç durumundan
    baslangica dogru ayni zamanda arama
  • Yollar kesistikte durmali
  • Tek bir baslangiç ve amaç durumu oldukta ve
    hareketler degistirile bilir oldukta iyidir
  • Çözüme daha hizli ulasmak mümkün ola bilir

52
Arama stratejilerinin karsilastirilmasi
53
Arama Yöntemlerinin özeti
  • Yapay Zekada kullanilan arama teknikleri , bizi
    verilen baslangiç durumdan amaç durumuna
    (durumlarina) dogru yöneten adimlar
    ardisikliginin bulunmasina dayanmaktadir.
  • Enine ve derinine arama algoritmalari sonlu arama
    agacinda tüm dügümlerin bakilmasini gerektire
    bilir.
  • Bu veya diger algoritmanin seçimi çözülecek
    soruna baglidir.
  • Kismi yollarin makul derinlikten sonra ölü sona
    veya basarili sona ulasacagina inaniyorsan ,
    derine arama yöntemini kullanmagin mantiklidir.
  • Yinelemeli Derinine arama küçük bellek alani
    ister (derinine arama gibi) ve en kisa yolu önce
    bular (enine arama gibi)

54
Arama Yöntemlerinin özeti
  • En kisa yolu bulmak istersinizse en iyisi enine
    arama yöntemini kullanmaktir
  • Daha az bellek alani kullanmak gerekiyorsa
    derinine arama kullanmak daha etkilidir
  • Tek_deger aramasi
  • Hareketlerin degerleri farklidir
  • En az degerli çözüm gerekiyor
  • Yalniz tekdeger aramada deger hakkinda
    düsünülüyor
  • Çözümü daha çabuk bulmak gerekiyorsa o zaman daha
    karmasik algoritmalar kullanilmalidir!
  • Çözüm durumlarina götüren pek çok yol varsa
    derinine arama hizlidir, fakat yollar çok
    uzundur.
  • Hedefe götüren yalniz bir kisa yol varsa enine
    arama daha hizlidir. Fakat arama uzayi genis ve
    derindir.
Write a Comment
User Comments (0)
About PowerShow.com