Целта на многоагентните системи (MAS) е да координират независими процеси. Агентът е компютърен обект под формата на програма или робот. Агентът може да се счита за автономен, защото е в състояние да се адаптира, когато средата му се промени. MAC се състои от набор от компютърни процеси, които се случват по едно и също време и съществуват по едно и също време, споделят общи ресурси и комуникират помежду си. Ключовият проблем в MAC е формализирането на координацията между агентите.
Дефиниране на системи с множество агенти
MAC е перспективен подход към разработването на софтуер за приложения в сложни домейни, където взаимодействащите компоненти на приложението са автономни и разпределени, работят в динамична и несигурна среда, трябва да спазват някои организационни правила и закони и могат да се присъединяват и напускат система с множество агенти по време на изпълнение.
Примери за такива приложения са системи, коитоуправлява и оптимизира производството и разпределението на електроенергия между потребителите или системи, които оптимално планират товарите в транспортните системи. Разработването на многоагентни системи изисква създаването на отделни агенти, организации и среди.
Програмните езици предоставят програмни конструкции за внедряване на отделни агенти по отношение на социални и когнитивни концепции като информация, цели, опции, норми, емоции и правила за вземане на решения.
Многоагентните организации от гледна точка на социални и организационни концепции имат роли, надарени с норми, комуникационни протоколи, ресурси, които подлежат на наблюдение. Разработените езици и рамки за програмиране се използват за създаване на базирани на агенти симулации за много индустрии на непрекъснато производство: електроенергия, металургия, здравеопазване, интернет, транспорт, управление на трафика и сериозни игри.
MAS се различават от системите с един агент по това, че имат няколко агента, които моделират целите и действията на другия. В общ сценарий може да има пряко взаимодействие между агентите. От гледна точка на един агент, многоагентните системи се различават най-съществено от системите с един агент по това, че динамиката на средата може да се определя от други агенти. В допълнение към несигурността, която може да бъде присъща на домейна, други агенти умишлено влияят върху околната среда по непредвидими начини.
По този начин всички MAC могат да се считат за притежаващи динамична среда, което е типично за съвременнитемногоагентни системи. Може да има произволен брой агенти с различна степен на хетерогенност, със или без възможност за директна комуникация.
MAS архитектура
Агентите трябва да бъдат оборудвани с когнитивен модел:
- убеждения;
- пожелания;
- намерения.
От една страна той чете "Верования" за околната среда, които са резултат от неговите знания и възприятия, а от друга - набор от "Желания". Пресичането на тези два набора води до нов набор от „намерения“, които след това се превеждат директно в действия.
Агентите трябва да имат комуникационна система. Има няколко специализирани езика за тази цел: Language Query and Manipulation Language (KQML). Наскоро беше разпространен стандартът FIPA-ACL, създаден от FIPA Foundation for Intelligent Physical Agents. Този последен принцип за изграждане на мултиагентни системи се основава на теорията за речеви актове.
Проблемът с адаптацията е труден въпрос, който в момента е обект на много изследвания. Може да се даде пример за някои вируси, както биологични, така и компютърни, способни да се адаптират към мутантна среда.
Накрая, ефективното внедряване на MAC, макар и да не е част от системната архитектура, заслужава внимание в многото езици за програмиране, които са разработени за изучаване на изкуствен интелект. По-специално се споменава езикът LISP. Тези архитектурни елементи се прилагат към система, състояща се от когнитивниагенти.
Категории или модели на агенти
Класификацията на агентите се основава на два критерия: когнитивни агенти или реагенти, които проявяват, от една страна, телеономично поведение или рефлекс. Разграничението, което може да се направи между когнитивно и реактивно, е по същество представяне на света, достъпен за агента. Ако индивидът е надарен със "символично представяне" на света, от което може да формулира разсъждения, тогава се говори за когнитивен агент, докато ако той има само "подсимволно представяне", тоест ограничено до неговите възприятия, говори се за реактивен агент. Това когнитивно и реактивно разграничение съответства на две теоретични школи на многоагентни системи.
Първата подкрепя фундаменталния подход на "умните" агенти за сътрудничество от социологическа гледна точка. Във втория се изследва възможността за възникване на „умно“поведение на набор от неинтелигентни агенти (тип мравка). Втората разлика между поведенческото поведение и рефлекса разделя преднамереното поведение, преследването на изрични цели, от перцептивното поведение. По този начин тенденциите на агентите могат да бъдат изрично изразени в агенти или, обратно, да идват от околната среда. Таблица, групираща различни видове агенти:
- Когнитивни агенти.
- Реактивни агенти.
- Теленомично поведение.
- Умишлени агенти.
- Управлявани агенти.
- Рефлексно поведение.
- Агенти "модули".
- Тропически агенти.
Когнитивните агенти са предимно умишлени, т.е.те имат фиксирани цели, които се опитват да постигнат. Въпреки това, понякога се използват агенти, наречени модули, които имат представа за своята "вселена" без конкретни цели. Те биха могли да служат например за отговор на въпроси от други агенти във „вселената“.
Реагентите могат да бъдат разделени на актуатори и тропически агенти. Инстинктивният агент ще има фиксирана мисия и ще задейства поведение, ако види, че средата вече не отговаря на възложената му цел. Тропическият агент реагира само на локалното състояние на околната среда, например ако има светлина, тогава той работи. Източникът на мотивация във вътрешния случай на управляващите агенти, които имат „мисия“се отнася само до околната среда.
Организационни парадигми
С развитието на такива системи са разработени различни организационни парадигми. Тези структури на многоагентни системи задават рамката за взаимоотношенията и взаимодействията между агентите.
Йерархии. В този модел агентите са йерархични според дървовидна структура, в която всеки възел е агент и има връзка за разрешение на своите дъщерни възли. Този модел разрушава цялостната цел на системата.
Холархията се приближава към йерархията. Няма правомощия между агент и неговата подгрупа.
Коалицията е временен съюз на агенти, които се събират и си сътрудничат, защото личните им интереси се срещат. Стойността на коалицията трябва да е по-голяма от сбора на индивидуалните стойности на компонентите на агента.
Конгрегациите много приличат на коалиции икоманди. Те обаче са предназначени да бъдат постоянни и обикновено имат множество цели за постигане. Освен това, агентите могат да влизат и напускат сборове и да принадлежат към няколко едновременно.
Обществото е набор от различни агенти, които взаимодействат и комуникират. Те имат различни цели, нямат еднакво ниво на рационалност и едни и същи възможности, но всички те се подчиняват на общите закони (норми).
Агентите на федерацията дават част от своята автономия на делегата на своята група. Груповите агенти взаимодействат само със своя делегат, който от своя страна взаимодейства с делегати от други групи.
Агентите по продажбите предлагат артикули, които агентите на купувачите могат да претендират. Този тип организация дава възможност например да се симулират реални пазари и да се сравняват различни стратегии за търговия.
Агентите на матричната организация са йерархични. Въпреки това, за разлика от йерархията, представена по-горе, където агентът е подчинен само на няколко други агенти, тези в една матрична организация могат да бъдат обект на няколко други.
Комбинации - Тази комбинирана организация смесва много от стиловете по-горе. Това може да бъде например коалиция или йерархия от екипи.
Изкуствен интелект
Целта на когнитивната наука е да разбере същността и работата на изкуствения интелект, който обработва вътрешната информация, за да я направи целенасочена. Много понятия отговарят на това описание: хора, компютри, роботи, сензорни системи,списъкът е безкраен. Един вид система от особен интерес за когнитивните учени е изкуственият самостоятелен агент, който действа върху информацията.
Интелигентен агент (IA) е в състояние да взема решения въз основа на своя опит и може да избира действия в различни ситуации. Както предполага терминът „изкуствен“, видът автономни агенти на интерес не е нещо, създадено от природата. Следователно изкуствен агент е всичко, което е създадено от хората, способно да действа въз основа на информацията, която възприема, собствените си преживявания, решения и действия.
Полето на извънестествената интелигентност предоставя технически умения за превеждане на желаните типове агенти в език за програмиране, свързан софтуер и подходяща архитектура (хардуер и свързан софтуер) за прилагане на агента в реалния или симулиран свят.
Околната среда на света на възприятието
Агентът е всичко, което поема околната среда чрез сензори и действа върху нея чрез ефектори, което звучи достатъчно просто. Тази дефиниция за агент обхваща широк спектър от машини, от термостати до обекти, които всъщност могат да научат малък репертоар на поведение.
Сензорите са инструменти, използвани от агент за събиране на информация за техния свят. Клавиатурата и видеокамерата могат да работят като сензори, ако са свързани с агента. В края на отговора на системата, изпълнителите са инструментите, използвани от агента за въздействие върху околната среда. Примери за ефектори самонитор, принтер и роботизирана ръка.
Обикновено средата е домейнът или света на агента. Тези домейни, поне засега, трябва да бъдат ограничени до конкретни видове ситуации, за да се избегнат неограничените възможности на ежедневния свят.
Автономна система за влияние
Автономен агент е „система в и част от среда, която възприема тази среда и действа върху нея с течение на времето, за да изпълни своя собствен дневен ред и за да повлияе на това, което преживява в бъдеще“. Тази дефиниция на Франклин и Грайсер отразява всички основни функции на интелигентните агенти, с изключение на тяхната общителност. Това осигурява добро приближение на основните характеристики на голямото разнообразие от AI в процес на разработка.
Такива агенти усещат средата си. Но тук сензорните данни или възприятия включват не само данни за други обекти, но и влиянието на самия агент върху състоянието на нещата в околната среда. Сензорите могат да бъдат органични, като очи и уши и техните невронни процесори, или изкуствени, като видео и аудио процесори, вградени в цифров компютър. Околната среда може да бъде много ограничена област, като затворено пространство, или много сложна, като фондова борса или колекция от астероиди. Сензорите трябва да съответстват на типовете обекти, с които агентът взаимодейства.
Рефлексен тип взаимодействие
Отражателният агент има по-сложен механизъм. Вместо директна динамикапо отношение на околната среда той търси какво трябва да направи в списъка с правила. Рефлексният агент отговаря на дадено възприятие с програмиран отговор. Дори ако има хиляди възможни отговори на дадено възприятие, агентът има вграден списък с правила за действие в ситуацията, за да изпълни онези отговори, които вече са били обмислени от програмиста. Правилото за действие на ситуацията е основно хипотетичен императив.
Рефлексните агенти наистина не са много ярки. Те просто не могат да се справят с новостта. Интелигентният агент съдържа характеристиките на своите по-малко изтънчени братовчеди, но не е толкова ограничен. Той действа според дневния ред. Той има набор от цели, които активно преследва. Базираният на целта агент има разбиране за текущото състояние на средата и как тази среда обикновено работи. Той преследва основни стратегии или цели, които не могат да бъдат постигнати веднага. Това прави агента активен, а не само реактивен.
Целева функционална помощна програма
При по-сложни агенти се прилага мярка за поддържане на домакинството към различните възможни действия, които могат да бъдат извършени в околната среда. Този сложен планировчик е агент, базиран на услуги. Базираният на услуги агент ще оцени всеки сценарий, за да види колко добре постига определени критерии за получаване на добър резултат. Неща като вероятността за успех, ресурсите, необходими за завършване на сценария, важността на целта, която трябва да бъде постигната, времето, което ще отнеме, могат да бъдат включени в изчисленията на функцията на полезността.
ЗащотоТъй като програмистът обикновено не може да предвиди всички състояния на света, които агентът ще срещне, броят на правилата, които трябва да бъдат написани за рефлексния агент, би бил астрономичен дори в много прости области като планиране на срещи или организиране на транспортни маршрути и доставки.
Основна контролна верига
Като се има предвид определението за интелигентен агент, помислете за основния контролен цикъл, написан от теоретика на агентите Майкъл Вуладрич през 2000 г.:
- пазете мир;
- актуализиране на модела на вътрешния свят;
- постигане на умишлено намерение;
- използвайте средства/цели, за да получите план за намерения;
- изпълнете плана;
- приключете процеса.
Този модел се нуждае от известна интерпретация. Агентът наблюдава света - това означава, че той, използвайки сензорите си, събира възприятия. Сензорът може да бъде клавиатура, прикрепена към цифров компютър или визуален процесор, прикрепен към робот. Това може да бъде всичко, което позволява на агента да събира репрезентации на света. Актуализирането на вътрешния модел означава, че агентът добавя ново възприятие към своята последователност от възприятия и програмирана информация за света.
Multi-Agent Development Platforms
AnyLogic е многоагентен и многокомпонентен софтуер за симулация на CORMAS с отворен код, базиран на обектно-ориентирания език за програмиране SmallTalk.
DoMIS е инструмент за проектиране на системи с множество агенти, фокусиран върху "оперативен контрол на сложни системи" и базиран на метода за проектиране на B-ADSC.
JACK е език за програмиране и среда за разработка на когнитивни агенти, разработен от Agent Oriented Software като агент-ориентирано разширение на езика Java.
GAMA е платформа за моделиране с отворен код (LGPL), която предлага пространствено изрична среда за моделиране, базирана на агенти, използвайки ГИС данни за описание на агентите и тяхната среда.
JADE (Разработка на агенти на Java) е многоагентна рамка с отворен код, базирана на езика Java.
Седем модела от стандарта
В еволюционния процес на изследване има повече информация как да се създаде система, която е надеждна и представлява по-високо ниво на качество. Тенденцията да продължи е да се допълват или разширяват съществуващите методи, които са успели да консолидират вземането на решения в рамките на разработката.
Методологическият стандарт позволява по разбираем и прост начин да се създаде MAC, не само използвайки естествен език, но и използвайки шаблони за описание, които помагат при спецификацията на системата.
Методологическият стандарт предлага седем модела на проблеми или техните решения за изграждане на MAC:
- Сценарен модел, описващ компания или организация.
- Моделът на целите и задачите дефинира и описва органичната структура.
- Агентният модел дефинира хората и автономните системи.
- Моделът за подражание свързва цели и задачи с конкретен агент.
- Организационният модел описва средата, към която е свързан отделен агент.
- Моделът на взаимодействие описва връзката, подчертавайки тяхната координация на агентите.
- Моделът на проектиране дефинира агента и мрежовата архитектура.
Примери за взаимодействие между агенти
MAS се използват за симулиране на взаимодействието между автономните агенти. Използването на мултиагентни системи, например, в социологията прави възможно параметризирането на различните агенти, които съставляват общността. Чрез добавяне на ограничения можете да опитате да разберете кой ще бъде най-ефективният компонент за постигане на очаквания резултат. Те трябва да експериментират със сценарии, които не биха били постижими от реални хора по технически или етични причини.
Разпределената IA е създадена за решаване на сложността на големи монолитни неестествени програми за интелигентност - изпълнение, разпространение и централизиран контрол. За да се реши сложен проблем, понякога е по-лесно да се създадат сравнително малки програми (агенти) в сътрудничество, отколкото една голяма монолитна програма. Автономността позволява на системата динамично да се адаптира към непредвидени промени в околната среда.
Примерите за мултиагентни системи в игралната индустрия са многобройни и разнообразни. Използват се във видеоигри и филми, включително софтуера MASSIVE, например за симулиране на движение на тълпата в трилогията Властелинът на пръстените. Те също могатизползва се от компании, например, за проследяване на поведението на клиенти, които разглеждат уебсайтове.
MAS се използват и в света на финансите. Например платформата MetaTrader 4 позволява използването на експертни агенти при автоматизирана търговия, които следват валутните курсове
Предимства от използването на системата
В изследванията на IA технологията на базираните на агенти системи е възприета като нова парадигма за концептуализиране, проектиране и внедряване на софтуерни системи. Предимства на подхода с множество MAS:
- Споделя изчислителни ресурси и възможности в мрежа от взаимосвързани агенти.
- Позволява взаимно свързване и оперативна съвместимост на множество съществуващи наследени системи.
- Покриващи различни области, включително поддръжка на самолети, електронни портфейли за книги, разчистване на военни мини, безжични комуникации и комуникация, военно логистично планиране, система за управление на веригата за доставки, планиране на съвместни мисии, управление на финансов портфейл.
В изследванията технологията на IA за базирани на агенти системи е възприета като нова парадигма за концептуализиране, проектиране, внедряване и многоагентно обучение на софтуерни системи.
По този начин MAC е слабо свързана мрежа от софтуерни агенти, които си взаимодействат за решаване на проблеми извън индивидуалните способности или познания на всеки създател на проблеми.