A big, hairy problem in cognitive science and philosophy of mind. The basic idea is this: if we try to create a robot that learns from and interacts with its environment, then we need to teach it how to pay attention to only the appropriate parts of the environment.

If we don't do this, then the first thing the robot would have to do is sit up, and notice the colour of the room, and the size of the room, and the number of walls in the room, and the floor texture of the room, and the fact that the room does not (presumably) contain any elephants at the moment, and so on, ad nauseam. Clearly this is intractable - the robot needs to have a way of deciding that some things are relevant and other things should be ignored.

The frame problem then, can be loosely thought of as the problem of framing, or constraining a problem space - especially the universal problem space of interacting with the world around you. It's the problem of relevance - how do we figure out which parts of our universe are relevant to what we're doing, and which parts can be ignored?

Now, in principle this ought to be easy - humans do it every day. In fact, slugs do it every day. But despite being able to do it internally, we can't seem to say HOW exactly we do it. There are a bunch of bad attempts to do so - two popular ones are:

  • "Run a simulation in your brain of the activity you're going to perform, and notice which things matter in doing it." This doesn't solve anything though, since we would need to already have solved the frame problem in order to notice those parts of the simulation.
  • "Don't notice anything initially, and when something changes, tag it as important for the future." This sounds nice, except that now the robot could sit up, but would then have to go down the list of: Did sitting up change the color of the room? No - okay, don't tag that; Did sitting up change the number of walls in the room? No - okay, don't tag that... and so on, again ad infinitum.

So really, we don't have a solution, we don't even have a promising guess. And this is not a trivial thing, until we have one, we can't produce theories for a bunch of supposedly important things, like how human memory works (which seems to involve relating things that are relevant to each other.), or human creativity, or pretty much everything else our minds do more complicated than peeing. We're stuck - and AI and Psychology and Philosophy and Cognitive Science and Linguistics and Neuroscience are, to varying degrees and in various capacities, stuck with us.

One last interesting note: the frame problem is pretty new. It's only really been on the table for about 50 years, maybe 200, since there's a hint that David Hume may have almost gotten there. But still, given the eternal nature of most philosophical problems, this is cool - it tells us that cognitive science is really doing new things and finding new problems.

The previous writeup is not the only 'frame problem' we have in this world. There is also the 'frame problem' in the context of the internet.

We've all seen frames on websites. Most commonly, they are used to provide a 'navigation bar' at one side of the screen, that stays in place even if you scroll up and down in the main frame, i.e. the one containing the document you are interested in.

When you define how wide you want your two different frames to be, you can define in terms of pixel width, or in terms of Percentage of the window. Now, many people want to put pictures on thier navigation bar. So they whip up some pictures. The problem is pictures are displayed without scaling, i.e. a ten pixel wide graphic will show up ten pixels wide.

The frame problem is fairly simple: If you define the widths of your frames as a percentage, if someone has a low resolution screen, the navigaion bar will have a reduced pixel width. But the graphics for it won't. If your navigation bar graphics are designed at 1024x768 resolution to fit the width of the 20%-width bar, at 640x480, they will be too wide for the 20%-width bar, and will look awful.

You may think of the obvious solution to this: Define the width of your navigation bar frame in pixels, and set the document area's pixel width to '*' (Which means stretch to fit). The problem is, if you define one frame as, n pixels wide and the other stretch to fit, if your user has a low resolution screen, it will mean the main document area is narrow and unreadable. For example, at 1024 pixels wide, a 256 pixel wide navigation bar would encompass a satisfying one quater of the screen. But at 640 pixels width, that same bar would cover two fifths of the screen, taking nearly half the viewing width from an already small screen.

How could this problem be solved? Well, you could use the percentage defintion system and use Javascript to change the graphics depending on the resolution. But this wouldn't work if your user had an older browser, or had javascript disabled.

You could have a server-side system that serves up different framesets and graphics for different resolutions, but this would need server-side scripting access (Unusual unless you own the server) and CGI scripting knowledge, which most people don't have.

Finally, you could not use frames. This is my solution. I am yet to see a high-quality site that uses frames.

Log in or register to write something here or to contact authors.