Sezgisel-Bilgili Arama (Heuristic-Informed Search)

Benzer belgeler
BLM-431 YAPAY ZEKA. Ders-5 Bilgili Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

YZM 3217 YAPAY ZEKA DERS#5: BİLGİLİ ARAMA YÖNTEMLERİ

YZM YAPAY ZEKA DERS#4: BİLGİSİZ ARAMA YÖNTEMLERİ

Arama Algoritmaları ile Gerçek Dünya Örnekleri

BLM-431 YAPAY ZEKA. Ders-4 Bilgisiz Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

BLM-431 YAPAY ZEKA. Ders-3 Durum Uzayında Arama. Yrd. Doç. Dr. Ümit ATİLA

Algoritmalar. Çizge Algoritmaları. Bahar 2017 Doç. Dr. Suat Özdemir 1

YZM 3217 YAPAY ZEKA DERS#3: PROBLEM ÇÖZME VE ARAMA

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#9: AÇGÖZLÜ ALGORİTMALAR

Örnek Arasınav Soruları Güz 2017

GRAPH LAR Düzce Üniversitesi Teknoloji Fakültesi VERİ YAPILARI. Bilgisayar Mühendisliği ÖĞR.GÖR.GÜNAY TEMÜR 1

Algoritma Geliştirme ve Veri Yapıları 10 Graf Veri Modeli. Mustafa Kemal Üniversitesi

VERİ YAPILARI. GRAPH LAR Düzce Üniversitesi Teknoloji Fakültesi ÖĞR.GÖR.GÜNAY TEMÜR 1

10.Hafta Minimum kapsayan ağaçlar Minimum spanning trees (MST)

Graflar bilgi parçaları arasındaki ilişkileri gösterirler.

Çizgeler (Graphs) Doç. Dr. Aybars UĞUR

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ

MAT223 AYRIK MATEMATİK

MAT223 AYRIK MATEMATİK

GENETİK ALGORİTMALAR BÜŞRA GÜRACAR

EM302 Yöneylem Araştırması 2. Dr. Özgür Kabak

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok

YZM 3217 YAPAY ZEKA DERS#3: PROBLEM ÇÖZME VE ARAMA

GEZGİN SATICI PROBLEMİ. Feasible Çözümler? Optimal Çözüm?

Zeki Optimizasyon Teknikleri

YZM 2116 Veri Yapıları

İçerik: Graflar. Tanım. Gösterim. Dolaşma Algoritmaları. Yönlü ve yönsüz graflar Ağırlıklı graflar. Komşuluk Matrisi Komşuluk Listesi

Azalt ve Fethet Algoritmaları

İZMİR İN GEZGİN SATICISI

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

METASEZGİSEL YÖNTEMLER

BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

11.Hafta En kısa yollar I-II-III Devam. Negatif Ağırlıklı En Kısa Yollar Doğruluk Çözümleme

YAPAY ZEKA KISIM - II Y. Doç. Dr. Aybars UĞUR (517 Yapay Zeka Dersi) 1

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

YZM YAPAY ZEKA DERS#6: REKABET ORTAMINDA ARAMA

Akıllı Satranç Uygulaması HAZIRLAYAN: BERKAY ATAMAN DANIŞMAN: DOÇ. DR. FEZA BUZLUCA

TOPSIS yönteminin adımları 5 Adım 1. Normalize karar matrisinin oluşturulması 6 Karar matrisinin normalizasyonu aşağıdaki formül kullanılarak yapılır:

9.Hafta Veri sıkıştırma ve Aç gözlü algoritmalar

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ

KARINCA KOLONİ ALGORİTMASI BMÜ-579 Meta Sezgisel Yöntemler. Yrd. Doç. Dr. İlhan AYDIN Fırat Üniversitesi, Bilgisayar Mühendisliği Bölümü

BMT 206 Ayrık Matematik. Yük. Müh. Köksal GÜNDOĞDU 1

Fonksiyon Minimizasyonunda Simulated Annealing Yöntemi

Genel Graf Üzerinde Mutlak 1-merkez

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

ÖZET...V ABSTRACT...VII TEŞEKKÜR... IX ŞEKİLLER DİZİNİ... XIV SÖZLÜK... XIX

Graf Veri Modeli. Düğümler kümesi. Kenarlar kümesi

Zeki Optimizasyon Teknikleri

Yapay Zeka. BM437, Bahar Öğretim Üyesi: Yrd. Doç. Dr. Mehmet ŞİMŞEK

İLERİ ALGORİTMA ANALİZİ TABU ARAMA ALGORİTMASI (TABU SEARCH)

KOMBİNATORYAL OPTİMİZASYON

GENETİK ALGORİTMA ÖZNUR CENGİZ HİLAL KOCA

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

