Ask HN: How best to model a government programmatically?
So I've been looking lately at the functioning of government and how it's basically just a bunch of rules (laws) with some state (time, elected officials, votes). I'm wondering if there's precedent for modelling systems like this 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.
31 comments
[ 0.23 ms ] story [ 20.0 ms ] threadProlog 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.
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)
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.
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).
System Dynamics
https://en.m.wikipedia.org/wiki/System_dynamics
[0]: http://www.academia.edu/2852463/A_System_Dynamics_Approach_f...
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.
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)
I am not sure I am even close enough to what your are asking, but thats my two cents.
Watch NBA final live Stream, Golden State Warriors vs Cleveland Cavaliers. Game 1 – Thursday June 1, Cleveland at Golden State.
if you want nba final 2017 to watch click here http://2017nbafinals.org/
[0] http://positech.co.uk/democracy3/
https://en.m.wikipedia.org/wiki/Conway%27s_Game_of_Life#
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.
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.
Thanks for reminding me of this.
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.
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.
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.