Sterowanie wieloagentowe - eia.pg.edu.pl · Substation Control System (SCS) Distributed ......

54
Sterowanie wieloagentowe Opracował: Jarosław Tarnawski, 2016

Transcript of Sterowanie wieloagentowe - eia.pg.edu.pl · Substation Control System (SCS) Distributed ......

Sterowanie wieloagentowe

Opracował: Jarosław Tarnawski, 2016

Zestawienie akronimów

Multi-Agent Control – MAC

Multi-Agent Systems – MAS

Supervisory control and data acquisition (SCADA)

Remote terminal units (RTUs)

Intelligent electronic devices (IEDs)

Enterprise resource planning (ERP) systems

Distributed artificial intelligence (DAI)

Belief-desire-intention (BDI) agents

Foundation for Intelligent Physical Agents (FIPA)

Agent Communications Language (ACL)

Substation Control System (SCS)

Distributed Generation (DG)

Plan wykładu

• Zagadnienie wieloagentowości – z jakiej dziedziny

• Definicje agenta, wieloagentowości

• Kiedy twór logiczny to już agent?

• Przykłady

– Microgridy

– Odkurzacze

Zagadnienie wieloagentowości

• Zagadnienie z dziedziny

COMPUTER SCIENCE

Rozpatrywane dawniej w Teorii sterowania jako sterowania zdecentralizowane, rozproszone

Przejęte/zaadoptowano i dano „nowe życie” przez informatykę

Definicje

• Jest szereg definicji agenta i wieloagentowości

• Na potrzeby definicji mówi się o trzech elementach:

– Agencie

– Otoczeniu/Środowisku

– Autonomii

Próba zdefiniowania agenta