ALP OĞUZ ANADOLU LİSESİ EĞİTİM ÖĞRETİM YILI BİLGİSAYAR BİLİMİ DERSİ 2.DÖNEM 2.SINAV ÖNCESİ ÇALIŞMA SORULARI VE YANITLARI

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Algoritmalara Giriş Ekim 17, 2005 Massachusetts Institute of Technology Profesörler Erik D. Demaine ve Charles E. Leiserson Dağıtım 15.

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1

f(x) ve g(x) reel sayılarda tanımlı iki fonksiyon olmak üzere, x > k olacak şekilde bir k vardır öyle ki,

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

YÖNEYLEM ARAŞTIRMASI - I

Algoritmalara Giriş 6.046J/18.401J

Ağaç (Tree) Veri Modeli


YAPAY ZEKA Mesleki Terminoloji II

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Algoritmalar ve Karmaşıklık

LABİRENTTEN ÇIKIŞ YOLUNU BULAN ROBOT

Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması

NAVİGASYON KULLANIM KILAVUZU.

Algoritmaların Karşılaştırılması. Doç. Dr. Aybars UĞUR

YZM 2116 Veri Yapıları

F(A, N, K) // A dizi; N, K integer if N<0 then return K; if A[N]>K then K = A[N]; return F(A, N-1, K);

Makine Öğrenmesi 2. hafta

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BIP116-H14-1 BTP104-H014-1

YÖNEYLEM ARAŞTIRMASI - II

BMB204. Veri Yapıları Ders 11. Çizgeler (Graph) Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

DOSYA ORGANİZASYONU. Çarpışma çözümleme yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

MATLAB PARALEL HESAPLAMA ARACI İLE A* ALGORİTMASININ ROTA PLANLAMA İÇİN ANALİZİ

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1

Doku ve Hastalıklara Özgü Büyük Ölçekli Biyolojik Ağları Oluşturul ası ve Analizi

YZM 2116 Veri Yapıları

Algoritmalara Giriş 6.046J/18.401J

Gezgin Satıcı Probleminin Karınca Kolonisi ve Genetik Algoritmalarla Eniyilemesi ve Karşılaştırılması

PARÇACIK SÜRÜ OPTİMİZASYONU BMÜ-579 METASEZGİSEL YÖNTEMLER YRD. DOÇ. DR. İLHAN AYDIN

TAMSAYILI PROGRAMLAMA

Yapay Zekada Problem Çözme

YZM 2116 Veri Yapıları

Eğitim seti (training set) sınıflandırma modelinin elde edileceği kayıtları içerir

Fonksiyon Optimizasyonunda Genetik Algoritmalar

SAYISAL ÇÖZÜMLEME. Yrd.Doç.Dr.Esra Tunç Görmüş. 1.Hafta

Algoritma Analizi. Özelliklerinin analizi Algoritmanın çalışma zamanı Hafızada kapladığı alan

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI

Web Madenciliği (Web Mining)

HF TELSİZ AĞLARDA DSR TABANLI ROTALAMA UYGULAMASI

GPS NAVIGATION SYSTEM QUICK START USER MANUAL

Algoritma Geliştirme ve Veri Yapıları 1 Temel Algoritma Kavramları. Mustafa Kemal Üniversitesi

Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım. Mehmet Ali Aytekin Tahir Emre Kalaycı

Transkript:

Sezgisel-Bilgili rama (Heuristic-Informed Search) 1

Sezgisel-Bilgili rama (Heuristic-Informed Search) 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 aramanın etkisini yükseltir. incelemekle 2

SZGİSL YKLŞIM (Heuristic pproach) Sezgisellik, gerçeğin deneye veya akla vurmadan, doğrudan doğruya kavranmasıdır. 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 kural, strateji, hile, sadeleştirme ve diğer etmenler kullanımıdır. 3

SZGİSL YKLŞIM (Heuristic pproach) Sezgisellik, problem karmaşıklık içerdiğinde, çözüm için yolun bulunmasındaki yardımcı anahtardır. İyi seçilmiş anahtarla tek bir kapıyı açıp amaca ulaşmak mümkün olduğu gibi, kötü seçilmiş anahtarlarla bu yolu zora sokmak da mümkündür. 4

SZGİSL YKLŞIM (Heuristic pproach) Yuri Gagarin, 1961 de uzaya giden ilk insan olduktan sonra İngiltere Kraliçesi lizabeth II tarafından kabul edilmiştir. Yemek sırasında masaya 5 çatal, 5 kaşık ve 5 bıçak getirilmiştir. Bir köylü çocuğu olan kozmonot rastgele aldığı çatal ve bıçaklarla yemeye başlamış ve sonunda ilginç bir durumla karşılaşmıştır. Yemek sonunda çay karıştırmak için kaşıklardan en büyüğü kalmıştır. Menü önceden bilinseydi, olay algoritmik özellik taşıyacaktı. Öte yandan yemek süresinin sınırlı olması deneme yapmaya imkan vermemektedir. Fakat tekrar benzeri durumla karşılaşıldığında tecrübeye göre en iyi yaklaşım yapılmaktadır. Yine de kötü bir tahmin rol oynayabilir. 5

