Ambos lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anterior |
geopro:pedro:platforms [2007/07/16 16:21] – 150.163.2.54 | geopro:pedro:platforms [2008/06/12 18:35] (atual) – pedro |
---|
====== MAS infrastructures====== | ====== ABM Discussions and Requirements====== |
| |
| ====Anatomy of a Toolkit: A comprehensive compendium of various agent-based modelling toolkits, on the market today==== |
| |C. Nikolay, G. Madey, 2007| Proceedings of Agent2007: Complex interaction and social emergence, 87-97| [[http://leg.ufpr.br/~pedro/papers/anatomy-toolkit.pdf|pdf]]| |
| |
| \\ |
| |
| **Abstract:** With so many toolkits available, the choice of which one is best suited for your project |
| can be overwhelming. Moreover, different communities of users prefer different aspects |
| of a toolkit. This paper is a survey of the toolkits that are available today and how they |
| compare to each other from a multi-stakeholder perspective. Our goal is to provide users |
| the ability to better choose a suitable toolkit based on the features abstracted from various |
| documentation and the first hand experiences of a broad range of communities of users |
| and compiled into an easy to use compendium. In addition, we expand the Agent Based |
| Modeling body of knowledge to include information about a breadth of characteristically |
| and historically diverse platforms. |
| |
| \\ |
| |
====Evaluation of free Java-libraries for social-scientific agent based simulation==== | ====Evaluation of free Java-libraries for social-scientific agent based simulation==== |
| |
At the end of the paper, there is a long list of other tools, and the reasons why they were excluded from the analysis. | At the end of the paper, there is a long list of other tools, and the reasons why they were excluded from the analysis. |
| |
| |
====Requirements Analysis of Agent-Based Simulation Platforms: State of the Art and New Prospects==== | ====Requirements Analysis of Agent-Based Simulation Platforms: State of the Art and New Prospects==== |
|M. B. Marietto, N. David, J. S. Sichman, H. Coelho, 2003|[[http://www.springerlink.com/content/c22cux8vq0uydkyy/|LNCS]]|[[http://scholar.google.com.br/scholar?hl=pt-BR&lr=&cites=9291166468364790291|9 citations in Scholar]]| | |M. B. Marietto, N. David, [[http://www.pcs.usp.br/~jaime/#projetos|J. S. Sichman]], H. Coelho, 2003|[[http://www.springerlink.com/content/c22cux8vq0uydkyy/|LNCS]]|[[http://scholar.google.com.br/scholar?hl=pt-BR&lr=&cites=9291166468364790291|9 citations in Scholar]]| |
| |
|M. B. Marietto, N. David, J. S. Sichman, H. Coelho, 2002|Multi-Agent Based Simulation Workshop| [[http://leg.ufpr.br/~pedro/papers/requirement-analysis-MABS.pdf|pdf]]| [[http://scholar.google.com.br/scholar?hl=pt-BR&lr=&cites=4620433597513998219|4 citations in Scholar]]| | |M. B. Marietto, N. David, J. S. Sichman, H. Coelho, 2002|Multi-Agent Based Simulation Workshop| [[http://leg.ufpr.br/~pedro/papers/requirement-analysis-MABS.pdf|pdf]]| [[http://scholar.google.com.br/scholar?hl=pt-BR&lr=&cites=4620433597513998219|4 citations in Scholar]]| |
| |
| |
=====TODO===== | ====Agent-based Simulation Platforms: Review and Development Recommendations==== |
| |S. F. Railsback, S. L. Lytinen, S. K. Jackson, 2006| Simulation| [[http://leg.ufpr.br/~pedro/papers/abm-platforms-recommendations.pdf|pdf]]|[[http://scholar.google.com.br/scholar?hl=pt-BR&lr=&cites=4198427804298242084|2 citations in Scholar]]| |
====Computational Laboratories for Spatial Agent-Based Models==== | |
|C. Dibble, 2006| [[http://ideas.repec.org/h/eee/hecchp/2-31.html| Handbook of Computational Economics ]]| | |
\\ | \\ |
| |
**Abstract:** An agent-based model is a virtual world comprising distributed heterogeneous agents who interact over time. In a spatial agent-based model the agents are situated in a spatial environment and are typically assumed to be able to move in various ways across this environment. Some kinds of social or organizational systems may also be modeled as spatial environments, where agents move from one group or department to another and where communications or mobility among groups may be structured according to implicit or explicit channels or transactions costs. This chapter focuses on the potential usefulness of computational laboratories for spatial agent-based modeling. Speaking broadly, a computational laboratory is any computational framework permitting the exploration of the behaviors of complex systems through systematic and replicable simulation experiments. A narrower definition, used here, refers more specifically to specialized software tools to support a wide range of tasks associated with agent-based modeling. These tasks include model development, model evaluation through controlled experimentation, and both the descriptive and normative analysis of model outcomes. This chapter examines how computational laboratory tools and activities facilitate the systematic exploration of spatial agent-based models embodying complex social processes critical for social welfare. Examples include the spatial and temporal coordination of human activities, the diffusion of new ideas or of infectious diseases, and the emergence and ecological dynamics of innovative ideas or of deadly new diseases. | **Abstract:** Five software platforms for scientific agent-based models (ABMs) were reviewed by implementing example models in |
| each. NetLogo is the highest-level platform, providing a simple yet powerful programming language, built-in graphical |
| interfaces, and comprehensive documentation. It is designed primarily for ABMs of mobile individuals with local |
| interactions in a grid space, but not necessarily clumsy for others. NetLogo is highly recommended, even for prototyping |
| complex models. MASON, Repast, and Swarm are "framework and library" platforms, providing a conceptual framework for |
| organizing and designing ABMs and corresponding software libraries. MASON is least mature and designed with execution |
| speed a high priority. The Objective-C version of Swarm is the most mature library platform and is stable and well |
| organized. Objective-C seems more natural than Java for ABMs but weak error-handling and the lack of developer tools are |
| drawbacks. Java Swarm allows Swarm’s Objective-C libraries to be called from Java; it does not seem to combine the advantages |
| of the two languages well. Repast provides Swarm-like functions in a Java library and is a good choice for many, but parts |
| of its organization and design could be improved. A rough comparison of execution speed found MASON and Repast usually |
| fastest (MASON 1-35% faster than Repast), Swarm (including Objective-C) fastest for simple models but slowest for complex |
| ones, and NetLogo intermediate. Recommendations include completing the documentation (for all platforms except NetLogo), |
| strengthening conceptual frameworks, providing better tools for statistical output and automating simulation experiments, |
| simplifying common tasks, and researching technologies for understanding how simulation results arise. |
| |
\\ | \\ |
| |
| Our focus is primarily on the "ease of use" issue: how easy is to implement ABMs and conduct experiments on them? |
| There is a table comparing the terminology in five platforms. They have implemented some versions of a //stupid model// in [[http://www.swarm.org/wiki/Software_templates|all five tools]]. |
| |
====The RETSINA MAS Infrastructure==== | ^ Version ^ Characteristics Added ^ TerraME| |
|K. Sycara, M. Paolucci, M. V. Velsen and J. Giampapa, 2003| Autonomous Agents and Multi-Agent Systems|[[http://leg.ufpr.br/~pedro/papers/retsina.pdf|pdf]]|[[http://scholar.google.com.br/scholar?hl=pt-BR&lr=&cites=1823618784409168110|154 citations in Scholar]]| | | 1 |100 agents randomly in a 100×100 grid. one action: move to a random neighbor. locations displayed graphically. | No graphics. Needs replicator | |
\\ | | 2 |A second bug action: growing by a constant amount. | Yes - Timer priority| |
| | 3 |Habitat cells that grow food; bug growth is equal to the food they consume from their cell. | Yes - Local automata| |
| | 4 |“Probes” letting the user see the instance variables of selected cells and bugs. | No graphics | |
| | 5 |Parameter displays letting the user change the value of key parameters at run time. | No graphics | |
| | 6 |A histogram of bug sizes. | No graphics | |
| | 7 |A stopping rule that causes execution to end when any bug reaches a size of 1000. | No | |
| | 8 |File output of the minimum, mean, and maximum bug sizes each time step. | stat manually. stat over a group? | |
| | 9 |Randomization of the order in which bugs move. | No | |
| |10 |Size-ordering of execution order: bugs move in descending size order. | No | |
| |11 |Optimal movement: bugs move to the cell within a radius of 4 that provides highest growth. | Yes - ForEachNeighbour| |
| |12 |Mortality and reproduction: constant mortality probability, and reproduce when reach a size of 10. | How to stop an agent? When creating, how to schedule?| |
| |13 |A graph of the number of bugs. | No graphics | |
| |14 |Initial bug sizes drawn from a random normal distribution. | No | |
| |15 |Cell food production rates read from an input file; graphical display of cell food availability. | No graphics. Yes for reading data. | |
| |16 |A second “species”: predator agents that hunt bugs. | How to hunt?| |
| |17 | Support for simulation experiments | No| |
| |
**Abstract:** RETSINA is an implemented Multi-Agent System infrastructure that has been developed for several years and applied in many domains ranging from financial portfolio management to logistic planning. In this paper, we distill from our experience in developing MASs to clearly define a generic MAS infrastructure as the domain independent and reusable substratum that supports the agents' social interactions. In addition, we show that the MAS infrastructure imposes requirements on an individual agent if the agent is to be a member of a MAS and take advantage of various components of the MAS infrastructure. Although agents are expected to enter a MAS and seamlessly and effortlessly interac.t with the agents in the MAS infrastructure, the current state of the art demands agents to be programmed with the knowledge of what infrastructure they will utilize, and what are various fall-back and recovery mechanisms that the infrastructure provides. By providing an abstract MAS infrastructure model and a concrete implemented instance of the model, RETSINA, we contribute towards the development of principles and practice to make the MAS infrastructure "invisible" and ubiquitous to the interacting agents. | Simulation experiments such as sensitivity and uncertainty analyses require multiple model runs, |
| including (i) “scenarios” varying inputs such as parameter values and (ii) “replicates”, which vary only the pseudo-random |
| number generator seed. |
| |
\\ | __TerraME:__ How can an agent schedule an action in the future, as we have the definition of time separated from the definition of behaviour? |
| |
| __TerraME:__ Lua does not have a good random number generator. |
| |
====Environments for Multiagent Systems, State-of-the-Art and Research Challenges==== | __TerraME:__ A problem with lua is that one can't (AFAICS) use agent:function as is, for example as |
|D. Weyns, H. V. D. Parunak, F. Michel, T. Holvoet and J. Ferber, 2005| [[http://www.springerlink.com/content/lhc33yytty1el5mf/|Environments for Multi-Agent Systems (LNCS)]]|[[http://scholar.google.com.br/scholar?hl=pt-BR&lr=&cites=9006150710654133145|53 citations in Scholar]]| | argument to another function, because it is just candy for agent.function(agent), and therefore it is a |
| function call... |
| |
(some interesting papers cite this one): "Agents are not part of the problem, agents can solve the problem", "Environments in multiagent systems", "Environment as a first class abstraction in multiagent systems", "Environments for Situated Multi-Agent Systems: Beyond Infrastructure" | Key issues |
| * **The framework and library paradigm is good - but the framework is important**: Compared to Swarm, Repast and MASON seem more like libraries and less like frameworks, which makes the transition from ideas to working simulator more difficult. They allow models to be organized in a Swarm-like framework, but their documentation and teaching materials do not emphasize the conceptual aspects of model design. |
| * **Platform complexity is a major concern**: this complexity is intimidating |
| * Lack of a clear philosophy and decision process for what will or will not be included. |
| * Software not in well-organized packages or libraries. |
| * Lack of complete documentation. Users should not have to read source code to get a basic idea of how a platform’s methods work. |
| * Failure to use common design patterns widely. For example, only Swarm’s classes for collections of objects (lists, arrays, maps) are designed so that any class operating on collections (for scheduling, data collection, graphing, etc.) can use any kind of collection. |
| * **IDEs such as Eclipse are very useful** |
| * **Scientific modelers need scientific tools**: models need scientific analysis (statistics) |
| * **Understanding causality is an unfulfilled need**: tools for help understanding what is happening in the model |
| |
**Abstract:** It is generally accepted that the environment is an essential compound of multiagent systems (MASs). Yet the environment is typically assigned limited responsibilities, or even neglected entirely, overlooking a rich potential for the paradigm of MASs. | Some recommendations: |
Opportunities that environments offer, have mostly been researched in the domain of situated MASs. However, the complex principles behind the concepts and responsibilities of the environment and the interplay between agents and environment are not yet fully clarified. | * **documentation of classes and methods** |
In this paper, we first give an overview of the state-of-the-art on environments in MASs. The survey discusses relevant research tracks on environments that have been explored so far. Each track is illustrated with a number of representative contributions by the research community. Based on this study and the results of our own research, we identify a set of core concerns for environments that can be divided in two classes: concerns related to the structure of the environment, and concerns related to the activity in the environment. To conclude, we list a number of research challenges that, in our opinion, are important for further research on environments for MAS. | * continual development of how-to and template models |
| * revive the “framework” part of the platform: establish the software library as one part of an overall process leading modelers through the model design, analysis, and publication cycle. |
| * powerful tools for setting up and executing simulation experiments |
| * **ways to improve the trade-off between ease of use and generality of platforms** |
| * **research technologies for testing, analyzing, and understanding ABMs** |
| |
\\ | |
| |
====Platforms and methods for agent-based modeling==== | ====Platforms and methods for agent-based modeling==== |
| |
| |
====Agent-based Simulation Platforms: Review and Development Recommendations==== | |
|S. F. Railsback, S. L. Lytinen, S. K. Jackson, 2006| [[http://intl-sim.sagepub.com/cgi/content/abstract/82/9/609|Simulation]]|[[http://scholar.google.com.br/scholar?hl=pt-BR&lr=&cites=4198427804298242084|2 citations in Scholar]]| | |
| ====The RETSINA MAS Infrastructure==== |
| |K. Sycara, M. Paolucci, M. V. Velsen and J. Giampapa, 2003| Autonomous Agents and Multi-Agent Systems|[[http://leg.ufpr.br/~pedro/papers/retsina.pdf|pdf]]|[[http://scholar.google.com.br/scholar?hl=pt-BR&lr=&cites=1823618784409168110|154 citations in Scholar]]| |
\\ | \\ |
| |
**Abstract:** Five software platforms for scientific agent-based models (ABMs) were reviewed by implementing example models in | **Abstract:** RETSINA is an implemented Multi-Agent System infrastructure that has been developed for several years and applied in many domains ranging from financial portfolio management to logistic planning. In this paper, we distill from our experience in developing MASs to clearly define a generic MAS infrastructure as the domain independent and reusable substratum that supports the agents' social interactions. In addition, we show that the MAS infrastructure imposes requirements on an individual agent if the agent is to be a member of a MAS and take advantage of various components of the MAS infrastructure. Although agents are expected to enter a MAS and seamlessly and effortlessly interac.t with the agents in the MAS infrastructure, the current state of the art demands agents to be programmed with the knowledge of what infrastructure they will utilize, and what are various fall-back and recovery mechanisms that the infrastructure provides. By providing an abstract MAS infrastructure model and a concrete implemented instance of the model, RETSINA, we contribute towards the development of principles and practice to make the MAS infrastructure "invisible" and ubiquitous to the interacting agents. |
each. NetLogo is the highest-level platform, providing a simple yet powerful programming language, built-in graphical | |
interfaces, and comprehensive documentation. It is designed primarily for ABMs of mobile individuals with local | \\ |
interactions in a grid space, but not necessarily clumsy for others. NetLogo is highly recommended, even for prototyping | |
complex models. MASON, Repast, and Swarm are "framework and library" platforms, providing a conceptual framework for | One element that we articulate is the relation between infrastructure for a single agent and the infrastructure for the MAS |
organizing and designing ABMs and corresponding software libraries. MASON is least mature and designed with execution | in which the agent participates. We consider MAS infrastructure to be the domain independent and reusable substratum on which MAS systems, services, components, live, |
speed a high priority. The Objective-C version of Swarm is the most mature library platform and is stable and well | communicate, interact and interoperate, while the single agent infrastructure is the generic parts of an agent that enable it to be part of a multiagent society. |
organized. Objective-C seems more natural than Java for ABMs but weak error-handling and the lack of developer tools are | |
drawbacks. Java Swarm allows Swarm’s Objective-C libraries to be called from Java; it does not seem to combine the advantages | [The infrastructure is clearly for modelling agents in different machines, but we can use the same concepts for simulating.] |
of the two languages well. Repast provides Swarm-like functions in a Java library and is a good choice for many, but parts | Some of the layers presented are (the complete list is [[http://leg.ufpr.br/~pedro/figures/retsina-infrastructure.jpg|here]]): |
of its organization and design could be improved. A rough comparison of execution speed found MASON and Repast usually | - ACL (Agents Communication Language): it enables agents to be implemented in almost any language |
fastest (MASON 1-35% faster than Repast), Swarm (including Objective-C) fastest for simple models but slowest for complex | - Mapping names to agent locations |
ones, and NetLogo intermediate. Recommendations include completing the documentation (for all platforms except NetLogo), | - Performance measurement |
strengthening conceptual frameworks, providing better tools for statistical output and automating simulation experiments, | - Locating agents by capability |
simplifying common tasks, and researching technologies for understanding how simulation results arise. | |
| When an agent first comes up in an open environment, it may want to register itself with agent name services. |
| Instead of having hardwired IP addresses for such services, the MAS infrastructure |
| and the corresponding single agent infrastructure can facilitate the discovery of existing registered agents. |
| |
| __TerraME:__ Instead of having the possibility of finding agents according to the capability, the agents can be located according |
| to a tag, that can store the "class" of the agent. Or perhaps the agent can registry itself using another argument representing |
| this tag. |
| |
| This information is called the agent’s capability advertisement and is provided by the agent to a middle agent. |
| When an agent needs another that has some required capability, it sends a middle agent a |
| request specifying the desired capability. The middle agent matches requests and |
| advertisements. In general, there could be a variety of middle agents that exhibit different |
| matching behaviors. we have identified 28 middle agent types and have experimented with different performance |
| characteristics. |
| |
| __Discussion:__ How to locate an middle agent? |
| |
| **Open systems** allow agents to enter, and exit, the system dynamically and unpredictably, while **closed systems** |
| employ a fixed set of agents that are known a priori. In closed MAS each agent knows the name, location and capability |
| of the others. Thus agent interactions can be statically predefined. This makes agent design and construction |
| simple, but makes the MAS brittle and not extensible. |
| |
| |
| |
| ====Modelling social action for AI agents==== |
| |C. Castelfranchi, 1998| Applied Artificial Intelligence| |
| |
| |
| |
| =====TODO===== |
| |
| ====Computational Laboratories for Spatial Agent-Based Models==== |
| |C. Dibble, 2006| [[http://ideas.repec.org/h/eee/hecchp/2-31.html| Handbook of Computational Economics ]]| |
| \\ |
| |
| **Abstract:** An agent-based model is a virtual world comprising distributed heterogeneous agents who interact over time. In a spatial agent-based model the agents are situated in a spatial environment and are typically assumed to be able to move in various ways across this environment. Some kinds of social or organizational systems may also be modeled as spatial environments, where agents move from one group or department to another and where communications or mobility among groups may be structured according to implicit or explicit channels or transactions costs. This chapter focuses on the potential usefulness of computational laboratories for spatial agent-based modeling. Speaking broadly, a computational laboratory is any computational framework permitting the exploration of the behaviors of complex systems through systematic and replicable simulation experiments. A narrower definition, used here, refers more specifically to specialized software tools to support a wide range of tasks associated with agent-based modeling. These tasks include model development, model evaluation through controlled experimentation, and both the descriptive and normative analysis of model outcomes. This chapter examines how computational laboratory tools and activities facilitate the systematic exploration of spatial agent-based models embodying complex social processes critical for social welfare. Examples include the spatial and temporal coordination of human activities, the diffusion of new ideas or of infectious diseases, and the emergence and ecological dynamics of innovative ideas or of deadly new diseases. |
| |
| \\ |
| |
| |
| |
| ====Environments for Multiagent Systems, State-of-the-Art and Research Challenges==== |
| |D. Weyns, H. V. D. Parunak, F. Michel, T. Holvoet and J. Ferber, 2005| [[http://www.springerlink.com/content/lhc33yytty1el5mf/|Environments for Multi-Agent Systems (LNCS)]]|[[http://scholar.google.com.br/scholar?hl=pt-BR&lr=&cites=9006150710654133145|53 citations in Scholar]]| |
| |
| (some interesting papers cite this one): "Agents are not part of the problem, agents can solve the problem", "Environments in multiagent systems", "Environment as a first class abstraction in multiagent systems", "Environments for Situated Multi-Agent Systems: Beyond Infrastructure" |
| |
| **Abstract:** It is generally accepted that the environment is an essential compound of multiagent systems (MASs). Yet the environment is typically assigned limited responsibilities, or even neglected entirely, overlooking a rich potential for the paradigm of MASs. |
| Opportunities that environments offer, have mostly been researched in the domain of situated MASs. However, the complex principles behind the concepts and responsibilities of the environment and the interplay between agents and environment are not yet fully clarified. |
| In this paper, we first give an overview of the state-of-the-art on environments in MASs. The survey discusses relevant research tracks on environments that have been explored so far. Each track is illustrated with a number of representative contributions by the research community. Based on this study and the results of our own research, we identify a set of core concerns for environments that can be divided in two classes: concerns related to the structure of the environment, and concerns related to the activity in the environment. To conclude, we list a number of research challenges that, in our opinion, are important for further research on environments for MAS. |
| |
\\ | \\ |
| |
managing dynamic heterogeneity | managing dynamic heterogeneity |
| |
| |
| ====Software engineering considerations for individual-based models==== |
| |Ropella, G. E. P., S. F. Railsback, and S. K. Jackson. 2002| Natural Resource Modeling| |
| |
| \\ |
| |
| understanding causality? |
| |
| |