bilgili arama yöntemleri

35
Bilgili arama Yöntemleri

Upload: shae

Post on 06-Jan-2016

240 views

Category:

Documents


6 download

DESCRIPTION

Bilgili arama Yöntemleri. Sezgisel Arama Yöntemleri. Kör arama yöntemleri basittir, fakat çoğu zaman pratik değildir. Kör arama yöntemleri bilgisiz yöntemlerdir. Yani, bu yöntemlerle arama, durum uzayı hakkında bilgi olmadan gerçekleştirilir. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Bilgili arama Yöntemleri

Bilgili arama Yöntemleri

Page 2: Bilgili arama Yöntemleri

Sezgisel Arama Yöntemleri• Kör arama yöntemleri basittir, fakat çoğu zaman pratik

değildir.

• Kör arama yöntemleri bilgisiz yöntemlerdir. Yani, bu yöntemlerle arama, durum uzayı hakkında bilgi olmadan gerçekleştirilir.

• Sezgisel arama yöntemleri , önce en umut verici yolu incelemekle aramanın etkisini yükseltiyor

Page 3: Bilgili arama Yöntemleri

Konular

Sezgisel arama– En iyisini arama-Best-first search (istekli en iyisini

arama-Greedy best-first search)

– A* arama

• Yerel arama algoritmaları-Local search– Dağa Tırmanma-Hill-climbing search– Yerel ışın arama-Local beam search

• Genetik algoritmalar-Genetic algorithms

Page 4: Bilgili arama Yöntemleri

Değerlendirme fonksiyonu

Sezgisel aramayı kullanmak için bize değerlendirme fonksiyonu (evaluation function) gerekmektedir. Değerlendirme fonksiyonu , hedef/amaç durumuna yakınlığı değerlendirmek için arama ağacında düğümleri inceler

• Sezgisellik bir tahmindir, fakat aramayı gerçekleştirmek için yararlı yoldur.

• Temel düşünce…– Tüm mümkün arama yollarını denemek yerine , seni

hedefe/amaca yaklaştırdığını düşündüğün yolları deneyeceksin.

Page 5: Bilgili arama Yöntemleri

Sezgisel Arama• Örneğin, arama uzayında kentler arasındaki kuş

uçuşu mesafeleri sezgisel değerlendirme için kullanıla bilir. Üstünlük verilen yollar SG’ye daha yakın olan yollardır.

SG

34

7

6

6

11

7

68 11

8

EL

CS

A

R

FA

SR

S

SC

W

CG

SG’ye kuş uçuşu yolların uzunlukları

Yönbulma (durum uzayı) CG

SC

S

SR

WCSLAR

ESG

FA7

2

1

3 47

4

23

33

3

4

Page 6: Bilgili arama Yöntemleri

Sezgisel Arama Algoritması

• Sezgisel değerlendirme fonksiyonu, yeni yolların arama kuyruğuna eklenmeden önce incelenmesini sağlar

Sıfır uzunluklu,yalnız başlangıç durumu içeren elementten oluşan kuyruğu oluşturmalı (ağacın kökü)

Kuyruktaki birinci yol amaç durumda sonlanana dek veya kuyruk boş olana dek aşağıdaki işlemleri yapmalı:

Birinci yolu, uç durumun tüm ardıllarına dek genişletmekle yeni yollar oluşturmalı

Döngülü tüm yeni yolları elemeli

* Yeni yolları değerlendirme fonksiyonuna göre sıralamalı

* Yeni yolları kuyruğa eklemeli

Eğer amaç durum bulunmuşsa arama başarılıdır, eksi halde arama başarısız sonuçlanmıştır

HeuristicSearch (initial, goal, queuing-fn, eval-fn)

Page 7: Bilgili arama Yöntemleri

En İyisini arama algoritmaları

Bazı hallerde amaca doğru her hangi bir yolun bulunması yeterli olsa da, bazı zamanlarda en iyi yolun bulunması gereke bilir.

En hızlı, en düşük maliyetle ve en kolay yolla amaca ulaşılması için optimal arama yapılmalıdır.

Page 8: Bilgili arama Yöntemleri

En iyisini arama algoritmaları• Mantıklı bir zaman diliminde en iyi çözümün

bulunması yöntemleri:– En iyisini arama– A*

• Sezgisel tahminler(değerlendirmeler) kullanılıyor, fakat bu tahminler yakın çözüme doğru değil, genel çözüme doğru yönelmiştir

