• Save
Agent Systems
Upcoming SlideShare
Loading in...5
×
 

Agent Systems

on

  • 1,400 views

Artificial Intelligence

Artificial Intelligence

Statistics

Views

Total Views
1,400
Views on SlideShare
1,342
Embed Views
58

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 58

http://academy.telerik.com 58

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Agent Systems Agent Systems Presentation Transcript

  • Агентни Системи С подсилено oбучение Стефан Ставрев TRI Soft tri-soft.net Управител
  • Обзор на семинара Въведение в агентните системи Рационални агенти Обучение История на агентните системи Задаване параметрите на проекта
  • За какво е предназначен семинарът  Агентни системи:  Система в която (един или повече) агенти си взаимодействат.  Изучаването на такива системи  Могат да са естествени или изкувствени
  • Какво е агент?  Някои думи са трудни за дефиниране: изкуство, красота, съзнание, интелект, аг ент  Дефинициите са или твърде общи или твърде специфични  Започваме, като даваме примери “I know it when I see it.” (Знам какво е, когато го видя) -Potter Stewart United States Supreme Court Justice Jacobellis v. Ohio, 1964 Re: What is hard-core pornography?
  • Дефиниции за агент Всяко нещо, което може да възприеме средата около себе си посредством сензори и да въздейства върху тази среда посредством задвижващи устройства. -Ръсел & Новиг, 2003 • Доброто: описва концепцията за затваряне на цикъла: Агент Околна среда действие наблюдение • Лошото: Какво не е агент?
  • Човешки агенти  Най-неуспоримият пример  Вдъхновени за създаване на повечето изкувствени агенти  Примери за мулти-агентни системи:  Вашето семейство  Спортен отбор  Компания с приятели  Армия  Играчите в World Of Warcraft  Интернет потребителите
  • Не-човешки естествени агенти  Примери за мулти-агентни системи:  Колония от мравки  Глутница хиени  Стадо газели
  • Роботи агенти  Често заместват човешките агенти  Как да проектираме системите им за контрол?  Примери за агентни системи:  Поточна линия  Роботи – войници  Автономни автомобили  Роботизиран футболен отбор
  • RoboCup  Международно състезание за роботи от 1997  Цел: До 2050 отбор от напълно автоматизирани хуманоидни футболисти да победят във футболен мач отбора – шампион от последното световно първенство, като се спазват официалните правила наФИФА.
  • Софтуерни агенти  Агентите нямат нужда от физическо тяло  Интернет създаде голяма нужда от софтуерни агенти  Примери за агентни системи:  Ценови агенти  Рекламиращи агенти  Наддаващи агенти  Управители на продуктова линия  Агенти във видео-игрите  Автономни системи
  • Това агент ли е?  Термостат  Вход: Желана температура и текуща температура  Изход: включи или изключи нагревателя
  • Агентен дизайн  Хетерогенни или хомогенни  Различията може да са в хардуера или софтуера  Дали всички хомогенни агенти взимат едно и също действие при еднакви други условия?
  • Околна среда  Включва всичко друго без агентите  Може да е статична или динамична  Могат ли статичните околни среди да се променят  Ще завърши (ще склони) ли обучението на агентите?  Къде е границата между другите агенти и околната среда?
  • Възприятие  При мулти-агентните системи, информацията е разпределена.  Обикновенно светът (околната среда) е частично видима  Много често планирането и самоубочението не са приложими  При мулти-агентните системи: как да комбинираме възприятието?
  • Контрол?  Може да е централизиран или децентрализиран  Предимства на децентрализирания контрол:  Ефикастност  Разширяемост  Гъвкавост
  • Знание  Какво знаят агентите за околната среда?  ...и какво един за друг?  ...и какво знаят другите?  ...и какво знаят другите за това което знаят?  Всеобщоизвестно знание
  • Роботика
  • Търгове  Google AdSense  На кого да се показват рекламите?  Колко да струва дадена реклама?  E-bay търгове  Няколко стоки за продан  Кога да се наддава и кога не?
  • Видео игри!!!  Играчите искат предизвикателни противници  Важно е реалистичното, подобно на човешкото поведение  Трябва да се адаптира към играча  Много от съвременните системи са доста наивни.
  • Схема
  • Обзор Въведение в агентните системи Рационални агенти Обучение История на агентните системи Задаване параметрите на проекта
  • Какво е рационален агент?  Характеризира се с няколко показатела:  Цел  Награда  Стойност  Действия, които целят да максимизират тези показатели
  • Оптимално вземане на решения  Как трябва да действа един агент във всяка ситуация която срещне, така че да подобри (да максимизира) представянето си в дългосрочен план?  В психологията и економиката: теория на решенията  В инжинерството: оптимален контрол или теория на контрола  В информатиката: планиране и подсилено обучение.
  • Ричард Белман  Формализира Процеса за вземане на решения на Марков (MDP), извлича уравнението на Белман, създател на динамичното програмиране  „Височаеща фигура в разработчиците на модерната теория на контрола и системния анализ“ - IEEE  „Уравнението на Белман е една от петте най-важни идеи в Изкувствения Интелект“ – Брам Бекър
  • Формализъм  Предположете, че имате дискретни интервали от време: t = 0,1,2…  По времето на всяка една стъпка агентът:  Извършва наблюдение Ѳt  Избира действие at от крайно множество А  В общия случай, решението зависи от пълната история (полица): π(Ѳ0, a0, Ѳ1, a1, Ѳ2, a2 ,..., Ѳt)= at  Полица е съответствието между история и действие
  • Това практично ли е? 
  • Състояние на света (околната среда)  Текущо състояние на света st от множеството S  Всичко за околната среда на агента, което може да е значимо и за бъдещите наблюдения (включително наградите).  Пространството на състоянията може да е крайно или продължително.
  • Функции на прехода (транзиционни функции)  Хващат динамиката на околната среда  Как състоянията се променят в зависимост от действията  Световете могат да са детерминистични: st+1 =T (st , at )  Или стохастични: P(st+1 | st, аt) = T(st, аt , st+1)
  • Видимост  В напълно видими светове, наблюденията еднозначно определят текущото състояние на света: st = Θt  В частично-видими светове, наблюденията и състоянията са тясно свързани с модела на наблюдение: O(Θt, st) = P(Θt |st )
  • Рефлексни агенти в напълно видими среди  Рефлексните агенти използват само текущото наблюдение: π(Ѳt)= at  В напълно видими среди: st = Θt  Реактивните полици имат вида: π(st)= at
  • Свойството на Марков P( st+1 | Ѳt , at , Ѳt-1, at-1, Ѳt-2, at-2, ,..., Ѳ0, a0)= P( st+1 | Ѳt , at )  Реактивните полици могат да са оптимални, тъй като напълно видимите среди притежават свойството на Марков!  За момента ще пренебрегнем наградите  Свойството на Марков указва, че дори да запомним историята, това не може да ни помогне
  • Границата между агент и среда Робот Памет Физчески свят Агент Среда Агент Среда
  • Това притежава ли Марков свойството?  Ракета  Може да наблюдава:  Настоящата си скорост  Настоящата си позиция  Действия контолират тягата  А ако не наблюдава настоящата си скорост?
  • Цели  Цел е желано състояние  В детерминистични светове планирането се изразява в търсене на оптимален път до целта  Проблемът може да се реши и с алгоритъм за търсене в граф, напр. A* или методът на Дийкстра.
  • Награди  В стохастични светове целите не са достатъчни  Нужно е предпочитание пред другите състояния  Нужна е пълна полица, а не просто план  Средата предоставя и награда Агент Околна среда действие Наблюдение, Награда
  • Процес на Марков за вземане на решения  Представете си напълно-видима, статична и вероятно стохастична среда  Краен MDP се състои от:  Крайен брой стъпки t=0,1,2,…  Крайно множество на състоянията s e S  Крайно множество на действията a e A  Транзиционен модел (модел на прехода): p(s’|s,a): вероятността да се премине към състояние s’ когато агентът вземе действие a в състояние s  Наградна функция R: S x A  ℝ, такава че агентът получава награда R(s,a) когато извърши действие a в състояние s  Хоризонт на планиране, който може да е безкраен
  • Обзор Въведение в агентните системи Рационални агенти Обучение История на агентните системи Задаване параметрите на проекта
  • Подсилено обучение  Дефиниция:  Раздел от машинното обучение в информатиката, занимаващо се с това как един агент да избере действията си в една околна среда, така че да максимизира някакво представяне на натрупваща се награда.
  • Value функции  Агентът предпочита състоянията с най-висока стойност: очакваната дългосрочна бъдеща награда  Това зависи от полицата на агента  Value функция отразява стойността на всяко едно състояние, при дадена полица Vπ (s)  Оптималната value функция може да бъде намерена чрез динамично програмиране или подсилено обучение V*(s)
  • Action-value функции  Аналогично наValue-функцията е Action- value функцията: Qπ (s,a)  Отразява колко добра е текущата комбинацията (състояние, действие) за агента  Ще намерим оптималните Action-value функции с помощта на Q-обучение: Q*(s,a)
  • Свят на играчките  Напълно видима среда: агентът вижда позицията си на дъската  Възможните действия са: нагоре, надолу, наляво, надясно  Детерминистичен преход: 100% в желаната посока  Две крайни състояния:
  • Q-обучение 
  • Изследване на средата  Ако всички двойки състояние-действие се посещават безкрайно често и намаля бавно, Q – обучението намира оптималните Q*  За да се изпълни това условие, е нужно изследване  В -алчното изследване агентът избира произволно действие с вероятност и алчно действие с вероятност (1 - ).  В изследване СофтМакс агентът избира действията си според дистрибуцията на Болтцман:
  • Оптимални полици
  • Обзор Въведение в агентните системи Рационални агенти Обучение История на агентните системи Задаване параметрите на проекта
  • Динамично програмиране  Терминът „Динамично програмиране“ се отнася до група алгоритми, които могат изчислят оптимални полици ако имат пълен модел на света, представен като MDP.  От малко практическо значение, но важни теоретично  Всички останали алгоритми се стремят да постингат същото, но с по-малко ресурси по-малко информация за света
  • Монте Карло  Въвежда се обучение (научаване)  Не се предполага пълно знание за средата  Неоходими са единствено опит – проби от средата (s, a, r).  Решават проблеми с Подсиленото самообучение като осредняване на срещнати Rt  Епизодично обучение  Едва след края на епизода, се актуализират стойноститеV и Q  Подобрението се получава епизод-след- епизод, а не стъпка-по-стъпка
  • Прилики с ДП  Изчисляват се едни и същиV и Q.  Монте Карло може да се разгледат като ДП с добавен опит от средата (тъй като не използваме пълен моделT и R)  Може да се използва опростен модел, за определяне на приблизителни стойности
  • Обучение с темпорални (временни) разлики  Централна идея в подсиленото самообучение  Съчетава основните идеи от Динамичното Програмиране и Монте Карло.  Както при Монте Карло,TD може да се учат от директен опит – без пълен модел на средата.  Както при ДП, подобрението наV и Q става като се използват части от други научени приближения, без да се чака края на епизода.
  • Предимства пред Монте Карло и ДП  TD методите научават своите предположения частично като използват други предположения.Това се нарича bootstrap  Не е необходим модел на средата (T, R), за разлика от ДП  TD чакат само 1 стъпка, доката Монте Карло трябва да изчакат да свърши целия епизод  Някои приложения имат дълги епизоди, или нямат въобще епизоди  Някои Монте Карло методи трябва да намалят или да изтрият цели епизоди  това забавя обучението
  • Въпроси по теорията?
  • Обзор Въведение в агентните системи Рационални агенти Обучение История на агентните системи Задаване параметрите на проекта
  • Морски шах с подсилено обучение Имплементация
  • Псевдо-код на алгоритъма Q- learning 
  • Пояснения  Терминалните състояния да се инициализират с: Q(s,a) = 0  Всички останали с: Q(s,a) = 1.1  γ = 0.99  α = 0.1  = 0.1
  • Избор на критерии за край на обучението  След като са изминали n на брой епизода  След като 2 последователни Q-стойности не са се променили значително
  • Представяне на S  Пример:  1 – полето е заето от х  2 – полето е заето от 0  0 – полето е свободно  Пример 2  x- полето в заето с х  о – полето е заето с о  „-“ полето е свободно
  • Примерно състояние  s = 200010120  действия : 1 до 9  Q[s][a] = Q[200010120][2]  Еднозначно преминаване от кодирано състояние в позиции на дъската
  • Решения към имплементацията  Език за програмиране – препоръчва се ОО език от високо ниво  Структура за съхранение на таблицата с Q- стойностите  Речник от типа key-value  Масив  Класове  1 клас за имплементация поведението на агента  1 клас за представяне на дъската / играта
  • Благодаря за вниманието! ceo@tri-soft.net