Wybrane algorytmy ligi symulacyjnej Mariusz Tański Kacper Zdanowicz Magdalena Rombalska.

Slides:



Advertisements
Podobne prezentacje
Marek Kowalczyk Centralna Komisja Szkoleniowa
Advertisements

WSPÓŁPRACA BLOKU Z OBRONĄ W SIATKÓWCE PLAŻOWEJ
Wykład 4 2. Przykłady ruchu 1.5 Prędkość i przyśpieszenie c.d.
Algorytm Dijkstry (przykład)
Badania operacyjne. Wykład 1
Wskaźniki analizy technicznej
AGENDA: 1. Praca SI 2. Praca SII oraz współpraca SII z sekretarzem zawodów 3. Współpraca komisji sędziowskiej 4. Czynności sędziów przed meczem, protesty.
Pełen Sandał 2008 Modele ruchu na serwerze RoboCup Autorzy: Mariusz Wójcik Goncalo Ferraz Leszek Manicki Jarosław Tempski.
Biblioteka do tworzenia agentów w środowisku RoboCup
KINEMATYKA Kinematyka zajmuje się związkami między położeniem, prędkością i przyspieszeniem badanej cząstki – nie obchodzi nas, skąd bierze się przyspieszenie.
Kinematyka.
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
HOLENDERSKA SZKOŁA FUTBOLU
Zapis informacji Dr Anna Kwiatkowska.
Zmiany Przepisów Gry w Piłkę Nożną /2013
KINEMATYKA MANIPULATORÓW I ROBOTÓW
Podstawy programowania
Trening popołudniowy U r. Kędzierzyn-Koźle
STAŁE FRAGMENTY GRY konspekt treningu AUTOR: MAREK DRAGOSZ.
MECHANIKA 2 Wykład Nr 11 Praca, moc, energia.
Piłka nożna.
Dwa ognie Katarzyna Walczyk.
Systemy wspomagania decyzji
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Farseer Physics Engine. Farseer Physics Engine jest silnikiem fizycznym napisanym dla platformy.NET. Został on zainspirowany przez silnik Box2D znany.
OPRACOWANIE: Komisja Szkoleniowa Kolegium Sędziów w Lesznie
Organizacja gry obronnej
MECHANIKA I WYTRZYMAŁOŚĆ MATERIAŁÓW
Zasady przywiązywania układów współrzędnych do członów.
Popular sport in Poland
MS Excel - wspomaganie decyzji
Aplikacje internetowe
STREFA DYLEMATU Prezentację wykonali studenci specjalności DUA gr. 2:
Piłka nożna GRA ZESPOŁOWA
Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.
PROGRAM PRZEDMIOTU KIERUNKOWEGO W KSZTAŁCENIU NAUCZYCIELI WYCHOWANIA FIZYCZNEGO TRYB, ROK STUDIÓW STACJONARNE, I ROK, SEMESTR II Wykład nr 2 WROCŁAW 2015.
RUCH KULISTY I RUCH OGÓLNY BRYŁY
POZYCJA – USYTUOWANIE SĘDZIEGO NA POLU GRY.
Unihoc GRA DLA WSZYSTKICH. MAŁY SPORT – WIELKA RADOŚĆ Unihoc to jedna z najmłodszych dyscyplin sportowych. Powstała w Szwecji na początku lat osiemdziesiątych.
Aktualne wytyczne dotyczące Art.XI Warszawa, styczeń 2015.
Grafika i komunikacja człowieka z komputerem
Zagadnienie i algorytm transportowy
Ruch jednowymiarowy Ruch - zmiana położenia jednych ciał względem innych, które nazywamy układem odniesienia. Uwaga: to samo ciało może poruszać się względem.
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
ZAWODNIK PRZY SIATCE CZĘŚĆ 1. PONAD SIATKĄ Opracowanie Wojciech Maroszek z wykorzystaniem FIVB Multimedia Teaching Material 2015.
Dynamika punktu materialnego Dotychczas ruch był opisywany za pomocą wektorów r, v, oraz a - rozważania geometryczne. Uwzględnienie przyczyn ruchu - dynamika.
Wykład Rozwinięcie potencjału znanego rozkładu ładunków na szereg momentów multipolowych w układzie sferycznym Rozwinięcia tego można dokonać stosując.
OBOWIĄZKI SĘDZIEGO II - WYBÓR Opracowanie Wojciech Maroszek z wykorzystaniem FIVB Multimedia Teaching Material 2015.
Dynamika ruchu obrotowego
Ruch – jedno w najczęściej obserwowanych zjawisk fizycznych
Indywidualizacja treningu jako podstawowe zadanie OSPR Wojciech Nowiński Program dofinansowania ze środków Funduszu Rozwoju Kultury Fizycznej w roku 2015.
Ćwiczenia na płaski brzuch
Zarządzanie projektami
„Między duchem a materią pośredniczy matematyka. ”
Art.11 PG - Spalony Autorzy: Zbigniew Przesmycki Maciej Wierzbowski.
Specyfika zachowań międzyorganizacyjnych Zachowania odbywają się na poziomie: indywidualnym (pojedynczych osób), grup (zespołów), ale także na poziomie.
PRZEPISY GRY W PIŁKĘ NOŻNĄ ARTYKUŁ XII CZĘŚĆ DRUGA Szkolenie kandydatów na sędziów piłki nożnej – KURS 2010 Opracował: Tomasz Radkiewicz.
Sytuacje w grze- gra na siatce; akcje w ataku i bloku
„ ZAGRANIE PIŁKI RĘKĄ ” Szkolenie Sędziów Wydział Sędziowski Piotrków Trybunalski Opracował: Tomasz Radkiewicz, Zbigniew Dobrynin – Kolegium Sędziów Łódź.
OPRACOWANIE: Komisja Szkoleniowa Kolegium Sędziów w Lesznie.
SPORT!! Sport – forma aktywności człowieka, mająca na celu doskonalenie sprawności fizycznych w ramach współzawodnictwa, indywidualnie lub zbiorowo, według.
Mirosław Mazgaj Zanim krzykniesz „sędzia... kalosz”, czyli co drużyny o Przepisach Gry wiedzieć powinny.
AGENDA: 1. Praca SI 2. Praca SII oraz współpraca SII z sekretarzem zawodów 3. Współpraca komisji sędziowskiej 4. Czynności sędziów przed meczem, protesty.
PORUSZANIE SIĘ I USTAWIANIE SĘDZIEGO W RÓŻNYCH SYTUACJACH BOISKOWYCH
Słowniczek Piłka nieoczekiwana – gdy piłka rusza w kierunku zawodnika nieoczekiwanie dla niego (np. gdy zawodnik walczy o piłkę lub gdy zawodnik bierze.
Zajęcia w hali sportowej
Mirosław Mazgaj Zanim krzykniesz „sędzia... kalosz”, czyli co drużyny o Przepisach Gry wiedzieć powinny.
SYSTEM 1–4–4–2 ZADANIA ZAWODNIKÓW W ZALEŻNOŚCI OD ZAJMOWANEJ POZYCJI
GRY PRZYDATNE PRZY NAUCZANIU FUTSALU
KONTRAPRESSING.
Zapis prezentacji:

Wybrane algorytmy ligi symulacyjnej Mariusz Tański Kacper Zdanowicz Magdalena Rombalska

Niskopoziomowe umiejętności graczy Algorytmy te są bardzo techniczne i nie zawierają wielu elementów gry zespołowej. W obecnej chwili od zespołów wymaga się o wiele więcej, jednak nawet najbardziej inteligentnie i zespołowo grająca drużyna piłkarzy poniesie porażkę, jeśli nie będzie radziła sobie z omówionymi tutaj niskopoziomowymi czynnościami. Przykłady niskopoziomowych algorytmów: 1. Efektywne kopanie 2. Proste dryblowanie

Efektywne kopanie Kopniecie piłki przez zawodnika nie powoduje nadania jej określonej prędkości, a jedynie przykłada do piłki, być może znajdującej się już w ruchu, pewien wektor Piłkę mona kopnąć, jeśli znajduje się ona w określonej w parametrach serwera odległości Agent może zderzyć się z piłką. Ciała są oddzielane od siebie, a ich prędkości są mnożone przez –0.1

Efektywne kopanie Przed wykonaniem kopnięcia gracze CMUnited określają pożądaną trajektorię piłki oraz obliczają różnice pomiędzy jej aktualna a żądaną prędkością. Dwie podstawowe trudności: kopnięcie piłki z odpowiednia prędkością kopnięcie piłki w dobrym kierunku

Efektywne kopanie - kopnięcie piłki w dobrym kierunku Gracz chcący kopnąć piłkę w określonym kierunku musi sprawdzić, czy jego kopnięcie nie doprowadzi do kolizji piłki z jego własnym ciałem. Być może przed samym kopnięciem konieczne będzie przesunięcie jej na inną stronę gracza przy pomocy lżejszego kopnięcia. Po ustaleniu punktu, w którym powinna znaleźć się piłka obliczana jest trajektoria pomocniczego kopnięcia (lub ich serii)

Jeżeli piłki nie mona posłać bezpośrednio do nowego punktu (ponieważ zasłania go ciało gracza) trajektorie wyznacza się poprzez poprowadzenie przez aktualną pozycję piłki prostej przyległej do otaczającego gracza okręgu Na tej prostej wyznacza się punkt pośredni, z którego piłka jest kopana do swojej docelowej pozycji

Efektywne kopanie - kopnięcie piłki z odpowiednia prędkością Jeżeli piłka jest podawana do innego gracza, prawdopodobnie celem kopiącego nie będzie nadanie jest największej możliwej prędkości, ponieważ wolniejszy ruch piłki ułatwi przyjmującemu podanie jej zatrzymanie. Jeżeli natomiast kopniecie jest strzałem na bramkę, piłka powinna poruszać się jak najszybciej. Agenci CMUnited obliczając siłę kopnięcia starają się przewidzieć stan świata w chwilę po wykonaniu akcji Są w stanie przewidzieć, czy w następnym cyklu po kopnięciu piłka będzie nadal znajdowała się w zasięgu ich kopnięcia

Proste dryblowanie W każdym cyklu agent sprawdza, czy jeśli przyspieszy w wybranym kierunku piłka nadal będzie znajdowała się z zasięgu jego kopnięcia. Jeżeli tak, przyspiesza, jeżeli nie, kopie piłkę Przy kopaniu piłki, pod uwagę brana jest spodziewana pozycja gracza po przyspieszeniu w następnym cyklu. Piłka nie jest kopana wprost do przodu. Metoda wykonująca kopnięcie jako parametr pobiera kąt dryblowania. Jest to kąt pod jakim znajdzie się piłka względem gracza po wykonaniu przez niego przyspieszenia (po dogonieniu piłki)

Proste dryblowanie Jeżeli w którymś cyklu wykonanie kopnięcia nie jest możliwe z powodu potencjalnej kolizji, piłka jest obracana wokół gracza dopiero wówczas wykonywane jest kopnięcie Do obliczenia trajektorii piłki wykorzystywane są następujące wzory:

Najpierw obliczana jest spodziewana pozycja gracza za dwa cykle p nowa to spodziewana pozycja gracza, p aktualna to jego pozycja w danej chwili, v to aktualna prędkość gracza, pdecay to wartość parametru serwera player_decay (zwolnienie), a jest wartością przyspieszenia, z reguły wyliczana jako siła przyspieszenia mnożona razy wartość parametru serwera dash_power_rate, chociaż czasami może ograniczać ją niski poziom wytrzymałości gracza.

Następnie do pozycji p nowa dodawany jest wektor o kierunku równym kątowi dryblowania i długości takiej, by piłka znajdowała się w zasięgu kopnięcia. W ten sposób określana jest docelowa pozycja piłki p docelowa. Trajektoria piłki jest następnie wyliczana z wzoru: p piłki to aktualna pozycja piłki bdecay to wartość parametru serwera ball_decay

Indywidualne akcje uwzględniające istnienie i rozmieszczenie innych zawodników Algorytmy te również są algorytmami indywidualnymi: wykonujący akcję agent nie stosuje zaawansowanego myślenia na poziomie zespołu, stara się jedynie dobrze spełnić swoja funkcję. Od algorytmów z poprzedniego podrozdziału różnią się tym, że postępowanie agenta, mimo że nie współpracuje on w bezpośredni sposób z innymi, jest uzależnione od istnienia innych zawodników. Przykładowo, wykonujący sprytne dryblowanie agent sam kontroluje piłkę, ale kierunek jego biegu i kąt pod którym ją kopie zależą od rozmieszczenia graczy przeciwnika – postępowałby inaczej, gdyby był na boisku sam.

Sprytne dryblowanie Wykorzystuje ono metodę prostego dryblowania, podając jej różne parametry (wartości kąta dryblowania) w zależności od rozmieszczenia graczy przeciwnej drużyny na boisku Poruszający się z piłka gracz stara się w każdej chwili prowadzić ją po tej stronie ciała, po której nie ma przeciwników Każdy znajdujący się z pobliżu zawodnik przeciwnej drużyny głosuje za konkretnym, najbardziej odległym kątem dryblowania, przy czym kąt dryblowania może przyjmować wartości z przedziału [-90,90] stopni

Sprytne dryblowanie Przykładowo, dla zawodnika znajdującego się pod katem 10 stopni od dryblującego takim katem będzie –90 stopni. Dodatkowo głosy przeciwników otrzymują wagi, oparte na ich odległości oraz położeniu względem gracza przy piłce. Większe wagi otrzymują ci bliżsi oraz znajdujący się naprzeciwko gracza. Na podstawie tych informacji wybierany jest optymalny kąt sprytnego dryblowania.

Aktywne i pasywne przejmowanie piłki Istnieją dwa podstawowe modele przejmowania poruszającej się po boisku piłki. Pierwszy z nich, przejęcie pasywne, jest wykorzystywane głównie przez bramkarza, który nie powinien zanadto oddalać się od bramki, Większość graczy używa przejęcia aktywnego.

Aktywne i pasywne przejmowanie piłki Pasywne przejęcie polega na obliczeniu najbliższego punktu na trajektorii piłki (który znajduje się na boisku). Jeżeli agent uzna, że jest w stanie znaleźć się w tym punkcie przed piłka, biegnie. Przejęcie aktywne polega na znalezieniu najwcześniejszego takiego punktu na trajektorii piłki, w którym agent może się znaleźć przed nią.

Indywidualne akcje uwzględniające istnienie i rozmieszczenie innych zawodników Inne algorytmy uwzględniające istnienie i rozmieszczenie innych zawodników: Bieg z piłką Dośrodkowanie Wystawianie piłki za plecy przeciwnika Krycie Wybijanie piłki w sytuacji obronnej

Algorytmy bramkarzy Algorytm obrony bramki jest szczególnym przypadkiem indywidualnego algorytmu uwzględniającego położenie innych graczy. W podstawowym przypadku bramkarz nie musi współpracować z całym zespołem i znać jego strategii. Musi po prostu wiedzieć, gdzie znajduje się piłka i czy znajduje się na drodze umożliwiającej jej wpadniecie w światło bramki. Istnieje więcej niż jedna skuteczna metoda obrony bramki. Przykładowe sposoby, które odniosły sukces w rozgrywkach RoboCup to: FC Portugal, CMUnited oraz UvA Trilearn.

Algorytm bramkarza FC Portugal Algorytm działania bramkarza drużyny FC Portugal silnie wykorzystuje dwuwymiarowość serwera symulacyjnego. Ponieważ nie jest możliwe kopnięcie piłki nad głową bramkarza, może on bez większego ryzyka oddalać się od bramki w aż w okolice granicy pola karnego. Bramkarz porusza się po prostokącie nieznacznie mniejszym od pola karnego. Korzysta z wąskiego pola widzenia, aby być w stanie widzieć piłkę w każdym cyklu symulacji. Kiedy piłka porusza się powoli, bramkarz ustawia się na przecięciu wspomnianego prostokąta z linią łączącą piłkę ze środkiem bramki. Jeśli piłka porusza się szybciej i nie ma przy niej piłkarza, bramkarz oblicza jej spodziewany punkt przecięcia z prostokątem i ustawia się tam.

Algorytm bramkarza FC Portugal W celu złapania piłki bramkarz stosuje pasywnego i aktywnego przejęcia. Pasywne przejecie jest stosowane, jeśli bramkarz jest pewien, że nikt nie przechwyci piłki wcześniej. Jeżeli w pobliżu znajduje się przeciwnik, który potencjalnie może kopnąć piłkę, stosuje się przejecie aktywne, w którym bramkarz biegnie do pierwszego punktu na trajektorii piłki w którym może być przed nią. Jeżeli bramkarz stwierdzi, że nie jest w stanie przejąć piłki ani w pasywny ani w aktywny sposób, próbuje zatrzymać ja na linii bramkowej.

Algorytm gracza UvA Trilearn Algorytm odwołuje się do ponumerowanych stref na boisku. Algorytm: 1. Jeśli prawdopodobieństwo zdobycia gola poprzez strzał w najlepszy punkt strzału jest większe niż 0.9, kopnij piłkę z największą mocą w kierunku tego punktu. Prawdopodobieństwo wynosi: P=Pg*Pb gdzie: Pg – prawdopodobieństwo że trafimy do bramki Pb – prawdopodobieństwo że ominiemy bramkarza

Krok 2: jeśli w obszarze 1 a) Jeśli patrzysz w kierunku własnej bramki a blisko nie ma przeciwników, obróć się z piłką w kierunku bramki przeciwnika. b) Jeśli przed tobą znajdują się zawodnicy nieotoczeni przeciwnikami, podaj piłkę z normalna prędkością do najbardziej wolnego z nich. c) Jeśli pomiędzy przeciwnikami znajduje się odpowiednio duży kąt, powoli drybluj w jego kierunku. d) W przeciwnym razie wybij piłkę przez najszerszy kat pomiędzy przeciwnikami.

