CS计算机代考程序代写 Java The University of Melbourne SWEN90004: Modelling Complex Software Systems Workshop Cx.03: Cellular Automata

The University of Melbourne SWEN90004: Modelling Complex Software Systems Workshop Cx.03: Cellular Automata
First Semester, 2021
This workshop aims to give students an opportunity to explore the application of CA as a modelling technique for complex systems.
Your tasks
1. Getting started
Investigate the dynamics of 1D CA with binary (ON/OFF) states and neighbourhood adjacency of radius 1 (ie, the cell itself and it’s two nearest neighbours) using Wolfram’s rules. You can use NetLogo: the CA model is under Computer Science in the Model library. Try to identify fixed point, limit cycle, chaotic and complex behaviours.
2. The SIR disease model
In this task, you will develop a 2D CA model to simulate the spread of a disease in a 2D-regular lattice. In the lecture, we discussed two alternative approaches to defining the rules for updating infection and recovery:
(a) Version 1:
􏰆 A susceptible person can be infected by an infectious neighbour with proba- bility infect − chance;
􏰆 An infectious person recovers with probability recover − chance. (b) Version 2:
􏰆 A susceptible person becomes infected if at least one of their neighbours is infectious;
􏰆 An infectious person recovers after between 1 and infected − duration days;
􏰆 A recovered person loses their immunity and becomes susceptible after between
1 and recovered − duration days;
􏰆 Hint: You will need to either rename (right click and Edit) the infect − chance
and recover − chance sliders to infected − duration and recovered − duration, or add two new sliders (choose ‘Slider’ in drop-down box, then click ‘Add’ and click on the canvas to add a new slider).
Netlogo scaffold code is provided to get you started. This code partially implements the Version 1 rules. It can also be modified to implement the Version 2 rules. Alternatively, you could write your own Java implementation. Investigate the effects of the infection and recovery parameters, and the different update rules.
For a slightly more challenging exercise, try modifying some other aspect of the model; eg, change the neighbourhood function so that infected people can infect more distant susceptible people; implement vaccination, such that some proportion of the population will begin in the recovered state.
1