Project 2: Global Stochastic Field Simulator

Instructions For this project you will be designing and implementing a system, in either C or C++, to model the spread of a disease within a closed population. Your system will utilize an agent-based, SIR model, in which each member of the population is represented as an individual agent with their own attributes. Your system will allow the user to configure the disease model parameters and choose how many simulations to perform. Once the simulation(s) have been executed, the system will output the disease model parameters, the average final number of susceptible and recovered individuals, as well as the average time of the outbreak peak and the average time the outbreak stopped. Also, as a reminder, all of the code for this assignment must be written by you. You may not share code or download solutions off the internet, as doing so will be considered cheating. Requirements This assignment has two parts: a design portion and an implementation portion. Design Document For the design portion, you must generate documentation, in PDF format, describing your system and design process. The purpose of this is for you to explain not just what your system is doing, and how it is doing it, but why. You will need to justify your design decisions in a concise, informative manner. Justifications such as “I did this because it was easy” are not sufficient, as you should actually explain why a particular data structure or algorithm was more efficient, effective, or optimal. Additionally, commented code, while sometimes helpful in small examples, is not a sufficient explanation in and of itself. Your explanations and justifications are expected to be presented in prose. Further, part of the evaluation of your design document is the apparent amount of thought and effort that went into its creation. Finally, do not simply construct bulleted lists of points. You should be explaining things in paragraphs. This document should be divided into three main parts.  In first part, you should describe your design process. Did you work out the algorithm on paper or a whiteboard before hand? Did you draw UML diagrams of the system? Did you create a small prototype? Did you simply start coding away and then recode once or twice with newfound understanding? In a few paragraphs, describe in detail how you went about designing the system, and be sure to provide sufficient justification of your methodology. For the second part, you should describe the data structures you used in your system. What, if any, objects or structs did you create to store data? How did you organize and manage them? What types of formal data structures did you make use of (trees, graphs, arrays, hashes, etc)? In a few paragraphs, describe in detail how you stored the various data elements in your system, and be sure to provide sufficient justification of your methodology. For the final part, you should describe functionality of your system. How is data moved and transformed? How is it read in? How is it output? What are the various major functions you constructed and how do they work? In a few paragraphs, describe in detail how your system works, and be sure to provide sufficient justification of your methodology. You might also consider including diagrams to more easily visualize how all of the pieces fit together.

Implementation Your program must adhere to the following constraints: · The disease model parameters must be read in from a user defined file. The file will be organized as follows: o Initial number of Susceptibles o Initial number of Infectious o Initial number of Recovered o Percentage of the population to be vaccinated o Contact Rate o Transmission Probability o Infectious Period o Number of simulations to run . Each person must be represented as an individual agent, with their own health states (S,I,R)· You may not use differential equations to model the progression of the disease· The agents to be vaccinated should be chosen randomly, and rounded to the nearest whole number · The infected agents should be chosen randomly and should not be vaccinated . An agent cannot being infecting other agents until the day after they are infected · All simulations should be run using a different random seed· Your program should output the following: o The disease model parameters o The average outbreak peak, i.e. the first day with the highest number of infected o The average outbreak stopping time, i.e. the first day when there are no infected o The average final number of susceptible agents o The average final number of recovered agents· The output should be provided to the user in an easy to read and understand format. · Your code must be well commented.· You must provide a short README file which includes your name and explains how to compile and run your program.· Additionally, you may write a makefile if you want your code to compile with additional flags.ÂÂ

Submission A .zip file containing the following:

1. All files necessary to compile and run your program 2. A README file explaining how to compile and run your program 3. Your design document in PDF format.

Rubric The entire assignment is worth 100 points. The breakdown of those points is as follows. · 50 points: Design documentation 40 points: Code satisfies requirements 10 points: Professional coding style o 5 points:  Adequate comments o 3 points:  Modularity o 2 points:  Readability If your code fails to compile on the CSE machines you may not receive credit for the programming portion of the assignment. I recommend not making changes to your code without checking for compilation before you submit.ÂÂÂ

Bonus  For 20 bonus points, modify your system such that it can simulate the populations of two neighboring areas. Agents can only come into contact with other agents in their area. However, agents can move between areas at a user defined rate each day, though agents can only move once per day. The new input file will be organized in the following way:ÂÂÂ

ï‚· Initial number of Susceptibles for population 1 ï‚· Initial number of Infectious for population 1 ï‚· Initial number of Recovered for population 1 ï‚· Percentage of the population to be vaccinated for population 1 ï‚· Initial number of Susceptibles for population 2 ï‚· Initial number of Infectious for population 2 ï‚· Initial n

Order from us and get better grades. We are the service you have been looking for.