Professional Documents
Culture Documents
AZMINP MAS Aspekty Wybrane
AZMINP MAS Aspekty Wybrane
Systemy wieloagentowe
(Multi Agent Systems - MAS)
– aspekty wybrane –
Politechnika Gdańska
Wydział Elektrotechniki i Automatyki
Czym są systemy
wieloagentowe?
3
Czym są systemy wieloagentowe?
Systemy wieloagentowe – aspekty wybrane
4
Czym są systemy wieloagentowe?
Systemy wieloagentowe – aspekty wybrane
Definicja 1
Agentem jest element służący do budowy systemów
zdecentralizowanych. Agent jest autonomiczny i działa
(posiada inicjatywę) w oparciu o obserwację
docierające do niego z otoczenia (środowiska).
Definicja 2
Agentem jest cokolwiek, co postrzega środowisko
i w jakiś sposób na nie oddziałuje.
6
Czym jest agent?
Systemy wieloagentowe – aspekty wybrane
7
Systemy wieloagentowe – aspekty wybrane
• Agent a środowisko
10
Czym jest agent?
Systemy wieloagentowe – aspekty wybrane
• Cech agenta:
– autonomiczność: agenci są w stanie działać
samodzielnie
– reaktywność: agenci są w stanie zidentyfikować
środowisko i zareagować w sposób umożliwiający
realizację zadania,
– pro-aktywność: agenci są w stanie przejąć inicjatywę w
celu realizacji zadania,
– zdolność współpracy: agenci są w stanie współdziałać
ze sobą w celu realizacji zadania.
11
Czym jest agent?
Systemy wieloagentowe – aspekty wybrane
• Typowo rolę agenta w systemie wielooagentowym porównuje się
do roli obiektów w programowaniu obiektowym, niemniej jednak
są między nimi różnice:
– agent posiada wewnętrzną świadomość i swój własny cel,
który może być różny od celu innego agenta, w związku z tym
prośba od innego agenta zostanie wykonana tylko wtedy
jeżeli jest ona zgodna z interesem pytanego agenta
(obiekty mają metody publiczne, które umożliwjają innym
obiektom uruchamianie ich niezależnie od woli obiektu
posiadającego taką metodę),
– agenci mają możliwość dostosowania swojego zachowania
do sytuacji: reaktywność, proaktywność, zdolność współpracy
(obiekt też może mieć takie właściwości, ale są one
niezmienne i nie zależą od stanu innych obiektów),
– każdy agent ma co najmniej jeden wewnętrzny wątek
sterujący jego stanem wewnętrznym.
12
Czym jest agent?
Systemy wieloagentowe – aspekty wybrane
• OBIEKT
private int a,b;
public void setNewValues(int a, int b)
{
this.a = a; this.b = b;
}
• AGENT
vate int a,b;
public void setNewValues(int a, int b)
{
if (a>b) {
this.a = a; this.b = b;
sender.setConfirm(true);
else {
sender.setConfirm(false);
} 13
Systemy wieloagentowe – aspekty wybrane
Percepcja agenta
14
Systemy wieloagentowe – aspekty wybrane
Percepcja agenta
15
Percepcja agenta
Systemy wieloagentowe – aspekty wybrane
18
System wieloagentowy
Systemy wieloagentowe – aspekty wybrane
19
System wieloagentowy
Systemy wieloagentowe – aspekty wybrane
20
Systemy wieloagentowe – aspekty wybrane
Typowe struktury
sterowania
a systemy
wieloagentowe
21
Podstawowa warstwowa struktura sterowania
Systemy wieloagentowe – aspekty wybrane
22
Żródło: P.Tatiewski „Sterowanie…
Przykład klasycznej struktury sterowania
Systemy wieloagentowe – aspekty wybrane
System informacyjny
planowania produkcji
i wytwarzania
Interfejs I/O
Sieć teletransmisyjna
(magistrala polowa,
sieć miejscowa; fieldbus)
archiwizacja
urządzenia
sterowania
cyfrowego
danych
…
Systemy wieloagentowe – aspekty wybrane
archiwizacja
urządzenia
sterowania
cyfrowego
danych
…
Systemy wieloagentowe – aspekty wybrane
Wielooagentowy system
sterowania komfortem
termicznym w budynku
jednorodzinnym
29
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
30
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
31
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
32
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
koszty
33
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
34
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
35
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
Diagram czynności:
Agent ogrzewania
36
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
Diagram czynności:
Agent nawilżania
powietrza
37
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
Diagram czynności:
Agent wentylacji
38
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
Diagram czynności:
Agent strefowy
39
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
Diagram sekwencji
Przykład 1
40
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
Diagram sekwencji
Przykład 2
41
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
Diagram klas
42
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
Platforma JADE
43
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
44
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
45
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
46
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
47
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
48
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
49
Wieloagentowy system sterowania komfortem termicznym w budynku
Systemy wieloagentowe – aspekty wybrane jednorodzinnym
50
Systemy wieloagentowe – aspekty wybrane
Zespoły robotów
mobilnych
51
Zespoły robotów mobilnych
Systemy wieloagentowe – aspekty wybrane
52
Zespoły robotów mobilnych
Systemy wieloagentowe – aspekty wybrane
Przykłady zastosowań:
• ….
DEMO 1
DEMO 2
DEMO 3
DEMO 4
53
Systemy wieloagentowe – aspekty wybrane
Genetyczny
Klasyczny
Algorytm
54
Inspiracja dla algorytmów genetycznych/ewolucyjnych
Systemy wieloagentowe – aspekty wybrane
56
Klasyczny algorytm genetyczny
START
Systemy wieloagentowe – aspekty wybrane
Ocena przystosowania
chromosomów w populacji
Zastosowanie operatorów
genetycznych
„Prezentacja” najlepiej
przystosowanego chromosomu
Utworzenie nowej
populacji
STOP
57
Klasyczny algorytm genetyczny
Systemy wieloagentowe – aspekty wybrane
Przykłady zastosowań:
• ….
DEMO AG
58
Systemy wieloagentowe – aspekty wybrane
62
Systemy wieloagentowe – aspekty wybrane
64
Rój, Stado, Ławica, Kolonia…
Systemy wieloagentowe – aspekty wybrane
65
Ogólny model cząstki (osobnika) w grupie (stadzie)
Systemy wieloagentowe – aspekty wybrane
Każda cząstka (osobnik):
• posiada określone położenie (współrzędne),
• zna swoje położenie,
• zna wartość funkcji ewaluacyjnej (funkcji celu) dla swojego
położenia,
• ma ustaloną prędkość i zwrot,
• pamięta najlepsze położenie jakie dotychczas osiągnęła,
• pamięta wartość funkcji ewaluacyjnej (funkcji celu) dla swojego
najlepszego położenia,
• zna swoich sąsiadów,
• zna najlepsze uzyskane położenia swoich sąsiadów,
• zna wartość funkcji ewaluacyjnej (funkcji celu) dla najlepszych
położeń swoich sąsiadów.
66
Systemy wieloagentowe – aspekty wybrane
Rój Cząstek
67
Rój Cząstek – inspiracje
Systemy wieloagentowe – aspekty wybrane
68
Rój Cząstek – podstawowe kroki algorytmu
Systemy wieloagentowe – aspekty wybrane
1. Inicjalizacja położenia, obliczenie wartości funkcji ewaluacyjnych,
wyznaczenie najlepszego (globalnie) znalezionego rozwiązania w
domenie reprezentującej obszar rozwiązań analizowanego zadania
(prędkość i kierunek cząstek przyjmuje się na tym etapie jako
zerowy)
2. Wyznaczenie nowych prędkości i kierunków przemieszczania się
cząstek roju,
3. Przemieszczenie cząstek w nowe położenie,
4. Obliczenie wartości funkcji ewaluacyjnych dla nowych współrzędnych
cząstek,
5. Sprawdzenie, czy nowe położenie cząstek jest lepsze od najlepszych
dotychczas znanych położeń,
6. Zapamiętanie nowych, najlepszych położeń cząstek,
7. Wyznaczenie najlepszego (globalnie) znalezionego rozwiązania po
zakończonej pojedynczej iteracji.
8. Sprawdzenie warunku stopu, jeżeli nie spełniony powrót do drugiego
kroku algorytmu,
9. Prezentacja najlepszego rozwiązania i zakończenie algorytmu.
69
Rój Cząstek – ustalenie kierunku ruchu i prędkości cząstek
Systemy wieloagentowe – aspekty wybrane
70
Rój Cząstek – przemieszczanie się cząstek w przestrzeni
Systemy wieloagentowe – aspekty wybrane
71
Rój Cząstek
Systemy wieloagentowe – aspekty wybrane
Przykłady zastosowań:
• ….
DEMO RC1
DEMO RC2
72
Systemy wieloagentowe – aspekty wybrane
Kolonia Mrówek
73
Systemy wieloagentowe – aspekty wybrane
75
Kolonia Mrówek - podstawowe kroki algorytmu
Systemy wieloagentowe – aspekty wybrane
76
[]
Kolonia Mrówek - podstawowe kroki algorytmu
Systemy wieloagentowe – aspekty wybrane
[]
A
B
2
[]
C
3
[]
4
D
E []
[A] [B]
2
1
A
B
[C]
3
C
[D] [E]
4
D 5
E
Jaką drogę wybrać?
[A][τ ij ( t )] α [σ ij ] β
je śeś j ∈ tabu k
p ijk ( t ) = 1∑ [Aτ ih ( t )] [σ ih ]
α β
h ∉ tabu k
[A] B
0 w przeciwnym przypadku
1
[A]
C
1
[A,D]
[A]
1 1
D
E
Kolonia Mrówek - podstawowe kroki algorytmu
Systemy wieloagentowe – aspekty wybrane
[τ ij ( t )] α [σ ij ] β
je śeś j ∈ tabu k
p ijk ( t ) = ∑ [τ ih ( t )] [σ ih ]
α β
h ∉ tabu k
0 w przeciwnym przypadku
Iteracja 2
[E,A] [C,B]
5 3
A
B
[B,C]
2
C
[A,D]
[D,E]
1
D 4
E
Iteracja 3
[D,E,A] [E,A,B]
4 5
A
B
[A,D,C]
1
C
[B,C,D]
[C,B,E]
2
D 3
E
Iteracja 4
[B,C,D,A] [D,E,A,B]
2 4
A
B
[E,A,B,C]
5
C
[C,B,E,D]
[A,DCE]
D 3
1
E
Iteracja 5
[C,B,E,D,A] [A,D,C,E,B]
1
3
A
B
[D,E,A,B,C]
4
C
[E,A,B,C,D]
[B,C,D,A,E]
D 5
E 2
Aktualizacja ścieżek feromonów
Systemy wieloagentowe – aspekty wybrane Kolonia Mrówek - podstawowe kroki algorytmu
[A,D,C,E,B]
L1 =300
L2 =450
2
[C,B,E,D,A]
L3 =260
Q
3
if (i , j ) ∈ naljlepsz ścieżka mrówki k
[D,E,A,B,C]
∆ τ ik, j = Lk
0
L4 =280
w przeciwnym przypadku
4
[E,A,B,C,D]
L5 =420
5 Powrót mrówek do pozycji początkowych,
może pójdą inną drogą
Systemy wieloagentowe – aspekty wybrane
Kolonia Mrówek
Przykłady zastosowań:
• ….
DEMO KM1
DEMO KM2
86
Systemy wieloagentowe – aspekty wybrane
Bibliografia
• Wooldridge, Michael . An Introduction to MultiAgent Systems. John
Wiley & Sons, 2002.
87
Systemy wieloagentowe – aspekty wybrane