Why The New Colouring Algorithm Works
Think Of The Children
AARON’s new colouring algorithm works very well, as Harold Cohen said when he described it. What he didn’t go into was why.
I think the algorithm works well because it is a good model of the cognition of our perception, which is in turn a good set of heuristics for coping with sensory data coming from our environment.
Constraining the contrast (the saturation and brightness) to a few ranges reflects the fact that we usually only have to deal with a few different levels of lighting at the same time (for example when going into or coming out of forest, or when the sun is breaking through the clouds).
Limiting the number of colour components to seven each matches the soft limit of our working memory. Whether this is relevent to the vision centre of our brain I couldn’t say, but when we are considering a composition artistically we need a manageable complexity to the hues that it uses.
Producing values that have been structured to fall into ranges that we are neurally predisposed to appreciate may seem like cheating for an artistic program. But in a human this would be called skill, whether that human could account for it or, like AARON, they could not.
This just in:
Microsoft have announced that they will be producing a version of Vista for XO, the One Laptop Per Child Project laptop. Each system will be tied to the Windows Genuine Advantage program through a Trusted Computing module on its circuit board to ensure that only licensed systems can run.
Opponents of this scheme point out that training millions of children to accept permission computing in this way is a subversion of the project’s educational mission and a betrayal of its previously espoused exploratory ethos. But a Microsoft spokesperson claimed that this was for the children’s own good, and that otherwise people might steal XO laptops for use in businesses that would otherwise buy full Vista licenses. Nobody was available from the Free Software Foundation to comment on this latest manifestation of “Treacherous Computing” before this article was due to go to press.
OK, I’m lying. Microsoft haven’t said any of this. No XOs will locked to Windows. No XOs will be tied to WGA.
The people who locking the XO hardware and tying it to a key server system are the OLPC project themselves.
Don’t worry, the trusted computing -er the Bitfrost system- will be removable if you have the trusted keys for the BIOS. And systems in low-bandwidth regions will have very long leases from the key server.
All that remains is to work out how to prevent criminals from reverse-engineering the key server like they have for WGA, stealing the keys for the hardware like they have for every other DRM system ever devised, finding out how long the leases are and stealing a new laptop on the first of the month, or borrowing their kid’s XO in the evening. Compared to creating a new trusted computing security model that suffers from none of the disadvantages of other such systems these are trivial tasks, and should be easy to accomplish in time for the XO’s launch.
Randomly coloured grids from colour-cells, my standalone re-implementation of AARON’s new colouring algorithm as described by Harold Cohen.
Here’s an example of the debugging output of a run:
sv-spec: (7 ‘MH 8 ‘HH)
LEAF 0.17177725 VEIN 0.43423924 BLADE 0.54956645 BRANCH 0.7650679 FLOWER 0.9934292 TENDRIL 0.13626313 BACKGROUND 0.21447933
low: 0.22091965 0.10087495 0.2973811
medium: 0.35810804 0.56012416
high: 0.82899094 0.6722238
medium: 0.47757912 0.48717552 0.36317036
high: 0.8511361 0.8175543 0.7354897
MH 3 0.467 0.600 -0.133
HH 1 0.533 0.200 0.333
MH 4 0.467 0.400 0.067
HH 5 0.533 0.500 0.033
MH 7 0.467 0.467 0.000
HH 7 0.533 0.467 0.067
MH 9 0.467 0.450 0.017
HH 10 0.533 0.500 0.033
MH 9 0.467 0.360 0.107
HH 15 0.533 0.600 -0.067
MH 12 0.467 0.400 0.067
HH 17 0.533 0.567 -0.033
MH 13 0.467 0.371 0.095
HH 21 0.533 0.600 -0.067
MH 14 0.467 0.350 0.117
HH 25 0.533 0.625 -0.092
MH 17 0.467 0.378 0.089
HH 27 0.533 0.600 -0.067
MH 20 0.467 0.400 0.067
HH 29 0.533 0.580 -0.047
MH 23 0.467 0.418 0.048
HH 31 0.533 0.564 -0.030
MH 26 0.467 0.433 0.033
HH 33 0.533 0.550 -0.017
MH 28 0.467 0.431 0.036
HH 36 0.533 0.554 -0.021
MH 32 0.467 0.457 0.010
HH 37 0.533 0.529 0.005