YMT 410 Yapay Zeka ve Uzman Sistemler Dr

  • Slides: 56
Download presentation
YMT 410 Yapay Zeka ve Uzman Sistemler Dr. Fatih Özkaynak

YMT 410 Yapay Zeka ve Uzman Sistemler Dr. Fatih Özkaynak

Akıllı (Rasyonel) Ajanlar

Akıllı (Rasyonel) Ajanlar

Konular • Ajanlar ve Ortamları • Akıllı Olma (Rationality) • PEAS (Başarı Ölçüsü, Ortam,

Konular • Ajanlar ve Ortamları • Akıllı Olma (Rationality) • PEAS (Başarı Ölçüsü, Ortam, Tepkivericiler, Algılayıcılar) • Ortam Türleri • Ajan Türleri 3

Ajanlar • Ajan - Algılayıcıları ile ortam bilgilerini alan, bu bilgileri algılayan, duyan, anlayan

Ajanlar • Ajan - Algılayıcıları ile ortam bilgilerini alan, bu bilgileri algılayan, duyan, anlayan ve tepkivericileri ile bu ortama tepki veren nesne • Ajanın herhangi bir zamandaki algısal girdilerine duyum (percept) adını vermekteyiz. • İnsan ajan: – Algılayıcılar - gözler, kulaklar, … – Tepkivericiler - ayaklar, eller, ağız, … • Robot ajan: – Algılayıcılar - kamera, kızılötesi bulucular, . . – Tepkivericiler - çeşitli motorlar 4

Agents • An agent is anything that can be viewed as perceiving its environment

Agents • An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators

Örnek: Elektrikli Süpürge • Algılamalar (Percepts) Mekan ve içeriği, örn, [A, Kirli] • Hareketler

Örnek: Elektrikli Süpürge • Algılamalar (Percepts) Mekan ve içeriği, örn, [A, Kirli] • Hareketler (Actions): Sol, Sağ, Süpür, İşlem. Yok function Supurge([yer, durum]) returns hareket/action • if durum = kirli then return Süpür • else if konum = A then return Sağ • else if konum = B then return Sol

Ajanların Tasarımı • Ajan programı – Algıları hareketlere dönüştüren işlev • Mimari – Programların

Ajanların Tasarımı • Ajan programı – Algıları hareketlere dönüştüren işlev • Mimari – Programların yürütüldüğü bilgisayarlı sistem • Ajan = mimari + program • Ajan programını tasarlamak için bizim aşağıdakiler hakkında bilgimiz olmalıdır: – Mümkün algılamalar ve hareketler – Amaçlar ve başarı ölçümü – Ajanın işlem yapacağı ortamın türü 7

Akıllı (Rational) Ajanlar • Akıllı bir ajan her bir olası algı dizisi için ajanın

Akıllı (Rational) Ajanlar • Akıllı bir ajan her bir olası algı dizisi için ajanın kendi bilgisi ve algılar tarafından sağlanan kanıtlar bakımından performans ölçümünü maksimize etmesi beklenen bir hareketi seçmelidir. • Performans Ölçümü (Performance measure amaç (utility) fonksiyonu: Bir ajan davranışının başarısı için hedef kriter • Beklenen fayda (Expected utility): • Akıllı bir ajan hata yapabilir mi?

Elektrikli Süpürge Örneği • Algılamalar (Percepts) Mekan ve içeriği, örn, [A, Kirli] • Hareketler

Elektrikli Süpürge Örneği • Algılamalar (Percepts) Mekan ve içeriği, örn, [A, Kirli] • Hareketler (Actions): Sol, Sağ, Süpür, İşlem. Yok function Supurge([yer, durum]) returns hareket/action • if durum = kirli then return Süpür • else if konum = A then return Sağ • else if konum = B then return Sol • Bu ajan akıllı mıdır? – Performans ölçümlerine ve ortam özelliklerine bağlıdır.

Mantıklılık ve Her Şeyi Başarmak • Mantıklı olmak her şeyi başarmak değildir. – “Her

Mantıklılık ve Her Şeyi Başarmak • Mantıklı olmak her şeyi başarmak değildir. – “Her şeyi başarmak”, ajanın, tüm hareketlerinin ne ile sonuçlanacağını bildiği anlamına geliyor. – Örnek: caddeyi geçerken, kafana uçağın kapısının düşeceğini önceden bilmek • Mükemmelliğe gerek yoktur. – Her zaman doğru şeyler yapmak mümkün değildir – Beklenen başarı, nelerin algılandığına bağlıdır. 10

Mantıklılık ve Görev Ortamı • Görev ortamları, mantıklı ajanların çözümü olduğu sorunlardır. • Başarım

Mantıklılık ve Görev Ortamı • Görev ortamları, mantıklı ajanların çözümü olduğu sorunlardır. • Başarım ölçütü, ortam ve ajanın gerçekleştiricileri ile algılayıcıları (PEAS), görev ortamı altında birleşirler. • Başarı bileşenleri: -PEAS – – Başarı ölçüsü - Performance measure (Amaç) Ortam - Environment Tepkivericiler - Actuators (Hareket) Algılayıcılar - Sensors (Algılayıcı) 11

Görev Ortamı Belirtme • PEAS: Performance measure, Environment, Actuators, Sensors • P: ajanın maksimize

Görev Ortamı Belirtme • PEAS: Performance measure, Environment, Actuators, Sensors • P: ajanın maksimize (veya minimize) edeceği fonksiyon – Verildiği varsayılmaktadır – Pratikte bazı durumlarda hesap. Ianması gerekmektedir • E: world states için biçimsel bir tanım – For concreteness, a tuple (var 1=val 1, var 2=val 2, … , varn=valn) • A: bir geçiş modeline göre durumu değiştiren hareket (actions) – Bir durum veya hareket verilir. İzleyen durum ne olur? • S: dünya durumunu çıkarmak için ajanın gözlemidir – Often come in very different form than the state itself – E. g. , in tracking, observations may be pixels and state variables 3 D coordinates

Örnek PEAS: Taksi Süren Ajan • Performans Ölçümü (Performance measure) – Güvenli, hızlı, kurallara

Örnek PEAS: Taksi Süren Ajan • Performans Ölçümü (Performance measure) – Güvenli, hızlı, kurallara uygun, konforlu seyahati maksimize etmek • Ortam (Environment) – Yollar, diğer trafik, yayalar, müşteriler • Tepkivericiler (Actuators) – Direksiyon simidi, hızlandırıcı, fren, sinyal, korna • Algılayıcılar (Sensors) – Kameralar, ışıklı radar, hızölçer, GPS, kilometre sayacı, motor sensörleri, klavye

Diğer PEAS Örneği: Spam Filtresi • Performance measure – Yanlış pozitif (false positives), yanlış

Diğer PEAS Örneği: Spam Filtresi • Performance measure – Yanlış pozitif (false positives), yanlış negatif (false negatives) minimize etmek • Environment – Bir kullanıcının hesabı, eposta sunucusu • Actuators – Spam olarak işaretlemek, silmek, . . . • Sensors – Gelen postalar, kullanıcı hesabı hakkındaki diğer bilgiler

Ortam Tipleri • Gözlemlenebilir (Fully observable) vs. Kısmen Gözlemlenebilir (partially observable) • Gerekirci (Deterministic)

Ortam Tipleri • Gözlemlenebilir (Fully observable) vs. Kısmen Gözlemlenebilir (partially observable) • Gerekirci (Deterministic) vs. Olasılıksal (stochastic) • Bölümlü (Episodic) vs. Ardışık (sequential) • Statik (Static) vs. Dinamik (dynamic) • Ayrık (Discrete) vs. Sürekli (continuous) • Tek ajan (Single agent) vs. Çok ajan (multi-agent) • Bilinen (Known) vs. Bilinmeyen (unknown)

Fully observable vs. partially observable • Eğer ajanın sensörleri çevrenin durumunu tamamen saptayabiliyorsa çevre

Fully observable vs. partially observable • Eğer ajanın sensörleri çevrenin durumunu tamamen saptayabiliyorsa çevre ajan için erişilebilirdir. • Çevre erişilebilir ise değişimleri izlemek için durum saklaması gerekmez. vs. Source: L. Zettlemoyer

Deterministic vs. stochastic • Eğer çevrenin gelecek durumu, o anki durum ve ajanın eylemine

Deterministic vs. stochastic • Eğer çevrenin gelecek durumu, o anki durum ve ajanın eylemine bağlı olarak tespit edilebiliyor ise çevre deterministiktir. • Eğer çevre erişimli değil ise deterministik olmadığı kabul edilebilir. vs.

Episodic vs. sequential • Bölümlü çevrede ajanın deneyimleri bölümlere ayrılmıştır. • Her bir bölüm

Episodic vs. sequential • Bölümlü çevrede ajanın deneyimleri bölümlere ayrılmıştır. • Her bir bölüm ajanın algı ve eyleminden oluşur. • Eylemin kalitesi sadece o bölüme aittir. Bir önceki bölümdeki eylemin o anki bölümde bir etkisi yoktur. • Bölümlü çevre, ajanın ileriyi düşünmesi gerekmediği için daha basittir. vs.

Static vs. dynamic • Ajan karar verirken çevre değişiyorsa dinamik, değişmiyor ise statiktir. •

Static vs. dynamic • Ajan karar verirken çevre değişiyorsa dinamik, değişmiyor ise statiktir. • Ajan karar verirken dünyanın değişimini izlemesi gerekmediğinden ve zaman önemli olmadığından statik çevrede çalışmak daha kolaydır. • Eğer çevre zamanla değişmiyorsa ama ajanın performansı zamana göre değişiyorsa çevre yarı dinamik (semidynamic) olarak adlandırılır. vs.

Discrete vs. continuous • Eğer sınırlı sayıda farklı ve iyi tanımlanmış algı ve eylemler

Discrete vs. continuous • Eğer sınırlı sayıda farklı ve iyi tanımlanmış algı ve eylemler var ise çevre ayrıktır. • Satranç ayrıktır çünkü her hamlede olası hareketler sabit sayıdadır. • Araba sürme süreklidir, çünkü arabanın ve diğer araçların pozisyonu ve hızı sonsuz sayıda sürekli değerler alabilirler. vs.

Single-agent vs. multiagent • Tek ajan ortamda kendi başına faaliyette bulunur. Çoklu ajanlar işbirliği

Single-agent vs. multiagent • Tek ajan ortamda kendi başına faaliyette bulunur. Çoklu ajanlar işbirliği yaparlar. vs.

Known vs. unknown • Ortamın kuralları ajan tarafından biliniyor mu? vs.

Known vs. unknown • Ortamın kuralları ajan tarafından biliniyor mu? vs.

Farklı Ortam Örnekleri Word jumble solver Chess with a clock Scrabble Autonomous driving Observable

Farklı Ortam Örnekleri Word jumble solver Chess with a clock Scrabble Autonomous driving Observable Fully Partially Deterministic Strategic Stochastic Episodic Sequential Static Semidynamic Static Dynamic Discrete Continuous Single agent Single Multi

Ajan Türleri Reflex (Tepki) Ajanları • Nasıl bir dünya olduğunu düşünür • Mevcut algılarını

Ajan Türleri Reflex (Tepki) Ajanları • Nasıl bir dünya olduğunu düşünür • Mevcut algılarını temel alarak bir hareket seçer. Planlayıcı Ajanlar • Nasıl bir dünya olması gerektiğini düşünür • Kararlar hareketlerin bir dizisini temel alır

Reflex (Tepki) Ajanları • Reflex ajanlar: – Mevcut algılarına dayalı bir hareket seçer –

Reflex (Tepki) Ajanları • Reflex ajanlar: – Mevcut algılarına dayalı bir hareket seçer – Dünyanın mevcut durumunun bir modeline veya hafızasına sahip olabilir – Hareketlerinin gelecek dizisini düşünmez – Dünyanın nasıl olduğunu düşünür • Mantıklı olabilir mi?

Planlayıcı Ajanlar • Planlayıcı ajanlar: – “eğer sa” sorusunu sorar – Kararlar hareketler dizisini

Planlayıcı Ajanlar • Planlayıcı ajanlar: – “eğer sa” sorusunu sorar – Kararlar hareketler dizisini temel alır – Hareketlere tepki vermek için dünyanın nasıl olduğu modellenmelidir – Vir hedefi formuliza etmelidir – Dünyanın nasıl olması gerektiğini düşünür

Özet - 1 • Ajan, bir ortamda algılayan ve eylemde bulunan bir şeydir. •

Özet - 1 • Ajan, bir ortamda algılayan ve eylemde bulunan bir şeydir. • Ajan fonksiyonu, bir duyum serisine karşılık ajanın gerçekleştireceği eylemi belirler. • Performans ölçütü, bir ortamda ajanın davranışını değerlendirir. • Rasyonel ajan, gördüğü duyum serisine karşılık, başarım ölçütünün beklenen değerini en yüksek seviyeye çıkarmaya çalışır. • Görev ortamının tanımı, başarım, dış ortam, gerçekleştiriciler ve algılayıcıları içerir. • Bir ajanı tasarlarken ilk adım mutlaka görev ortamının mümkün olduğunca tam olarak belirtilmesi olmalıdır. 28

Özet - 2 • Görev ortamları, çeşitli boyutlar doğrultusunda değişim gösterir. • Bunlar tam

Özet - 2 • Görev ortamları, çeşitli boyutlar doğrultusunda değişim gösterir. • Bunlar tam veya kısmi gözlemlenebilir, deterministik veya stokastik, bağlantısız veya sıralı, durağan veya dinamik, ayrık veya sürekli ve tek ajanlı ya da çok ajanlı olabilir. • Ajan programı, ajan fonksiyonunu uygular. Açığa çıkarılan ve karar sürecinde kullanılan bilginin türünü yansıtan çok çeşitli temel ajan programı tasarımları vardır. • Basit refleks ajanları doğrudan duyuma yanıt verir. • Model tabanlı refleks ajanları, dünyanın o andaki duyumda açığa çıkmayan açılarını takip etmek için içsel durumlarını yönetir. • Hedef tabanlı ajanlar, hedeflerine ulaşmak için eylemde bulunur. • Fayda tabanlı ajanlar beklenen “mutluluk” değerlerini en yüksek seviyeye çıkarmaya çalışır. • Bütün ajanlar başarımlarını öğrenme yoluyla arttırabilirler. 29

Arama ile Problem Çözme

Arama ile Problem Çözme

Örnek: Ölçme problemi! 9 l 3 l 5 l Problem: Bu üç kovayı kullanarak

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

Örnek: Ölçme problemi! Olası Çözüm: 9 l a 0 3 0 3 1 0

Örnek: Ölçme problemi! Olası Çözüm: 9 l a 0 3 0 3 1 0 b 0 0 0 3 3 5 5 c 0 0 3 3 6 6 6 7 başlangıç 3 l 5 l a b c hedef 32

Örnek: Ölçme problemi! Diğer Çözüm: a 0 0 0 3 0 3 1 0

Örnek: Ölçme problemi! Diğer Çözüm: a 0 0 0 3 0 3 1 0 b 0 5 0 0 3 3 5 5 c 0 0 3 3 6 6 6 7 9 l başlangıç hedef 3 l 5 l a b c 33

Hangi çözümü tercih ederiz? • Çözüm 1: a 0 3 0 3 1 0

Hangi çözümü tercih ederiz? • Çözüm 1: a 0 3 0 3 1 0 • b 0 0 0 3 3 5 5 c 0 0 3 3 6 6 6 7 start Çözüm 2: a 0 0 3 3 b 0 5 2 0 5 0 c 0 0 0 2 2 7 start hedef 34

Arama • Tamamen gözlemlenebilir, gerekirci, ayrık, bilinen bir ortamda amaç tabanlı ajan ile çözmeyi

Arama • Tamamen gözlemlenebilir, gerekirci, ayrık, bilinen bir ortamda amaç tabanlı ajan ile çözmeyi planladığımız bir problem olduğunu düşünelim. Start state Goal state

Arama • Tamamen gözlemlenebilir, gerekirci, ayrık, bilinen bir ortamda amaç tabanlı ajan ile çözmeyi

Arama • Tamamen gözlemlenebilir, gerekirci, ayrık, bilinen bir ortamda amaç tabanlı ajan ile çözmeyi planladığımız bir problem olduğunu düşünelim. – Ajan hedefe ulaşmak için hareketlerin bir dizisini bulmalıdır. – Performans ölçümü (a) amaca ulaşmak ve (b) amaca ulaşan yolun “maliyeti” ile tanımlanır. – Çözüm yürütülürken çözüm bulma sürecine odaklanmalıdır. Ajanın algılarını güvenli bir şekilde yok saydığı varsayılmaktadır (açık-döngü sistem)

Arama Problemi Bileşenleri • Başlangıç durumu • Hareketler • Geçiş durumu Initial state –

Arama Problemi Bileşenleri • Başlangıç durumu • Hareketler • Geçiş durumu Initial state – Verilen bir durumdaki bir hareket icra edildiğinde hangi durumla sonuçlanacak? • Hedef durum • Yol maliyeti – Negatif olmayan adım maliyetlerinin toplamı olduğu varsayılır • Optimal çözüm aranan ama. İçin en düşük yol maliyetli hareketlerin dizisidir. Goal state

Örnek: Romania • Arad başlangıçlı Romanya’da seyehat • Bucharest’e seyehat edeceksiniz • Başlangıç durumu

Örnek: Romania • Arad başlangıçlı Romanya’da seyehat • Bucharest’e seyehat edeceksiniz • Başlangıç durumu – Arad • Hareketler – Bir şehirden diğerine gitmek • Geçiş modeli – Eğer A’dan B’ye gidiyorsanız. En son B şehrindesiniz • Hedef durum – Bucharest • Yol maliyeti – Kenarların toplam maliyeti (toplam seyahat mesafesi)

Durum Uzayı • Başlangıç durumu, hareketler ve geçiş modeli problemin durum uzayını tanımlar. –

Durum Uzayı • Başlangıç durumu, hareketler ve geçiş modeli problemin durum uzayını tanımlar. – Hareketlerin herhangi bir dizisi başlangıç durumundan ulaşılabilir olan tüm durumların kümesidir – Düğümlerin durumlar ve bağlantıların hareketler olduğu yönlü bir graf ile gösterilebilir • Romanya problemi için durum uzayı nedir?

Örnek: Elektrik Süpürgesi Dünyası • Durumlar – Ajanın olduğu konum ve kirli konum –

Örnek: Elektrik Süpürgesi Dünyası • Durumlar – Ajanın olduğu konum ve kirli konum – Kaç farklı olası durum vardır? – n olası konum varsa ne olur? • Durum uzayının boyutu üstel olarak büyür! • Hareketler – Sol, sağ, temizle • Geçiş modeli

Süpürge Durum Uzayı Grafı

Süpürge Durum Uzayı Grafı

Örnek: 8 -puzzle • Durumlar – Kutucuk konumları • 8 -puzzle: 181, 440 durum

Örnek: 8 -puzzle • Durumlar – Kutucuk konumları • 8 -puzzle: 181, 440 durum (9!/2) • 15 -puzzle: ~10 trillion durum • 24 -puzzle: ~1025 durum • Hareketler – Boşluğu sol, sağ, yukarı, aşağı sürükle • Yol maliyeti – Her hareket 1 • n-Puzzle problem için optimal çözüm bulma NP-hard

8 -puzzle durum uzayı 5 5 1 6 7 3 5 4 6 1

8 -puzzle durum uzayı 5 5 1 6 7 3 5 4 6 1 8 7 3 2 4 5 4 6 1 8 6 1 7 3 2 7 3 4 5 4 8 6 1 8 2 7 3 2 5 1 6 8 7 3 8 2 43

Örnek: Robot hareket planlama • Durumlar – Gerçek değerli ortak parametreler (açılar, yer değiştirmeler)

Örnek: Robot hareket planlama • Durumlar – Gerçek değerli ortak parametreler (açılar, yer değiştirmeler) • Hareketler – Robot kolunun hareketleri • Hedef durum – Nesnenin kavrandığı konfigürasyon • Yol maliyeti – Yürütme zamanı, yolun düzgünlüğü, …

Arama • Verilenler: – Başlangıç durumu – Hareketler – Geçiş modeli – Hedef durum

Arama • Verilenler: – Başlangıç durumu – Hareketler – Geçiş modeli – Hedef durum – Yol maliyeti • Optimal durumu bulmak için ne yapacağız? – Dijkstra’nın en kısa yol algoritmasını kullanarak durum uzayını nasıl kuracağız? • Dijkstra’nın karmaşıklığı O(E + V log V), burada V durum uzayının boyutudur • Durum uzayı devasa olabilir!

Arama: Temel Fikir • Başlangıç durumu ile başlanır ve tüm olası ardışık durumların listelenerek

Arama: Temel Fikir • Başlangıç durumu ile başlanır ve tüm olası ardışık durumların listelenerek genişletilir • Bir sınır veya genişletilmeyen durumların listesidir • Her bir adımda, ele alınan bir durumdan sınırlayıcı veya diğer duruma genişletilir • Hedef duruma ulaşılıncaya kadar bu işlem sürdürülür • Olası daha az durum ile genişletilmeye çalışılır

Durum Uzayı Grafı

Durum Uzayı Grafı

Arama Ağacı This is now / start “N”, 1. 0 • “E”, 1. 0

Arama Ağacı This is now / start “N”, 1. 0 • “E”, 1. 0 Possible futures A search tree: – – – A “what if” tree of plans and their outcomes The start state is the root node Children correspond to successors Nodes show states, but correspond to PLANS that achieve those states For most problems, we can never actually build the whole tree

Arama Ağacı Algoritma Taslağı • Başlangıç durum kullanılarak sınırlayıcılar hazırlanır • Sınırlayıcılar boş olmadığı

Arama Ağacı Algoritma Taslağı • Başlangıç durum kullanılarak sınırlayıcılar hazırlanır • Sınırlayıcılar boş olmadığı sürece – arama stratejisine göre bir sınırlayıcı durum seçilir – Eğer düğüm bir hedef durum içeriyor ise çözüm geri döndürülür – Değilse durum ve onun çocuklarına sınırlayıcılar eklenerek genişletilir

Arama Ağacı Örneği Start: Arad Goal: Bucharest

Arama Ağacı Örneği Start: Arad Goal: Bucharest

Arama Ağacı Örneği Start: Arad Goal: Bucharest

Arama Ağacı Örneği Start: Arad Goal: Bucharest

Arama Ağacı örneği Start: Arad Goal: Bucharest

Arama Ağacı örneği Start: Arad Goal: Bucharest

Arama Ağacı Örneği Start: Arad Goal: Bucharest

Arama Ağacı Örneği Start: Arad Goal: Bucharest

Arama Ağacı Örneği Start: Arad Goal: Bucharest

Arama Ağacı Örneği Start: Arad Goal: Bucharest

Arama Ağacı Örneği Start: Arad Goal: Bucharest

Arama Ağacı Örneği Start: Arad Goal: Bucharest

Arama Ağacı Örneği Start: Arad Goal: Bucharest

Arama Ağacı Örneği Start: Arad Goal: Bucharest