Making the simple complicated is commonplace; making the complicated simple, awesomely simple, that's creativity. -- Charles Mingus

Saturday, June 20, 2015

Single Feature Indicator Systems

Atsushi Shimojima and I are beginning a project to investigate diagrammatic representations from a generic perspective.  By this we mean that, instead of considering the affordances of individual diagrammatic representation systems, for example making an in-depth study of Venn diagrams, we plan to take the approach of looking a features shared by many representation systems, and studying the affordances that arise from those features.

As a starting point, we looked for the simplest kind of representation system that we could.  We came up with what we call Simple Feature Indicator Systems (SFIS).  An SFIS consists of a collection of roles paired with a collection of values, with the constraint that each role has exactly one of the values.

That's an abstract definition, here's a concrete example.  A (standard) traffic light can be represented by an SFIS having three roles: the red, yellow and green lights.  Each light can be either on or off - these are the values.

When we see a diagram of a traffic light, it tells us something about some actual traffic light.  If the representation shows that the value of the red light role is "on", then we expect the red light in the corresponding actual traffic light to be illuminated.  This is the nature of "indicator" in "Single Feature Indicator System" (we call a collection of roles and values, a feature).

In the general definition of SFIS, there are no constraints between the values that different roles may take.  For example, in the SFIS described, there is no constraint that says that both the red and green lights roles cannot have the value "on".  That constraint, if you want it, would be part of an extended representation system.  Of course, if you want to describe potentially defective real traffic lights, then you don't want to enforce this constraint in the representation.

It is possible to build an inference system on top of an SFIS.  Its pretty boring, but there is an inference rule which allows us to detect contradictions.  If I am shown two representations of the same traffic light, and in one the red role has the value on, and in the other the red role has the value off, then this is plainly a contradiction (just as if I tell you both P and not-P about a world).  Such an inference rule is available in all SFIS, and is a consequence of what it means to be an SFIS.

Traffic lights, of course, are not the only instances of SFIS.  A work schedule, which shows which people work on which days, is another.  The roles are things like (Dave,Wednesday) and the values are perhaps "working" and "not working".  A graph, for example, a tube map, is also an SFIS, with a role for each connection in the map, for example (Victoria,Green Park), and the values either "directly connected" or "not directly connected".

Value sets don't have to be binary, nor even finite.  If we want to represent train timetables then the roles can be pairs of stations and trains, with the value representing the time at which the train will be at the station.

No comments:

Post a Comment