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

SSA/multiagent force initial state widgets to sum to 1 even if system size is not constant #318

Closed
jarmarshall opened this issue Apr 4, 2019 · 16 comments
Assignees
Labels

Comments

@jarmarshall
Copy link
Contributor

See also issue #317 - however in this case the user cannot correct the error, since the slider update logic inappropriately enforces this constraint.

Is it a feature of SSA() that non-constant system size models cannot be simulated? In which case SSA needs to check, and raise an exception if the model is not suitable for the method.

multiagent() with moving particles (which the method apparently defaults to for this class of model) exhibits the same problem.

@jarmarshall
Copy link
Contributor Author

jarmarshall commented Apr 4, 2019

N.B. since release 1.0.0 has already been deployed this will need to be a patch release (1.0.1)

@joefresna
Copy link
Contributor

I can unlock the sum to 1.
However, it looks weird to me that a user specifies a system with size S=20 and then initialises it with (for instance) 3 times the size S, i.e. with 60 agents.

@joefresna
Copy link
Contributor

At the moment, SSA and multiagent allow the system to grow over time above the system size, however, the initial state was locked to sum 100% of S.

@jarmarshall
Copy link
Contributor Author

can unlock the sum to 1.
However, it looks weird to me that a user specifies a system with size S=20 and then initialises it with (for instance) 3 times the size S, i.e. with 60 agents.

I agree that sounds strange - can that not be changed?

@joefresna
Copy link
Contributor

at the moment, the initial state sum is fixed to 1.
But this issue is asking to unlock to > 1...

@jarmarshall
Copy link
Contributor Author

So you're saying that actually it makes some sense to force the sum to 1 since it refers only to the initial conditions?

Is there a branch I can checkout to see how it's working now?

@joefresna
Copy link
Contributor

it is already working like this without change

@jarmarshall
Copy link
Contributor Author

So we think this and issue #317 are actually non-issues, now issue #352 has been separated out?

@joefresna
Copy link
Contributor

I'm working to make possible to have initial state >1 for other views (e.g. integrate())

@joefresna
Copy link
Contributor

We need to decide if we want this possibility active also for SSA() and multiagent()

@jarmarshall
Copy link
Contributor Author

Well now I'm not sure we should do so for either - integrate() also works with system size in conjunction with the proportions sliders. I think actually we can close this and #317 now?

@joefresna
Copy link
Contributor

Too late, I half implemented it...
...I think it can be useful for some systems, and it can also be useful for computing noise around fixed points because it calls the SSA on the background...

However, I may keep it locked to 1 when the user simply calls SSA() or multiagent()

@joefresna
Copy link
Contributor

I changed my old print("Warning message") with
raise exceptions.MuMoTWarning("Warning message") (as indicated in #352), however this stops the program. Instead, the desired behaviour is to let it keep running and just print the warning message. How shall I do that? Do you know, @jarmarshall ?

@jarmarshall
Copy link
Contributor Author

Moving the discussion on warnings to #352

Not clear to me that the new functionality makes sense - SSA noise magnitude is determined by system size, no? Just because something has been implemented doesn't mean it should be merged...

@joefresna
Copy link
Contributor

Ok, I just committed 7c6a869 a change that allows sum > 1 for integrate(), bifurcation() and noiseCorrelations(). (I remember @tbose1 has good reasons for wanting this)

At the moment SSA() and multiagent() are instead forced to have the sum of the initial system size equal to 1

@jarmarshall
Copy link
Contributor Author

OK, since you wrote the code but I don't yet understand why it is useful could you please set fixSumTo1 to be true for all views for now, and if we figure out when it is useful, or @tbose1 reminds us, we can change that.

Please create a pull request for this to close this and issue #317

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants