Hofstadter talks about making analogies in preface 5. Within the preface, at some point, Hofstadter talks about the different meanings associated with words and how it impacts analogies. Theres also a mention of how the distribution or structure of meaning on any given concept in foreign languages is vastly different from English in some cases. I always like to stop and consider the differences between languages and meaning because I'm bilingual. I've studied other languages on the side... Latin, Spanish, Japanese. I don't speak all of them, but I've had some instruction in them.
Its always interesting to hear about the cultural information, particularly some of the expressions present and examine how different they are from your primary language. Recently this topic came up elsewhere and I remembered an example that I noticed years ago. Consider music in which there is singing. The rhythm of words fit nicely with the song and contribute to the overall sound of it. Since words may sound radically different between languages, there might be places where a word simply wouldn't fit in English, because of length for example. Even this aside, the complete meaning of words is also usually very different. Translation from one language to another requires some parsing of meaning, then reconstruction in the target language. Literal translation almost never works. (Though it makes for some pretty funny constructions usually. ;)
Naturally, meaning is required for the expression of analogies, and so this operates on a higher level than single words. Analogies are about the link between concepts, not necessarily the concepts themselves. I wonder if, since the meanings of words are different, their structure and distribution and everything, that analogies suffer from the same sort of problems as words in literal translations? (I never stop blabbering about how stuff like this would be cool to see expressed in other languages, and examine the mappings and such, but honestly, its really cool, I think.)
Beyond the structure of the language, how does it influence the way people think? Does that cause them to inherently make different sorts of analogies? I'd assume so. Where does this put bilingual people though? Do they think differently than people who only speak one of their two languages? Do the languages mesh well, in terms of analogies, for the individual?
Is there even a way of measuring something like this yet?
Thursday, October 29, 2009
A short ramble about perception
Perception is a huge deal. Its also a curious topic in terms of representation and the bottom-up, top-down view of different facets of our ability to perceive things. Do we even experience things in a bottom up way? No, probably not. You don't notice all the things going on around you all the time: we automatically filter vast amounts of information. The ability of the mind to interpret specific enough things for us to do anything is remarkable even. Consider all of the sensory information that we are able to gather. All of it.
Naturally, cognitive processes like attention allow us to make sense out of what we want (or need) and then discard the rest (or perhaps not discard). Is this throttling or is it simply the construction of higher-level perception? Its natural to think that perhaps between low level perception and higher tiers that some sort of construction and perhaps a little interpretation takes place. Building blocks, or objects (in mind of course) are then passed along, parsed by each individual mechanism or interpreter before, somewhere down the line, they become some higher level concepts. Interestingly enough, a higher level interpretation of some sensory input will yield much more information about something than perhaps a lower one would. This is because of abstract representations that we are somehow able to juggle or even pick up from other sources.
I suppose I have to apologize first. So far this entry has just been a rant about a mixture of what I believe I understand about perception and the information contained in the beginning of the chapter. As before, perception and the representation of things we perceive is remarkable. The crafting of analogies is no small feat either, of course. In light of the transition from low level to high level, the ability to effortlessly craft an analogy brimming with meaning seems near magic. Its reflexive sometimes when we try to express something we've learned to someone else. Computers cant do all this yet, of course. But as Hofstadter has been showing us that there are some interesting models.
Naturally, cognitive processes like attention allow us to make sense out of what we want (or need) and then discard the rest (or perhaps not discard). Is this throttling or is it simply the construction of higher-level perception? Its natural to think that perhaps between low level perception and higher tiers that some sort of construction and perhaps a little interpretation takes place. Building blocks, or objects (in mind of course) are then passed along, parsed by each individual mechanism or interpreter before, somewhere down the line, they become some higher level concepts. Interestingly enough, a higher level interpretation of some sensory input will yield much more information about something than perhaps a lower one would. This is because of abstract representations that we are somehow able to juggle or even pick up from other sources.
I suppose I have to apologize first. So far this entry has just been a rant about a mixture of what I believe I understand about perception and the information contained in the beginning of the chapter. As before, perception and the representation of things we perceive is remarkable. The crafting of analogies is no small feat either, of course. In light of the transition from low level to high level, the ability to effortlessly craft an analogy brimming with meaning seems near magic. Its reflexive sometimes when we try to express something we've learned to someone else. Computers cant do all this yet, of course. But as Hofstadter has been showing us that there are some interesting models.
Wednesday, October 21, 2009
Wishful Thinking
This section, Preface 4, centers around Hofstadter's reception of more well known “AI” projects and their fallacies. When comparing the work of Hofstadter's group with the more ambitious projects, sadly, the group's work falls into the background. Whether this has to do purely with the eye of the public, or some other force that draws focus away from the group's achievements, the attention, I think, is a touch misguided. While it would be nice for AI projects to be so successful so often and with such ease, it strikes me as more of a wishful thinking sort of thing.
We don't know nearly enough about the human mind, so how can we move on to create mechanical ones, let alone anything approaching super-human AI? It seems like people are just waiting for the day we develop true AI, but that day is a long way down the road. For that matter, we haven't sufficiently developed systems that model some of the more complex cognitive features of ourselves. Hofstadter is on the right track with his models of mental mechanisms. Even if they make no steps toward an ultimate solution, they allow us to think of the problem in a different light. Are they really making no progress just because they are models? Is it how we think about the problem, or is it about real, concrete evidence or results? I guess it depends on who you ask. The models are great, but what do they really accomplish? What sort of tool are they? They've gotten me to think of a lot of things differently... is that their intended effect or is it a happy by-product? For another generation of people doing work similar to Hofstadter, even the latter can inspire vast progress in my opinion. (Perhaps an interesting thought here: For us to achieve AI, we first have to change the way we think about what we think.)
So far, popularization isn't helping much at all, I think. Is another totally arbitrary work of fiction going to help us make advances in how we understand the questions about how(why, when) we think? Not that art can't contribute to the respective studies, but I wonder what people really think about Cognitive Science in respect to the creative work about AI the media produces.
Another thought:
(When people ask me what my major is (Outside your standard academic environment, of course.) I tell them that I have two. Computer Science is one; Cognitive Science is the other. Computer Science gets the “Oh, thats cool.” response usually, while Cognitive Science has always gotten the “...what exactly is that?” response. I guess a lot of things contribute to this sort of general knowledge/public perception (or lack thereof) ... though I wish I could get the same response for both of them.)
We don't know nearly enough about the human mind, so how can we move on to create mechanical ones, let alone anything approaching super-human AI? It seems like people are just waiting for the day we develop true AI, but that day is a long way down the road. For that matter, we haven't sufficiently developed systems that model some of the more complex cognitive features of ourselves. Hofstadter is on the right track with his models of mental mechanisms. Even if they make no steps toward an ultimate solution, they allow us to think of the problem in a different light. Are they really making no progress just because they are models? Is it how we think about the problem, or is it about real, concrete evidence or results? I guess it depends on who you ask. The models are great, but what do they really accomplish? What sort of tool are they? They've gotten me to think of a lot of things differently... is that their intended effect or is it a happy by-product? For another generation of people doing work similar to Hofstadter, even the latter can inspire vast progress in my opinion. (Perhaps an interesting thought here: For us to achieve AI, we first have to change the way we think about what we think.)
So far, popularization isn't helping much at all, I think. Is another totally arbitrary work of fiction going to help us make advances in how we understand the questions about how(why, when) we think? Not that art can't contribute to the respective studies, but I wonder what people really think about Cognitive Science in respect to the creative work about AI the media produces.
Another thought:
(When people ask me what my major is (Outside your standard academic environment, of course.) I tell them that I have two. Computer Science is one; Cognitive Science is the other. Computer Science gets the “Oh, thats cool.” response usually, while Cognitive Science has always gotten the “...what exactly is that?” response. I guess a lot of things contribute to this sort of general knowledge/public perception (or lack thereof) ... though I wish I could get the same response for both of them.)
Thursday, October 8, 2009
Behind the curtains
This section continues to describe Numbo through the words of Daniel Defays. Numbo is a lot like Jumbo, and therefore aptly named. I’ve remarked in the past that I find the interaction between different sorts of data in a “cytoplasm” interesting and that I’d like to apply or see it applied to other types of data. Numbo does exactly this. Naturally, the exact rules are somewhat different; Jumbo’s purpose is to work with characters while Numbo is strictly concerned with arithmetic.
The attractiveness of data here is evaluated by a particular class of codelet. A piece of data’s attractiveness isn’t relevant to itself, only to the system. With lack of interactivity and the passage of time, attractiveness decreases. Is this also a codelet or is it some automated background process that regularly occurs? While important to the function of Numbo, it seems to me this would pollute the Coderack with maintenance functions. Furthermore, since this action occurs regularly it seems to be exempt from the Coderack’s probabilistic choice algorithm.
Temperature seems to be a function of how many individual parts are floating around in the cytoplasm. Temperature seems like a different sort of process from the attractiveness maintenance.
Consider the Coderack itself. The rack is drawn from by this choice algorithm and codelets that get activated from it may queue more actions. Is there a bound to the size of this Coderack or is it boundless? Once all the data is used up and only one large glom exists, what happens to all the queued actions? If the glom, in the case of Numbo, is correct the program simply completes its run and exits. If the result is not correct, Numbo backtracks in the form of dissolving codelets. I’d imagine the non-applicable codelets simply fizzle as Hofstadter suggested when discussing Jumbo. What if, by chance, a codelet from several building/decomposition cycles ago activates? Is there some process that scans the rack for outdated codelets at some point?
These are just some things that occurred to me while reading about Numbo.
The attractiveness of data here is evaluated by a particular class of codelet. A piece of data’s attractiveness isn’t relevant to itself, only to the system. With lack of interactivity and the passage of time, attractiveness decreases. Is this also a codelet or is it some automated background process that regularly occurs? While important to the function of Numbo, it seems to me this would pollute the Coderack with maintenance functions. Furthermore, since this action occurs regularly it seems to be exempt from the Coderack’s probabilistic choice algorithm.
Temperature seems to be a function of how many individual parts are floating around in the cytoplasm. Temperature seems like a different sort of process from the attractiveness maintenance.
Consider the Coderack itself. The rack is drawn from by this choice algorithm and codelets that get activated from it may queue more actions. Is there a bound to the size of this Coderack or is it boundless? Once all the data is used up and only one large glom exists, what happens to all the queued actions? If the glom, in the case of Numbo, is correct the program simply completes its run and exits. If the result is not correct, Numbo backtracks in the form of dissolving codelets. I’d imagine the non-applicable codelets simply fizzle as Hofstadter suggested when discussing Jumbo. What if, by chance, a codelet from several building/decomposition cycles ago activates? Is there some process that scans the rack for outdated codelets at some point?
These are just some things that occurred to me while reading about Numbo.
Tuesday, October 6, 2009
Enter the Numbo
In this portion of the text, an introduction to Numbo is given by Daniel Defays. Numbo is an attempt at modeling how a particular type of number problem is approached. The overall gist of the game is to make a goal number from a set of “bricks,” which also consist of numbers. Numbers can be used only once and only a limited set of arithmetic can be applied.
One of the first things that occurred to me about this type of problem was the human ability to approximate results. It’s mentioned in the text that one particular method of approaching the problem was to group numbers together that have a result that is close in proximity to the target number. I found myself doing this on several occasions. Naturally there are other strategies mixed in with this. The exact details are up to the player and their choice for grouping or particular operations.
It’s worth mentioning that solutions derived from raw computation via a machine are sometimes counter-intuitive when reviewed by a human. The most efficient or succinct configuration of an equation is probably not reached when done by a human, though there’s no guarantee that a machine will find one matching these criteria either. So it appears that humans have a certain preference when it comes to solving these. Even more interesting is that most humans tend to apply the same rules on similar problems. Is it that there’s a common way of thinking among humans or that certain operand/operation configurations are naturally attractive? Maybe a better question is: should we show a machine how to prefer the things we do?
One of the first things that occurred to me about this type of problem was the human ability to approximate results. It’s mentioned in the text that one particular method of approaching the problem was to group numbers together that have a result that is close in proximity to the target number. I found myself doing this on several occasions. Naturally there are other strategies mixed in with this. The exact details are up to the player and their choice for grouping or particular operations.
It’s worth mentioning that solutions derived from raw computation via a machine are sometimes counter-intuitive when reviewed by a human. The most efficient or succinct configuration of an equation is probably not reached when done by a human, though there’s no guarantee that a machine will find one matching these criteria either. So it appears that humans have a certain preference when it comes to solving these. Even more interesting is that most humans tend to apply the same rules on similar problems. Is it that there’s a common way of thinking among humans or that certain operand/operation configurations are naturally attractive? Maybe a better question is: should we show a machine how to prefer the things we do?
More on Jumbo
In this section, Hofstadter continues to talk about Jumbo and its operations. Of particular interest to me in this portion of the book is the “musing” property of the program coupled with the idea of self-observation. It seems a little curious to attribute things like “happy” or “unhappy” to a program in general, but it seems to work as a metric to measure completeness of a grouping. Additionally, along the way, the choice that makes the grouping the happiest is the path that is most likely to get chosen. So happiness here is a factor both the path and the end result.
Randomness is another issue in this. It goes without saying, perhaps, that the exclusion of randomness would make the construction of gloms much more deterministic and one sided. Perhaps the program itself would cease to function as intended entirely if randomness were omitted. The same gloms would be made out of the same character groupings repeatedly, and the configurations would only really change if other characters with interfering preferences were inserted. But then, the program is actually intended to model cognitive processes, so the idea of a random-less Jumbo is moot. If nothing else, it makes one appreciate the fact that a higher priority action doesn’t always win out when it comes to order.
Having a program evaluate possible outcomes of operations is an interesting topic to apply to other sorts of problems. Self-observation in this context is actually something I’d have liked to hear more about. There’s always this slight notion of self-monitoring within applications, but it usually doesn’t usually take place outside of severely constrained situations. (null checking for example)
Randomness is another issue in this. It goes without saying, perhaps, that the exclusion of randomness would make the construction of gloms much more deterministic and one sided. Perhaps the program itself would cease to function as intended entirely if randomness were omitted. The same gloms would be made out of the same character groupings repeatedly, and the configurations would only really change if other characters with interfering preferences were inserted. But then, the program is actually intended to model cognitive processes, so the idea of a random-less Jumbo is moot. If nothing else, it makes one appreciate the fact that a higher priority action doesn’t always win out when it comes to order.
Having a program evaluate possible outcomes of operations is an interesting topic to apply to other sorts of problems. Self-observation in this context is actually something I’d have liked to hear more about. There’s always this slight notion of self-monitoring within applications, but it usually doesn’t usually take place outside of severely constrained situations. (null checking for example)
Thursday, September 24, 2009
Jumbo and results
This section of reading, in its entirety, is a good illustration of Hofstadter’s earlier statement regarding the two divisions of programming. That is, there’s programming for results and then programming in respect to modeling processes. (More or less, if nothing else, the reference is there and this is how I understood his statement.) I’m hesitant to say that though, because it makes programming intended to model some process sound less useful in terms of getting actual results. I’m not sure if there’s really a rift here or if I’m just thinking there’s one because the difference was expressed.
That said, the descriptions of the processes applied by Jumbo are quite poetic. It’s hard not to appreciate the way it works. I wish I could actually see the code for it. Regardless, I think that the whole thing would be an interesting concept to apply to other problems. If nothing else, I’m interested in playing with some of the concepts myself. To clear up some of the vagaries here, I’m talking about the idea of individual chunks of data having “preference” as to which other things they’re glommed with. Off the top of my head, I’m not entirely sure what other sorts of data you can apply this to.
On a total side note, I’d be interested to see the sort of thing Jumbo does be applied to other languages with separate rules. Can you make a framework that accepts some table of preferences for the individual characters and then lead it to construct actual pseudo-words? What about the languages that don’t use things similar to our idea of an alphabet? (Chinese/Japanese?)
I must think more on this.
That said, the descriptions of the processes applied by Jumbo are quite poetic. It’s hard not to appreciate the way it works. I wish I could actually see the code for it. Regardless, I think that the whole thing would be an interesting concept to apply to other problems. If nothing else, I’m interested in playing with some of the concepts myself. To clear up some of the vagaries here, I’m talking about the idea of individual chunks of data having “preference” as to which other things they’re glommed with. Off the top of my head, I’m not entirely sure what other sorts of data you can apply this to.
On a total side note, I’d be interested to see the sort of thing Jumbo does be applied to other languages with separate rules. Can you make a framework that accepts some table of preferences for the individual characters and then lead it to construct actual pseudo-words? What about the languages that don’t use things similar to our idea of an alphabet? (Chinese/Japanese?)
I must think more on this.
Subscribe to:
Posts (Atom)