Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wip research time tracking #16

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Conversation

daimpi
Copy link
Owner

@daimpi daimpi commented Oct 26, 2018

This PR implements the tracking of research time similar to what we call in ArgABM research-time-monist. This allows us to see how much time scientists spent researching each theory over the course of a run. To accomplish this it adds a new reporter which records at the time scientists converge for the final time how much time they have spent on each theory during the run.
This PR supersedes #15

* this move should give us better ability to control the flow of the program wrt parts that should be run outside the `go-core` procedure (e.g. the `exit-condition` reporter)
* what was previously the `go` procedure is now named `go-core` and called by the new `go` procedure; the interface buttons and the default BehaviorSpace experiment have been adjusted accordingly
* the `exit-condition` reporter is now directly evaluated in the `go` procedure and saved in a global variable (`g-exit-condition?`)  in case the go procedure is called with the argument `true` (which is what the go-stop button does)
* the go-stop button can now be interrupted the same way as the go button
* `fast-sharing` has been renamed to `fast-sharing?` to reflect its boolean nature.
* `fast-sharing` is now determined with-local-randomness in the `go` procedure and handed over to `go-core` as an argument. This avoids distorting the rng when evaluating this reporter.
* Currently we don't know how much time researchers spend on each theory apart from when they are all converged on one theory
* In ArgABM we use research time as basis for one of our diversity measures. To allow the same measurement in SocNet we introduce two new globals: `g-research-time` and `g-myscientists` and a new procedure `compute-popularity` which records how much scientists are on each theory during the run
* The popularity plot in the interface utilizes the new global `g-myscientists` instead of computing the distribution itself every time. This reduces computational load (marginally)
* Our runs are supposed to end at the time when scientists finally converge, even though they might practically last longer. A snapshot of the research-time the scientists spent investigating each theory must therefore be stored at the point when researchers converge.
* This snapshot of research-time is stored via the convergence-reporters together with- and in the same way as- other variables which are recorded at the point of convergence
* The default BehaviorSpace experiment then uses this reporter to record the research time for each theory
* Documentation for the two new globals has been added
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant