2005/11/30

Distributed Knowledge Networks

What is a "distributed knowledge network?" It is a network, of knowledge, that is distributed. A network is a collection of nodes that are linked together. Knowledge consists of the mechanisms that allow a system to interact with its environment. It is the embodiment of the knowledge of relationships between various patterns, which is extracted from the information coming into the system. A knowledge network is not the same as a learning machine, it is what is constructed by a learning machine. However, the knowledge network can be used by the learning machine to construct more knowledge, of course, since knowledge usually builds on previous knowledge. I think of a knowledge network as an artifact rather than a process, the product of knowledge production. Distributed knowledge networks are those built up by the actions of many separate agents, as well as stored in a diffuse set of agents.

2005/11/22

Wittgenstein and Language

Commentary on Wittgenstein's Philosophical Investigations
First off, I find Wittgenstein's use of multiple voices easy to read because I myself use multiple voices all the time when I am thinking. I may think a thought, then respond to it from another perspective. It is like hearing two people talk, except you identify as both of them at the same time. And that is what passes for my stream of consciousness. Actually, I do have voices that I consider to be myself, and those which I consider to be my impressions of other people. And of course not all my thought is verbal!

Wittgenstein seemed to be saying that language (and by extension, logic and thought) are all very relative. The meaning of language depends on the context. There always must be a context. For example, wondering what the parts are of some object only makes sense if you have some context within which to ask the question. The fundamental parts of, say, a tree, are different depending on what kind of answer you want. You might say that the basic parts are the branches, or maybe the cells, or the atoms that constitute the tree. Another situation where meaning depends on context is in the case of metaphors and words with multiple meanings. You can only know what the word refers to from the context. There is not a special essence for each word to refer to. So there is no perfectly exact language which is free from the necessity of an arbitrary environment to give it meaning.

The implication of this is that language is not so special as is commonly believed. Language can not be understood as a perfectly exact mathematical manipulation of symbols. Instead it is rather chaotically interpreted based on preconceptions and context, obeying no particular law. In this way it is similar to the other activities of the brain - chaotic and messy, but also creative. Another interesting point is that the brain can learn a language without having any prior understanding of it. What Wittgenstein tries to show in the beginning of his Philosophical Investigations is that it is not possible to explain in a purely algorithmic way how language is learned. Discussing language requires understanding of self-organizing and evolving systems, and not of sequential, logical systems. So then language becomes not the vehicle for an ultimate truth, or something with which to distinguish between rational and irrational beings, but just another technique of evolutionary systems. Language has a role to play, but it does not live separately from a natural understanding of the world.

2005/11/16

Analysis of Electric Sheep

The final chapter of Laboratory Life by Latour and Woolgar, presents a framework for understanding the construction of scientific facts. I will use this framework to analyze the knowledge production in Electric Sheep. This knowledge concerns the location of aesthetically pleasing fractal flames in the space of all possible fractal flames. Each fractal flame is an image produced from a seed of 84 real numbers. Essentially, each one may be defined as a point in an 84-dimensional space.

Using the framework in Laboratory Life, I can describe the Electric Sheep project as moving from chance to necessity. In the beginning, there is no way for you to know where the interesting fractal flames may be hiding, so all locations are equally probable. If you were to choose one to look at, you would have to make a random guess, only informed by chance. But as you build up knowledge of where the nice fractal flames may live, certain places are more probable than others. Eventually certain positions in this space become necessary to look at, as the probability of it containing interesting fractal flames becomes very high. This movement, from equal probability and chance to unequal probability and necessity, is the essence of knowledge production.

Latour and Woolgar's book describes six elements which work together to create this movement. First off there is construction, which is the slow, evolutionary process of accumulating facts. These facts are created through an agonistic process where hypotheses and their scientists compete to show that they are the best one. Once these facts are accepted they are embodied in laboratory equipment or skills and then taken for granted - materialization. This influences the fact's credibility, which refers to the cost in rejecting an established fact because of the time and energy invested in it. It is also important to recognize the role of individual circumstances in the production of knowledge, as knowledge is not so much about finding the universal truth as it is an idiosyncratic approximation to it. Finally, noise is a description of the initial state where all possibilities are equally probable, which facts try to limit into necessities.