SZGİSL PROBLM ÇÖZÜMLM (Heuristic Problem Solution) Sezgisel algoritmalar sonucun doğruluğunun kanıtlanabilir olup olmadığını önemsememektedir fakat genelde iyiye yakın çözüm yolları elde eder. Sezgisel algoritmalar en iyi sonucu bulacaklarını garanti etmezler fakat en iyi çözümü aramaktan vazgeçerek makul bir süre içerisinde bir çözüm elde edeceklerini garanti ederler. Genellikle en iyiye yakın olan çözüm yoluna hızlı ve kolay bir şekilde ulaşırlar. 6

SZGİSL PROBLM ÇÖZÜMLM (Heuristic Problem Solution) Sezgisel lgoritmaların kullanım yerleri : Rota bulma Network paketlerinin yönlendirilmesi sırasında izleyeceği en uygun yolun belirlenmesi Oyunlarda karakterin hedefe doğru izleyeceği yolların tespiti Gezgin satıcı probleminin çözümü Labirentten en kısa çıkışı bulma n kısa yolu bulma işlemi, düğüm ve kenar sayısına bağlı olarak çok fazla zaman alabilir. Bu sebeple, en kısa yolu bulduğundan emin olunan algoritmalar değil de, sezgisel algoritmalar daha çok kullanılır. Sezgisel algoritmalar ile hesaplanan yol gerçekte en kısa ve optimum yol olmayabilir ama bulunan yolun hesaplaması diğer algoritmalara göre çok daha kısa sürer. 7

SZGİSL PROBLM ÇÖZÜMLM (Heuristic Problem Solution) Sezgisellik bir tahmindir, fakat aramayı gerçekleştirmek için yararlı bir yoldur. Temel düşünce Tüm mümkün arama yollarını denemek yerine, hedefe/amaca yaklaştırdığı düşünülen yolların denenmesi. 8

SZGİSL PROBLM ÇÖZÜMLM (Heuristic Problem Solution) Örneğin, arama uzayında kentler arasındaki kuş uçuşu mesafeleri sezgisel değerlendirme için kullanılabilir. Üstünlük verilen yollar SG ye daha yakın olan yollardır. SG ye kuş uçuşu yolların uzunlukları F CS R 7 6 L 6 4 SG 3 11 7 6 SR S 8 1 1 8 SC W CG 9

Sezgisel rama Stratejileri (Heuristic-Informed Search Strategies) n İyi Öncelikli rama lgoritması (Best-First Search BFS) ç gözlü rama lgoritması (Gready Search- GBFS) Yıldız rama lgoritması(* Search) Tepe Tırmanma rama lgoritması (Hill Climbing Search - HCS) 10

n İyi Öncelikli rama lgoritması (Best-First Search) 1. Her durum-düğüm için, o durumun-düğümün istenebilirliğini (desirability) tarif edecek bir tahmin fonksiyonu f(n) kullanılır. Bu fonksiyon hedef/amaç durumuna arama ağacında düğümleri inceler. yakınlığı değerlendirmek için 1. n çok istenen-arzu edilen düğüm genişletilir. 2. Düğümler istenebilirlikleri azalacak şekilde sıralanır. 11

n İyi Öncelikli rama lgoritması (Best-First Search) Bazı hallerde amaca doğru her hangi bir yolun bulunması yeterli olsa da, bazı zamanlarda en iyi yolun bulunması gerekebilir. n hızlı, en düşük maliyetle ve en kolay yolla amaca ulaşılması için optimal arama yapılmalıdır. Mantıklı bir zaman diliminde en iyi çözümün bulunması yöntemleri: ç gözlü rama (Greedy Search- GBFS) Yıldız rama (* Search) 12

ç Gözlü rama (Greedy Search) Değerlendirme fonksiyonu, f(n) = h(n) f(n): n. düğümden hedef düğüme kadar hesaplanmış sezgisel fonksiyon. h(n) : sezgisel tahmin n. düğümden hedef düğüme kadar. Örn., h(n) = İki şehir arası kuş uçuşu mesafesi, gerçek yol maliyetinin tahmin edilmesinde bir sezgisel (heuristic) bilgi olarak kullanılabilir. lgoritma, amaca en yakın olduğu tahmin edilen/düşünülen düğüme doğru genişleme yapar. Varsayım : h(n) = 0 ise n hedef düğümdür. 13

