From the Lukasz Stafiniak pages

Agents: Zadania

1.  Omówione propozycje projektów

Propozycje są tylko szkicem terytorium. Niektóre są bardziej jednorodne, niektóre mniej — te wymagają wyboru ścieżki, którą się chce pójść, np. bardziej teoretycznej, z implementacją prostego toy universe do testowania możliwości, albo bardziej technicznej, skupionej na “realistycznym” zastosowaniu.

1.1  Formacje

W wielu zadaniach interesuje nas doprowadzenie agentów (robotów) do rozmieszczenia o zadanym wzorze i/lub skoordynowane przemieszczanie się agentów, np. żeby w miarę możliwości utrzymywali dany wzór rozmieszczenia. Przeczytaj lub przejrzyj: Social Potentials for Scalable Multi-Robot Formations [1], Autonomous Initialization of Robot Formations [2], A General Algorithm for Robot Formations Using Local Sensing and Minimal Communication [3], Behavior-based Formation Control for Multi-robot Teams [4].

Zaprogramuj (“rozwiąż”) w OpenSteer różne zadania formacji boidów:

Przeczytaj Impossibility of Gathering by a Set of Autonomous Mobile Robots [5], Hard Tasks for Weak Robots: The Role of Common Knowledge in Pattern Formation by Autonomous Mobile Robots [6]. Zbadaj, jakie minimalne wymagania względem agentów uda ci się osiągnąć w rozwiązaniu poszczególnych zadań:

1.2  Uczenie się (indukcja) sieci behawioralnych

Sieci zachowań są paradygmatem łączącym podejście “niskiego poziomu” sieci neuronowych, z podejściami symbolicznymi “wysokiego poziomu”. Elemantami sieci behawioralnej są możliwe zachowania agenta (zachowania “atomowe”, bazowe). Krawędziami sieci przepływa “energia aktywacyjna”: węzeł, który zgromadzi jej więcej, ma większą szansę na “odpalenie”, czyli wykonanie związanego z nim zachowania. Z zachowaniami związane są warunki wstępne, które muszą być spełnione, jeśli zachowanie ma być wykonane, oraz spodziewane rezultaty zachowania. Krawędzie łączą zachowania, jeśli rezultaty jednego przyczyniają się do spełnienia warunków wstępnych drugiego. W sieci są też uwzględnione cele agenta, krawędzie biegną od celów do zadań, które się do spełnienia tych celów przyczyniają. Przeczytaj How To Do the Right Thing, Pattie Maes (1989) [7] oraz Extended Behavior Networks for Behavior Selection in Dynamic and Continuous Domains [8], może też Pronomes in Behavior Nets [9].

Budowanie skutecznej sieci behawioralnej może być bardzo czasochłonne. Fajnie byłoby, gdyby taka sieć mogła powstać automatycznie. Ten sam mechanizm pozwoliłby jej na bieżąco dostosowywać się do zmieniających się warunków środowiska. Przeczytaj Hugo deGaris, PhD Thesis, Chapter 9: Other Work [10], strony 22–23 (291–292 w pracy), dostosuj opisany mechanizm do “Extended Behavior Networks”. Przeczytaj też przeglądowy artykuł Modeling Adaptive Autonomous Agents [11]. Możesz też przeczytać How Minds Work [12] / Schema Mechanism [13] (wersja multimedialna [14]): włącz techniki “teorii schematów” w swój mechanizm uczenia sieci zachowań.

Możliwa dziedzina zastosowania: Uczenie się agentów zyskuje dodatkowy wymiar, gdy ich środowiskiem są inni agenci, przyjaźni (z pokrywającymi się celami) i wrodzy (z przeciwstawnymi celami). Wykorzystując RoboCup Soccer Simulator [16], lub OpenSteer, zaprogramuj uczących się graczy drużyny piłkarskiej. Przeczytaj Extended Behavior Networks for the magmaFreiburg Team [17], porównaj sieci behawioralne z architekturą zastosowaną w The Incremental Development of a Synthetic Multi-Agent System: The UvA Trilearn 2001 Robotic Soccer Simulation Team [15].

