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

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

Yapay Zekada Problem Çözme

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

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

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

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

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

YZM YAPAY ZEKA DERS#6: REKABET ORTAMINDA ARAMA

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

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

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

Sezgisel-Bilgili Arama (Heuristic-Informed Search)

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

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

İleri Yöneylem Araştırması Uygulamaları Tam Sayılı Programlama

Örnek Arasınav Soruları Güz 2017

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

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

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

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

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

Genel Graf Üzerinde Mutlak 1-merkez

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI

YZM 2116 Veri Yapıları

Zeki Optimizasyon Teknikleri

Max - Min Heap Tree (Max ve Min Yığıt Ağaçları) Veri Yapıları ve Algoritmalar 2 - Mustafa EGE Ders Notları

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

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

b) Algoritmanızın en kötü durumda işlem zamanını asimptotik olarak bulunuz

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

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

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları)

YZM 2116 Veri Yapıları

FORMEL DİLLER VE SOYUT MAKİNALAR. Hafta 2

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

Algoritma Hazırlama. Programlama. nereden başlamalı? ALGORİTMA VE PROGRAMLAMA Öğr.Gör.Günay TEMUR

YZM 2116 Veri Yapıları

YÖNEYLEM ARAŞTIRMASI - II

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

KLASİK FRAKTALLAR FRAKTAL ÖZELLİKLERİ VE BOYUT

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

BLM-431 YAPAY ZEKA. Ders-2 Etmenler. Yrd. Doç. Dr. Ümit ATİLA

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

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

RASTGELE SAYI ÜRETİMİ VE UYGULANAN TESTLER HAZIRLAYAN: ÖZLEM AYDIN

Sequence Oyununun Minimaks Algoritması Kullanılarak Tasarlanması ve Geliştirilmesi

Zeki Optimizasyon Teknikleri

Daha iyi, daha sorunsuz, daha kolay, daha cazip, daha ekonomik olana ulaşabilmek içinse;

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

BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu

Genetik Algoritmalar. Bölüm 1. Optimizasyon. Yrd. Doç. Dr. Adem Tuncer E-posta:

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

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

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

Veri Yapıları ve Algoritmalar

Otomata Teorisi (BİL 2114)

İlk Bölüm: Proje hazırlarken izlenmesi gereken yöntem ve yaklaşımlar

Week 9: Trees 1. TREE KAVRAMI 3. İKİLİ AĞAÇ DİZİLİMİ 4. İKİLİ ARAMA AĞACI 2. İKİLİ AĞAÇ VE SUNUMU > =

14.12 Oyun Teorisi Ders Notları

Ağaç (Tree) Veri Modeli

OTOMATİK KONTROL SİSTEMLERİ İŞARET AKIŞ DİYAGRAMLARI SIGNAL FLOW GRAPH

Algoritma ve Akış Diyagramları

3. Bölüm Algoritmalar

ÖNYÜKLEME 1 ÖĞRENCİ İŞ DEFTERİ

FORMULA Reinigungstechnik. Orijinal Güvenlik.

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

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

TP SORUNLARININ ÇÖZÜMLERİ

YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR

Hülya Özdağ (YTÜ Matematik Bölümü Ö.Ü.) Nilgün Aygör (YTÜ Matematik Bölümü Ö.Ü.) Aykut Parlak (YTÜ Matematik Mühendisliği)

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

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları

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

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ

Hatalar ve Bilgisayar Aritmetiği

OPTİMİZASYON TEKNİKLERİ. Kısıtsız Optimizasyon

Mukavemet-I. Yrd.Doç.Dr. Akın Ataş

Rekabet ortamında Arama (Adversarial Search) Oyunlarda Arama

GENETİK ALGORİTMALARA GİRİŞ

MAT223 AYRIK MATEMATİK

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ

Albert Long Hall, Boğazi 4-55 Nisan 2008

ÖNYÜKLEME 1 ÖĞRENCİ İŞ DEFTERİ

METASEZGİSEL YÖNTEMLER

Fonksiyon Optimizasyonunda Genetik Algoritmalar

MAT223 AYRIK MATEMATİK

PROBLEM ÇÖZME. Yrd. Doç. Dr. Nuray Çalışkan-Dedeoğlu İlköğretim Matematik Eğitimi

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

International Olympiad in Informatics Bu masal uzun yıllar önce dünya yeni kurulmuş, IOI ise henüz hayal bile değilken yaşanmıştır.