Page 9: Bilgili arama Yöntemleri

En iyisini arama-Best-first search

• Temel düşünce: değerlendirme fonksiyonu f(n) kullanmakla her bir düğüm için– “-”arzuedilirliğin” (desirability) tahmin edilmesiEn çok arzuedilen düğümü genişletmeli

Düğümleri “arzuedilirlik”lerinin azalma sırası ile sıralamalı

Page 10: Bilgili arama Yöntemleri

En iyisini arama

Ankara ile diğer kentler arasındaki kuş uçuşu mesafeleri

Page 11: Bilgili arama Yöntemleri

En iyisini arama

H=600

Page 12: Bilgili arama Yöntemleri

En iyisini arama

Page 13: Bilgili arama Yöntemleri

En iyisini (istekli) arama

• Değerlendirme fonksiyonu f(n) = h(n)

• h(n)- n düğümünden amaca dek tahmin edilen maliyet (sezgisellik fonksiyonu)

Örn., h(n) = n’den Ankara’ya dek kuş uçuşu mesafesi

• Algoritma ,amaca en yakın saydığı düğüme doğru genişlenme yapıyor

Page 14: Bilgili arama Yöntemleri

En iyisini arama algoritmasının özellikleri

• Tam? Değil – kör döngüler ola biliyor

• Zaman? O(bm), iyi sezgisel algoritma işlem zamanının küçülmesine neden ola biliyor

• Uzay? O(bm) – tüm düğümler bellekte tutuluyor

• Optimal? Değil

Page 15: Bilgili arama Yöntemleri

A* arama

• Temel düşünce: yüksek maliyetli yollara doğru genişlenme yapmamalı

• n- aramadaki her hangi durumdur• g(n)- başlangıç durumdan n durumuna dek gedilmiş yolun maliyetidir• h(n) –n durumundan amaç durumuna dek gereken maliyetin sezgisel

tahminidir• h(n) – n durumundan amaç durumuna dek en kısa yolun maliyetine

eşit veya ondan küçüktür

• Değerlendirme fonksiyonu f(n) = g(n) + h(n)

• Toplam Değer(Çözüm)= Yol Değeri(gidilen) + Tahmin Değer(Kalan)

Page 16: Bilgili arama Yöntemleri

8 taş bulmacası örneği

Page 17: Bilgili arama Yöntemleri

8 taş bulmacası (devamı)

Page 18: Bilgili arama Yöntemleri

h(a)=3

f(a)=3

Page 19: Bilgili arama Yöntemleri

A* arama-örnek

Sol değer (600) – sezgisellik fonksiyonunun değeriSağ 1. değer (0)- başlangıç durumdan o anki duruma dek harcanan çabaSağ 2.değer (600)- o anki durumdan amaç durumuna dek tahmin edilen çaba

Page 20: Bilgili arama Yöntemleri

A* arama-örnek

Toplam sayı – sezgisellik fonksiyonunun değeriSağ 1. sayı - başlangıç durumdan o anki duruma dek harcanan çabaSağ 2.sayı - o anki durumdan amaç durumuna dek tahmin edilen çaba

Page 21: Bilgili arama Yöntemleri

A* arama-örnek

Toplam sayı – sezgisellik fonksiyonunun değeriSağ 1. sayı - başlangıç durumdan o anki duruma dek harcanan çabaSağ 2.sayı - o anki durumdan amaç durumuna dek tahmin edilen çaba

Page 22: Bilgili arama Yöntemleri

A* arama-örnek

Toplam değer – sezgisellik fonksiyonunun değeriSağ 1. sayı - başlangıç durumdan o anki duruma dek harcanan çabaSağ 2.sayı - o anki durumdan amaç durumuna dek tahmin edilen çaba

Page 23: Bilgili arama Yöntemleri

Yerel arama algoritmaları

• Pek çok optimallaştırma sorunlarında amaca götüren yolun hiçbir önemi olmaya bilir; amaç durumun kendisi çözümdür

• Bu durumlarda, yerel arama algoritmalarını kullana biliriz

• Yalnız “şimdiki" durumu tutmalı ve onu iyileştirmeye çalışmalı

Page 24: Bilgili arama Yöntemleri

Dağa Tırmanma(Hill-Climbing)• “dağa tırmanma”

yönteminin ana fikrinde böyle bir varsayım dayanmaktadır: – ormancı gece dağda

yolunu kaybetmiştir. Onun evi dağın zirvesindedir.

