PROJECT GUTS Rock/Paper/Scissors Review of CAS concepts (simple rules and unpredictability) and of StarLogo programming skills (collisions and graphing) The classic game of Rock Paper Scissors is known to all students. This common experience can then be used to have students think about Complex Adaptive Systems in terms of unpredictability which comes from the simple rules of agents. The off-line activity gives students a different set of rules that will then be programmed into their computer model. Off-line activity- playing the game Assign each student a “breed” of rock, paper, or scissors, making the groups as equal as possible. Have each student choose a classmate at random and play one round of the game (paper covers rock, rock crushes scissors, scissors cut paper). Have each student who loses the first round sit down, and the remaining students continue to play until a single student is left standing. Play again (with students reassigned in equal groups), and encourage students to choose partners at random. If there are enough students and the groups are roughly equal, the “winner” should not be predictable. Change of rules: If time allows, have students play where the loser of each round changes to the winner’s breed for the next round. For example, in a round one match between paper and scissors, the student who was paper (and the student who was scissors) plays round 2 as scissors. Students may need a pencil and paper to keep track of their breed in each round. Continue to play until one breed wins (or is in a large majority) – again, with a large enough group and even beginning groups, the winner should not be predictable. Science ConnectionMixed populations of e.coli will exhibit similar strategies found in RPS. So will sideblotched male lizards when establishing dominance. On-line programming activity – build “Rock/Paper/Scissors” program First, discuss modeling with students – what are the benefits of creating a computer model of the game we just played? What can we do with a model that is impossible in the real world? What are the limits or assumptions behind such a model? This is an opportunity to review or re-teach the uses of computer models. 1. Start a New Project, blank project. 2. Create 3 agents- Rock, Paper and Scissors- by using the ‘edit breeds’ button at the top of Spaceland. PAGE 2 3. In the World, make a setup procedure that creates 30 of each of the agents and sets their shapes, sizes and colors to something that you like. *note that some breeds have a different radius size and therefore might have an advantage when colliding/interacting with a different breed. 4. Create a “wiggle” procedure (right random 45, left random 45, forward 1), name it “wiggle”, and place it in the “everyone” page. Get a “while forever toggled” block from the Interface drawer, and call the procedure. Test the program and see that you have about 30 of each breed walking around in Space Land. 5. Using collision blocks (detection drawer) have the losing breed delete and the winning breed hatch a new agent (use the “create/do” block from the agents drawer). Be sure to add the set color and if appropriate, set size blocks to the “do” in the create, so the new agent will look like the original agent. In the exampleseen, when rock collides with scissors, scissors will die, and rock will create a new breed that is red. PAGE 3 Test the program – you should see one breed win, fairly quickly. If it is set up correctly, it should not be the same breed each time. Note: if one breed is always winning, it might be a function of the size of the breed. Make sure the breeds are the same size and relative shape. Once the program is working, add a data box for each breed by editing widgets. Label them for each of the breeds. Choose a ‘data box’ and label it for what you will track (i.e. paper). Now add this to the programming code in the setup button. PAGE 4 Then add a line graph (same process to edit widgets), and label it. Be sure to name the graph and you can edit the series to label it and choose a color for the line. Make sure that the code for the graph is also part of the program. Save and test your program. Students should run the model several times, noting which breed wins and discussing why the outcome is unpredictable. If time allows, run an experiment to see if the results are different with a different initial number of agents (remember not to create more than 2000 total agents or the program will run too slowly). Another possible experiment is to see whether giving one breed a greater initial number of agents will cause it to always win, and what that size advantage must be to get the desired result. PAGE 5 Link to completed project: see http://www.slnova.org/GUTS/projects/9434/ for the full code. ExtensionsAdd more breeds and competitions (rock, paper, scissors, lizard, spock). See this video clip for more information: https://www.youtube.com/watch?v=cSLeBKT7-sM Research the e.coli competition as well as the side-blotched lizard and see if you can match the data of researchers.
© Copyright 2026 Paperzz