Ask HN: How best to model a government programmatically?
For an example of the desired functionality, let's say you're an interested citizen who wishes to gain more insight into a proposed law - the model I'm talking about would take the current state of your government and provide you with the possibilities for that law to pass.
I understand this is a difficult problem and involves a fair bit of ambiguity (indeed there would be many outcomes from a model which would be 'let the courts decide') but as a starting point I'm interested in what people might suggest could be an interesting place to start; Prolog? Smart contracts?
Much obliged for any insight.
[+] [-] randcraw|8 years ago|reply
I think the US gov't (and many military contractors) have long attempted option 1. The modeling of adversary nations or individuals and anticipation of their behavior using scenarios and war games has been around long before computers. But the number of unknown variables and the unknown state of those that are known has greatly limited the practical value of such efforts, IMHO. Even predicting the binary outcome of presidential elections has shown the weaknesses inherent in endeavors like this.
But how about option 2; could you model the analytical and decision processes that regulate a society toward 'homeostasis'? Probably, though I suspect adjusting the weights to wisely balance the interests, values, and civil rights in corporations, persons, and countries is likely to prove tricky. But could a lot of government's existing processes be effectively modeled by computer or even automated? Absolutely yes, IMHO.
[+] [-] nstj|8 years ago|reply
ie: if you want to pass a tax cut, you need to do x, y and z, though this is dependent on the current state of the budget, etc etc (this is actually happening now in US Congress).
[+] [-] vkrm|8 years ago|reply
[0] http://positech.co.uk/democracy3/
[+] [-] RugnirViking|8 years ago|reply
[+] [-] jwdunne|8 years ago|reply
This way a government becomes a set of actors whose behaviours include creation of policy, of which are intended to influence the behaviours of all actors in the governing nation, another set of actors of which the serving government is a proper subset.
Much like democracy 3, recommended below, it'd form one or more graphs, depending on how far one takes it.
My main idea was to simulate an economy independent of current economic models but then simulating government is an integral part of that project.
[+] [-] nstj|8 years ago|reply
[+] [-] chubs|8 years ago|reply
[+] [-] rnabel|8 years ago|reply
They have an open beta [1], although building a comprehensive system like that described above seems a very significant task even to a large engineering team.
[0] https://improbable.io/2016/03/24/what-we-found-when-we-simul...
[1] https://spatialos.improbable.io/get-spatialos
(Disclaimer: I have interviewed with and accepted an offer by Improbable)
[+] [-] nstj|8 years ago|reply
[+] [-] joeclark77|8 years ago|reply
Thanks for reminding me of this.
[+] [-] shabinesh|8 years ago|reply
I am not sure I am even close enough to what your are asking, but thats my two cents.
[+] [-] nstj|8 years ago|reply
[+] [-] grizzles|8 years ago|reply
Prolog isn't the right tool here, there are no complex dependency chains to reason through, it's not really right for modelling uncertainty, which you will have to accept until you start caring about what parts of the model will need to be high fidelity.
[+] [-] glbl|8 years ago|reply
If you were to remove all elected officials from the equation, then programming becomes a much more straightforward task and could be done following due process. In an ideal world passing laws/policies would be a matter of logic, where the benefit of citizens and planet are the primary objectives. However, given the interests and persuasions of individual players, and the influences of third parties, even the deepest of phycological and analytical appraisal tools would come up short when trying to predict the decisions of any given policymaker.
Maybe that's the way to tackle this, remove the protagonists and concentrate on the system. Once you have a schema of the system, you could attempt to integrate the variables. Good luck with the latter.
IMO, I would start again. Determine where the power is now, and think about where it should be. How the decisions are made now and how they could be made better with your system.
You may already know about it but if not, this might give you some inspiration: https://www.globalchallenges.org/en
In essence, there is a 5m prize pool for someone/team to come up with a UN 2.0. One that works. That would entail fixing governments for any kind of UN to work effectively.
[+] [-] nstj|8 years ago|reply
[+] [-] LarryMade2|8 years ago|reply
When you get into information that also varies, for one reason or another governments use different systems computer and otherwise. A lot of government collaboration is working out how these similar but dissimilar systems will operate. What works for say Los Angeles certainly doesn't work for San Andreas and visa versa, and it gets even weirder if you cross state lines.
A respectable goal is to work up universal data interchange standards, not set systems, but say a "record" of a law should contain minimally certain information in certain text standards, etc. This leaves the municipalities to still work with their preferred systems but when doing cross-government business everyone know what data to expect minimally.
The downside of this is sometimes some entities are bad players and vote for bad data rules (i.e. the ever dwindling census detail) which benefit them in one way or another.
[+] [-] this-that|8 years ago|reply
System Dynamics
https://en.m.wikipedia.org/wiki/System_dynamics
[+] [-] ljw1001|8 years ago|reply
Tools like Vensim and IThink are currently (commercially) available, and there are some open source tools that can do this. I think Berkeley Madonna is one, but I'm not entirely sure.
[+] [-] nstj|8 years ago|reply
[0]: http://www.academia.edu/2852463/A_System_Dynamics_Approach_f...
[+] [-] StephenOTT|8 years ago|reply
If you have a proposed law, the law is generally (or at least supposed to be) a framework, and the bureaucracy chooses how to interpret and implement that framework.
If you want to model the bureaucracy (its inputs, outputs, efficiency, etc), take a look at BPM tools like Camunda, or JBOSS. Have done some of this related to local governments (https://github.com/StephenOTT/Gov-BPMN-Sub-Process-Departmen...).
If you want to model the System (a modelled version of the impacts of the laws and how they could impact the other parts of 'society'), then take a look at Systems Theory and related apps. Mesa looks like a good starter tool for this.
[+] [-] McHawkeye|8 years ago|reply
[+] [-] Someone|8 years ago|reply
AFAIK, some of those models are fairly accurate, but not at the level that physics models are. They also do not include all quantities citizens are interested in, such as pollution levels or effects on commute times, and even if they do, they likely don't do it at small scales (a model may predict that commute times will go down on average if policy P is enacted, but that may not be uniformly across the country)
[+] [-] hl5|8 years ago|reply
https://en.m.wikipedia.org/wiki/Conway%27s_Game_of_Life#
[+] [-] chid|8 years ago|reply
[+] [-] neilwilson|8 years ago|reply
I've got a project open here: https://github.com/NeilW/maytrix which sort of gives an indication of where I'd like to go.
Open to any and all collaborations to get it moving.
[+] [-] nstj|8 years ago|reply
[+] [-] lioeters|8 years ago|reply
[+] [-] m0llusk|8 years ago|reply
[+] [-] StephenOTT|8 years ago|reply
[+] [-] NBAFINALS2017|8 years ago|reply
[deleted]