1.3  Naśladowanie

Zazwyczaj różni agenci dysponują różnymi możliwościami. Uniemożliwia to agentowi uczącemu się dokładną imitację zachowań. Przeczytaj Learning How to Do Things with Imitation [18]. Ponadto, agent działa dla osiągnięcia swoich celów, które mogą się nie pokrywać z celami, dla których działa “nauczyciel”. Przeczytaj Reinforcement Learning with Imitation in Heterogeneous Multi-Agent Systems [19]. Porównaj eksperymentalnie przedstawione w tych pracach algorytmy. Możesz zaproponować własny (ciekawszy) problem testowy.

Działanie przez naśladowanie często wykorzystuje się w robotyce lub środowiskach “rzeczywistości wirtualnej”. Celami “niskiego poziomu” tych działań (środkami do realizacji “wyższych” celów) są zadania “inverse kinematics”, ilustrując: “jak poruszyć ręką, aby chwycić kubek w pudełku”, albo bardziej złożone zadania (w animacji nazywane czasami “retargetting”, jeśli mamy rozwiązanie wzorcowe), np. jak poruszać kończynami, aby się przemieszczać. Zadania te możemy rozwiązywać budując zachowanie od podstaw, traktując problem jako zadanie optymalizacji nieliniowej (zapoznaj się z Introduction to Inverse Kinematics with Jacobian Transpose, Pseudoinverse and Damped Least Squares methods [20]). Zachowanie możemy też składać łącząc i dostosowując zachowania prostsze; repertuar zachowań pierwotnych musimy wtedy zaprogramować ręcznie lub pozyskać innymi metodami (zadanie ciekawe same w sobie). Przeczytaj Primitive-Based Movement Classification for Humanoid Imitation [21]. W jaki sposób wyniki z poprzedniego akapitu stosują się tutaj? W naśladowaniu zazwyczaj istotna jest segmentacja obserwowanych działań, zapoznaj się z Self-Segmentation of Sequences: Automatic Formation of Hierarchies of Sequential Behaviors [22] (patrz też poniżej: zastosowano proste segmentowanie w momentach ustania ruchu). Zaprogramuj ramię z dwoma stawami naśladujące zachowanie ramienia z trzema stawami, lub ciekawszy problem, wykorzystując składanie zachowań bazowych.

Zachowania służą celom agentów, realizowanym w ramach społeczności agentów. Często obserwując zachowania wnioskujemy o celach agentów. Przeczytaj Imitation as a First Step to Social Learning in Synthetic Characters: A Graph-based Approach [24]. Zaprogramuj środowisko analogiczne do zaprezentowanego w tej pracy. Agent może mieć różne strategie wyboru agentów do naśladowania, zapoznaj się z Human’s Meta-cognitive Capacities and Endogenization of Mimetic Rules in Multi-Agents Models [25] lub Metareflexive Mimetism: The prisoner free of the dilemma [23]. Możesz zaprogramować środowisko do testowania różnych strategii.

Dalsza literatura:

1.4  Information Retrieval Agents

Linki:

2.  Nowe propozycje projektów

2.1  Systemy wieloagentowe w ocenianiu / planowaniu / projektowaniu miast / budynków / etc.

2.2  Symulacje agentowe w antropologii poznawczej

2.3  Psychologia poznawcza a hybrydowe architektury agentów

