Gerçek hayattaki bir yapay zeka probleminin, arama problemi haline nasıl dönüştürüldüğünü ve temel bazı arama algoritmalarını (DFS, BFS, IDS , DLS gibi) görerek nasıl sonuçlar üretildiğini Doç.Dr.Şadi Evren Şeker’den bu derste öğreniyoruz.
Gerçek Problemlerin Arama Problemine Dönüşümü ve Çözümü
Gerçek hayattaki bir yapay zeka probleminin, arama problemi haline nasıl dönüştürüldüğünü ve temel bazı arama algoritmalarını ( DFS, BFS, IDS , DLS gibi) görerek nasıl sonuçlar üretildiği bu bölümde anlatılmaya çalışılmaktadır.
Bu bölüm, Arama algoritmaları üzerinden Yapay Zeka problemlerini nasıl çözebileceğimizi anlamaya yarayan bir bölümdür. Yani aslında gerçek hayatta yaşanan bir problemin aslında bir arama problemi olarak nasıl modelleyebiliriz? bu sorunun cevabını bulmaya çalışacağız.
Gerçek hayattaki bir problemi arama problemi haline çevirebilirsek orada değişik algoritmalarımızı kullanarak bir sonuca varabiliriz. Amacımız gerçek hayattaki problemi yapay zekayı kullanarak rasyonel bir şekilde çözebilmektir.
Bu dersin ana hatlarını aşağıdaki konular oluşturmaktadır:
*Problem Çözme Ajanları
*Problem Tipleri
*Problemlerin formülize edilmesi
*Örnek Problemler
*Basit Arama Algoritmaları
Örnek: Romanya
Arad’dan Bükreş’e gitmek istiyoruz. Hangi yolları kullanmalıyız? Nasıl bir yol izlemeliyiz?
Bu gerçek hayat problemini bir arama problemi olarak modelleyebilirmiyiz?
Başlangıç Noktası: Arad
Hedef: Bükreş
Hedefi tanımla: Bükreş’te olmak
Problemin formülize edilmesi:
Durum: Herhangi bir şehirde bulunmak
Aksiyonlar: Bu şehirlerden birine gitmeye karar vermek
Problem Tipleri:
*Deterministik ve her tarafını görebildiğimiz bir problem
*Görülmeyen/Gözlemlenemeyen problem
*Determinist olmayan ya da kısmi gözlemlenen problem
*Bilinmeyen arama yapılabilen mesafe/uzay
Yapay zeka problemlerini sınıflandırmamız için gerekli stratejiler:
-Completeness-Bunun bir çözümü varmı?
-Time complexity-Problemin zaman karmaşıklığı nedir?
-Space complexity– Problemin hafıza karmaşıklığı nedir?
-Optimality-Optimum bir çözüm bulanabiliniyormu?
Arama Algoritmaları:
-Uniformed search: Bulunduğumuz durumdan sonraki adımların hiç bilinmemesi.
-Breadth-first search: Sınır öncelikli arama (yakın öncelikli arama)
-Uniform-cost search: Sabit maliyetli arama
-Depth-first search: Derin öncelikli arama
-Depth-limited search: Derinliğin sınarlandırıldığı derin öncelikli arama
-Iterative deeping search: Adım adım derinliğin arttırıldığı arama algoritması