« June 2006 | Main | October 2006 »
September 02, 2006
Hierarchical classification considered daft - preliminary remarks
There's been something I've been wanting to write about for some time. In my first post I mentioned a book of collected essays on Artificial Intelligence. There were a couple of essays that struck me a being prophetic with regards to current programming practice. But not because AI paved the way for a future that is now present—not straightforwardly, anyway. Rather that AI researchers got an early taste of problems that would become endemic in software engineering.
I got to thinking that perhaps there was a single mistake being repeated in different variations: AI programming in the 70s and early 80s; Object-Orientated Design in the late 80s and early 90s; perhaps the Semantic Web now. Repeated visits to the same region in the phase-space of thought; the same snares encountered.
Hopefully at some future point I will be able to clarify what I mean by this. For the time being I will have to make do by pointing to the idea that the important thing in programming is to have good, explicit representation of knowledge: a program works by having algorithms to manipulate this knowledge, but their workings should derive fairly straightforwardly from the representation.
The reason I hadn't written earlier is that I haven't been able to think things through very well yet. But it looks like I could be in for a long wait, so it would be better to start at the very beginning and see where things go from there.
The beginning here would be the criticism of AI made by the American philosopher Hubert Dreyfus in the 70s and 80s. I will try to summarise this as best I can. His view was that AI was a concretization of a long-standing rationalist tradition of philosophy. If thinking is the manipulation of symbolic representations, and this can be described formally in terms of logic, then the whole process could be automated in terms of formal rules acting on meaningless symbols. Dreyfus considered that this tradition had already come unstuck at this point in time: it had reached its apex with Husserl, but had been shown to be implausible by Heidegger. (Alternatively, it reached its apex with Russel and early Wittgenstein and was shown to be implausible by late Wittgenstein.) The problem was that this treated the unusual case of people using explicit rules and representations as if it were fundamental, but missed the common case of people coping with the everyday world without recourse to either. When the latter case was considered, it was assumed that rules and representations must still be at work, but unconsciously. Dreyfus argued that there was no good reason for believing this assumption, that there was good reason to doubt it—philosophy's failure to produce a theory of everyday life that the tradition's internal logic demanded—and that if AI was going down the same route it would inevitably reach the same impasse.
It did. This was called the problem of “common-sense knowledge”. Legend has it that the issue first came to prominence when an expensive, state-of-the-art AI system at MIT decided that if a robot was to arrange wooden blocks to form a stack then as good a way to proceed as any was to start at the top and work down, gravity be damned. Whilst any specific problem of this type can always be fixed by having more rules explicitly to deal with it, finding rules to prevent all such problems begins to look like an unending task. There were various attempts to “solve” common sense, but the problem remained. Then the AI Winter set in, and that (ignoring Cyc) was the end of that. Dreyfus: “The rationalist tradition had finally been put to an empirical test, and it had failed.”
Marvin Minsky was foremost of those trying to crack common sense. Dreyfus compared his work with that of Husserl:
For Husserl […] the noema contains a hierarchy of strict rules. Since Husserl thought of intelligence as a context-determined, goal-directed activity, the mental representation of any type of object had to provide a context, or a ‘horizon’ of expectations or ‘predelineations’ for structuring incoming data[…] The noema must contain a rule describing all the features that can be expected with certainty in exploring a certain type of object—features that remain ‘inviolably the same: as long as the objectivity remains intended as this one and of this kind’. […]
In 1973 Marvin Minsky proposed a new data-structure, remarkably similar to Husserl's, for representing everyday knowledge:
In Minsky's model of a frame, the ‘top level’ is a developed version of what, in Husserl's terminology, remains ‘inviolably the same’ in the representation, and Husserl's predeliniations have become ‘default assignments’ […] The task of AI thus converges with the task of transcendental phenomenology.A frame is a data-structure for representing a stereotyped situation, like being in a certain kind of living-room, or going to a child's birthday party…
We can think of a frame as a network of nodes and relations. The top levels of a frame are fixed, and represent things that are always true about the supposed situation. The lower levels have many terminals—slots that must be filled by specific instances or data. […]Much of the phenomenological power of the theory hinges on the inclusion of expectations of other kinds of presumptions. A frame's terminals are normally already filled with ‘default’ assignments
Given my title, and my earlier mention of Object Orientation, it's possible to guess where I'm going with this. But for the time being I'll have to leave this hanging.
Posted by robin2 at 11:22 PM | Comments (0)