CSS 739 Research Outline
- Structure and Objectives
Section I reviews the structure of this outline and notes personal research objectives based on the class objective document submitted prior in the semester. Section II is a working outline for research. Section III identifies progress and issues to date.
Research is designed to obtain three key objectives, with special consideration given to several secondary objectives:
- Key Objectives
- Build an agent model and write a paper relevant to the economics of education
- Formally estimate an agent model and get data from it
- Study the research frontier on some advanced ABM topic
- Secondary Objectives
- Design an experiment in connection with an agent model
- Rewrite a modified Sugarscape model in a parallel way
- Develop competency with the AgentScript modelling framework and another commonly used framework such as NetLogo
- Research Outline
2.1 Build an agent model and write a paper relevant to the economics of education
- WebGL GUI via three.js
- GPU accelerated processing via gpu.js
- Parallelization via promises
- Parallelization via web workers
- Parallelization via NodeJS cluster.workers
- Parallelization via NodeJS Child Process
- Parallelization or enhanced performance via NodeJS C++ Add-ons
- Standard expression using AgentScript-next (ASX)
The model is implemented as a cellular automaton with a netlogo-like architecture. The NetLogo architecture includes an environment called a world and agents called turtles. The world is a finite grid of square regions called patches. Agents are called turtles. Agents traverse the world in finite time described by a tick function which executes at every tick. Patches and turtles may be subclassed as breeds.
A netlogo-like model may vary from a pure NetLogo architecture in a number of ways. For example, agents may act in continuous time using an agent-scoped setTimeout function instead of a global tick function.
I plan to implement four patch breeds and one agent breed. Patches include jobs, schools, homes, and uninterestings. Agents are simply turtles, representing people. A person has various preferences, work preference, leisure preference, age, level of education, and other properties. Every person has a home patch and they obtain leisure by remaining there. They must consume, however, and this motivates work. In order to work the person must travel back and forth from a job patch. Jobs pay some rate depending on level of education and some variance. Agents may decide to go to school if this results in a pay increase sufficient based on their personal preferences. This is quite a deviation from a traditional Sugarscape because there are no hills of sugar and for other reasons. Instead, there are job patches.
Since all personal preferences are defined in quantitative, dollar-equivalent terms, one side effect is the possibility of the grave sin of interpersonal comparisons of utility under this implementation.
2.2 Formally estimate an agent model and get data from it
Data is trivially extracted from the model described in section 2.1. Data is used to estimate the effect of education on income. The secondary goal discussed in 1.2.1 can be implemented by varying world setup rules including the proportions of patch breeds or agent preferences. In addition, the effect of functionally represented voucher policies can be identified by further breeding patches.
2.3 Study the research frontier on some advanced ABM topic
- Progress and Issues to Date
The ASX model is preferred because ASX is netlogo-like by design at the framework level, ASX is a more standard implementation, and several features like a 3D GUI are offered with minimal configuration required.