Temel Kavramlar 1 Doğal sayılar: N = {0, 1, 2, 3,.,n, n+1,..} kümesinin her bir elamanına doğal sayı denir ve N ile gösterilir.

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

VERİ MADENCİLİĞİ (Sınıflandırma Yöntemleri) Yrd.Doç.Dr. Kadriye ERGÜN

Algoritma ve Akış Diyagramları

Rasgele Sayı Üretme. Rasgele Sayıların Özellikleri. İki önemli istaiksel özelliği var :

ÇEV 2006 Mühendislik Matematiği (Sayısal Analiz) DEÜ Çevre Mühendisliği Bölümü Doç.Dr. Alper ELÇĐ

Chapter 8. Komut düzeyi kontrol yapıları ISBN

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

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

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

Transkript:

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

Geçen Haftalar: Özet YZ nin Tanımı ve Tarihçesi Turing Testi Zeki Ajanlar: Ajan Tipleri: Basit Tepki, model tabanlı, hedef tabanlı, fayda tabanlı Rasyonel Hareket Performans Ölçüsü Her olası algı serisi için, algı serisi ve sahip olduğu bilgileri kullanarak performans ölçüsünü maksimize edecek şekilde davranan ajan ideal ajandır. 2

Problem çözme ve arama Problem çözmeye giriş Karmaşıklık Bilgisiz arama Problem formülasyonu Arama stratejileri: derinlik-önce, genişlik-önce Bilgili arama Arama stratejileri: En iyi-ilk önce, A* Sezgisel fonksiyonlar 3

Örnek: Ölçme problemi! 3 l 5 l 9 l Problem: Bu üç kovayı kullanarak 7 litre suyu ölçün. 4

Örnek: Ölçme problemi! (olası bir) Çözüm: 0 0 0 start 3 0 0 0 0 3 3 0 3 0 0 6 3 0 6 0 3 6 3 3 6 1 5 6 0 5 7 hedef 9 l 3 l 5 l 5

Örnek: Ölçme problemi! (olası bir) Çözüm: 0 0 0 start 3 0 0 0 0 3 3 0 3 0 0 6 3 0 6 0 3 6 3 3 6 1 5 6 0 5 7 goal 9 l 3 l 5 l 6

Örnek: Ölçme problemi! (olası bir) Çözüm: 0 0 0 start 3 0 0 0 0 3 3 0 3 0 0 6 3 0 6 0 3 6 3 3 6 1 5 6 0 5 7 goal 9 l 3 l 5 l 7

Örnek: Ölçme problemi! (olası bir) Çözüm: 0 0 0 start 3 0 0 0 0 3 3 0 3 0 0 6 3 0 6 0 3 6 3 3 6 1 5 6 0 5 7 goal 9 l 3 l 5 l 8

Örnek: Ölçme problemi! (olası bir) Çözüm: 0 0 0 start 3 0 0 0 0 3 3 0 3 0 0 6 3 0 6 0 3 6 3 3 6 1 5 6 0 5 7 goal 9 l 3 l 5 l 9

Örnek: Ölçme problemi! (olası bir) Çözüm: 0 0 0 start 3 0 0 0 0 3 3 0 3 0 0 6 3 0 6 0 3 6 3 3 6 1 5 6 0 5 7 goal 9 l 3 l 5 l 10

Örnek: Ölçme problemi! (olası bir) Çözüm: 0 0 0 start 3 0 0 0 0 3 3 0 3 0 0 6 3 0 6 0 3 6 3 3 6 1 5 6 0 5 7 goal 9 l 3 l 5 l 11

Örnek: Ölçme problemi! (olası bir) Çözüm: 0 0 0 start 3 0 0 0 0 3 3 0 3 0 0 6 3 0 6 0 3 6 3 3 6 1 5 6 0 5 7 goal 9 l 3 l 5 l 12

Örnek: Ölçme problemi! (olası bir) Çözüm: 0 0 0 start 3 0 0 0 0 3 3 0 3 0 0 6 3 0 6 0 3 6 3 3 6 1 5 6 0 5 7 goal 9 l 3 l 5 l 13

Örnek: Ölçme problemi! (olası bir) Çözüm: 0 0 0 start 3 0 0 0 0 3 3 0 3 0 0 6 3 0 6 0 3 6 3 3 6 1 5 6 0 5 7 hedef 9 l 3 l 5 l 14

Örnek: Ölçme problemi! Diğer bir çözüm: 0 0 0 start 0 5 0 3 2 0 3 0 2 3 5 2 3 0 7 goal 9 l 3 l 5 l 15

Örnek: Ölçme problemi! Diğer bir çözüm: 0 0 0 start 0 5 0 3 2 0 3 0 2 3 5 2 3 0 7 goal 9 l 3 l 5 l 16

Örnek: Ölçme problemi! Diğer bir çözüm: 0 0 0 start 0 5 0 3 2 0 3 0 2 3 5 2 3 0 7 goal 9 l 3 l 5 l 17

Örnek: Ölçme problemi! Diğer bir çözüm: 0 0 0 start 0 5 0 3 2 0 3 0 2 3 5 2 3 0 7 goal 9 l 3 l 5 l 18

Örnek: Ölçme problemi! Diğer bir çözüm: 0 0 0 start 0 5 0 3 2 0 3 0 2 3 5 2 3 0 7 hedef 9 l 3 l 5 l 19

Hangi çözümü tercih ederiz? Çözüm 1: Çözüm 2: 0 0 0 start 3 0 0 0 0 3 3 0 3 0 0 6 3 0 6 0 3 6 3 3 6 1 5 6 0 5 7 hedef 0 0 0 start 0 5 0 3 2 0 3 0 2 3 5 2 3 0 7 hedef 20

Örnek: Ölçme problemi 7 litre suyu birer adet 3, 5 ve 9 litrelik kovalar ile ölç Hedefi formüle et: 7 litre suyu 9 litrelik kovada tut Problemi formüle et: Durumlar: Kovalardaki su miktarı İşlemler: Kovayı kaynaktan doldur, Kovayı boşalt Çözümü bul: Başlangıç durumundan hedef duruma götüren işlemler sırası 21

Problem Çeşitleri Tek durumlu (single-state) problem: Deterministik, tam gözlenebilir Ajan hangi durumda olmak istediğini biliyor; çözüm bir sıradır (sequence) Alıcısız (sensorless) problem: Gözlenemez Ajan nerede olduğunu bilemez; çözüm (varsa) bir sıradır Koşullu (contingency) problem: Rastgele (nondeterministic) ve/veya kısmi gözlenebilir (partially observable) Alıcılar şu anki durum ile ilgili sürekli bilgi sağlar Çözüm ağaç ya da kurallar ile Keşif (exploration) problemi: Bilinmeyen durum uzayı 22

Örnek: Elektrikli süpürge ajanı 2 Yer: kirli/değil Amaç : Her yerin temiz olması Hareketler: Sol, sağ, temizle, işlem yok (NoOP) N oda için durum sayısı? N * 2^N 23

Örnek: Elektrikli süpürge Tek durumlu problem: #5 le başla. Çözüm nedir? [Sağ, Temizle] Alıcısız problem: {1,2,3,4,5,6,7,8} den herhangi biriyle başla [Sağ, Temizle, Sol, Temizle] 24

Örnek: Elektrikli süpürge Koşullu problem: Deterministik: Temizle komutu temiz halıyı kirletebilir Kısmi gözlenebilir: sadece bulunduğu yerin durumu (kirli/temiz) Eldeki bilgi: [Sol, Temiz] #5 veya #7 ile başla [Sağ, if kirli then Temizle] 25

Durum bilgisi Herhangi bir andaki ortam durumla ifade edilir Başlangıç durumu: problemin çözümü için yapılacak ilk hareketin başlandığı durum Hareket: güncel durumu diğer bir durumla değiştiren eylem. Bu durumlara geçiş durumu denir Her durum için olası birden fazla hareket olabilir Amaç durumu: problemin tanımında verilen ulaşılması gereken durum (problemin çözümü) Başarısız durum: hiçbir hareketin uygulanamadığı ve amaç olmayan durum 26

Durum bilgisi Durum uzayı: Başlangıç durumundan ulaşılabilecek tüm durumlardan oluşan küme Durum uzayı graflarla ifade edilebilir: düğümler: uzaydaki durumlar kenarlar: hareketler/işlemler Problemin boyutu genelde olası durumların sayısı ile (veya durum uzayının boyutu ile) ifade edilir 2 yerli süpürge dünyasında 2x2 2 durum vardır Tic-Tac-Toe oyununda yaklaşık 3 9 durum vardır Damada yaklaşık 10 40 durum vardır Satrançtaki durumların sayısı yaklaşık 10 120 dir Go oyunundaki durumlar sayısı ise çok daha fazladır 27

