Ders Notu – 2 Ajanlar (Etmenler, Vekiller) - Agents YAPAY ZEKA ve UZMAN SİSTEMLER Ders Notu – 2 Ajanlar (Etmenler, Vekiller) - Agents
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
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
Ajanın yapısı Ne Yapmalı Algılayıcı Ortam algılar Ajan ? hareketler design 設計する せっけいする question mark 疑問符 ぎもんふ hareketler Tepkiverici
Ajanların Tasarımı Ajan programı Mimari Ajan = mimari + 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ü percept 知覚 ちかく action 動作 どうさ computing device 計算装置 けいさんそうち run 動く うごく design 設計する せっけいする have an idea 理解する りかいする performance measure 性能尺度 せいのうしゃくど sort 性質 せいしつ environment 環境 かんきょう operate 働く はたらく
Ajanlar ve Ortamları Ajan fonksiyonu, ajanın algıladığı bilgileri (p) hareketlere (A) dönüştürür: F(P) A Ajan programı, ajanın fiziki mimarisi üzerinde F(P) ‘i üretmek içindir
Örnek: Süpürge ajanın dünyası Algılamalar: mekan ve içeriği, örn., [A,Kirli] Hareketler: Sol, Sağ, Süpürmek, İşlemYok
Bir Ajanın Dış Nitelikleri Bir ajanın belirli bir zamana kadar algıladığı her şey, ajanın duyum serisini (percept sequence) oluşturur. Matematik bakış açısıyla bir ajanın davranışı, herhangi bir duyum serisini bir eyleme eşleyen ajan fonksiyonu (agent function) ile tanımlanır. Herhangi bir ajanı betimleyen ajan fonksiyonunu bir tablo ile gösterebiliriz. Çoğu ajan için, eğer duyum serisinin uzunluğuna bir sınır getirmez isek, bu tablo çok büyük, hatta sonsuz büyüklükte, olacaktır.
Elektrik süpürgesi dünyası için basit bir ajan fonksiyonunun kısmi tablolaştırılması DUYUM SERİSİ EYLEM [A, Temiz] Sağ [A, Kirli] Temizle [B, Temiz] Sol [B, Kirli] Temizle [A, Temiz], [A, Temiz] Sağ [A, Temiz], [A, Kirli] Temizle … [A, Temiz], [A, Temiz], [A, Temiz] Sağ [A, Temiz], [A, Temiz], [A, Kirli] Temizle
Algı Serisinden Eyleme İdeal Eşleme Ajanın davranışı yalnız algı serisine bağlı ise olası tüm algı serilerine karşı gelen eylemler tablo haline getirilerek bir ajan tanımlanabilir. Çoğu zaman bu tablo çok uzun olacaktır. Oluşturulan tabloya algı serisinden eyleme eşleme denir. Eğer eşleme ajanı tanımlıyorsa ideal eşleme de ideal ajanı tanımlar. Eşleme için tablonun her bir elemanının ayrı ayrı belirtilmesi gerekmez. Örneğin hesap makinesindeki karekök fonksiyonunu basit bir ajan olarak göz önüne alalım. Bu ajanın algı serisi basılan tuşlardır. İdeal eşleme; girilen pozitif sayı x ise z2x olacak şekilde 4 basamak doğrulukta z'yi göstermektir. Bu amaçla tablo kullanmak yerine Newton yöntemi kullanılarak yazılan program ile ajan tanımlanabilir. Tablo çok uzun olmasına karşın ajan çok kısa bir programdır. Aşağıda tablo ve program görülmektedir:
Neden arama tablosu başarısızdır Ajan programı yazmanın en basit yolu tablo kullanmaktır (look-up table). Bu durumda olası tüm algı serisinin bellekte tutulması ve indeks kullanarak erişilmesi gerekir. Tablo kullanımında aşağıdaki olumsuzluklar ortaya çıkar: Oldukça çok kayıt gerekmektedir Satranç oynayan ajan için 35100 kayıt Tabloyu oluşturmak çok zaman alıyor Özerklik Yoktur Ajanın tüm hareketleri önceden belirlenmiştir (kaydedilmiştir) Ajana bir derece özerklik tanınarak öğrenme mekanizması oluşturulsa bile tüm girişler için tablonun doğru değerlerini bulması sonsuza kadar sürer entry 項目 こうもく autonomy 自律性 じりつせい useless 対応できない たいおうできない right value 最適値 さいてきち
Ajan Programı function Ajan(algı) returns hareket bellek ← Bellek_Güncelle(bellek, algı) hareket ← En_İyi_Hareket(bellek) bellek ← Bellek_Güncelle(bellek, hareket) return hareket skeleton 骨格 こっかく single percept 知覚一つ ちかくひとつ sequence 列 れつ performance measure 性能尺度 せいのうしゃくど applied externally 外部から判定する がいぶからはんていする 12
Ajan Programları -Arama tablosu function Tablo_Tabanlı_Ajan(algı) returns hareket algılar, /*başlangıçta boş */ tablo /* algılar üzere indekslenmiş tablo, başlangıçta tam belirlenmiştir*/ algı’yı, algılar tablosunun sonuna ilave et hareket ← Tabloya_Bak(algı, tablo) return hareket look-up table 表引きエージェント ひょうびきエージェント table 表 ひょう action 動作 どうさ 13
Mantıklı Ajanlar –logical agent Algılayabildiklerine ve yapabildiklerine dayanarak “doğru şeyler yapmak” için çaba gösteren ajanlar. Akılllı (rasyonel) bir ajan doğru şeyi yapandır – kavramsal olarak bakıldığında böyle bir ajanın fonksiyon tablosunda her giriş doğru olarak doldurulmuştur. Doğru hareket ajanın başarılılık etkenlerindendir Başarı ölçüsü: ajanın davranışının başarılılığını gösteren kıstas. E.süpürgesi ajanın başarısı sorulan tozun miktarı ile, harcanan zamanla, tüketilen enerji ile, kopardığı gürültü ile … belirlenebilir Mantıklı ajan, her bir algılama üzere mümkün hareketler içinden başarıyı en fazla yapanı seçmelidir. Genel bir kural olarak, başarım ölçütleri ajanın nasıl davranması gerektiğini düşündüğümüz duruma göre değil, çevrede gerçekte ne olmasını istiyorsak ona göre tasarlanmalıdır.
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 Mantıksal davranış aşağıdaki etkenlere bağlıdır Başarı ölçüsü Algılama tümcesi: ajanın belirli bir anda algıladığı her şey Ortam hakkında ajanın bildikleri Ajanın yapabileceği mümkün hareketler Ajanın davranışı yalnız onun kendi deneyimi, öğrenme ve uyum sağlayabilme yeteneği ile belirlenirse, ajan özerktir rationality 合理的 ごうりてき omniscience 全能 ぜんのう outcome 効果 こうか cargo door 飛行機のドア ひこうきのドア flattened ぺったんこになる perfection 完全性 かんぜんせい performance measure 性能尺度 せいのうしゃくど percept sentence 知覚列 ちかくれつ everything すべて about the environment 環境に関して かんきょうにかんして possible actions できる動作 できるどうさ
Mantıklılık Herhangi bir zamandaki rasyonalite dört şeye bağlıdır: Başarı kriterini tanımlayan başarım ölçütü. Ajanın ortam hakkındaki ön bilgisi. Ajanın gerçekleştirebileceği eylemler. Ajanın o ana kadar olan duyum serisi. Her bir duyum serisi için, mantıklı bir ajan, duyum serisi tarafından sağlanan kanıtları ve sahip olduğu içsel bilgiyi kullanarak, başarım oranını en yüksek duruma getirecek eylemi seçmelidir.
İdeal mantıklı ajan Her mümkün algılama tümcesi için, önceden var olan bilgilerine ve algılamalar ardışıklığına dayanarak başarı ölçüsünü en iyi yapan hareketleri gerçekleştiren ajan Yararlı bilgiler edinmek için hareketler Böyle hareketler beklenen başarıyı maksimum yapar ideal rational agent 理想合理的エージェント りそうごうりてきエージェント percept sequence 知覚列 ちかくれつ maximize 最大にする さいだいにする performance measure 性能尺度 せいのうしゃくど built-in knowledge 組込み知識 みこみちしき to obtain useful information 有用な情報を得るために ゆうようなじょうほうをえるために
İdeal Ajanlar Algılamadan harekete doğru İdeal ajanı oluşturma Her mümkün algılama tümcesinin harekete dönüştürülmesi (haritalanması) İdeal dönüştürme: Her algılama tümcesi için belli olan en yüksek başarı ölçüsüne uygun cevabın bulunması Belirgin tabloya her zaman gerek duyulmaz Gereken tek şey dönüştürmenin tanımlanmasıdır Örnek: kare kökün 15 onluk rakama dek kesinlikle hesaplanması için büyük tablo yerine küçücük bir program yeterlidir building 作成する さくせいする ideal agent 合理的エージェント ごうりてきエージェント mapping マッピング percept sequence 知覚列 ちかくれつ action 動作 どうさ ideal mapping 理想的マッピング りそうてきマッピング respond 応じる おうじる collect 網羅する もうらする specification 列挙 れっきょ square root 平方根 へいほうこん decimal places 桁 けた
Her şeyi bilme, öğrenme ve özerklik Her şeyi bilen (omniscient) bir ajan, eylemlerinin sonucunu da bilir ve ona göre davranır. Fakat gerçekte her şeyi bilmek imkansızdır. Bu örnek, rasyonalitenin mükemmellik olmadığını göstermektedir. Rasyonalite beklenen başarımı olabildiğince yükseltirken, mükemmellik gerçek başarımı yükseltmektedir.
İdeal Ajanlar Özerklik Eğer ajanın tüm hareketleri yalnız önceden kaydedilmiş bilgilere dayanırsa, bu ajan özerklikten yoksundur. Ajanın özerklik davranışı onun deneyimi ile belirlenmelidir Bazı başlangıç bilgiler ve öğrenme yeteneği gerekmektedir Özerk olmayan ajanlar esneklikten yoksundur autonomy 自律性 じりつせい built-in knowledge 組込み知識 くみこみちしき determine 基づく もとづく own experience 自分自身の経験 じぶんじしんのけいけん learning ability 学習能力 がくしゅうのうりょく flexibility 柔軟性 じゅうなんせい initial assumptions 組み込み仮定 くみこみかてい
Özerk kelimesi insanın doğrudan kontrolü altında olmayan anlamında da kullanılır. Örneğin özerk kara aracı (insansız). Özerk olan ajanlar çevre koşulları değiştiğinde yeni koşullara adapte olarak görevini başarı ile sürdürebilir. Eğer sadece önceden verilen bilgileri kullanırsa başarısız olma olasılığı yüksektir.
Ön Bilgiye Karşı Öğrenme - I Başarılı ajanlar, ajan fonksiyonunun hesaplanması işini üç farklı aşamaya ayırır: ajan tasarlanırken, hesaplamanın bir kısmı tasarımcıları tarafından yapılır; ajan bir sonraki eylemini düşünürken daha fazla hesaplama yapar; ve tecrübeden öğrenmesi sebebiyle davranışını değiştirmek için daha da fazla hesaplama yapar. Duyumlarından çok tasarımcısının ön bilgisine dayanan bir ajanın özerklikten yoksun olduğunu söyleriz. Akıllı bir ajan özerk olmalıdır – kısmi veya yanlış ön bilgiyi telafi edecek şekilde öğrenebilmelidir.
Ön Bilgiye Karşı Öğrenme - II Uygulamada, nadiren bir ajan başlangıç aşamasında tam özerkliğe ihtiyaç duyar: etmen az tecrübeliyse veya hiç tecrübeye sahip değilse, tasarımcı ona yardımcı olana kadar rastgele eylemde bulunmalıdır. Yapay zekalı bir ajana, bir miktar ön bilgiyle birlikte öğrenme yeteneği verilmesi mantıklı olacaktır. Çevresi hakkında yeterli tecrübe edindikten sonra, mantıklı bir ajanın davranışı, etkin bir biçimde ön bilgisinden bağımsız hale gelebilir. Bu nedenle, öğrenmenin işin içine katılması, çok çeşitli ortamlarda başarılı olacak tek bir mantıklı ajanın tasarlanmasına izin verecektir.
Ajanın Nitelendirilmesi 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 Ortam- Environment Tepkivericiler-Actuators Algılayıcılar- Sensors
PEAS. Örnek: Taksi süren ajan Ajan türü Algılayıcılar Hareketler Hedefler Ortam Taksi sürü-cüsü Kamera, sonar, hız ölçer, GPS, km sayacı, ivme ölçer, motor algılayıcılar, kontrol paneli Seyir, pedala basma, frenleme, korna çalma, müşteri ile konuşma Güvenlik, hızlı olmak, yasalara uymak, rahatlık, kazanç, doğru yere ulaşım Yol, diğer araçlar, yayalar, müşteriler Mantıklı ajanların tasarımı için PEAS bileşenleri belirlenmelidir Şimdiki durumu bilmek için algıların kullanılması Araba nerededir? Şu anki sürat kaçtır? Hareket koşulları nasıldır? Zıt amaçların varlığı ; Farklı ortamların varlığı taxi driver タクシーの運転手 タクシーのうんてんしゅ steer ハンドルを回す ハンドルをまわす accelerate アクセルを踏み込む アクセルをふみこむ passenger 乗客 じょうきゃく legal 法定順守 ほうていじゅんしゅ comfortable 快適 かいてく optimal profit 最大経済性 さいだいけいざいせい pedestrian 歩行者 ほこうしゃ current state 現在の状況 げんざいのじょうきょう speed 速度 そくど conflicting 矛盾する むじゅんする different いろいろな
_PEAS(Örnekler) -devamı Ajanın türü Algılamalar Hareketler Amaçlar Ortam Tıbbi teşhisler belirtiler, bulgular, hastanın cevapları Sorular, muayeneler, davranışlar Hastanın iyileşmesi, maliyetin düşürülmesi Hasta, hastane Uydu görüntülerinin çözümlenmesi Pikseller, renkler Resimlerin sınıflandırılması Sınıflandırmanın doğru yapılması Uydulardan görüntüler Parçaları seçen robot Parçalar Parçaların ayrılması ve çeşitlendirilmesi Parçaların düzgün yerine koyulması Nakletme bandı Etkileşimli İngilizce öğreticisi Kelimeler Alıştırmalar, önermeler Öğrenci puanının en yüksek olması Öğrenciler kümesi medical diagnosis 医療診断 いりょうしんだん satellite image analysis 衛星画像解析 えいせいがぞうかいせき part-picking 部品移動 ぶひんいどう refinery controller 精製機制御装置 せいせいきせいごそうち interactive English tutor 対話的英語教師 たいわてきえいごきょうし symptom 症状 しょうじょう findings 所見 しょけん patient's answers 患者の応答 かんじゃのおうとう pressure 圧力 あつりょうく typed words タイプされた単語列 タイプされたたんごれつ treatment 治療 ちりょう pick up つかみ sort 分類する ぶんるいする valve バルブ adjust 調整 ちょうせい suggestion 示唆 しさ healthy patient 健康人 けんこうじん minimize 最小化 さいしょうか purity 純度 じゅんど image 画像 がぞう conveyor belt コンベアベルト set 集合 しゅうごう
Ortam Türleri Tam gözlem-kısmı gözlem : Zamanın verilmiş diliminde ajanın algılayıcıları tarafından ortamın tüm durumunun gözlemlenmesi mümkün mü? Belirgin (deterministik)-tahmini (stokastik) Belirgin ortam - ortamın sonraki durumu tümüyle şimdiki duruma ve ajanın hareketlerine bağlıdır. Tam erişilebilirlik durumunda belirsizlik yoktur; ortam belirgindir Epizodik (aralıklı, bağlantısız, bölümlü)-ardışık (sıralı) Ajanın yaşamı atomik epizotlara (parçalara) bölünebilir. Epizottaki hareketin seçimi, yalnız epizodun kendisine bağlıdır. Epizot önceki epizotlara bağlı değil environment 環境 かんきょう accessible アクセス可能 アクセスかのう inaccessible アクセス不能 アクセス不能 internal state 内部状態 ないぶじょうたい deterministic 決定的 けっていてき non-deterministic 非決定的 ひけっていてき uncertainty 不確実性 ふかくじつせい episodic エピソード的 エピソードてき non-episodic 非エピソード的 非エピソードてき subsequent 続く つづく independent 影響はない えいきょうはない previous 以前 いぜん
Ortam Türleri (devamı) Statik (durağan)-Dinamik Ajanın karar oluşturduğu (düşündüğü) süreç içinde ortam değişirse bu dinamik ortamdır, değişmezse statik ortamdır. Statik ortamlarda ajanın aralık görüntüleri kaydetmesine gerek yoktur Yarım dinamik: ortam değişmez, ama ajanın başarısı değişe bilir Ayrık-sürekli algılamalar veya hareketler sayılabilirse (ayrık ise) ortam ayrık, sayılamıyorsa süreklidir Satranç ortamı ayrıktır, çünkü her hamlede sınırlı sayıda hareketler var. Tek ajan-çoklu ajan: Tek ajan ortamda kendi başına faaliyette bulunuyor. Çoklu ajanlar işbirliği yapıyorlar. Çok zor ortamlar Erişilebilmezlik, epizodik olmayan, dinamik, sürekli Gerçek ortamlar çoğunlukla öyle karmaşıktır ki, onlara belirli olmayan (non-deterministic) ortam gibi bakılmalıdır static 静的 せいてき dynamic 動的 どうてき deliberating 考えている間 かんがえているあいだ semi-dynamic 準動的 じゅんどうてき performance 振舞い ふるまい discrete 離散的 りさんてき continuous 連続的 れんぞくてき limited number 有限個 ゆうげんこ distinct 区別できる くべつできる clear 明確 めいかく
Ortam Türlerine Örnekler Gözlem Belirgin Epizodik Statik Ayrık Satranç (saatle) E H Y.din. Satranç (saatsiz) Poker Tavla Taksi sürme Tıbbi teşhis Görüntü analiz Parça toplama robotu Rafineri kontrolörü İnt. İng. Öğretici medical diagnosis 医療診断 いりょうしんだん image analysis 画像解析 がぞうかいせき part-picking 部品取り ぶひんとり refinery controller 精製機制御装置 せいせいきせいごそうち interactive English tutor 対話的英語教師 たいわてきえいごきょうし accessible アクセス可能 アクセスかのう deterministic 決定的 けっていてき episodic エピソード的 エピソードてき static 静的 せいてき discrete 離散的 りさんてき
Ortam Programları Ajan programlarını test etmek için çevre simülatörü kullanılır. Simülatörler bir veya daha fazla ajanı giriş olarak alır, her bir ajana doğru algıları ileterek geriye eylemlerini alır. Simülatör ajanların eylemine bağlı olarak çevreyi yeniler. Yenileme işleminde ajan eylemine ek olarak bazı dinamik özellikler de eklenebilir. Bu nedenle çevre başlangıç durumu ve yenileme fonksiyonu ile tanımlanır. Aşağıda çevre simülatör programı görülmektedir
Ortam Programları Simülatör programına her bir ajanın performansını Procedure Run-Çevre (durum, yenile-fn, ajanlar, kesme) girişler: durum, çevrenin ilk durumu yenile-fn, çevreyi yenileme fonksiyonu ajanlar, ajan kümesi kesme, programdan çıkış testi repeat for her ajan do Algı[ajan] Algı-Al(ajan, durum) Eylem[ajan] Program[ajan](Algı[ajan]) durum Yenile-fn(eylemler, ajanlar, durum) until kesme(durum) Simülatör programına her bir ajanın performansını değerlendirecek performans fonksiyonu da eklenebilir.
Ajan Türleri Basit tepki ajanı Model tabanlı ajan Amaca yönelik ajan Faydaya yönelik ajan simple reflex 単純反射 たんじゅんはんしゃ keep track of the world 記憶を持つ きおくをもつ goal-driven ゴール主導 ゴールしゅどう utility-based 効用主導 こうようしゅどう
Basit tepki ajanları Bir kameradan gelen görüntü 50 Mbyte/sn. hızındadır (saniyede 25 çerçeve, her çerçeve 1000*1000 piksel ve her piksel 8 bit renk ve 8 bit yoğunluk bilgisi). Bir saat için gerekli look-up tablosu 260*60*50M girişli olacaktır. Genel giriş çıkış ilişkileri kullanılarak tablo kısaltılabilir. Örneğin öndeki araç fren yaparsa fren lambaları yanar ve sürücü buna dikkat ederek frene basar. Aynı işlem görsel giriş kullanılarak "öndeki araç fren yapıyor" koşulu ile ajan programındaki "fren yap" eylemi ilişkilendirilebilir. Bu ilişkiye koşul-eylem (condition-action) kuralı denir ve aşağıdaki şekilde yazılabilir: EĞER Öndeki_Araç_Frenliyor İSE frenle ( if/then) İnsanlarda benzeri davranışlar bir öğrenmenin sonucunda (araba sürme gibi) veya refleks olarak (kızgın sobadan elin çekilmesi gibi) yapılır. Aşağıda koşul-eylem kuralının ajana algıdan eyleme bağlantıyı nasıl sağladığı görülmektedir.
Koşul-hareket kuralları Basit tepki ajanları ajanın hareketi yalnız şimdiki algılamalara bağlıdır, eski algılamalar dikkate alınmaz algılayıcılar ajan Şimdi dünya nasıldır Ortam Şimdi hangi hareketi yapmalıyım Koşul-hareket kuralları simple reflex 単純反射 たんじゅんはんしゃ summarize parts 共通する部分 きょうつうするぶぶん look-up table 表引き ひょうびき condition-action rule 条件ー動作ルール じょうけんーどうさルール tepkivericiler Koşul-hareket kuralları Örnek: Eğer öndeki araba frenlediyse, o zaman frenlemeği başlat
Basit tepki ajanları function Basit_Tepki_Ajanı(algı) returns hareket static: kurallar /* koşul-hareket kuralları kümesi durum ← Girişi_Yorumla(algı) kural ← Kural_Karşılaştır(durum, kurallar) hareket ← Kural_Hareket[kural] return hareket --------- Basit Refleks Ajanı. Algılamayla tanımlanan mevcut duruma uyan kuralı bularak çalışır. Giriş_Yorumla: Algılanan mevcut durumu soyut olarak tanımlar (abstraction). Kural_Karşılaştır: Kural kümesinde mevcut duruma uyan ilk kuralı verir. Kural_Hareket: Kurala bağlı olarak yapılacak eylemi verir. Uygulama alanı kısıtlıdır efficient implementation 効果的に実装する こうかてきにじっそうする narrow applicability 応用の範囲は狭い おうようのはんいはせまい
2 durumlu elektrik süpürgesi ortamında çalışan basit refleks ajanı için ajan programı function REFLEKS-SÜPÜRGE-AJANI([konum,durum]) returns eylem if durum = Kirli then return Temizle else if konum = A then return Sağ else if konum = B then return Sol
Model tabanlı ajanlar O anki algılamaya bağlı olarak doğru karar verilebiliyor ise basit refleks ajanlar başarılı olabilir. Arabanın arkasında fren lambalarına ek olarak dönüş sinyal lambaları da yer almaktadır. Frene basılıp basılmadığını saptamak için arabanın her iki kenarındaki lambanın kontrol edilmesi gerekmektedir. Bu amaçla bir önceki görüntünün saklanması gerekmektedir. Bir önceki görüntüde her iki lamba sönükse ve o anki görüntüde ikisi de yanıyor ise frene basıldığını söyleyebiliriz. Bu nedenle doğru eylemin seçilebilmesi için bazı bilgilerin saklanması gerekmektedir. Buna iç durum (internal state) adı verilir. Sensörlerden gelen bilgi daha önceki duruma bağlı olarak farklı sonuçlar verebiliyor ise önceki durumun da saklanması gerekir. Dünyanın durumu yalnız o anki girişe değil bir önceki duruma da bakılarak saptanır.
Koşul-hareket kuralları Model tabanlı ajanlar Eğer ajanın gözlemleri tam değilse, dünyanın, şu an göremediği kısmı hakkında bilgilerin saklanması (eski algılara bağlı olan bazı durumların tutulması) çok etkili olabilir. Algılayıcılar ajan Durum Dünya şimdi nasıldır Ortam hareketler şimdi hangi hareketi yapmalıyım keep track of the world 記憶を持つ きおくをもつ internal state 内部状態 ないぶじょうたい maintain 持つ もつ rear-view mirror バックミラー Koşul-hareket kuralları Tepkivericiler Hareketi seçmek için iç durum bellekte tutuluyor Algılayıcılar tüm dünya durumuna erişimi sağlayamıyor
Model tabanlı ajanlar İçsel durum bilgisinin zamanla güncellenmesi, iki tip bilginin ajan programında kodlanmasını gerektirir: dünyanın ajandan bağımsız olarak nasıl geliştiği hakkında bir miktar bilgi ve ajanın eylemlerinin dünyayı nasıl etkilediği hakkında bir miktar bilgi. “Dünyanın nasıl işlediği” hakkındaki bu bilgi, dünyanın modeli olarak adlandırılır. Bu tip bir model kullanan ajanlar ise model tabanlı ajanlar olarak adlandırılır.
Model Tabanlı Ajanlar (2) function Model_Tabanlı_Ajan(algı) returns hareket static: durum, mevcut dünyanın durumunu tanımlar kurallar, koşul-hareket kuralları kümesi durum ← Durum_Güncelle(durum, hareket, algı) kural ← Kural_Karşılaştır(durum, kurallar) hareket ← Kural_Hareket[kural] durum ← Durum_Güncelle(durum, hareket) return hareket Durum-güncelleme- yeni dünya durumları oluşturuluyor Ddünya oluşumları bellekte tutuluyor description 記述 きじゅつ condition-action rule 条件ー動作ルール じょうけんーどうさルール
Amaca yönelik Ajanlar Ortamın şu andaki durumunu bilmek, ne yapılacağına karar vermek için her zaman yeterli değildir. Bazen ajan, şu andaki durum betimlemesi gibi, istenen durumları betimleyen bir tür hedef bilgisine ihtiyaç duyar. Arama ve planlama Yapay Zeka’nın, ajanın hedeflerine ulaşmasını sağlayan eylem serilerini bulmaya adanmış alt alanlarıdır. Bu tip bir karar verme, daha önceden bahsedilen koşul-eylem kurallarından, geleceği de hesaba kattığı için temelde farklıdır.
Bu şekilde karar verme daha önce anlatılan koşul-eylem kurallarından temel olarak farklıdır. Refleks ajan fren lambasını gördüğü zaman fren yapar. Amaç tabanlı ajan ise öndeki aracın fren lambaları yandığı zaman onun yavaşlayacağını çıkarır. Öndeki araca çarpmama amacını gerçekleştirecek eylem ise fren yapmaktır. Her ne kadar amaç tabanlı ajan etkin görünmese de esnektir. Örneğin yağış başladığı zaman frenlerin etkin bir şekilde kullanılabilmesi için bilgisini yenileyebilir. Diğer yandan refleks ajan için çok sayıda koşul-eylem kuralı yazmak gerekir. Amaç tabanlı ajanlarda amacı değiştirerek farklı noktalara erişmek mümkündür. Refleks ajanlar ise sadece bir noktaya giderler.
Amaca yönelik ajanlar Amaç bilgisi Hangi durumlar arzu edilendir? Örnek: müşterinin adrese ulaşması Mümkün hareketleri sonuçları ile birleştirmek Bazı zamanlarda tek hareket, bazı zamanlarda hareketler ardışıklığı Geleceği dikkate almak Ne olacak? Beni mutlu edecek bir şeyler olacak mı? Koşul-hareket kurallarından daha esnek Ortam değiştikte bilgilerin güncellenmesi daha kolaydır Örnek: yağmurda frenleme goal-based ゴール主導 ゴールしゅどう desirable 好ましい このましい passenger 乗客 じょうきゃく destination 目的地 もくてきち possible actions 可能な動作 かのうなどうさ combine 組み合わせる くみあわせる results 効果 こうか consideration 考慮 こうりょ flexible 融通がきく ゆうずうがきく
Amaca yönelik ajanlar ajan Ortam Amaçlar algılayıcılar durum Dünya şimdi nasıldır Dünya nasıl değişiyor Benim hareketlerim nasıl olmalıdır hareketi yapmış olsam ne olacak Ortam Şimdi hangi hareketi yapmalıyım Amaçlar tepkivericiler
Yarara (faydaya) yönelik ajanlar Hedefler sadece “mutlu” ve “mutsuz” durumları arasında ikili kaba bir ayrım sağlarken, daha genel bir başarım ölçütü, erişildiklerinde farklı dünya durumlarının ajanı nasıl mutlu edeceğinin karşılaştırılmasına izin vermelidir. “Mutlu” terimi, kulağa fazla bilimsel gelmemektedir. Geleneksel terminoloji, bir dünya durumu diğerine tercih ediliyorsa, onun ajan için daha faydalı olduğunu söyler. Bir fayda fonksiyonu, bir durumu (veya bir durum serisini) mutluluk derecesini betimleyen bir gerçel sayıya eşler.
Yarara yönelik ajanlar Amaçlara farklı yollarla ulaşılabiliyor Bu yollardan hangisi daha arzu edilendir? Dünya durumlarının faydası Amaca ulaştıkta ajan ne kadar mutlu olacak? Durumu gerçek sayıya dönüştürmeli Amaca dayalı ajanın yapamadığı mantıklı kararlara izin veriyor Yalnız birisine ulaşmak mümkün olan zıt amaçlar Kesin olarak hiç birisine ulaşılamayacak birkaç amaç Her mantıklı ajanın fayda fonksiyonu vardır Belirgin fayda fonksiyonunun kullanılması Bazı hallerde yalnız amaçların verilmesi daha iyi sonuçlar doğurabilir utility-based 効用主導 こうようしゅどう desirable 好ましい このましい happy 幸せ しあわせ real number 実数 じっすう rational decision 合理的決定 ごうりてきけってい conflicting 矛盾する むじゅんする achieve 達成する たっせいする certainty 確実 かくじつ utility function 効用関数 こうようかんすう explicit 明示的 めいじてき
Yarara yönelik ajanlar algılayıcılar durum Dünya şimdi nasıldır hareketler Ben bu hareketi yapsam dünya nasıl olacak ORTAM Bu durumda ben ne kadar mutlu olacağım Fayda Şimdi hangi hareketi yapmalıyım Tepkiverici
Öğrenen ajanlar Turing (1950), akıllı makinelerini gerçekten elle programlama fikrini düşünmüştür. Bunun ne kadar emek gerektirdiğini tahmin ederek “Daha hızlı bazı yöntemlere ihtiyaç var” demiştir. Bu, ajanın başlangıçta bilinmeyen ortamlarda çalışmasını ve sadece başlangıç bilgisinin izin vereceği durumdan daha yetenekli hale gelmesini sağlar.
Öğrenen ajanlar Öğrenen bir ajan dört kavramsal bileşene ayrılabilir: Öğrenme Bileşeni Başarım Bileşeni Eleştirmen Problem Oluşturucu
Öğrenen ajanlar En önemli ayrım, gelişmeyi sağlamaktan sorumlu öğrenme bileşeni ile dışsal eylemlerin seçiminden sorumlu başarım bileşeni arasındadır. Başarım bileşeni, önceden ajanın bütünü olarak ele aldığımız şeydir: duyumları alır ve eylemlere karar verir. Öğrenme bileşeni, eleştirmenden gelen ve ajanın ne kadar iyi olduğunu gösteren geri beslemeyi kullanarak, gelecekte daha iyi olması için başarım bileşeninin nasıl değiştirilmesi gerektiğine karar verir. Problem oluşturucu, yeni ve bilgilendirici tecrübelere yol açacak eylemler önerilmesinden sorumludur.
Öğrenen ajanlar ajan ORTAM algılayıcılar Eleştirmen Öğrenme bileşeni icra standardı ajan algılayıcılar Eleştirmen Geri dönüşüm bilgi Başarım bileşeni ORTAM Öğrenme bileşeni değişimler Öğrenme amacı Problem oluşturucu Tepkiverici
Ö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.
Ö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.