Projekt dotyczy związków architektury agentów i wyników psychologii poznawczej. Przypomnij sobie opowiadanie “Ananke” z cyklu “Przygody pilota Pirxa” Stanisława Lema. Zapoznaj się z jakąś całościową propozycją z dziedziny psychologii poznawczej, np.: książka “Czuję, myślę, jestem. Ówiadomość i procesy psychiczne w ujęciu poznawczym” Aliny Kolańczyk. Przeczytaj np. G53DIA Designing Intelligent Agents [44] / Hybrid architectures [45] i wybrane dalsze materiały o architekturach hybrydowych, np. A Hybrid Agent Architecture for Dynamic and Unpredictable Environments [46] (przykład dla RoboCup); zapoznaj się z architekturami AGI, które siłą rzeczy są hybrydowe. Zaimplementuj agenta hybrydowego o architekturze opartej na obranej teorii psychologicznej oraz środowisko testowe i przetestuj przewidywania teorii. W przypadku proponowanej książki, zamodeluj świadomość w architekturze agenta, np. jej rolę w formowaniu pamięci epizodycznej.

Niektóre zagadnienia: A Survey of Cognitive and Agent Architectures [47].

3.  Początkowe propozycje zadań

  1. (OpenSteer) Boidy poruszające się w formacjach. W programach nie wykorzystuj narzuconej z góry trajektorii ani nie przechowuj informacji o wszystkich boidach, posługuj się tylko “lokalnymi” obserwacjami boidów. Formacje powinny się dostosowywać do ilości boidów w grupie.
    1. Zaprogramuj boidy poruszające się w trzech wymiarach tak, aby samoczynnie formowały “klucze”.
    2. Zaprogramuj boidy poruszające się na płaszczyźnie tak, aby poruszające się grupy samoczynnie formowały okręgi (n-kąty foremne). Prędkość okręgu powinna zgrubsza pokrywać się z prędkością boidów (wykluczamy sytuację, w której boidy większość energii marnują na jeżdżenie w kółko).
  2. (Włąsna implementacja) Zaprogramuj algorytm wychodzenia z labiryntu oraz wizualizację jego działania. (Wizualizacja powinna być prosta.)
  3. (JADE) Zaprogramuj system dystrybucji zasobów obliczeniowych jako system aukcyjny (Vickrey’s Auction). Zadaniem obowiązkowym na pracownię jest zaprogramowanie jakiejś minimalnej, uproszczonej formy systemu.
    • Modelujemy sieć komputerową, w której każdy komputer ma określoną moc obliczeniową (dalej nazywaną MIPS) i określoną pamięć operacyjną.
    • Zadania wykonywane w sieci wymagają określonej ilości MI do wykonania, oraz dla uproszczenia określonej ilości pamięci w każdej chwili wykonywania.
    • Komputer może wykonywać n zadań jednocześnie, przy czym każdemu zadaniu przydziela ustaloną ilość mocy obliczeniowej, tak że ite zadanie wykonuje się w czasie \frac{MI_i}{MIPS_i}, oraz MIPS_1 + \dots + MIPS_n \leq MIPS. Podobnie suma pamięci wymaganych przez poszczególne zadania jest mniejsza od ilości pamięci dostępnej na komputerze.
    • Zleceniodawca zadania wyznacza minimalną moc obliczeniową jakiej wymaga oraz maksymalną cenę jaką może zapłacić.
    • Komputer, który chce i może wykonać zadanie, proponuje swoją cenę, nie znając propozycji innych komputerów.
    • Zleceniodawca wybiera komputer, który zaproponował najniższą cenę, ale wypłaca mu drugą najniższą kwotę (najniższą cenę spośród pozostałych propozycji).
    • Celem komputerów jest zarobienie jak najwięcej w dłuższym okresie.
    • Zaprogramuj agentów modelujących komputery w sieci i agentów modelujących zleceniodawców. Dla celów symulacji zaprogramuj generator zleceń.
    • Porównaj kilka strategii dla agentów-komputerów.
  4. (RoboCup Soccer Simulator [48] - preferowany, lub OpenSteer) Zaprogramuj graczy drużyny piłkarskiej. Porównaj strategie m.in.:
    • gry pozycyjnej (gracze mają przydzielone obszary aktywności)
    • krycia (gracze mają przydzielonych kontrgraczy)
    • aktywnego szukania wolnego pola gry

Copyright © 2005–2006 the Main wiki and its authors

Links

  1. citeseer.ist.psu.edu/balch00social.html
  2. people.xiph.org/~jm/papers/lemay_icra2004.pdf
  3. citeseer.ist.psu.edu/600765.html
  4. citeseer.ist.psu.edu/balch99behaviorbased.html
  5. sbrinz.di.unipi.it/~peppe/Articoli/Riviste/TCSsirocco05Rev2.pdf
  6. citeseer.ist.psu.edu/flocchini99hard.html
  7. citeseer.ist.psu.edu/maes89how.html
  8. www.whitestein.com/resources/papers/ecai2004.pdf
  9. alumni.media.mit.edu/~rhodes/Papers/pronomes.html
  10. www.iss.whu.edu.cn/degaris/papers/thesis/Thesis-Ch9.pdf
  11. citeseer.ist.psu.edu/42923.html
  12. ccrg.cs.memphis.edu/tutorial/tutorial.html
  13. ccrg.cs.memphis.edu/tutorial/PDFs/SchemaMechanism.pdf
  14. ccrg.cs.memphis.edu/tutorial/3.4/audio_pp.html
  15. citeseer.ist.psu.edu/deboer02incremental.html
  16. sf.net/projects/sserver
  17. citeseer.ist.psu.edu/dorer99extended.html
  18. citeseer.ist.psu.edu/339624.html
  19. citeseer.ist.psu.edu/35684.html
  20. math.ucsd.edu/~sbuss/ResearchWeb/ikmethods/index.html
  21. citeseer.ist.psu.edu/jenkins00primitivebased.html
  22. citeseer.ist.psu.edu/286643.html
  23. girardianlectionary.net/covr2004/Chavalariasabst.pdf
  24. alumni.media.mit.edu/~daphna/sca_final_electronic.pdf
  25. www.uni-koblenz.de/~essa/ESSA2003/ChavalariasESSA03.pdf
  26. www.aisb.org.uk/publications/proceedings/aisb05/3_Imitation_Final.pdf
  27. ecagents.istc.cnr.it/dllink.php?id=214&type=Document
  28. web.media.mit.edu/~hugo/publications/papers/AH2002-goose.pdf
  29. web.media.mit.edu/~hugo/publications/talks/ah2002-goose-slides.pdf
  30. www.idsia.ch/~juergen/interest.html
  31. www.ii.uni.wroc.pl/%7Etju/Wyszukiwanie07/wyszukiwanie07.html
  32. cogprints.org/473
  33. www.linkedin.com/answers?viewQuestion=&questionID=36716&askerID=1287400
  34. www.whatisthought.com/papertn.pdf
  35. www.kr.tuwien.ac.at/staff/giuliana/project.html
  36. www.geographie.ruhr-uni-bochum.de/agklima/envimet/documents/papers/climbot2003.pdf
  37. www.mssanz.org.au/modsim05/papers/daniell.pdf
  38. mason.gmu.edu/~dparker3/MASLUCC_annals_final.pdf
  39. people.arch.usyd.edu.au/~rob/publications/thesis
  40. era.anthropology.ac.uk/Simulate/index.html
  41. jasss.soc.surrey.ac.uk/1/4/2.html
  42. www.cs.gmu.edu/~eclab/projects/mason/publications/siena.pdf
  43. cogprints.org/3056
  44. www.cs.nott.ac.uk/~bsl/G53DIA
  45. www.cs.nott.ac.uk/~bsl/G53DIA/Slides/Hybrid-Architectures.pdf
  46. www.ict.csiro.au/staff/Mikhail.Prokopenko/AORC%20papers/6-A%20hybrid%20agent%20architecture%20for%20dynamic%20and%20unpredictable%20environments.pdf
  47. ai.eecs.umich.edu/cogarch0
  48. sf.net/projects/sserver

Retrieved from http://ii.uni.wroc.pl/~lukstafi/pmwiki/index.php?n=Agents.Zadania

Page last modified on March 04, 2008, at 10:32 PM