ç Gözlü rama (Greedy Search) Bütünlük : Yok. (Bir döngüye saplanıp kalabilir. Tekrarlı bir alanda sınırlı arama yapar.) Zaman Karmaşıklığı : O(b m ), iyi bir sezgisel ile yeterli ölçüde gelişme sağlanabilir lan Karmaşıklığı : O(b m ) (Bütün düğümleri bellekte tutar.) Optimallik : Yok 14

ç Gözlü rama (Greedy Search) lgoritma öncelikle düğümlerden ve ağırlıklı kenarlardan oluşan bir graf oluşturur ve bu grafdaki kenarları ağırlıklarına göre sıralar. Daha sonra algoritma hedefe kuş uçuşu en kısa kenarı seçerek işlemeye devam eder; bu sırada da döngülerin oluşmasını önler. Greedy algoritması makul zamanda çözüm üretmektedir ancak her zaman iyi sonuçlar verememektedir. 15

ç Gözlü rama (Greedy Search) Örnek S başlangıç, G hedef durumdur. 16

ç Gözlü rama (Greedy Search) Örnek S başlangıç, G hedef durumdur. 17

ç Gözlü rama (Greedy Search) Örnek-1 118 Start 75 State Heuristic: h(n) 366 111 D C 80 140 99 B B 374 C 329 D 244 97 G F 253 F 178 G 193 H 211 H 98 101 I Goal I 0 f(n) = h (n) = sezgisel kuş uçuşu mesafesi 18

ç Gözlü rama (Greedy Search) Örnek-1 118 Start 75 State Heuristic: h(n) 366 111 D C 80 140 99 B B 374 C 329 D 244 97 G F 253 F 178 G 193 H 211 H 98 101 I Goal I 0 f(n) = h (n) = sezgisel kuş uçuşu mesafesi 19

ç Gözlü rama (Greedy Search) Örnek-1 118 Start 75 State Heuristic: h(n) 366 111 D C 80 140 99 B B 374 C 329 D 244 97 G F 253 F 178 G 193 H 211 H 98 101 I Goal I 0 f(n) = h (n) = sezgisel kuş uçuşu mesafesi 20

ç Gözlü rama (Greedy Search) Örnek-1 118 Start 75 State Heuristic: h(n) 366 111 D C 80 140 99 B B 374 C 329 D 244 97 G F 253 F 178 G 193 H 211 H 98 101 I Goal I 0 f(n) = h (n) = sezgisel kuş uçuşu mesafesi 21

ç Gözlü rama (Greedy Search) Örnek-1 118 Start 75 State Heuristic: h(n) 366 111 D C 80 140 99 B B 374 C 329 D 244 97 G F 253 F 178 G 193 H 211 H 98 101 I Goal I 0 f(n) = h (n) = sezgisel kuş uçuşu mesafesi 22

ç Gözlü rama (Greedy Search) Örnek-1 118 Start 75 State Heuristic: h(n) 366 111 D C 80 140 99 B B 374 C 329 D 244 97 G F 253 F 178 G 193 H 211 H 98 101 I Goal I 0 f(n) = h (n) = sezgisel kuş uçuşu mesafesi 23

ç Gözlü rama (Greedy Search) Örnek-1 118 Start 75 State Heuristic: h(n) 366 111 D C 80 140 99 B B 374 C 329 D 244 97 G F 253 F 178 G 193 H 211 H 98 101 I Goal I 0 f(n) = h (n) = sezgisel kuş uçuşu mesafesi 24

ç Gözlü rama (Greedy Search) Örnek-1 118 Start 75 State Heuristic: h(n) 366 111 D C 80 140 99 B B 374 C 329 D 244 97 G F 253 F 178 G 193 H 211 H 98 101 I Goal I 0 f(n) = h (n) = sezgisel kuş uçuşu mesafesi 25

ç Gözlü rama (Greedy Search) Örnek-1 118 Start 75 State Heuristic: h(n) 366 111 D C 80 140 99 B B 374 C 329 D 244 97 G F 253 F 178 G 193 H 211 H 98 101 I Goal I 0 f(n) = h (n) = sezgisel kuş uçuşu mesafesi 26

ç Gözlü rama (Greedy Search) Örnek-1 118 Start 75 State Heuristic: h(n) 366 111 D C 80 140 99 B B 374 C 329 D 244 97 G F 253 F 178 G 193 H 211 H 98 101 I Goal I 0 f(n) = h (n) = sezgisel kuş uçuşu mesafesi 27

ç Gözlü rama (Greedy Search) Örnek-1 Start 28

