{"action":"created","issue":{"url":"https://api.github.com/repos/NetLogo/NetLogo/issues/105","labels_url":"https://api.github.com/repos/NetLogo/NetLogo/issues/105/labels{/name}","comments_url":"https://api.github.com/repos/NetLogo/NetLogo/issues/105/comments","events_url":"https://api.github.com/repos/NetLogo/NetLogo/issues/105/events","html_url":"https://github.com/NetLogo/NetLogo/issues/105","id":3657667,"number":105,"title":"BehaviorSpace: initial state of foreground vs. background runs is different","user":{"login":"SethTisue","id":161079,"avatar_url":"https://avatars.githubusercontent.com/u/161079?v=3","gravatar_id":"","url":"https://api.github.com/users/SethTisue","html_url":"https://github.com/SethTisue","followers_url":"https://api.github.com/users/SethTisue/followers","following_url":"https://api.github.com/users/SethTisue/following{/other_user}","gists_url":"https://api.github.com/users/SethTisue/gists{/gist_id}","starred_url":"https://api.github.com/users/SethTisue/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SethTisue/subscriptions","organizations_url":"https://api.github.com/users/SethTisue/orgs","repos_url":"https://api.github.com/users/SethTisue/repos","events_url":"https://api.github.com/users/SethTisue/events{/privacy}","received_events_url":"https://api.github.com/users/SethTisue/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/NetLogo/NetLogo/labels/enhancement","name":"enhancement","color":"02e10c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2012-03-14T22:21:00Z","updated_at":"2015-04-29T19:20:20Z","closed_at":null,"body":"Each background run gets a new, freshly initialized, independent world state, including fresh RNG state.\r\n\r\nBut in foreground runs, the ones you see in the GUI, if you don't set the random seed, each run inherits the world state, including the RNG state, from the end of the previous foreground run.\r\n\r\nNormally, users don't notice the difference because, because it's normal for an experiment's setup commands to:\r\n\r\n * call `clear-all` so all runs get fresh world state\r\n * (if the user wants reproducible runs) explicitly seed the RNG\r\n\r\nThis erases the difference between foreground and background runs.\r\n\r\nIn a future version of BehaviorSpace we should probably just start every run with `clear-all` and `random-seed new-seed`, something like that.\r\n\r\nreported by [Michal Kvasnicka](http://groups.yahoo.com/group/netlogo-users/message/10608), Peter Meißner, and others"},"comment":{"url":"https://api.github.com/repos/NetLogo/NetLogo/issues/comments/97549526","html_url":"https://github.com/NetLogo/NetLogo/issues/105#issuecomment-97549526","issue_url":"https://api.github.com/repos/NetLogo/NetLogo/issues/105","id":97549526,"user":{"login":"SethTisue","id":161079,"avatar_url":"https://avatars.githubusercontent.com/u/161079?v=3","gravatar_id":"","url":"https://api.github.com/users/SethTisue","html_url":"https://github.com/SethTisue","followers_url":"https://api.github.com/users/SethTisue/followers","following_url":"https://api.github.com/users/SethTisue/following{/other_user}","gists_url":"https://api.github.com/users/SethTisue/gists{/gist_id}","starred_url":"https://api.github.com/users/SethTisue/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SethTisue/subscriptions","organizations_url":"https://api.github.com/users/SethTisue/orgs","repos_url":"https://api.github.com/users/SethTisue/repos","events_url":"https://api.github.com/users/SethTisue/events{/privacy}","received_events_url":"https://api.github.com/users/SethTisue/received_events","type":"User","site_admin":false},"created_at":"2015-04-29T19:20:20Z","updated_at":"2015-04-29T19:20:20Z","body":"foreground runs aren't really necessary, and IMO aren't worth the extra complication in the code. historically they came first, and background runs were added later; I now regret keeping foreground runs around at all.\r\n\r\nat the time, I made the decision I did because:\r\n\r\n1) backward compatibility with the old semantics for existing models with existing experiment definitions (said compatibility achieved by disabling background runs)\r\n2) fear that there would be a fight over removing a feature. in practice this almost always produces controversy\r\n\r\nregardless, it would be neat if you could look in on the progress of _any_ run, not just the ones BehaviorSpace happens to arbitrarily select to be foreground, but it's probably not that high priority in the full space of BehaviorSpace would-be-neats. if it were added, the modelruns code would be a good basis for it, I think."}}