Krok 3: jeśli w obszarze 2 a) Jeśli patrzysz w kierunku własnej bramki a blisko nie ma przeciwników, obróć się z piłka w kierunku bramki przeciwnika. b) Jeśli ścieżka nie jest blokowana przez przeciwników, drybluj szybko w stronę bramki przeciwnika. c) Jeśli przed tobą znajdują się zawodnicy nieotoczeni przeciwnikami, podaj piłkę z normalna prędkością do najbardziej wolnego z nich. d) Jeśli przed tobą znajdują się zawodnicy, w których otoczeniu jest niewielu przeciwników, podaj piłkę z dużą prędkością do najbardziej wolnego z nich. e) Jeśli kat pomiędzy przeciwnikami jest odpowiednio szeroki, wystaw piłkę zawodnikowi z boku boiska (wykonaj podanie w głąb).

Krok 3: jeśli w obszarze 3a,3b a) Jeśli patrzysz w kierunku własnej bramki a blisko nie ma przeciwników, obróć sie z piłka w kierunku bramki przeciwnika. b) Jeśli bardzo blisko znajduje sie przeciwnik, wystaw sobie piłkę poza niego. c) Jeśli przeciwnicy nie blokują ścieżki, drybluj szybko w stronę pola karnego przeciwnika. d) Jeśli jakiś zawodnik twojej drużyny (zwłaszcza ty) będziesz mógł pierwszy znaleźć sie przy piłce, wybij ja w kierunku swojej strony boiska. e) Jeśli przed tobą znajdują sie zawodnicy nieotoczeni przeciwnikami, podaj piłkę z normalna prędkością do najbardziej wolnego z nich. f) Jeśli pomiędzy przeciwnikami znajduje sie odpowiednio duży kat, powoli drybluj w jego kierunku. g) W przeciwnym razie wybij piłkę przez najszerszy kat pomiędzy przeciwnikami.

Krok 4: jeśli w obszarze 4a,4b a) Jeśli znajdujesz się poza polem karnym i ścieżka nie jest zablokowana, drybluj szybko w stronę pola karnego przeciwnika. b) Jeśli istnieją zawodnicy twojej drużyny w obszarach 4, 5, 6 nieotoczeni przeciwnikami, podaj piłkę z normalna prędkością do najbardziej wolnego z nich. c) Jeśli kąt pomiędzy przeciwnikami jest odpowiednio szeroki, wystaw piłkę zawodnikowi w obszarze 6. d) Jeśli bardzo blisko znajduje się przeciwnik, wystaw sobie piłkę poza niego (akcja outplay). e) Jeśli istnieją zawodnicy twojej drużyny w obszarach 4, 5, 6, wokół których znajduje się niewielu przeciwników, podaj piłkę z dużą prędkością do najbardziej wolnego z nich. f) W przeciwnym razie wybij piłkę przez najszerszy kąt pomiędzy przeciwnikami.

Krok 5: jeśli w obszarze 5a,5b a) Jeśli istnieją zawodnicy twojej drużyny w obszarach 4, 5, 6 nieotoczeni przeciwnikami, podaj piłkę z normalna prędkością do najbardziej wolnego z nich. b) Jeśli znajdujesz się poza polem karnym przeciwnika i ścieżka nie jest zablokowana, drybluj powoli w stronę pola karnego. c) Jeśli bardzo blisko znajduje się przeciwnik, wystaw sobie piłkę poza niego. d) Jeśli kąt pomiędzy przeciwnikami jest odpowiednio szeroki, wystaw piłkę zawodnikowi w obszarze 6. e) Jeśli istnieją zawodnicy twojej drużyny w obszarach 4, 5, 6, wokół których znajduje się niewielu przeciwników, podaj piłkę z dużą prędkością do najbardziej wolnego z nich. f) W przeciwnym razie wybij piłkę przez najszerszy kat pomiędzy przeciwnikami.

Krok 6: jeśli w obszarze 6 Jeśli piłka znajduje się w strefie 6 wówczas: a) Jeśli przeciwnicy nie blokują ścieżki, drybluj szybko w stronę bramki przeciwnika. b) Jeśli pomiędzy przeciwnikami znajduje się odpowiednio duży kat, powoli drybluj w jego kierunku (ale do przodu). c) Jeśli istnieją zawodnicy twojej drużyny w obszarach 4, 5, 6 nieotoczeni przeciwnikami, podaj piłkę z normalna prędkością do najbardziej wolnego z nich. d) Jeśli kat pomiędzy przeciwnikami jest odpowiednio szeroki, wystaw piłkę zawodnikowi w obszarze 6. e) Jeśli istnieją zawodnicy twojej drużyny w obszarach 4, 5, 6, wokół których znajduje się niewielu przeciwników, podaj piłkę z dużą prędkością do najbardziej wolnego z nich. f) Kopnij piłkę z maksymalna siła w kierunku najlepszego punktu strzału.

Algorytm na poziomie zespołu Locker-Room Agreement (umowa zawarta w szatni) Jest to jeden z pierwszych pomysłów na zorganizowanie akcji zespołowych wprowadzony przez CMUnited. Gracze co jakiś czas spotykają się w bezpiecznym, pozwalającym na pełną komunikację środowisku, które pozwala na uzgodnienie pewnej strategii. Gracze posiadają pewna sztywna (wyniesiona z szatni) wiedze o pewnych zachowaniach, np. w przypadku konieczności wybicia piłki z autu. Wówczas nie muszą nadmiernie wykorzystywać ograniczonej komunikacji na boisku. Pomysł ten został wykorzystany do wymuszenia spalonego na graczach tj.łapania na spalonym. Gracze wiedzieli, że jeśli zajdą określone, jasne dla wszystkich warunki, maja przesunąć się w kierunku środka boiska. Strategia Locker-Room Agreement była jednym z pierwszych pomysłów na współprace zespołowa, ale trzeba zaliczyć ja do pomysłów raczej naiwnych. Jej siła polegała głównie na zaskakiwaniu przeciwnika. Po jednym przegranym meczu przeciwnik mógł przeprogramować drużynę tak, by umiała przewidzieć zachowania piłkarzy. Poza tym, powoli zaczynają sie pojawiać agenci wyciągający wnioski z akcji przeciwnika, którzy po kilku przypadkach wykorzystania tej strategii mogą nauczyć się przed nią bronić.

Algorytm na poziomie zespołu STEAM STEAM (Shell for TEAMwork) Zespoły wewnątrz STEAM mogą mieć strukturę płaska lub hierarchiczna. W przypadku struktury hierarchicznej zespół może rekurencyjne składać się z podzespołów, które z kolei ostatecznie są tworzone przez poszczególne jednostki. Zespoły oraz jednostki otrzymują pewne konkretne role. Wyróżnia się dwa typy ról: trwałe, które nie zmienia się w krótkim okresie czasu (np. bramkarz) oraz zadaniowe, które są zadawane tylko na czas wykonania pewnej akcji (np. przyjmujący podanie). Działanie zespołu w STEAM opiera się o czynności nazywane operatorami zespołowymi, czyli połączone akcje całego zespołu.

Operatory zespołowe Operatory zespołowe oraz operatory indywidualne składają się z tych samych elementów: warunków wstępnych, reguł stosowania oraz warunków zakończenia. Różnica polega na tym, że operatory indywidualne odnoszą się do prywatnego stanu agenta, podczas gdy operator zespołowy wynika z zmieniania stanu zespołu. Stan zespołu to utrzymywany przez agentów zbiór przekonań, należy pamiętać że STEAM nie używa współdzielonej pamięci ani współdzielonej wiedzy. Stan zespołu jest utrzymywany niezależnie przez jego członków i uaktualniany przy pomocy obserwacji oraz komunikacji.

Model współpracy w STEAM Opiera się o trzy klasy aksjomatów: 1. Aksjomat CP (coherence preserving), czyli aksjomaty spójności. Wymagają one, aby członkowie zespołu komunikowali sie ze sobą w celu uzgodnienia rozpoczęcia lub zakończenia wykonywania operatorów zespołowych. Np. jeśli agent nie może wykonać operatora musi zawiadomić o tym swój zespół. 2. Aksjomat MR (monitor and repair), czyli aksjomaty monitorowania i naprawy. Wykrywają one sytuacje, w której wykonanie zadania nie jest możliwe z powodu awarii lub wykluczenia zespołu lub jego części. Wówczas zespół musi dokonać reorganizacji. 3. Aksjomat SC (selectivity-in-communication), czyli aksjomaty wybiórczości komunikacji. Ich podstawa jest ocena kosztów i zysków z faktu wysłania komunikatu. W środowiskach, gdzie komunikacja jest kosztowna i zaburzana, ocenia się prawdopodobieństwo, że inni członkowie zespołu mogą już posiadać pewna wiedze (uzyskana np. przy pomocy obserwacji)

Drużyna musi działać zgodnie z zasadami określonymi w aksjomatach. Cała komunikacja oparta jest o te zasady. Wyjątkiem są sytuacje, kiedy agenci otrzymują zewnętrzne sygnały od sędziego, zmuszające ich do wykonania któregoś z operatorów. Nie muszą wówczas komunikować tego faktu zespołowi.

Algorytm drużyny NOVAURO. (wcześniej UJDB [Wang, Chen, Zhao, Ju, 2004]) Dwa czynniki: odległość od linii bramkowej kąt do słupka bramki przeciwnika

Funkcja oceny strzału na bramkę. odległość agenta od linii bramkowej – d, kąt: lewy słupek bramki – strzelający – prawy słupek – α, zdolność strzelania agenta – f, stopień interferencji agentów przeciwnika – ξ

Przypadki szczególne piłka na linii bramkowej, brak interferencji, tzn. d =0, α =180, ξ =0 piłka na przedłużeniu linii bramkowej, nie pomiędzy słupkami, tzn. d =0, α =0, ξ =0

Prawdopodobieństwo sukcesu strzału wprost proporcjonalne do wartości α i f, odwrotnie proporcjonalne do wartości ξ oraz d.

Funkcja skuteczności obrony. założenia jak w funkcji skuteczności strzału. im bliżej i szerszy kąt, tym niebezpieczniej dla obrońców zadanie obrońców – minimalizacja tych czynników

Decyzje w drużynie NOVAURO. podejmowane na poziomie agenta oraz zespołu agent z piłkę oblicza wartość funkcji oceny strzału, jeśli wartość wyższa od progu, gracz strzela, w przeciwnym razie gracz bierze pod uwagę wartości funkcji innych graczy, z przesłanych komunikatów,