The MuBot Agent [http://www.crystaliz.com/logicware/mubot.html]

"The term agent is used to represent two orthogonal concepts. The first is the agent's ability for autonomous execution. The second is the agent's ability to perform domain oriented reasoning.”

The AIMA Agent [Russell and Norvig 1995, page 33] "An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors."

Próba zdefiniowania agenta

• The Maes Agent [Maes 1995, page 108] "Autonomous agents are computational systems that inhabit some complex dynamic environment, sense and act autonomously in this environment, and by doing so realize a set of goals or tasks for which they are designed.“

• The KidSim Agent [Smith, Cypher and Spohrer 1994] "Let us define an agent as a persistent software entity dedicated to a specific purpose. 'Persistent' distinguishes agents from subroutines; agents have their own ideas about how to accomplish tasks, their own agendas. 'Special purpose' distinguishes them from entire multifunction applications; agents are typically much smaller."

Próba zdefiniowania agenta

The Hayes-Roth Agent [Hayes-Roth 1995] Intelligent agents continuously perform three functions:

perception of dynamic conditions in the environment; action to affect conditions in the environment; and reasoning to interpret perceptions, solve problems, draw inferences, and determine actions.

The IBM Agent ttp://activist.gpl.ibm.com:81/WhitePaper/ptc2.htm

„Intelligent agents are software entities that carry out some set of operations on behalf of a user or another program with some degree of independence or autonomy, and in so doing, employ some knowledge or representation of the user's goals or desires."

Próba zdefiniowania agenta

The Wooldridge - Jennings Agent [Wooldridge and Jennings 1995, page 2] "... a hardware or (more usually) software-based computer system that enjoys

the following properties: - autonomy: agents operate without the direct intervention of humans or

others, and have some kind of control over their actions and internal state; - social ability: agents interact with other agents (and possibly humans) via

some kind of agent-communication language; reactivity: agents perceive their environment, (which may be the physical world, a user via a graphical user interface, a collection of other agents, the INTERNET, or perhaps all of these combined), and respond in a timely fashion to changes that occur in it;

- pro-activeness: agents do not simply act in response to their environment, they are able to exhibit

- goal-directed behavour by taking the initiative."

Próba zdefiniowania agenta

The SodaBot Agent http://www.ai.mit.edu/people/sodabot/slideshow/total/P001.html

"Software agents are programs that engage in dialogs [and] negotiate and coordinate transfer of information.„

• The Brustoloni Agent [Brustoloni 1991, Franklin 1995, p. 265]

"Autonomous agents are systems capable of autonomous, purposeful action in the real world."

• An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future.

• Autonomicznym agentem jest byt położony wewnątrz i będący częścią środowiska, które może odczuwać, i wpływa na nie, w czasie, w dążeniu do własnego porządku i tak, aby uzyskać to, co wyczuwa się (potrzebę) w przyszłości.

Definicje (ang)

Wooldridge: an agent is “a software (or hardware) entity that is situated in some environment and is able to autonomously react to changes in that environment.” The environment is everything external to the agent. The environment may be physical (e.g., the control system), or it may be the computing environment (e.g., data sources, computing resources, and other agents). An agent can alter the environment by taking some action. The separation of agents from environment means that agents are inherently distributable.

Definicje (PL)

• Agent to twór/byt/istnienie sprzętowy lub programowy ulokowany w pewnym otoczeniu/środowisku zdolny do autonomicznych reakcji na zmiany w tym środowisku. Środowisko jest czymś zewnętrznym dla agenta. Środowisko może być czymś fizycznym np. systeem sterowania lub rzeczywistością komputerową taką jak źródła danych, zasoby obliczeniowe oraz inni agenci. Agent może oddziaływać/wpływać/zmieniać środowisko za pomocą podejmowanych akcji/działań. Wydzielenie agenta i środowiska oznacza że agenci mają ze swej natury zdolność rozproszenia.

Definicje

• UnderWooldridge’s definition an entity situated in an environment is an agent if it can act autonomously in response to environmental changes. The definition of autonomy says that an agent “exercises control over its own actions” meaning that it can initiate or schedule certain actions for execution.

• Definicja autonomii mówi, że agent "sprawuje kontrolę nad własnymi działaniami„ co oznacza, że może inicjować lub planować pewne czynności do wykonania.

Wooldridge and Jennings zdefiniowali trzy klasy agentów:

(i) Agenci wykonujący proste zadania w oparciu o określone a priori prawa/zasady i założenia

(ii) Agenci wykonujący ściśle określone zadania na żądania użytkownika

(iii)Agenci świadczący usługi dla użytkownika samodzielnie, gdy uznają to za stosowne, bez wyraźnego polecenia

• Z inżynierskiego punktu widzenia te definicje wiodą do pewnej rozterki: nie umożliwiają odróżnienia agentów od istniejących systemów. Zgodnie z podanymi definicjami część istniejących klasycznych elementów może być uznana za agentów. Dla przykładu termostat może być potraktowany jako agent – jest osadzony w środowisku, reaguje na zmiany temperatury środowiska. Posiada w swoim działaniu pewien stopień autonomii. Niezbędne jest zatem określenie jak agenci i wieloagenci odróżniają się od istniejących systemów i podejść.

Multi-Agent Systems

System wieloagentowy składa się z dwóch lub większej liczby inteligentnych agentów. Agenci nie muszą mieć zapisanego ogólnego celu sterowania, jednak każdy z nich musi posiadać własny lokalny cel.

W zależności od definicji agentów system wieloagentowy może posiadać, bądź nie możliwość kontakowania się agentów między sobą.

Definicje Wooldridge’a, wskazują że inteligentni agenci muszą mieć zdolności społeczne i muszą mieć możliwość wymiany danych między sobą.

Intelligent Agents

Wooldridge rozszerza definicje agenta do inteligentnego agenta poprzez rozszerzenie definicji autonomii do elastycznej autonomii. Agent, który wykazuje elastyczną autonomię, to inteligentny agent i posiada trzy cechy:

(i) Reaktywność: inteligentny agent reaguje na zmiany w swoim otoczeniu w sposób terminowy.

(ii) Proaktywność: inteligentni agenci mają działanie ukierunkowane na osiągnięcie pewnego celu. Zachowanie zorientowane na realizację celu zakłada, że agent będzie dynamicznie zmieniać swoje zachowanie, aby osiągnąć swoje cele. Opisuje się to jako zdolność agenta, aby "przejąć inicjatywę."

(iii) Zdolności społeczne: inteligentni agenci są w stanie współdziałać z innymi inteligentnymi agentami. Zdolność społeczna kojarzy się więcej niż proste przekazywanie danych pomiędzy różnymi podmiotami elemntów programowych i sprzętowych. Oznacza zdolność do negocjowania i interakcji w skoordynowany sposób. Zdolność ta jest zwykle określana przez język komunikacji agenta (ACL), co pozwala agentom rozmawiać, a nie po prostu przekazać dane.

Kiedy coś jest jeszcze programem a kiedy już agentem?

• Przypomnijmy

• Autonomicznym agentem jest byt położony wewnątrz i będący częścią środowiska, które może odczuwać, i wpływa na nie, w czasie, w dążeniu do własnego porządku i tak, aby uzyskać to, co wyczuwa się w przyszłości.

Cechy, wyróżniki agentów

• Agenci mogą być klasyfikowani wg zaprezentowanych podzbiórów właściwości, wg upodobań użytkowników. Każdy agent, wg podanych definicji, spełnia pierwsze cztery właściwości. Dodawanie innych właściwości produkuje potencjalnie tworzenia nowych użytecznych klas agentów, na przykład agentów mobilnych zdolnych do nauki itd.. Zatem naturalnie objawia się hierarchiczna klasyfikacja oparta na zbiorach i podzbiorach.

Software agents

Możemy sklasyfikować agentów oprogramowania w zależności od wykonywanych zadań, na przykład agentów zbierających informacje lub agentów filtrowania poczty elektronicznej. Albo, możemy je sklasyfikować według ich architektury sterowania. Agenci mogą być również klasyfikowani przez zakres i czułość zmysłów, albo przez zakres i skuteczność ich działania, lub od liczby posiadanych stanów wewnętrznych.

Klasyfikacja agentów oprogramowania wg Brustoloniego zaczyna się od trójpodziału na agentów regulacyjnych, agentów planowania lub agentów adaptacyjnych.

Agent regulacji nazwany w związku z regulacją temperatury termostatem lub zadanie podobnej regulacji homeostazy ciała, reaguje wprost na każdy z dostępnych bodźców w sposób w którym zawsze wiadomo co robić i jak bodźce interpretować. Ten agent nie planuje ani się nie uczy.

Agent planowania, jak nazwa wskazuje planują albo w sensie sztucznej inteligencji AI (agent rozwiązywania problemów), lub używając wnioskowania na podstawie bazy przypadków (agnci case-based), lub za pomocą metod opartych o badania operacyjne (agenci OR) lub przy użyciu różnych algorytmów losowych (agenci losowi)

Agenci adaptacyjni nie tylko planują, ale także się uczą.

Możliwy jest jeszcze inny schemat klasyfikacyjny agentów powiązany z otoczeniem, w którym znajdzie się agent na przykład agentów programowych (software agents), w przeciwieństwie do agentów reprezentujących sztuczne życie (artificial life).

Kiedy coś jest jeszcze programem a kiedy już agentem?

• Można powiedzieć, że program płac dla przedsiębiorstwa w warunkach realnego świata odczuwa ten świat poprzez swoje wejście i oddziaływuje na świat przez swoje wyjścia. Program ten nie jest jednak agentem, ponieważ jego wyjście zwykle nie wpływa to, co program „odczuwa”, postrzega później. Ten program jest zwykłym programem przetwarzającym dane.

• Program płac nie spełnia także testu ciągłości czasowej. Wykonuje się raz, a potem zapada w uśpienie, czekając na ponowne wezwanie do wykonania swojego zadania. Większość zwykłych programów jest wykluczonych z roli agenta przez te warunki, niezależnie od tego, od definicji środowiska. Wszyscy agenci programowi to programy, ale nie wszystkie programy to agenci. Także sama dziedzina programu nie decyduje czy jest on agentem czy nie. Moduł sprawdzania pisowni jako dodatek do edytora tekstu nie jest zazwyczaj agentem z powodów podanych w poprzednim akapicie. Jednak moduł sprawdzania pisowni, który na bieżąco nadzoruje i koryguje poprawność wpisywanych wyrazów może okazać się agentem.

• Zadania mogą być określone w taki sposób, aby wymagać agentów, aby je spełnić.

Pytania związane z MAS

• Jakie korzyści są oferowane przez systemy wieloagentowe? Co odróżnia MAS od istniejących systemów i podejść ? Do jakiej klasy problemów MAS mogą być stosowane ? Czy i kiedy technologia MAS jest odpowiednia dla danego zastosowania inżynierii sterowania?

• W jaki sposób należy wieloagentowe systemy projektować? Jak powinny systemy wieloagentowym być realizowane i implementowane? Czy są jakieś specjalne powody stosowania MAS w inżynierii sterowania?

Multi-Agent Systems

• Multi-Agent Systems (MAS) are complex systems composed of several autonomous agents with only local knowledge and limited abilities, but are able to interact in order to achieve a global objective

• Systemy wieloagentowe to systemy złożone z wielu autonomicznych agentów z lokalną wiedzą i ograniczonymi możliwościami, ale z możliwością na interakcji w celu uzyskania globalngo celu

Zastosowania MAS

• Diagnostyka • Monitorowanie, • Utrzymanie, przywracanie systemów elektroenergetycznych, • Symulacje reakcji rynków, • Sterowanie systemami sieciowymi, • Szeroko pojęta automatyka. Technologia jest już na tyle dojrzała że systemy wieloagentowe trafiły z

laboratoriów badawczych do użytkowania pozwalając różnym branżom przemysłowym na doświadczenie użytkowania systemów MAS i określenie ich przydatności

FIPA ACL

Agent-based substation automation

Agent-based substation automation

Agent-based substation automation

Agent-based substation automation

Agent-based substation automation

Agent-based substation automation

Przykładowe zastosowania – Microgrid

Mikrosieć to niewielkich rozmiarów system elektroenergetyczny, którego nadrzędnym celem jest pokrycie lokalnych potrzeb energetycznych. Mikrosieci składają się z jednostek wytwórczych, zasobników oraz odbiorów. Do podłączenia elementów mikrosieci potrzebna jest odpowiednia infrastruktura przesyłowa. Linie energetyczne mikrosieci mogą być wykonane jako linie prądu przemiennego lub stałego. Nad wszystkim czuwają układy sterowania. Mikrosieć może być podłączona do sieci elektroenergetycznej i współdziałać z nią, np. pobierać z niej energię w przypadku niewystarczających zasobów potrzebnych do pokrycia zapotrzebowania lub sprzedawać energię w przypadku występowania nadwyżek. Mikrosieć może pracować również w trybie wyspowym, tzn. oddzielona od sieci elektroenergetycznej.

Dlaczego MAS w microgrid?

Inteligentny agent jest przedstawiany jako zbiór cech takich jak: (1) Automonia tj. możliwość pracy bez żadnych bezpośrednich

interwencji ze strony użytkownika, bazując na swoich decyzjach (2) Reaktywność – zdolność do postrzegania zmian w otoczeniu i

reagowania w sposób terminowy, (3) Proaktywność – brak ograniczenia się do reagowania tylko na

bieżące wejściowe bodźce, agent inteligentny musi być w stanie podjąć samodzielnie inicjatywę

(4) Zdolność społeczne - zdolność do interakcji z ludźmi i innymi agentami, z wykorzystaniem z góry określonego języka komunikacji.

www.microgridinstitute.org

Przykładowe zastosowania – Microgrid

Multiagent control system for microgrid

Multi-Agent Systems in Microgrid Applications

Inne zastosowania MAS

• Typowy przykład – odkurzacz samobieżny z zadaniem odkurzenia pewnej powierzchni w pomieszczeniu, może być potraktowany jako agent

• Jak powinien zachowywać się taki odkurzacz w przypadku napotkania swojego ‘kolegi’?

• Co będzie efektywniejsze: współpraca czy rywalizacja polegająca na jak pokryciu jak największej powierzchni?

Przykład współpracy robotów mobilnych z MIT https://www.eecs.mit.edu/news-events/media/robotic-collaboration-where-uncertainty-overcome-managing-multiagent-systems

Aplikacje z dziedziny wieloagentowej http://sites.ieee.org/pes-mas/agent-technology/applications/

Wieloagentowość a algorytmy rojowe

• Algorytmy rojowe – zachowania zbiorowe grupy mało rozgarniętych osobników

Pojedynczy osobnik: • Bezbronny • Bezmyślny • Bez wyobraźni i planowania

Grupa osobników: • Współpracująca, samoorganizująca się • „Inteligentna” siłą współpracy

Wieloagentowość a algorytmy ewolucyjne

• Algorytm mrówkowe – wykorzystywanie siły współpracy wielu uczestników

• Pojedyncza mrówka cechuje się: małą percepcją

otoczenia - niska inteligencja, ograniczenia w postrzeganiu otoczenia, ślepota, głuchota

• Siłą rojów jest: współpraca i komunikacja • Informacja przekazywana np. przez ślad

feromonowy

Wieloagentowość a algorytmy ewolucyjne

W odróżnieniu od algorytmów rojowych w których istotą jest współdziałanie wielu osobników o niskiej inteligencji w systemach wieloagentowych mamy współdziałanie (lub rywalizację) społecznych agentów ale inteligentnych, proaktywnych, reaktywnych

Bibliografia

• Wooldridge M. (2002), An introduction to Multi-Agent Systems, Wiley.

• S. D. J. McArthur; E. M. Davidson; V. M. Catterson; A. L. Dimeas; N. D. Hatziargyriou; F. Ponci; T. Funabashi, “Multi-Agent Systems for Power Engineering Applications—Part I: Concepts, Approaches, and Technical Challenges”, IEEE Transactions on Power Systems, Vol. 22, No. 4, November 2007.

• S. D. J. McArthur; E. M. Davidson; V. M. Catterson; A. L. Dimeas; N. D. Hatziargyriou; F. Ponci; T. Funabashi, “Multi-Agent Systems for Power Engineering Applications—Part II: Technologies, Standards, and Tools for Building Multi-agent Systems”, IEEE Transactions on Power Systems, Vol. 22, No. 4, November 2007

Bibliografia

• M. Wooldridge, , G. Weiss, Ed., “Intelligent Agents,” in Multi-agent Systems. Cambridge, MA: MIT Press, Apr. 1999, pp. 3–51.

• S. Russell and P. Norvig, Artificial Intelligence: A Modern Approach. Englewood Cliffs, NJ: Prentice-Hall, 1995.

• P. Maes, “Artificial life meets entertainment: Life-like autonomous agents,” Commun. ACM, vol. 38, no. 11, pp. 108–114, 1995.

• IEEE PES Multi-Agent Systems Working Group http://sites.ieee.org/pes-mas/agent-technology/concepts/

Bibliografia

• A Review on Multi-Agent Systems in Microgrid Applications

• Buse, D. P., et al. "Agent-based substation automation." Power and Energy Magazine, IEEE 1.2 (2003): 50-55.

• Buse, David P., and Qing-Hua Wu. IP network-based multi-agent systems for industrial automation: information management, condition monitoring and control of power systems. Springer Science & Business Media, 2007.

MAS - Otwarte źródła