NCSI Talks

   

Far, Far Away Learning Scenario (Web)


Shodor > NCSI Talks > AgentSheets > Far, Far Away Learning Scenario (Web)

Lesson Scenario - Far Far Away (AgentSheets)

Basic Model:

Description

You have to kiss a lot of frogs to find your prince. This model highlights basic agent-agent interactions using three separate agents: a frog, a princess, and a prince. As the model progresses, the princesses kiss the frogs to find their princes. Users can change the quantity of agents to view the effect that the number of agents has on the rate of change. This basic fairytale model is commonly used as an introduction to building agent-based models and to teach students the concepts behind agent-agent interactions. For more information about AgentSheets, reference the AgentSheets tutorial here.

Background Information

Agent-based modeling simulates autonomous individual components, called agents, that each follows a set of rules governing their behavior and interaction. The agents are representations of objects that one studies in a functional context, for example, chemical compounds in a reaction, or predators and prey in an ecosystem. Dynamic representation (simulations) of these concepts helps students make the connection from qualitative description to functional representation. Using the controllable environment of the model, students can be guided through a contemporary version of the scientific method that includes computational modeling as a key component. From the design of experiments, visualization and analysis of data, interpretation of results, comparison between model behavior and experimental data, interpretation, model revision, and design of additional rounds of experiments to repeat the cycle. Before building a computer model within AgentSheets, it is important to write a model story, which serves as instructions for the simulation. Nouns represent agents, adjectives represent different depictions of those agents, and verbs represent actions. AgentSheets uses primarily if/then/else statements.

Science/Math

Within AgentSheets, especially using the Far Far Away model, one can study the population graph of all agents. The basic scientific equation behind this is HAVE = HAD + CHANGE. As the CHANGE is added to the HAD, we can expect HAVE to be different. In this case, the frog prince population either increases or decreases depending on whether princesses kiss the frog princes or if the witch turns princes into frog princes.

Teaching Strategies

When introducing this subject, it is beneficial to explain the basic modeling equation, HAVE = HAD + CHANGE. One way is to relate the equation to the simple concept of cause and effect. As it pertains to the model, the princess' kiss effects the frog's transformation into a prince. Also, the witch's poison causes the princess to fall asleep. Both of which change the "HAVE" of the population graphs for the prince, frog prince, and princess.

Talking Points

  1. HAVE = HAD + CHANGE. Explain how this is the basic equation of agent-based modeling. Can relate it to cause and effect.
  2. Bring up the idea of "model scaffolding" and how it is the basic idea behind building computer models and simulations. Model scaffolding is the idea that one must first build a simple model that has working behavior for all agents. Then once complete, they are able to build more complex models based off of the original, thus building a series of models that increase in complexity. In this example, one could add knights, wizards, dragons, castles, etc. to complete the fairy tale story.

Implementation:

How to use the Model

This is a very short and simple AgentSheets simulation. This model can be used to demonstrate how different behaviors affect population graphs. Even with limited frogs and one princess, the outcome will usually result in at least one prince, if the two interact. The model consists of: frogs, princesses, princes, and witches. The model can be set to have more or fewer frogs and princesses using the toolbox on the upper left side of the background field. The pointer allows the user to select and move agents (frogs, princesses, witches, etc). The pencil creates new agents. The user clicks the pencil, the agent, and where they want it to be placed on the environment. The eraser deletes the agents as selected. The filled-in rectangle fills in a whole section of the field based on the size of the rectangle the user makes. A slider bar at the bottom of the background field controls the model reaction rate. At the bottom of the model are buttons that run and build the model. The arrow runs the model by "ticks" (each click). For more information about Agentsheets reference the Agentsheets tutorial here.

Learning Objectives:

  1. Understand the modeling equation, HAVE = HAD + CHANGE as it pertains to an agent-based model and the idea of model scaffolding
  2. Understand how the amount of a population and population density affect the model

Objective 1

Agent-based modeling is a simulation that represents complex processes in agent form. Using Agentsheets, students can view ever-changing population graphs within the frog-to-prince aspect of the model. To accomplish this objective, first review simple cause-and-effect concepts, and then ask these questions:

  1. What are all the different ways you can increase/decrease the population of princes?
  2. How could you extend this model and make it more complex?
  3. What other scientific concepts could you model using the same idea as this model? (When one agent interacts with another, causing a change -> chemical reactions, predator/prey, etc.)

Later, have students look at the model to see if they can find any patterns/relationships between the values over time, without changing the initial amounts. Then, suggest trying different initial quantities of frogs, princesses, and witches in order to understand how the prince population changes.

Objective 2

Have students manipulate each of the changeable parameters to see the effect they have on the simulation. Ask the following questions to guide their exploration:

  1. What happens to the modeling field if you increase or decrease the amount of frogs? Princesses? Witches?
  2. What do you think would happen if we added lots of lake to our model?
  3. Write a story that correctly depicts all behaviors of all agents within the model. If another read your story without seeing the model, is this what they would expect to see?

Extensions:

  1. Model how other variables can affect the populations (i.e. poisonous frogs that poison the princess, wizards, knights, etc.)
  2. 2. Relate this model to that of a chemical reaction

Extension 1

Ask students to project what would happen if there were more variables considered in the equation. As a group or individually have students come up with some variables they would like to add to the model. For example, they might include poisonous frogs that poison the princesses, wizards that can wake up sleeping princesses, or knights that fight witches. Then, add the new agents to the model story and decide what each should affect. Ask the following questions:

  1. In what ways do we expect the changes to affect the model? Increased prince populations? Witches decrease chance of poisoning princesses?
  2. Do the changes allow for a different outcome in the simulation? Name all
  3. How do you interpret the model flow/behavior with the added variables?

Extension 2

To accomplish this objective, explain to students the basic idea of a chemical reaction (reactants change to products upon chemical reaction). Next ask them to think about which agents would represent reactants and which ones would represent products (for ex. reactants: princess, frog; products: prince) Ask the following questions:

  1. Are there multiple interactions that could represent a chemical reaction?
  2. How would you change your model story reflect a chemical reaction?

Related Models and Functionality:

Generic Chemical Dynamics (Vensim)

This is a simple dynamics model of generic chemical reaction relationships. As the model progresses, reactants change into intermediaries, which then change to products. Users can change the parameter of reactions in order to view the rates of transformation and concentration's of compounds. This model is useful as a way to compare the results of the Far, Far Away model to a real chemical reaction.

Epidemic Model (AgentSheets)

This model represents the spread of disease through a population via an agent-based simulation. Whenever a healthy individual comes into contact with a sick individual, the healthy person has a chance of becoming sick. The epidemic model is closely related to the Far, Far Away model; however, in Far, Far Away the "infected" population (princes) cannot spread the disease. The growth rate of the population of princes therefore approximates a logarithmic function rather than a cumulative normal distribution.