Decyzje w drużynie NOVAURO. jeżeli któryś z graczy jest na pozycji umożliwiającej strzał, piłka podawanego jest do niego, jeżli nie ma takiego agenta, zawodnik z piłką stara się zająć lepszą lokalizację, proces jest powtarzany do chwili oddania strzału lub przechwycenia piłki przez przeciwnika komunikaty – tylko gracze widzący obrońców

Obronne formacje każdy piłkarz – wydzielone pole działania, w sytuacjach wpółpracy agent może wykroczyć na sąsiadujace pola, agent próbuje przejąć piłkę od przeciwnika w swoim polu, jeśli nie ma szans na przejęcie, przesuwa sie na pozycję utrudniająca zdobycie bramki

Grafy koordynacji technika stworzona przez ligę Uva Trilearn, nacisk położony na koordynację zespołu agentów, kompletna strategia zespołu przy użyciu rachunku zdań (zmienne = akcje i stany gry) każda reguła posiada przypisany zysk

Przykład akcja: passTo, (i) - podanie piłki do agenta i, stan: is-pass-blocked(i, j) - czy podanie od gracza i do gracza j jest blokowane przez przeciwnika, reguła: przykładowa reguła poadania wymagająca współpracy kilku (dwóch) graczy

Tworzenie grafu każdy agent – wierzchołek w grafie, krawędź między wierzchołkami – agenci muszą koordynować akcje (istnieje reguła z akcjami dla obu graczy) cel drużyny – znalezienie akcji zespołowej (zbiór akcji) z największym globalnym zyskiem

Algorytm eliminacji zmiennych usuwanie z grafu krawędzi, gdzie reguły niespełnione (np. gracze są za daleko) lokalna funkcja zysku – zysk z akcji poszczególnych zawodników globalna funkcja zysku – liniowa kombinacja funkcji lokalnych u(a) = f 12 (a 1, a 2 ) + f 13 (a 1, a 3 ) + f 34 (a 3, a 4 )

Algorytm eliminacji zmiennych - procedura wybór jednego agenta, zebranie informacji o funkcjach zysku od sąsiadów, optymalizacja wyboru akcji, komunikacja reszcie, usunięcie agenta i powtórzenie cyklu dla pozostałych, ostatni agent decyduje o konkretnej akcji i komunikuje usuniętemu w poprzednim kroku itd.

Algorytm eliminacji zmiennych - konkluzja wynik algorytmu – zawsze optymalna akcja zespołowa wynik nie zależy od kolejności wyboru agentów, ale czas działania algorytmu tak problem – może działać długo dla szczególnych przypadków niewystarczające dla dynamicznego środowiska i decyzji w czasie rzeczywistym

Komunikacja i model świata komunikacja w RoboCup jest zaburzona (szumy, wielkość komunikatów) wymiana informacji między graczami o otaczającym świecie informacja: wizualna, słyszalna, sense-body, efekty wcześniejszych działań

Model świata CMUnited modelowanie stan środowiska - cała dostępna informacja założenie, agent ma informację o świecie w t-2 i wykonał akcję w t-1. gdy serwer w cyklu t-1, otrzymane info przechowane tymczasowo, bez aktualizacji modelu gdy serwer w cykl t, aktualizacja modelu całą dostępną informacją. wybór akcji, wysłanie do serwera.

Mechanizm komunikacji ADVCOM inteligenty mechanizm komunikacji porównanie i uaktualnienie modeli świata poszczególnych agentów zwiększenie koordynacji zespołu poprzez komunikowanie ważnych wydarzeń,

Komunikacja ADVCOM aktualny model – podejmowanie decyzji komunikowany model świata – wyznacznik wiedzy innych członków drużyny podstawowe komunikaty z modelem świata dodatkowe komunikaty o niespodziewanych wydarzeniach