A Dream World:
A Celestial Geometer imagines a world made up entirely of the following diagram
He asks a handy systems analyst newly arrived in heaven, after a life of endless toil working on CAAD, to design a computer database which will contain all the information which this simple world contains. He tells the systems analyst that he wishes him to do this so that he, the Geometer, may ask questions of the database and so elucidate this strange world’s properties.
The by now eager systems analyst proceeds as follows (though unknown to him it matters little how he proceeds)
In his former life having been an avid hill walker the world he is now presented with reminds him of a map grid so he unconsciously, or less likely consciously, starts his task by labelling the intersections of his grid world
He now feels happier, this is now a more familiar world, and he makes a list of all the lines, defining a line by its end points
Line 1 (0,2) to (2,2)
2 (0,1) to (2,1)
3 (0,0) to (2,0)
4 (0,0) to (0,2)
5 (1,0) to (1,2)
6 (2,0) to (2,2)
The systems analyst then proudly reports to the Geometer that his database contains all the information in this special world.
The Geometer asks him if the database really does hold all the information.
The analyst says that indeed it does and what is more the design is so neat that it fits inside the smallest computer.
The Geometer says in that case he will ask a question and the following conversation ensues:-
G – How many squares are there in this world of yours?
A – You will have to define what a square is
G – Everyone knows what a square is; it is a right angled equal sided quadrilateral
A – You will have to define …
No… Now I could have designed the database so that the inherent squareness of this world was more apparent.
It would just need a list of all the squares rather than a list of all the lines
Square 1 (0,0) (1,0) (1,1) (0,1) (0.0)
2 (1,0) (2,0) (2,1) (1,1) (1,0)
3 (1,1) (2,1) (2,2) (1,2) (1,1)
4 (0,1) (1,1) (1,1) (0,2) (0,1)
Of course I could probably make this more compact
G – Wouldn’t any description like this make it more difficult to answer the question “How many lines are there?”
A – Yes but I could write a program to find the lines from the squares or the squares from the lines but it would take some time for me to have these written and as I would be using my knowledge of squares to design the program it might be simpler just to add the list of squares to the original database, of course this might mean a larger computer.
G – Don’t forget the fifth square!
A – No, of course not
G – Perhaps it is time I asked another question?
How many ‘T’ shapes are there in this world; before you ask for a definition with tops and stalks both 2 units long?
A – Well again this would need a program but it would be quicker if we just added a further list to the database.
G – It seems to me that every time I ask a question of this database, which you told me, holds all the information about this simple world, you have to write an ad-hoc program to find the answer or you simply increase the size of the database by adding the answer to it. For your database really to hold all the information in this world wouldn’t you have had to build in all these possibilities?
A – Yes I would but to do this I would have needed to know not only all the questions you could ask but also all the answers or at least a way of finding them
G – This seems like an infinite regress. If we know the answers this thing can tell us them, if we don’t it can’t. It is not much use is it?
This was written in 1981 in response to the intention of the Scottish Special Housing Association, following the successful development of their House Design and Site Layout Programs, to develop a property database to describe in detail their 100,000 houses.
An important moral was that real things are sometimes best represented by themselves.
The story was used, with permission, in Peter Swinson’s 1981 paper Logic Programming: a computing tool for the architect of the future.
ARU research project A25/SSHA-DOE: House design: Application of computer graphics to architectural practice
Bijl, A., Shawcross, G 1974 Housing site layout system
Computer Aided Design: Volume 7 Number 1 January 1975
Swinson, P. S. G. 1981 Logic programming: a computing tool for the architect of the future