Empirical Modelling and Language: Meaning Without Language
Computer Science and Morality
1. Short history/intro of morality
2. Morality and robotics
3. Morality and software development
4. The discipline of computer science
5.
Empirical Modelling and Language: Meaning Without Language
Computer Science and Morality
1. Short history/intro of morality
2. Morality and robotics
3. Morality and software development
4. The discipline of computer science
5.
I was attending a conference last week where I heard a couple of talks on the topic of 'social norms'. I have heard about the nature of social norms and the speakers have attempted to argue about why we follow social norms. What I think may be more interesting, which has not been discussed, is why some people like to go against social norms. There must be a benefit in not complying to social norms because the norms are the standard way of acting, so there must be a conscious effort to avoid the [internalised] norms. What is this benefit? If there is no benefit then is the person not acting rationally?
To follow social norms is to become a member of a society. Therefore to not follow is to move away from society — either to distance oneself from the society or in order to change the society. It is clear that some groups want to change social norms or change society, for example: women rightfully standing up against society to gain the right to vote.
However, there is another group that do not follow social norms because there is another benefit other than changing society. This is the personal benefit of standing out in the society — being unique. At the current time, society somehow respects people who 'go against the grain' and we see them as powerful. It seems to be a great time to be different.
[This topic came up yesterday at Chris Roe's seminar on dependency. It was particularly well discussed, so I am repeating some of the points that I thought were relevant.]
1. Dependencies are not the same as constraints.
2. Both dependencies and constraints can be thought of as relationships between variables (or observables).
3. Dependencies are relationships that have a direction. If we consider the example of a = b + c then changes to b or c will update a, but not vice-versa. There is no way to change a and effect b or c.
4. Constraints are often multi-directional. If we consider a constraint a = b, then changing b will cause a change to a, and changing a will cause a change to b. The relationship is always maintained.
5. A dependency maintainer is a machine that simply maintains the dependencies at all times. At no point is there a state (that is visible to the user) where a can be any value other than b + c. It is a requirement of dependencies that they are maintained indivisibly.
6. A constraint maintainer is more complicated than a dependency maintainer. Firstly it requires more information about updating constraints. If there is a change to a in a = b + c, then it must decide to update either b or c in order to maintain the constraint. The programmer must understand this to create valid constraints, and must have a knowledge of the constraint maintainance methods. This may lead to undecidability issues when making updates.