Örnek: Süpürge dünyası Problemin durum uzayı 28

Tek Durumlu Problemin Formülasyonu 1. Başlangıç durumu (initial state) Örnek: "Ankara da olmak" 2. Durum fonksiyonu (successor function) S(x) = hareket-durum çiftleri (x durumundan, hangi durumlara hangi hareket ile geçilebilir) Örnek: S(Ankara) = {<Ankara E.şehir, E.şehir>, } 3. Amaca ulaşma testi (goal test) Örnek: x = "İzmir de olmak" 4. Yol masrafı (path cost): eklemeli (additive) Örnek: mesafeler toplamı, gidilen şehir sayısı, vb. c(x,a,y): adım masrafı (step cost), 0 varsayılır Çözüm: Başlangıç durumundan amaç duruma nasıl ulaşıldığını gösteren hareketlerin sırası 29

Örnek: Süpürge dünyası Durumlar: kir ile ajanın bulunduğu yerler (tamsayı, 1-8) Hareketler: Sağ, sol, temizle, NoOp Amaca ulaşma testi: Her yerin temiz olması Yol masrafı: Her hareket için 1 birim (NoOp için 0) 30

Örnek: Süpürge dünyası Her bir durum için yol maliyeti Durum Yol maliyeti 1 3 2 3 3 1 4 2 5 2 6 1 7 0 8 0 31

Örnek: 8-puzzle Başlangıç durumu Hedef durum Durumlar: taşların yerleri (tamsayı, 1-9) Hareketler: Boşluğu sola, sağa, aşağı, yukarı hareket ettir 8 taşın her biri için olası 4 hareketi tarif etmektense boşluğu hareket ettirmek daha etkili Amaca ulaşma testi: Resimdeki hedef durum Yol masrafı: Her hareket için 1 birim 32

8-puzzle probleminin durum uzayından bir kesit 5 4 6 1 8 7 3 2 5 4 5 4 8 6 1 8 6 1 7 3 2 7 3 2 5 1 4 6 8 5 4 6 1 8 Yaklaşık 362800 durum 7 3 2 5 1 4 7 3 2 Optimal Çözüm: NP Complete 6 8 7 3 2 33

Durum uzayının seçilmesi Gerçek dünya çok karmaşıktır Problemin çözümü için durum uzayı basite indirgenmeli, soyutlanmalı Soyut (Abstract) durum: gerçek durumlar kümesi Soyut hareket: gerçek hareketlerin karmaşık kombinasyonu Örnek: "Ankara E.şehir" değişik yolları, molaları, yol durumunu, yoldaki dinlenme yerlerini vs. gösteren karmaşık bir kümedir Gerçek hayatın modellenmesi için, gerçek hayattaki "Ankara" durumu "E.şehir"e ulaşabilmelidir Soyut çözüm: Gerçek hayatta kullanılan gerçek yollar Her soyut hareket orijinal (gerçek hayattaki) problemden daha "basit" olmalıdır. 34

8-Vezir Problemi Vezirler tek tek yerleştirilir. Sadece son durum dikkate alındığı için yol maliyeti dikkate alınmaz. Yalnız arama maliyetine bakılır: Amaç testi: Tahtada birbirini tehdit etmeyen 8 vezir Yol maliyeti: Sıfır (0) Durumlar: 0-8 vezirin herhangi bir düzenlemesi İşlemler: Herhangi bir kareye vezir koymak. Bu formülasyonda araştırılacak 64 8 olası sıra vardır. ALTERNATİF: İşlemler: Tehdit edilmeyen en soldaki boş kareye vezir koy. Bu şekilde tehdit edilmeyen durumları tespit etmek kolaydır. Doğru formülasyon arama uzayının boyutunu büyük ölçüde küçültür. N-VEZİR??? 35

Yolcular ve Yamyamlar 3 yolcu ve 3 yamyam kayıkla nehrin karşısına geçmek istiyor. Kayığa en fazla 2 kişi binebilir Amaç: Tüm yamyamların ve yolcuların nehri geçmesi Sınırlama: Yamyamların sayısı nehrin herhangi bir sahilinde yolculardan çok olursa yamyamlar yolcuları yer Durum: Nehrin her iki sahilinde ve kayıktaki yamyam ve yolcular Hareketler/İşlemler: Her iki yönde için de bir veya iki kişi ile kayığın hareketi Yakın sahil Nehir Uzak sahil Kişi 1 Kişi 2 kayık Kişi 3 Yamyam 1 Yamyam 2 Yamyam 3 Bu problem 11 hareket ile çözülebilir 36

Yamyamlar ve Yolcular Sorunun Çözümü Yakın sahil Karşı sahil 0 Başlangıç durum: MMMCCC B - 1 2 yamyam çayı geçti: MMMC B CC 2 Birisi geri döndü: MMMCC B C 3 2 yamyam çayı geçti: MMM B CCC 4 Biri geri döndü: MMMC B CC 5 2 yolcu çayı geçti: MC B MMCC 6 Bir yolcu ve bir yamyam geri döndü: MMCC B MC 7 İki yolcu çayı geçti: CC B MMMC 8 Bir yamyam geri döndü: CCC B MMM 9 İki yamyam çayı geçti: C B MMMCC 10 Bir yamyam geri döndü: CC B MMMC 11 İki yamyam çayı geçti: B MMMCCC M: yolcu, C: yamyam 37

Hanoi kulesi Üç tane direk ve farklı boyutlarda disklerden oluşur Diskler istenilen direğe aktarabilir Her harekette sadece bir disk taşınabilir En üstteki disk direkten alınıp diğer bir direğe taşınabilir Diğer direkte daha önceden diskler olabilir Hiçbir disk kendisinden küçük bir diskin üzerine koyulamaz 38

Hanoi kulesi http://ceng.baskent.edu.tr/hanoi 1883 yılında Fransız matematikçi Edouard Lucas tarafından bulunmuştur 1 diskin hareketi için 1 saniye gerekirse, 64 diskli problemi çözmek için 500 milyar yıl gerekir Bu yüzden bu büyük durum uzaylarında bir çözüm aramak için prensipli bir yola ihtiyacımız vardır => Arama algoritmaları 39

Durum Uzayında Arama Durum uzayı bir (V, E) graftır: V düğümler, E (bir düğümden diğerine) kenarlar kümesidir düğüm: durumu ifade eder Düğümün atası ile ilgili bilgileri, ata düğümden bu düğüme geçmek için gereken işlem hakkında bilgileri diğer istatistiksel bilgileri içerir kenar: uygulanabilir hareketi/işlemi ifade eder Her bir kenarın pozitif bir değeri (maliyet) vardır Düğümün üretilmesi: önceden belirlenmiş (genişletilmiş) bir düğüm üzerinde işlem yaparak diğer bir düğümün temsil ettiği duruma geçmek 40

Durum Uzayında Arama Düğümün genişletilmesi: bir düğüm üzerinde olası hareketleri uygulayarak, bu düğümden ulaşılabilecek diğer tüm (çocuk) düğümlerin belirlenmesi Başlangıç düğüm bir ya da daha fazla olabilir Amaç testi: üzerinde işlem yapılan düğümün durumunun hedef durum olup-olmadığının belirlenmesi Çözüm: başlangıç durumdan hedef duruma doğru yolda yapılan işlemler sırası Çözümün değeri: çözüm yolundaki kenarların değerlerinin (maliyetlerinin) toplamı 41

Durum Uzayında Arama Tanımı: genişletilmemiş durum uzayı grafının, amaç düğümü de içine alan bir kısmının genişletilmesi yolu ile çözümün aranması Başlangıçta V={S}, S başlangıç düğümdür S genişletildikçe ulaşılan düğümler V ye, geçilen kenarlar ise E ye ilave edilir Hedef düğüm üretilene dek tekrar et Düğüm 3 halden birinde olabilir: Henüz genişletilmemiş (ulaşılmamış) AÇIK: Genişletilmiş ama üretilmemiş SON: Üretilmiş Arama ağacının büyüklüğü durum uzayı küçük olsa bile sonsuz olabilir Sebebi: döngüler 42

Arama algoritmaları Ana fikir: Durum uzayının, gezilen durumların çocuklarını üreterek (genişletme) sistematik keşfi Function General-Search(problem, strateji) returns bir çözüm ya da hata Başlangıç durum problemini kullanarak arama uzayını initialize et loop do if genişletmek için adaylar yok then return hata genişletmek için stratejiye göre bir yaprak düğüm seç if düğüm hedef durumu içerir then return uygun çözüm else düğümü genişlet ve sonuç düğümü arama uzayına ekle end 43

Gerçek Dünya Örnekleri Rota Bulma bilgisayar ağları, otomatik seyahat tavsiye sistemleri, havayolu seyahat planlama sistemleri gibi değişik alanlarda kullanılmaktadır Havayolu uygulaması çok karmaşıktır çünkü yol maliyeti çok karmaşıktır: para, yer kalitesi, zaman, uçak tipi, indirimler,... Ayrıca problemdeki eylemler de tamamen bilinen çıktıları vermez: uçuş gecikebilir, bağlantılar kaçırılabilir, sis veya acil durumlar gecikmeye neden olabilir Gezgin satıcı (travelling salesman) problemi Robot Hareketi Montaj Sırası (Assembly sequencing) 44

Örnek durum uzayı S: başlangıç, G: hedef Durum uzayı S 3 4 A 4 B 5 5 D E 2 4 4 F C 3 G Döngüsüz Arama ağacı S A 3 4 D 4 5 5 2 B D A E 4 5 2 4 5 4 C E E B B F 2 4 5 4 4 5 4 4 3 D F B F C E A C G 3 G 4 C 3 G 4 F G 3 45

Arama ağaçlarında yollar SA A S SDA D B D A E C E E B B F D F B F C E A C G G C G F G SDEBA 46

Arama stratejileri Bir arama stratejisi düğüm genişletme sırasının seçilmesiyle belirlenir Stratejiler 4 kritere göre karşılaştırılır: Bütünlük (completeness): Eğer bir çözüm varsa bu her zaman bulunabiliyor mu? Zaman karmaşıklığı (time complexity): algoritmanın sonuca ulaşması için gerçekleştirdiği işlemlerin sayısı Bellek karmaşıklığı (space complexity): algoritmanın çalışması için gerekli bellek miktarı En iyi çözüm (optimality): her zaman en az masraflı çözümü bulabiliyor mu? 47

Arama stratejileri Zaman ve bellek karmaşıklığı için kullanılan ölçümler: b (branch factor - dallanma kriteri): arama ağacında herhangi bir düğümdeki maksimum dal sayısı d (depth): en ucuz çözümün ağaç derinliği (yüksekliği) m: durum uzayının maksimum derinliği ( olabilir) 48

Karmaşıklık örneği: Gezgin satıcı problemi Satıcı, tüm şehirleri (n adet) gezmek için bir yol arıyor: Her şehir sadece bir kez gezilecek ve toplam yol mümkün olduğu kadar kısa olacak Bu hard bir problemdir: Bunu çözebilen algoritmalar eksponansiyel karmaşıklığa sahiptir n şehir için => exp(n) 49

Eksponansiyel karmaşıklık neden hard dır? Problemin gerçek çözümünü hesaplamak için gerekli olan operasyon sayısı problemin boyutuyla (şehir sayısı) arttığı anlamına gelir. exp(1) = 2.72 exp(10) = 2.20 10 4 exp(100) = 2.69 10 43 exp(500) = 1.40 10 217 exp(250,000) = 10 108,573 Bu yüzden genel olarak eksponansiyel karmaşıklı problemler en küçük örnekleri için çözülebilirler 50

Karmaşıklık Polinomal-zamanlı (P) problemler: giriş boyutuyla polinomal büyüyen bir zamanda çözen algoritmalar bulunan Ör: n sayıyı artan sırada sırala: kötü algoritmalar n 2 karmaşıklığa sahiptir, daha iyileri n log(n) Bazı problemleri çözmek için hiç polinomal zamanlı algoritma bilmeyiz nondeterministic-polynomial-time (NP) Ör: gezgin satıcı problemi. Özellikle eksponansiyel zamanlı algoritmaların NP olduğuna inanılır 51

NP problemler Deterministik olmayan Turing makinesinde polinomal zamanda çözülebilir Deterministik Turing makinesinde polinomal zamanda doğrulanabilir P sınıfındaki bütün problemler aynı zamanda NP'dedir Deterministik Turing makinası: Herhangi bir durumda, verilen bir girdi için gidilecek sadece tek durum var Deterministik olmayan Turing makinası: Belirli bir girdi için izlenecek birden fazla yol/durum var Teorik bir makinedir 52

NP problemler NP-Complete: eğer bir tanesinin P olması ispatlanabilirse => NP = P Complexity 53