ç Gözlü rama (Greedy Search) Örnek-1 118 Start 75 [329 C 140 [374 B [253 29

ç Gözlü rama (Greedy Search) Örnek-1 118 Start 75 [329 C 140 [374 B 80 [253 99 [193 G F [178 30

ç Gözlü rama (Greedy Search) Örnek-1 118 Start 75 [329 C 140 [374 B 80 [253 99 [193 G F [178 211 I [0 Goal 31

ç Gözlü rama (Greedy Search) Örnek-1 [329 C 118 Start 75 140 [374 B 80 [253 99 [193 G F [178 211 Yol maliyeti (Path cost) (--F-I) = 253 + 178 + 0 = 431 I [0 Mesafe (Distance) Goal (--F-I) = 140 + 99 + 211 = 450 32

Örnek-1 Optimum Çözüm Start C 111 D 118 80 75 140 99 B State Heuristic: h(n) 366 B 374 C 329 D 244 Yol maliyeti (Path cost) (--G-H-I) = 253+193 +98+0 = 544 Mesafe (Distance) G 97 H 101 I F 211 Goal 253 F 178 G 193 H 98 I 0 f(n) = h (n) = sezgisel kuş uçuşu mesafesi (--G-H-I) = 140+80+97+101 = 418 33

ç Gözlü rama (Greedy Search) Romanya Haritası, maç: rad dan Bükreş e gitmek 34

ç Gözlü rama (Greedy Search) Romanya Haritası, maç: rad dan Bükreş e gitmek 35

ç Gözlü rama (Greedy Search) Romanya Haritası, maç: rad dan Bükreş e gitmek 36

ç Gözlü rama (Greedy Search) Romanya Haritası, maç: rad dan Bükreş e gitmek 37

ç Gözlü rama (Greedy Search) Romanya Haritası, maç: rad dan Bükreş e gitmek 38

ç Gözlü rama (Greedy Search) Romanya Haritası, maç: rad dan Bükreş e gitmek Optimum Çözüm Mesafe (Distance) (rad - Sibiu - Rimnicu Vilcea Pitesti - Bucharest) = 140+80+97+101 = 418 ç Gözlü rama (Greedy Search) Çözümü Mesafe (Distance) (rad - Sibiu - Fagaras - Bucharest) = 140+99+211 = 450 39

Yıldız rama lgoritması (* Search lgorithm) ğırlıklı olarak "nesnelerin hedefledikleri noktaya olan en kısa yollarını bulması" amacıyla kullanılmaktadır. Örneğin seyyar tüccar problemi (travelling salesman problem) gibi bir problemin çözümünde kullanılabilir. Benzer şekilde oyun programlamada, oyunda bulunan oyuncuların en kısa yolu bularak hedefe gitmeleri için de sıklıkla kullanılan algoritmadır. Kısaca bir düğümden hedef bir düğüme en kısa hangi düğümler üzerinden gidileceğini bulmaya yarayan bir algoritmadır. 40

Yıldız rama lgoritması (* Search lgorithm) Başlangıç düğümünden n. düğüme kadar olan yolu g(n) ile n. düğümden ise hedef düğümüne olan yol değeri h(n) ile ifade edilirse bu algoritma için aşağıdaki bağıntı elde edilir. f(n) = g(n) + h(n) f(n) : n. düğümden hedef düğüme kadar hesaplama yapan sezgisel (heuristic) fonksiyon. g(n) : Başlangıç düğümünden mevcut düğüme kadar olan gerçek mesafe. h(n) : Mevcut düğümden hedef düğüme varmak için tahmin edilen mesafe (sezgisel mesafe). f(n) fonksiyonunun sezgisel olma sebebi, bu fonksiyon içerisinde bulunan ve tahmine dayalı olan h(n) sezgisel fonksiyonudur. 41

Yıldız rama lgoritması (* Search lgorithm) Maliyeti fazla olan yolların genişletilmesini engeller, sadece en faydalı olabilecek yolları genişletir. Veri yapısı olarak bir öncelik sırası (priority queue) kullanan algoritmada, en öncelikli olan düğüm f(n) değeri en düşük olan düğümdür. 42

Yıldız rama lgoritması (* Search lgorithm) Tamlık-Bütünlük (Completeness):Tam bir algoritmadır. Sonuçta, çözüm varsa bulunur. Zaman Karmaşıklığı (Time Complexity): çok büyük graflar için kötüdür. üstel b d lan Karmaşıklığı (Space Complexity): çok büyük graflar için kötüdür. üstel b d niyileme (Optimality): vet Zaman ve alan karmaşıklıkları kötü olsa da iyi bir sezgi ile, düzelecektir. 43

Yıldız rama lgoritması (* Search lgorithm) lgoritmanın çalışması: 1. Öncelikle kök düğüm kuyruğa atılır. Kök düğümün komşularına ait f(n) sezgisel fonksiyon değerleri hesaplanır. 2. lgoritma, her adımda f(n) değeri düşük düğüme gider ve bu düğümü kuyruktan (queue) çıkarır. Daha sonra döngü oluşturmayan komşu düğümler kuyruğa eklenir ve bu düğümlerin de f(n) sezgisel fonksiyon değerleri hesaplanır. 3. Hedef duruma ulaşılana kadar f(n) değeri en az olan düğümün seçilmesi ve alt düğümlerinin kuyruğa eklenilmesine devam edilir. 44

Yıldız rama lgoritması (* Search lgorithm) Örnek-1 Verilen grafın düğümünden, G düğümüne gidilmek isteniyor. Sezgisel fonksiyon olarak, bir düğümün hedefe olan kuş uçuşu mesafesi alınır. Sezgisel mesafe, örneğin iki düğüm arasındaki mesafenin cetvel ile ölçülen değeri olarak kabul edilebilir. Start 4 C 3 6 B F 4 6 8 D 4 G Goal State Heuristic: h(n) - B 8 C 9 D 4 4 F 8 G 0 h (n) = sezgisel kuş uçuşu mesafesi 45

Yıldız rama lgoritması (* Search lgorithm) Örnek-1 Başlangıç düğümünden başlayarak komşu iki düğümün değeri hesaplanırsa: C düğümü için h(n) = 9 ve g(n) = 4 B düğümü için h(n) = 8 ve g(n) = 3 f(c) = h(n)+g(n)=9+4 = 13 f(b) = h(n)+g(n)=8 +3 = 11 olarak bulunmaktadır. lgoritma bu seçimler arasından değeri küçük olan B düğümüne gitmeyi tercih eder. Start 4 C 3 6 B F 4 6 8 D 4 G Goal State Heuristic: h(n) - B 8 C 9 D 4 4 F 8 G 0 46

Yıldız rama lgoritması (* Search lgorithm) Örnek-1 Bu anda kuyrukta (queue) iki düğüm bulunmakta (C ve ) B düğümünün komşusu düğümün değeri hesaplanırsa: f() = h(n)+g(n)=7 +4 = 11 f(c) = h(n)+g(n)=9+4 = 13 olarak bulunmaktadır. lgoritma bu seçimler arasından değeri küçük olan düğümüne gitmeyi tercih eder. Start F 3 B 4 4 6 C 8 f(c) =9+4 = 13 6 f() =7+4 = 11 D 4 G Goal State Heuristic: h(n) - B 8 C 9 D 4 4 F 8 G 0 47

Yıldız rama lgoritması (* Search lgorithm) Örnek-1 Bu anda kuyrukta (queue) iki düğüm bulunmakta (C ve F) düğümünün komşusu F düğümün değeri hesaplanırsa: f(f) = h(n)+g(n)=13 +8 = 21 f(c) = h(n)+g(n)=9+4 = 13 olarak bulunmaktadır. lgoritma bu aşamada geldiği yoldan vaz geçerek en kısa yolun C düğümü olabileceğini düşünür ve bu düğüme gitmeyi tercih eder. Start 4 C f(c) =9+4 = 13 3 6 B f(f) =13+8 = 21 F 4 6 8 D 4 G Goal State Heuristic: h(n) - B 8 C 9 D 4 4 F 8 G 0 48

Yıldız rama lgoritması (* Search lgorithm) Örnek-1 Bu anda kuyrukta (queue) iki düğüm bulunmakta (F ve D) C düğümünün komşusu D düğümün değeri hesaplanırsa: f(d) = h(n)+g(n)=10 +4 = 14 f(f) = h(n)+g(n)=13+8 = 21 olarak bulunmaktadır. lgoritma bu seçimler arasından değeri küçük olan D düğümüne gitmeyi tercih eder. Start 4 C f(f) =13+8 = 21 F 3 B 4 6 8 6 D 4 f(d) =10+4 = 14 G Goal State Heuristic: h(n) - B 8 C 9 D 4 4 F 8 G 0 49

Yıldız rama lgoritması (* Search lgorithm) Örnek-1 Bu anda kuyrukta (queue) iki düğüm bulunmakta (F ve G) D düğümünün komşusu G düğümün değeri hesaplanırsa: f(g) = h(n)+g(n)=14 + 0 = 14 f(f) = h(n)+g(n)=13+8 = 21 olarak bulunmaktadır. lgoritma bu seçimler arasından değeri küçük olan G düğümüne gitmeyi tercih eder. Start 4 C 3 6 f(f) =13+8 = 21 F B 4 6 8 D 4 G f(g) =14+0 = 14 Goal State Heuristic: h(n) - B 8 C 9 D 4 4 F 8 G 0 50

Yıldız rama lgoritması (* Search lgorithm) Örnek-1 Son durumda hedefe ulaşılmış ve -C-D-G yolu kullanılmıştır. Sonuçta ulaşım için mesafe toplandığında; 4+6+4=14 mesafesi (-C-D-G yolu), diğer alternatif olan 3+4+6+8 =21 değerine göre daha kısadır. * algoritması sezgisel bir algoritma olduğu için bu durumu bilmemektedir. Start 4 C 3 6 B f(f) =13+8 = 21 F 4 6 8 D 4 G Goal State Heuristic: h(n) - B 8 C 9 D 4 4 F 8 G 0 51

f(n)= g(n)+h(n) Yıldız rama lgoritması (* Search lgorithm) Örnek-2 f(c)= 118+329 = 447 f()= 140+253 = 393 f(b)= 75 +374 = 449 lgoritma değeri küçük olan düğümüne gitmeyi tercih eder. 111 D C 97 H 118 G 101 80 I Start 75 140 99 h (n) = sezgisel kuş uçuşu mesafesi F 211 Goal B State Heuristic: h(n) 366 B 374 C 329 D 244 253 F 178 G 193 H 98 I 0 52

Yıldız rama lgoritması (* Search lgorithm) Örnek-2 f(c)= 118+329 = 447 f(b)= 75 +374 = 449 f(g)= 220 +193 = 413 f(f)= 239 +178 = 417 lgoritma değeri küçük olan G düğümüne gitmeyi tercih eder. 111 D C 97 H 118 G 101 80 I Start 75 140 99 h (n) = sezgisel kuş uçuşu mesafesi F 211 Goal B State Heuristic: h(n) 366 B 374 C 329 D 244 253 F 178 G 193 H 98 I 0 53

Yıldız rama lgoritması (* Search lgorithm) Örnek-2 f(c)= 118+329 = 447 f(b)= 75 +374 = 449 f(f)= 239 +178 = 417 f(h)= 317+98 = 415 lgoritma değeri küçük olan H düğümüne gitmeyi tercih eder. 111 D C 97 H 118 G 101 80 I Start 75 140 99 h (n) = sezgisel kuş uçuşu mesafesi F 211 Goal B State Heuristic: h(n) 366 B 374 C 329 D 244 253 F 178 G 193 H 98 I 0 54

Yıldız rama lgoritması (* Search lgorithm) Örnek-2 f(c)= 118+329 = 447 f(b)= 75 +374 = 449 f(f)= 239 +178 = 417 f(i)= 418+0 = 418 * arama algoritması bu aşamada geldiği yoldan vaz geçerek en kısa yolun F düğümünden devam edebileceğini düşünür ve bu yola gitmeyi tercih eder. 111 D C 97 H 118 G 101 80 I Start 75 140 99 h (n) = sezgisel kuş uçuşu mesafesi F 211 Goal B State Heuristic: h(n) 366 B 374 C 329 D 244 253 F 178 G 193 H 98 I 0 55

Yıldız rama lgoritması (* Search lgorithm) Örnek-2 f(c)= 118+329 = 447 f(b)= 75 +374 = 449 f(i)= 418+0 = 418 f(i1)= 450 +0 = 450 * arama algoritması bu aşamada geldiği yoldan vaz geçerek en kısa yolun I düğümünden devam edebileceğini düşünür ve hedefe ulaşılır. 111 D C 97 H 118 G 101 80 I Start 75 140 99 h (n) = sezgisel kuş uçuşu mesafesi F 211 Goal B State Heuristic: h(n) 366 B 374 C 329 D 244 253 F 178 G 193 H 98 I 0 56

* rama Romanya Haritası, maç: rad dan Bükreş e gitmek 57

* rama Romanya Haritası, maç: rad dan Bükreş e gitmek 58

* rama Romanya Haritası, maç: rad dan Bükreş e gitmek 59

* rama Romanya Haritası, maç: rad dan Bükreş e gitmek 60

* rama Romanya Haritası, maç: rad dan Bükreş e gitmek 61

* rama Romanya Haritası, maç: rad dan Bükreş e gitmek 62

* rama Romanya Haritası, maç: rad dan Bükreş e gitmek 63

Hedef: S şehrinden G şehrine gitmek Şekil-1 Farklı şehirler arasındaki yol bağlantısı. Bağlantılardaki değerler Şehirler arasındaki gerçek mesafe Şekil-2 Farklı şehirlerin G şehrine olan kuş uçuşu uzaklığı (sezgisel değer) Hedef S şehrinden G şehrine gitmek 64

Hedef: S şehrinden G şehrine gitmek Durum uzayı rama ağacı 65

[S [ 1,D 2 [D 2,B 3,D 4 [B 3,D 4, 5, 6 [D 4, 5, 6,C 7, 8 [ 5, 6,C 7, 8, 9 [ 6,C 7, 8, 9,B 10 [C 7, 8, 9,B 10,B 11,F 12 [ 8, 9,B 10,B 11,F 12 [ 9,B 10,B 11,F 12,D 13,F 14 [B 10,B 11,F 12,D 13,F 14,B 15, F 16 [B 11,F 12,D 13,F 14,B 15, F 16,C 17, 18 [F 12,D 13,F 14, B 15, F 16,C 17, 18, 19,C 20 [D 13,F 14, B 15, F 16,C 17, 18, 19,C 20,G 21 [F 14,B 15, F 16,C 17, 18, 19,C 20,G 21 [B 15, F 16,C 17, 18, 19,C 20,G 21,G 22 [F 16,C 17, 18, 19,C 20,G 21,G 22,C 23 [C 17, 18, 19,C 20,G 21,G 22,C 23,G 24 [ 18, 19,C 20,G 21,G 22,C 23,G 24 [ 19,C 20,G 21,G 22,C 23,G 24 [C 20,G 21,G 22,C 23,G 24, F 25 [G 21,G 22,C 23,G 24, F 25 BFS={S,D,,F,G} Hedef: S şehrinden G şehrine gitmek nine Öncelikli rama (Breadth-First Search) Harflerin altlarındaki sayılar, indisleri göstermektedir. 66

Hedef: S şehrinden G şehrine gitmek [S [ 1,D 2 [B 3,D 4,D 2, [C 7, 8,D 4,D 2 [ 8,D 4,D 2 [D 13,F 14,D 4,D 2 [F 14,D 4,D 2 [G 22,D 4,D 2 Derinine Öncelikli rama (Depth-first search) DFS={S,,B,,F,G} Harflerin altlarındaki sayılar, indisleri göstermektedir. 67

Hedef: S şehrinden G şehrine gitmek [S 0 [ 3,D 4 [D 4,B 7,D 8 [ 6,B 7,D 8, 9 [B 7, D 8, 9,F 10,B 11 [D 8, 9,F 10,B 11,C 11, 12 [ 9,F 10, 10,B 11,C 11, 12 [F 10, 10, B 11,C 11, 12,B 13 [ 10, B 11,C 11, 12,B 13,G 13 [B 11,C 11, 12,B 13,G 13,F 14,B 15 [C 11, 12,B 13,G 13,F 14,B 15, 15,C 15 [ 12,B 13,G 13,F 14,B 15, 15,C 15 [B 13,G 13,F 14,D 14, B 15, 15,C 15,F 16 [G 13, F 14,D 14, B 15, 15,C 15,F 16,C 17, 18 UCS={S,D,,F,G} Düşük Maliyetli rama (Uniform Cost Search) Harflerin altlarındaki sayılar, S den uzaklıklarını göstermektedir. 68

Hedef: S şehrinden G şehrine gitmek f(n)=g(n)+h(n) * rama [S 0 [D 12.9, 13.4 [ 12.9, 13.4, 19.4 [F 13.0, 13.4,B 17.7, 19.4 [G 13.0, 13.4,B 17.7, 19.4 *={S,D,,F,G} Harflerin altlarındaki sayılar, S den uzaklıkları + G ye uzaklıklarını göstermektedir. 69

S 11+0 S 10.4+3 SD D 8.9+4 S 10.4+3 SDS S 11+8 SD 10.4+9 SD 6.9+9 SDS S 11+8 SD 10.4+9 SD 6.9+9 SS S 11+6 SD D 8.9+8 SB B 6.7+7 SDS S 11+8 SD 10.4+9 SD 6.9+9 SS S 11+6 SD D 8.9+8 SB 10.4+11 SB 6.9+8 SBC C 4+11 SDS S 11+8 SD 10.4+9 SD 6.9+9 SS S 11+6 SD D 8.9+8 SB 10.4+11 SBC C 4+11 SBD D 8.9+13 SBB B 6.7+9 SBF F 3+12 SDS S 11+8 SD 10.4+9 SD 6.9+9 SS S 11+6 SD D 8.9+8 SB 10.4+11 SBD D 8.9+13 SBB B 6.7+9 SBF F 3+12 SBCB B 6.7+15 SDS S 11+8 SD 10.4+9 SD 6.9+9 SS S 11+6 SD D 8.9+8 SB 10.4+11 SBCB B 6.7+15 SBD D 8.9+13 SBB B 6.7+9 SBF 6.9+16 SBFG G 0+15 70 Hedef: S şehrinden G şehrine gitmek * rama