In Electric Sheep, construction is the creation of a family tree of the best fractal flame images, or 'sheep.' Each one represents the knowledge that interesting sheep are more likely to be found nearby in 84-dimensional fractal flame space. Sheep are voted on for this privilege, which is agonistic in that it is competitive. Materialization takes place when the popular ones are saved as part of the family tree, to be used as the basis for later variations. Participants can not communicate to convince each other to vote for one sheep or another, so credibility does not play a noticeable role. People may submit their own fractal flames as stock for new sheep, and the direction the family tree branches from it is highly dependent on individual circumstances. It is extremely unlikely to chance upon the same fractal flame more than once, and the space of possibilities is so large that any knowledge network can only map a small portion of it. The end result is that in one corner of this fractal flame possibility space, the noise has been decreased so that some spots may be known to hold pretty fractal flames.

2005/11/08

A Distributed Knowledge Network

Electric Sheep
Electric Sheep is a distributed computing project which allows users to view fractal flames and vote for ones they like. To use it, you download a screensaver that will help generate the fractal flames and display them on the screen. Fractal flames are computer-generated animations which take a lot of processing power to produce, so each computer running the Electric Sheep screensaver does a little bit. A new fractal flame, or 'sheep,' is displayed on each participating computer about every ten minutes. While that sheep is on the screen, pressing the up arrow key will give it a vote. Only a few sheep are stored on the server at one time, so the sheep with more votes get to live longer. New sheep are variations on sheep still living on the server, so a sheep that got a lot of votes would have a lot of children that are similar to it. This means that Electric Sheep can explore the space of possible fractal flames to find pretty ones.

This project produces some very simple knowedge - collective knowledge of which fractal flames are interesting. Each saved sheep is a label that marks all similar sheep as potentially interesting forms. Electric Sheep takes the information of user's votes and embodies it as knowledge by using popular sheep as a basis for the next samples. I consider knowledge to be the structure of a system which is influenced by incoming information and then produces some action from it. In the case of Electric Sheep, its structure consists of the currently saved sheep along with the method by which it explores new fractal flames. The system uses this knowledge to make pretty pictures and to further develop its knowledge.

2005/11/01

Reaction to The Order of Things

This author, Foucault, describes a painting chronologically as a viewer's eye moves around the image. It is not a static image but a dynamic picture unfolding in a moment of numerous saccades. Foucault, describes the discovery of a window in contrast with a mirror:
"But the window operates by the continuous movement of an effusion which, flowing from right to left, unites the attentive figures, the painter, and the canvas, with the spectacle they are observing; whereas the mirror, on the other hand, by means of violent, instantaneous movement, a movement of pure surprise, leaps out from the picture in order to reach that which is observed yet invisible in front of it, and then, at the far end of its fictitious depth, to render it visible yet indifferent to every gaze."

This reminds me of my own idea of making a display which only shows the part of the scene where the eye is looking. It would be useful in a raytracing graphics engine in order to greatly reduce the number of rays cast each frame and thus make it feasible for use in a game. The difficulty is in determining where the eye is looking. This is usually accomplished by tracking the position of the eyeball with video cameras. It may be possible to infer the most likely paths for the eye to travel and only display a limited number of these areas. However, the user would probably have to practice in order to match the expectations of the system.

I am also interested in other alternative graphics techniques than the traditional polygon method. Looking at the color script for The Incredibles was very inspiring; I really liked its abstract depiction of the scenes which also showed the feeling with color and shapes. I thought that graphics like that would be very nice in a computer game, as a sort of vector graphics for 3D. Later, I thought of using a neural network of lines filled with color between them to make a display by rearranging themselves according to the scene. It would be like a living, dynamic, stained glass window.

An similar idea may be found in The Wee Free Men by Terry Pratchett.