– Karanlık olsa da ormancı , her adımının onu amacına yakınlaştırdığını bilmektedir

– Dağa tırmanma yönteminde aramanın yönü her zaman amaca daha yakın düğüme doğrudur.

Page 25: Bilgili arama Yöntemleri

Dağa tırmanma algoritması

Page 26: Bilgili arama Yöntemleri

Dağa tırmanma• Sorun: arama başlangıç duruma bağlıdır; yerel

maksimumda takılıp kala biliyor

Page 27: Bilgili arama Yöntemleri

Dağa Tırmanma• Sezgisel değerlendirme, derinine arama

yöntemini dağa tırmanma yöntemine dönüştürür – son durum ve amaç durum yolları arasındaki

“mesafeyi” ölçmek için değerlendirme fonksiyonu her bir yeni yola uygulanıyor

Zaman karmaşıklığı

Uzay karmaşıklığı

tam? Optimal?

O(bd) O(bd) değil değil

Page 28: Bilgili arama Yöntemleri

Dağa Tırmanma

Arama uzayında döngüler varsa dağa tırmanma yöntemi kullanılamaz

Mevcut durumdan daha iyi ardıl (komşu) durumlar olmadıkta arama dayandırılıyor . Bu, arama uzayında yerel maksimum bulunması sorununu doğuruyor. Başka değişle, etrafındaki durumlardan daha iyi olan durum, çözüm olmaya bilir.

Dağa tırmanma yöntemi, çözümün tahmin edilen değerini doğru hesaplayan değerlendirme fonksiyonu verilmiş sorunlar için uygulanmaktadır.

Önemli noktalar

Page 29: Bilgili arama Yöntemleri

Dağa Tırmanma

S

A B

C D

E F

G

10.4 8.9

10.4 6.9

6.7

3.0

Dağa tırmanma sezgisel değerlendirmeli derine arama yöntemidir. Düğümler genişlendikçe seçenek sunuyor.

Şekilde düğümlerin yanındaki sayılar son ( o anki) düğümlerden amaca kadar olan düz yolun uzunluğunu gösteriyor.

Page 30: Bilgili arama Yöntemleri

Dağa tırmanma – 8 vezir sorunu

• h = doğrudan veya dolaylı olarak biri-birine hamle eden vezir çiftleri sayısı

• örnekte h = 17

h = doğrudan veya dolaylı olarak biri-birine hamle eden vezir çiftleri sayısı örnekte h = 17

Yerel minimum: h = 1

Page 31: Bilgili arama Yöntemleri

Işın arama

• Enine aramaya benzer. Fakat her seviyede genişlenen düğümler sayısına kısıtlama getirmekle zaman karmaşıklığı azaltılıyor.

• Enine genişlenme sınırı w (b >> w) belirlenir

• Bir sonraki genişlenmeler için en iyi w düğüm seçiliyor

Page 32: Bilgili arama Yöntemleri

Işın (Beam) Arama

• Arama seviye-seviye gerçekleştiriliyor. Fakat her seviyede en iyi w (enine genişlenme sınırı) sayıda düğüm genişlene bilir

• Örnekte w=2.

S

A B

E F

J K

G

10.4 8.9

10.4 6.9

6.7

3.0

C D

H I

L M

8.96.7

7.98.0

3.9 2.5 0

Page 33: Bilgili arama Yöntemleri

Genetik algoritmalar

• Ardıl durum iki baba durumu birleştirmekle üretiliyor• Rasgele üretilmiş k sayıda durumla (popülasyon)

başlamalı• Durum, sınırlı alfabe ile (genelde 0 ve 1) oluşturulmuş

satırla ifade edilir• Değerlendirme fonksiyonu (uygunluk fonksiyonu). Daha

iyi durumlar için daha yüksek değerler.• Durumların bir sonraki nesilleri seçme, çaprazlama ve

değişinim kullanmakla üretiliyor

••••

Page 34: Bilgili arama Yöntemleri

Genetik algoritmalar-örnek

• Uygunluk fonksiyonu: biri birine hamle etmeyen vezir çiftleri sayısı

• (min = 0, max = (8 × 7)/2 = 28)

Page 35: Bilgili arama Yöntemleri

Arama sorunu ile ilgili demolar

• http://www.dcs.bbk.ac.uk/~dell/teaching/aiwa/

• Bu sitede «yapay zeka»nın diğer konularını da kapsayan materyaller yeralıyor