Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanSi̇mge Koçak Değiştirilmiş 8 yıl önce
1
UBI 622 ÇOK-ETMENLİ SİSTEMLER YAZILIM ETMENLERİ (BÖLÜM 2) Doç. Dr. Geylani KARDAŞ geylani.kardas@ege.edu.tr
2
2 İçerik Etmen Mimarileri Çok-etmenli Sistemler Çok-etmenli Sistemlerde İletişim Çok-etmenli Sistemlerde Etkileşim ve İşbirliği
3
3 Etmen Mimarileri Etmen mimarileri, etmenlerin içsel yapısı ve işleyişine ilişkin olarak bir etmenin: karar verme sürecinin türü ve işleyişi, bulunduğu ortama ilişkin bilginin gösterimi, kullandığı veri yapıları, kullandığı veri yapıları üzerinde uygulanabilecek işlemleri ve veri yapıları arasındaki kontrol akışının düzenlenmesi unsurlarını belirlemektedir.
4
4 Etmen Mimarileri Etmen – çevre etkileşimi: (Vidal et al., 2001)
5
5 Etmen Mimarileri Girdilerin sınıflandırılması: (Vidal et al., 2001)
6
6 Etmen Mimarileri Örnek etmen mimarileri: Karşıt-eylemli Mimariler – Reactive Architectures Kanı-İstek-Hedef (KİH) Mimarileri - Belief- Desire-Intention (BDI) Architectures
7
7 Karşıt-eylemli (Reactive) Mimariler Davranışçı yapay zeka yaklaşımı: Etmen davranışının etmenin ortam ile etkileşiminde bulunan basit davranışlar bütününden doğduğu düşüncesine dayanır. Karşıt-eylemli mimariler ortamdan elde edilen algılara göre davranışta bulunma yaklaşımını içerirler. Bir karşıt-eylemli etmen aday davranışlar arasından birisini seçerek bu davranışın gerektirdiği eylemleri başlatmaktadır. Aday davranışlar arasından birisinin seçilebilmesi için bir seçme veya karar verme fonksiyonunun işletilmesi gerekir.
8
8 Karşıt-eylemli (Reactive) Mimariler Nispeten kolay bir etmen tasarımı: Etmenin, içinde bulunduğu ortamın durumuna (state) ait bilgiyi muhafaza etmemesi (maintain) ve basitçe o anki algılara tepki vermesi “Karşıt eylemli etmenler sadece belli bir davranışlar kümesidir ve önerilen tasarım, bir davranışlar (ya da planlar) koleksiyonunu ve bu davranışlardan uygun olan bir tanesinin seçilmesini içermektedir.” (Vidal et al., 2001).
9
9 Karşıt-eylemli (Reactive) Mimariler Örnek bir karşıt-eylemli etmen mimarisi (Vidal et al., 2001): Nesne tabanlı yaklaşımda nesnelerin bir koleksiyonda tutulması sistem geliştiricisine hareket (action) seçimi ile ilgili yazılımı değiştirmeden davranış ekleme veya çıkarmayı sağlamaktadır. Bir “iterator” yardımı ile davranış listesi taranabilir ve ortama uyan davranış seçilebilir. Buradaki eylem (action) seçme döngüsü getAction metodunun O(n) zamanında çalışması yüzünden - ki burada n davranış sayısıdır – olması gerekenden daha az etkin durumda olabilir. Daha iyi bir gerçekleştirim ise, örneğin karar ağaçları kullanılarak O(log n) veya donanım veya paralel işleme kullanılarak O(1) işlem zamanlarını elde edebilir. Kullanıcı her ortama karşılık gelecek en az bir davranış sağlamakla yükümlüdür. Bu, bütün girdilere uyan ancak diğer uygun davranışlar tarafından engellenebilen (“inhibit”) bir varsayılan (“default”) davranış tanımlama ile gerçekleştirilebilir.
10
10 Kanı-İstek-Hedef (KİH) Mimarileri Kanı-İstek-Hedef (KİH) mimarileri : Etmenler: hem ortama ilişkin bilgiyi modellemekte ve planlama yaparak amaç-yönelimli davranışta bulunabilmekte hem de ortamdan elde ettiği algılar çerçevesinde gerektiğinde yeniden planlama yapabilmektedirler. Amaç-yönelimlilik ve karşıt-eylemlilik bir arada
11
11 Kanı- İstek- Hedef (KİH) Mimarileri Örnek bir KİH mimarisi (Vidal et al., 2001):
12
12 Kanı-İstek-Hedef (KİH) Mimarileri Örnek KİH mimarisindeki iş-parçacığı döngüleri (Vidal et al., 2001):
13
13 Çok-etmenli Sistemler (ÇES) Tek bir etmenin yalnız başına kendi bilgi ve bireysel yeteneklerini kullanarak çözemediği veya etkin bir biçimde çözemeyeceğini düşündüğü problemleri, birbiriyle işbirliği yaparak eşgüdümlü bir biçimde çözmek için bir araya gelen etmenlerin oluşturduğu sistemler (Weiss, 1999) ÇES’ler bünyesinde etmenlerin birbirleri ile olan etkileşimleri bencil veya işbirlikçi bir yapıda olabilir (Sycara, 1998). Etmenler: ortak bir amacı paylaşabilir ya da serbest piyasa ekonomisinde olduğu gibi kendi çıkarlarının takipçisi olabilirler
14
14 Çok-etmenli Sistemler (ÇES) Foundation for Intelligent Physical Agents (FIPA): ÇESler arasındaki birlikte-çalışabilirliği (“interoperability”) en üst düzeye çıkartmak için evrensel standartlar ortaya koymak amacı ile kurulan, kar amacı gütmeyen bir topluluk 2005’te IEEE’nin 11. standartlaşma komitesi olarak kabul edilmiştir. FIPA ve tanımladığı ÇES tanımlamaları için: http://www.fipa.org http://www.fipa.org
15
15 Çok-etmenli Sistemler (ÇES) FIPA tanımlamalarının standart haline gelmiş olanlarından bazıları: Soyut Mimari Tanımlaması (“Abstract Architecture Specification”) Etmen Yönetimi Tanımlaması (“Agent Management Specification”) Etmen İletişim Dili (“Agent Communication Language – ACL”) Mesaj Yapısı Tanımlaması (“ACL Message Structure Specification”) Etmen Mesaj Taşıma Servisi Tanımlaması (“Agent Message Transport Service Specification”)
16
16 FIPA Soyut Mimari Tanımlaması ÇES’lere ait temel elemanlar ve bunların arasındaki ilişkileri tanımlar. Amaç farklı ileti taşıma protokolleri, farklı etmen iletişim dilleri ve farklı içerik dilleri kullanan etmenler arasında anlamlı ileti alışverişini sağlamaktır. Soyut mimarinin sundukları: Bir servis modeli ve servislerin etmenler tarafından keşfi Mesaj taşıma birlikte işlerliği Çeşitli ACL gösterimlerinin desteklenmesi Çeşitli içerik dillerinin desteklenmesi Çeşitli servis dizini (“directory of services”) gösterimlerinin desteklenmesi
17
17 FIPA Soyut Mimari Tanımlaması Soyut mimari doğrudan uygulamaya geçirilemez ancak bu mimariye dayanan çeşitli somut mimariler ortaya konabilir:
18
18 FIPA Soyut Mimari Tanımlaması Bir etmenin ilgili dizin servisine kayıtlanması: Bir etmenin diğer etmenler tarafından keşfedilmesi:
19
19 FIPA Soyut Mimari Tanımlaması Temel Etmen İlişkilerine ait UML diyagramı: Transport-Message İlişkilerine ait UML diyagramı:
20
20 FIPA Soyut Mimari Tanımlaması Agent-directory-entry ve Agent-locator İlişkilerine ait UML diyagramı : Service-directory-entry ve Service-locator İlişkilerine ait UML diyagramı:
21
21 FIPA Soyut Mimari Tanımlaması Mesaj elemanlarına ait UML diyagramı : Message-Transport elemanlarına ait UML diyagramı:
22
22 FIPA Etmen Yönetimi Tanımlaması FIPA etmenlerinin yaşaması ve çalışmasına yönelik standart bir çerçeve sunar. Etmenlerin oluşturulması kayıtlanması yerleşimi iletişimi göç etmesi işlevinin sonlanması için mantıksal bir referans modeli kurar.
23
23 FIPA Etmen Yönetimi Tanımlaması Etmen Yönetimi Referans Modeli:
24
24 FIPA Etmen Yönetimi Tanımlaması Referans modelin tanımladığı mantıksal bileşenler: Etmen: Özerk ve iletişim yeteneğine sahip etmen platformunun (“agent platform – AP”) temel aktörü Kendisini etiketleyen bir “Agent Identifier” (AID)’ye sahip Dizin Kolaylaştırıcı (“Director Facilitator – DF”): AP’nin seçimlik bileşeni Eğer uygulamaya geçirilecek olursa DF servisi olarak platforma dahil edilmeli Platform etmenlerine sarı sayfa hizmeti sunar Etmenler servislerini DF’e kaydeder ve diğer etmen servislerini bulmak için DF’te sorgu gerçekleştirirler Platformda koordineli bir şekilde çalışan birden fazla DF olabilir
25
25 FIPA Etmen Yönetimi Tanımlaması Referans modelin tanımladığı mantıksal bileşenler: Etmen Yönetim Sistemi (“Agent Management System - AMS”): Platforma ait zorunlu bir bileşen Platforma erişimi ve kullanımı sağlar Her platformda sadece bir tane bulunabilir AP’ye kayıtlanmış etmenler için taşıma adreslerini içeren bir AID dizinine sahiptir Platform etmenlerine beyaz sayfa hizmeti sunar Her etmen geçerli bir AID almak için AMS’ye kayıtlanmalıdır Mesaj Taşıma Servisi (“Message Transport Service - MTS”): Aynı ve farklı AP’lerdeki etmenlerin varsayılan iletişim metodudur Tüm FIPA etmenlerinin en az bir MTS’ye erişim hakkı vardır
26
26 FIPA Etmen Yönetimi Tanımlaması Referans modelin tanımladığı mantıksal bileşenler: Etmen Platformu (“Agent Platform - AP”): Etmenlerin yerleştirileceği fiziksel altyapıyı sunar. AP içeriği: Makineler İşletim sistemi Etmen destek yazılımları FIPA etmen yönetim bileşenleri (DF, AMS, MTS) Etmenler AP iç tasarımı etmen geliştiricilere ait AP bünyesindeki tüm etmenlerin aynı makinede olmasına gerek yoktur Yazılım: Etmen olmayan ancak etmenlerin kullanabileceği işletilebilir komut kümeleridir Yazılımlar etmenler tarafından yeni servis eklemek, yeni iletişim ve güvenlik protokollerini elde etmek veya platformlar arası göç etmeyi sağlayacak araçları elde etmek için kullanılabilirler
27
27 Çok-Etmenli Sistemlerde İletişim Çok-etmenli sistemde yer alan etmenlerin işbirliği yapabilmeleri için birbiriyle iletişimde bulunabilmesi gerekmektedir. Ancak sadece bir etmen iletişim dilinin tasarlanması ve bu dile dayanan protokol kümesinin tanımlanması etmenlerin iletişimi için yeterli değildir. İletilerin içeriklerinde bulunan kelimelerin hangi anlamlarda kullanıldıklarının da bilinmesi gerekmektedir. Aksi durumda, iletilerin hem gönderici hem de alıcı taraflarda aynı biçimde anlaşılması olası olmayacaktır. İletinin hem gönderici hem de alıcı taraflarda aynı biçimde anlaşılması ontolojiler (ontology) ile sağlanmaktadır.
28
28 Çok-Etmenli Sistemlerde İletişim Bildirimsel (“Declarative”) Tabanlı Etmen İletişim Dilleri: İletiyi gönderen etmen iletiyi alan etmenin yapmasını istediği eylemi iletinin işletimsel (“performative”) olarak adlandırılan bölümünde belirtmektedir. İletiyi alan etmen, işletimsel kısmına bakarak kendisinden ne tür bir eylem istendiğini anlamakta ve buna bağlı olarak davranışta bulunmaktadır. Konuşma-Edin Kuramı (“Speech-Act Theory”) Bildirimsel tabanlı diller bu kurama dayanır.
29
29 Çok-Etmenli Sistemlerde İletişim Konuşma-Edin Kuramı: İnsanların iletişim amacıyla kullandığı dilleri eylemler topluluğu olarak görmektedir. Eylem örnekleri: İstekte bulunma, sorgulama, öneride bulunma, belirtim, tanımlama, betimleme, emir verme, söz verme, yanıt verme Bir konuşma-edininde üç boyut bulunmaktadır: Söylemin biçimi (“locution”) Söylemin anlamı (“illocution”) Söylemin eylemi (“perlocution”) Dinleyici, her söylem sonucunda bir eylemde bulunmak zorunda değildir. Eylemi yerine getirip getirmemeye kendi kanı ve bilgileri doğrultusunda karar vermektedir.
30
30 Çok-Etmenli Sistemlerde İletişim Konuşma-edin kuramına dayanan etmen iletişim dilleri: Knowledge Query and Manipulation Language (KQML) (Finin et al., 1997) FIPA ACL Her iki dilin de söz dizimi aynıdır. LISP benzeri parantezli gösterim İleti adlandırmaları: KQML iletileri: işletimsel (“performative”) FIPA ACL iletileri: iletişimsel edinler (“communicative acts”) KQML’nin yönetimsel türdeki işletimselleri FIPA ACL’de yoktur. KQML "ADVERTISE", "REGISTER", "BROKER“ FIPA ACL “REQUEST” KQML dilindeki bazı işletimseller FIPA ACL'de farklı bir kelime ile ifade edilmektedir. KQML “TELL” FIPA ACL “INFORM”
31
31 FIPA ACL Belirli bir içerik diline bağlı değildir. Ancak yine FIPA ACL tarafından tanımlanan ve Anlambilim Dili (“Semantic Language – SL”) adı verilen bir içerik dilinin kullanımını önermektedir. FIPA ACL dili mesaj yapısı için: FIPA ACL Message Structure Specification FIPA ACL iletişimler edinleri için: FIPA Communicative Act Library Specification FIPA ACL iletilerinin kısımları: “Envelope”: İleti aktarım ayrıntıları “Payload”: İletinin içerik kısmı, işletimsel (“performative”) ve işletimsele ait diğer parametreler
32
32 FIPA ACL “Envelope” parametreleri: Parameter Description toIf no intended-receiver parameter is present, then the information in this parameter is used to generate intended-receiver field for the messages the ACC subsequently forwards. fromIf required, the ACC returns error and confirmation messages to the agent specified in this parameter. commentsNone. acl-representationNone. This information is intended for the final recipient of the message. payload-lengthThe ACC may use this information to improve parsing efficiency. payload-encodingNone. This information is intended for the final recipient of the message. dateNone. This information is intended for the final recipient of the message. intended-receiverAn ACC uses this parameter to determine where this instance of a message should be sent. If this parameter is not provided, then the first ACC to receive the message should generate an intended-receiver parameter using the to parameter. receivedA new received parameter is added to the envelope by each ACC that the message passes through. Each ACC handling a message must add a completed received parameter. If an ACC receives a message it has already stamped, it is free to discard the message without any need to generate an error message. transport- behaviour Reserved for future use. ACC: Agent Communication Channel
33
33 FIPA ACL “Payload” (“FIPA ACL Message”) parametreleri: Parameter Category of Parameters performative Type of communicative acts sender Participant in communication receiver Participant in communication reply-to Participant in communication content Content of message language Description of Content encoding Description of Content ontology Description of Content protocol Control of conversation conversation-id Control of conversation reply-with Control of conversation in-reply-to Control of conversation reply-by Control of conversation
34
34 FIPA ACL
35
35 FIPA ACL Bir FIPA ACL ileti örneği: Bir etmenin kendini AMS etmenine kaydettirdiği iletiye ilişkin "payload" kısmı
36
36 FIPA ACL Etmenlerin mesaj alışverişleri sırasında farklı protokollere göre adreslenmesi: Her etmenin tek bir “agent-name”’i olmasına karşın birden fazla “transport-description”’ı olabilir. Her “transport-description”’ı farklı ileti taşıma (“transport”) formuna sahip olabilir. Örneğin IIOP, SMTP veya HTTP gibi transport: ileti transferi için bir mekanizma transport-message: kullanılan “transport” formatına uygun ve bir etmenden başka bir etmene gönderilen bir ileti. agent-locator’da bir dizi “transport-description” yer alabilir. HTTP veya SMTP “transport”’ları ile adreslenebilen ABC adlı bir etmen tanımı:
37
37 FIPA ACL Etmenlerin mesaj alışverişleri sırasında farklı protokollere göre adreslenmesi: Aynı etmen için iki farklı “transport- message”
38
38 Çok Etmenli Sistemlerde Etkileşim ve İşbirliği Etmenlerin görevlerini yerine getirmek istediklerinde diğer etmenlerle etkileşime girme ihtiyacı Bazı durumlarda bir etmen alt görevlerinden bir veya birkaçını o görevleri yerine getirebilme yeteneği daha fazla olan etmenlere aktarma yoluna gitmektedir. Alt görevlerin dağıtıldığı etmenlerden sonuçlar toplanıp, birleştirilir. Böylece, çok-etmenli sistemde yer alan etmenler problemlerin çözümünde işbirliği içinde çalışmış olmaktadırlar. ÇES’lerde görev dağıtımı için çeşitli yaklaşımlar : Pazar modeli dayalı Sorumluluk tabanlı görev dağıtımlı Etmen kuruluşları
39
39 Çok Etmenli Sistemlerde Etkileşim ve İşbirliği Pazar modeline dayanan yaklaşımlar: En çok bilineni: Anlaşma Ağı (“Contract Net”) Protokolü Bir görevin yerine getirilmesini isteyen etmen: "yönetici" (“manager”) Görevi yerine getirebilecek yetenekte olan etmenler: "anlaşmacı" (“contractor”) Yönetici açısından protokol adımları: Yapılması istenen bir görevin duyurulması Olası anlaşmacı etmenlerden önerilerin (“bid”) alınması ve değerlendirilmesi Uygun bir anlaşmacı etmen ile anlaşmanın yapılması ve görevin anlaşma yapılan etmene iletilmesi Sonuçların alınması, birleştirilmesi
40
40 Çok Etmenli Sistemlerde Etkileşim ve İşbirliği Pazar modeline dayanan yaklaşımlar: Anlaşmacı etmenler açısından protokol adımları: Görev duyurularının alınması Yetenekler çerçevesinde görevin yerine getirilip getirilemeyeceğine karar vermek Eğer görev yerine getirilebilecek ise öneride bulunmak, tersi durumda yapamayacağını bildirmek Önerinin yönetici etmen tarafından kabul edilmesi durumunda görevi yerine getirmek Sonuçları yönetici etmene döndürmek
41
41 Çok Etmenli Sistemlerde Etkileşim ve İşbirliği Pazar modeline dayanan yaklaşımlar: Anlaşma ağı protokolü: a)Görev duyuruları, b)Önerilerin iletimi, c)Anlaşılan etmene görevin iletilmesi
42
42 Çok Etmenli Sistemlerde Etkileşim ve İşbirliği Pazar modeline dayanan yaklaşımlar: FIPA Anlaşma Ağı Etkileşim Protokolü (“Contract Net Interaction Protocol”): Yönetici The Initiator Agent Anlaşmacılar The Participant Agents Üzerinde anlaşılacak görev / hizmet karakteristikleri: En ucuz fiyat En kısa sürede görevi tamamlama Görevin en uygun şekilde dağıtılması, vb. Verilen bir görev için herhangi sayıda “participant” öneriye cevap verebilir. Cevap veren “participant”’lar ile “görüşmeler (“negotiation”)” devam eder.
43
43 Çok Etmenli Sistemlerde Etkileşim ve İşbirliği Pazar modeline dayanan yaklaşımlar: FIPA Anlaşma Ağı Etkileşim Protokolü:
44
44 Çok Etmenli Sistemlerde Etkileşim ve İşbirliği Pazar modeline dayanan yaklaşımlar: Anlaşma ağı dışında pazar modeli tabanlı başka protokoller: Örneğin “Auction” mantığına dayalı protokoller English Auction En yüksek “winner’s curse” Dutch Auction First-price Auction En yüksek “winner’s curse” Vickrey Auction Daha düşük “winner’s curse” “Auction” modelleri ve etmen ticaret sistemleri için ayrıntılı bilgi: Youyong Zou’nun doktora tezi (Zou, 2004)
45
45 Çok Etmenli Sistemlerde Etkileşim ve İşbirliği Sorumluluk tabanlı görev dağıtımına dayanan yaklaşımlar: Bu tür görev dağıtımında, her etmene belli görevler çerçevesinde belli sorumluluklar verilmektedir. Bu sorumluluklar, çok-etmenli sistemin tasarımı sırasında belirlenip, sistemin işleyişine başlaması sırasında planlar biçiminde her bir etmene yüklenebilmektedir.
46
46 Çok Etmenli Sistemlerde Etkileşim ve İşbirliği Etmen Kuruluşları (“Agent Organizations”) (Erdur, 2001): Ara Etmen (“Middle Agent”) kavramı: Farklı yetenekleri olan etmenlerin dinamik olarak katılıp, ayrılabildiği açık ortamlarda, işbirliği içinde ve eşgüdümlü çalışmayı sağlayabilmek için etmenlerin birbirlerini kolayca bulup, birbirlerinin yeteneklerini öğrenebilecekleri yapıları temsil eden etmenler Değişik türde ara etmenlerin kullanımına dayanan farklı etmen kuruluşları bulunmaktadır. Etmen kuruluşlarının literatürde en çok kullanılanları: Eşleme (“Matchmaker”) Etmeni tabanlı kuruluşlar Aracı (“Broker”) Etmen tabanlı kuruluşlar
47
47 Çok Etmenli Sistemlerde Etkileşim ve İşbirliği Etmen Kuruluşları (“Agent Organizations”) (Erdur, 2001): Eşleme Etmeni tabanlı kuruluşlar: Tüm etmenler yeteneklerini eşleme etmeni adı verilen ara etmene bildirir. Herhangi bir etmen, belli bir konuda sorgulara yanıt verebilecek etmenler aradığında eşleme etmenine başvurur. Eşleme etmeni, bilgi tabanını tarayarak sorguyu yanıtlayabilecek yetenekte olan etmenlerin isim ve adreslerini ilgili etmene yanıt olarak döndürür. İlgili etmen, eşleme etmeninin bildirdiği etmen isimlerinden bir veya birden fazlasını seçerek bu etmenlere bağlanmak yoluyla sorgularını gönderir.
48
48 Çok Etmenli Sistemlerde Etkileşim ve İşbirliği Etmen Kuruluşları (“Agent Organizations”) (Erdur, 2001): Eşleme Etmeni tabanlı kuruluşlar:
49
49 Çok Etmenli Sistemlerde Etkileşim ve İşbirliği Etmen Kuruluşları (“Agent Organizations”) (Erdur, 2001): Aracı Etmen tabanlı kuruluşlar Etmenler yeteneklerini “Aracı" adı verilen ara etmene bildirmektedir. Eşleme etmeni tabanlı kuruluşlardan farklı olarak, aracı etmen sorguları yanıtlayabilecek yetenekteki etmenleri bulur onlara bağlantıyı kendisi sağlar yanıtları alır ve istemci durumundaki etmenlere döndürür
50
50 Çok Etmenli Sistemlerde Etkileşim ve İşbirliği Etmen Kuruluşları (“Agent Organizations”) (Erdur, 2001): Aracı Etmen tabanlı kuruluşlar:
51
51 Kaynaklar Erdur, R. C., 2001, “Çok-Etmenli Sistemler”, Etmen Tabanlı Yazılım Geliştirme dersi notları, Ege Üniversitesi Bilgisayar Mühendisliği Bölümü, Bornova, İzmir, 26 s. Finin, T., Labrou, Y. and Mayfield, J. (1997), “KQML as an agent communication language”, 291-316, Software Agents, Bradshaw, J.M. (Ed.), AAAI Press/MIT Press, 479p. Sycara, K. (1998), “Multiagent Systems”, AI Magazine, Vol. 19, Issue 4, pp. 79-92. Vidal, M., Buhler, P. A. and Huhns, M. N. (2001), “Inside an Agent”, IEEE Internet Computing, Vol. 5, Issue 1, pp. 82-86. Weiss, G. (1999), “Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence”, MIT Press, USA, 619p. Zou, Y. (2004), “Agent-based Services for the Semantic Web”, Ph.D. Dissertation, University of Maryland, USA, 227p.
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.