Thursday, October 29, 2009

Copycat Decision Making

In chapter five o Douglas Hofstadter’s book Fluid Concept he details the workings of his copycat program. The copycat architecture he designs is focused not only on discovering mappings between situations but on how it perceives and makes sense of situations it is presented with. Again Hofstadter mentions the vital concept of perception integration into artificial intelligence programming. He also states that the actual process of integrating perception into an artificial intelligence program is extremely difficult. Considering the aspects of copycat that deal with the fluid change between analogies and concepts applied to particular input, it is almost equally difficult to integrate those. Hofstadter describes the ability of the copycat program to do this switching between analogies is an emergence of its component flexible parts, which reminds me of a certain description of human consciousness I have read before. The fluid ability to apply different rules and heuristics to a single situation, within the copycat program, emerges through the flexibility and almost simultaneously productivity of its component parts like the slipnet, coderack, and workspace. I find it very interesting that Hofstadter likens two of these elements to a particular aspect of the human brain such as the slipnet emulating long term memory, the workspace designed to function like working or short term memory, and the coderack which is not directly correlated to a human brain aspect but can be thought of as a storage area where elements are selected by the current processes predictable actions and an element of randomness.


This function of copycat to stochastically (selecting an element through prediction of the current goal with an integration of randomness) select elements from the coderack is intriguing to me. What aspect in our human brain completes this similar function? It doesn’t sound like a subconscious task to me, more like a conscious decision making aspect that involves directly selecting pertinent details to a current situation. Furthermore, what is the main factor that determines the selection of a particular element over another within our mental processes? The answer I believe Hofstadter already described, perception. Perception is vital to the decision process especially when applying multiple heuristics to a single situation and finding the appropriate one. Due to human individuality the different applications and understanding of individual perception can produce multiple distinct workings and solutions to a single problem; this is where the randomness element of the decision making must play a part. Hofstadter has clearly integrated some thought provoking aspects into this copycat program.

Wednesday, October 28, 2009

High Level Perception

In chapter four of Douglas Hofstadter’s book on Fluid Concepts, he details the necessary integration of high level perception within our cognitive processes. Furthermore, if one is to research or build an artificial intelligence model then one must consider the aspect of high level perception. Hofstadter explains high level perception as the flexible, semantic, and multi faceted process by which we humans take sensory input and begin to relate it to familiar concepts. High level perception can be processed in different ways by different individuals when determining personal experiences, beliefs, goals, and external context. A major aspect of high level perception is the semantic aspect or the drawing of meanings out of situations, this involves concepts playing a major role in processing of a semantic thought, the more meaning or meanings derived from an individual perception the more concepts it takes into consideration.


This mention of high level perception which Hofstadter details sparked some interesting thoughts in my mind. One does not think daily about certain almost unconscious processes like that of high level perception, yet all mentally healthy humans exhibit it when we think of conceptual aspects related to any input we receive. It seems to me that thought looping and deriving a number of distinct analogies related to a particular input could go hand in hand with high level perception. Hofstadter also mentions that certain artificial intelligence modeling has focused strictly on conceptual processes without incorporating perceptual processing, this approach he argues is not a satisfactory way to model the human mind, and I would have to strongly agree. Human minds are made and molded by the stream of environmental input they receive. If we were to cut out this essential perceptual process we would all be likened to rocks or vegetables. It is our adaptability, distinct reactions, and cognitive conceptual analogous thoughts that make those perceptual inputs so vital to our lives and how we think. I also wondered what part of our brain deals with this aspect of high level perception, I am guessing somewhere in the frontal lobe, but am not sure. One thing is certain, as Hofstadter mentions, high level perception is a vital part of our cognitive processes, and without it humans could not form concepts, analogies, and sense conceptual spheres as quickly and as easily as we do today.

Wednesday, October 21, 2009

Eliza Effect

In preface four of Douglas Hofstadter’s book of Fluid Concepts he begins with making an interesting point about certain A.I. computer programs and their lack of grasping real world concepts. Hofstadter details that if a computer program does not have a knowledge base to extract data from and construct representational models it cannot grasp the actual concept of a thing. A program can have many variables to deal with and one without a conceptual knowledge base to refer to is not affected by the change of those variable names, however a computer program with a pre determined knowledge base can exhibit a conceptual analogous attitude if it extracts existing information about a particular variable and constructs a model or conceptual sphere around that particular variable. Therefore, if a programmer changed the name of a particular variable with a reference in the knowledge base it would greatly affect the programs functions, analogies, and models dealing with that variable. Another interesting aspect Hofstadter describes is the Eliza Effect, or the susceptibility of people to infer far more understanding into a given string of words (phrase or sentence) than is warranted. Most computer programs, ones without any analogous or conceptual ability, would never make the mistake of producing the Eliza Effect, because they cannot infer deeper into an aspect. It is human nature to seek knowledge and define concepts according to relations, analogies, and personal experience. The sheer fact that we are conceptual and analogous thinkers’ pre exposes all humans to the Eliza Effect. We have a natural born desire to relate and categorize things into groups and associations, this is something computer programs do not usually do or are even designed to do. However, when building A.I. programs, which emulate human thought processes, the Eliza Effect must be considered as Hofstadter wrote. Considering this, if one was ever to make a computer program that could emulate and even reproduce the Eliza Effect for any given input or concept, then we could be one step closer to constructing a true artificial intelligence.

Wednesday, October 7, 2009

Human vs. Numbo

In the last part of chapter three in Douglas Hofstadter’s book Fluid Concepts, Daniel Defays details the similarities of the Numbo program, creating and computing number problems, to the human method of the same task. The Numbo programs essential task in this manner was to shed light on the understanding of how humans exhibit mental fluidity and smooth processing in determining the solutions to such numeric problems. The author explains that a strict comparison of the Numbo program and human performance is not possible at this time due to many differences between the two. The most profound reason for denying a strict comparison is the difference in the knowledge base between humans and the program, followed by a lack of human characteristics within the program, such as taking into consideration the linear order of available elements. Lastly, the design of Numbo’s architecture did not exhibit the importance of numeric relationships and the measureable degree of similarity between numbers that most humans demonstrate almost subconsciously. Thinking about the major differences between Numbo and humans taking in to account these numeric problems makes me think that human perception and subconscious thought might have a role in all of this.

The Numbo program, in my mind, does not exhibit the complex perceptual qualities and pattern recognition as we humans do in this case, this aspect is perhaps arguable by some people, but nonetheless Numbo does have certain qualities of pattern recognition. Through our experience and basic mathematical learning it seems we humans have a decent amount of pattern recognition and simple computational qualities subconsciously built in to our brain processes. This would be very difficult for a computer program to duplicate, but is likely possible in the near future due to exponential growth of technology. The first logical step would be for a machine to experience and learn, somehow bettering itself, to acquire such abilities that humans’ exhibit pertaining to the computation and immediate pattern recognition of these particular mathematical problems. To concretely define these human processes of learning and computation, in this case, seems to be the bigger and more immediate milestone than determining how a machine or program processes such data. The author makes a similar point in saying that human protocols are highly questionable and not well defined, for it is extremely difficult to keep track of every single process a human completes when solving a similar Numbo problem.

Monday, October 5, 2009

Unintelligent Number Biases

In this first section of chapter three in Douglas Hofstadter’s Fluid Concepts Daniel Defays discusses the workings of the program Numble. An adaption of the concept of a word jumble that chooses a random number goal (between 1 and 150) and attempts to computationally reach the target by picking random numbers (between 1 and 12) and using addition subtraction and multiplication to reach the number goal. While explaining the workings of the Numble program the author touches on a very interesting aspect of the mathematical solution process of people, which details that humans can see certain patterns and solutions immediately and other solutions elude us almost completely. He uses a good example in the text of a number goal of eighty seven and the set of numbers eight three nine ten and seven.

Target: 87
Bricks: 8 3 9 10 7

It seems almost immediate that most humans can recognize the solution of ((9 x 10) – 3) or ((8 x 10) + 7) mainly because we are accustomed to dealing with ten based numbers and for most people these are the easiest numbers to deal with in mathematical problems. However the solution (9 x 7) + (8 x 3) is rarely the first resolution to the problem detected by humans. The author makes another inference into why we prefer the ten based solution to this problem, because of our priori knowledge (familiar concepts and patterns pertaining to input) that eighty or ninety is close to the target number eighty seven. While testing a random crypto problem generator and solver program I noticed similar instances where I personally could immediately see a solution to the problem, usually one, zero, or ten based, yet the computer program picked a drastically different, usually shorter more quickly solvable solution. Having no bias or preference towards certain number patterns and priori, except what it was given, the computer program took a completely different path to solving the problem than I did. It is as if the lack of biases towards pattern recognition gave the program a different aspect of creativity and effectiveness. The section preceding chapter three, Hofstadter mentions that the randomness aspect of his Jumble construction program gives it a greater sense of intelligence and speed compared to a deductive reasoning or strictly pattern prediction method, as I put these theories to the test I am starting to clearly see the evidence and method to his madness.

Tuesday, September 29, 2009

Randomness vs. Reasoning

In this particular reading Hofstadter mentions the compelling yet almost universal notion of intelligent backtracking on page one hundred fifteen of Fluid Concepts. This intelligent backtracking is described by Hofstadter as a standard strategy detailing how to fix a past problem in a given series of steps. One must look at prior decisions made, undo them and take a different path or go to the next set of problems and backtrack further. This intelligent backtracking can be seen as an almost altered perception or perceptual regrouping of a current problem and can help the solver in discovering the solution through detection of errors. Hofstadter then explains the choice to determine a different path to the solution, which can either be randomly chosen or by deductive reasoning. Choosing randomness in finding a solution would lead to a trial and error method; one would hypothesize, and take a considerable amount of time. However, Hofstadter takes a different approach to the random method and describes that to reason and speculate at the predicted outcome would take more time than randomly selecting a choice and plowing full speed ahead to see if it works or not. Jumbo the word program that Hofstadter creates, exploits a random method of choice making rather than a reason based one. With this random choice method all possibilities and pathways are open to explore which is quite the opposite of normal computer programs with closed guidelines and parameters that are pre defined. Hofstadter details that a program with a simple control structure allows the system to complete certain tasks a complex control structure program would get bogged down in. As mentioned in class certain systems, like prolog, are better at solving particular problems than others, and are conversely more exhaustive at solving various problems than other types of systems.

The random choice versus deductive reasoning pertaining to the intelligent backtracking of the Jumbo program Hofstadter details was at first perplexing to me. I thought logically that deductive reasoning would be much quicker in this instance than simply selecting random paths; therefore one would not waste time on obviously wrong means. However, I did not take into consideration the full breadth of the process intelligent backtracking. To take a step back in a problem process and then guesstimate where possible other solutions will lead you indeed takes more time than selecting a random path and going with it. For a computer program the time and amount of code to actually check possible solutions before selecting one would be extremely lengthy and time consuming. When I thought deductive reasoning would be a faster process I was thinking more about how we humans use reasoning and quickly, I did not initially think in terms of computational length or how a computer program would go about doing the same thing. From my perspective it is as if Hofstadter took an unneeded element of hypothetical reasoning out of his Jumbo program to make it more intelligent, quicker, versatile, and more plastic. In conclusion I can see where Hofstadter’s notion of randomness over reason can actually lead to a quicker and less exhaustive solution in some cases.

Thursday, September 24, 2009

Jumbo Jungle

Hofstadter details the workings of his Jumbo program in chapter two of Fluid Concepts. The purpose of this program is to model the instant mental processes of assembly and transformation. Jumbo is a builder program which constructs English pseudo words from a given set of letters using pre defined rules. Hofstadter emphasizes that Jumbo builds words and does not extract or compare English words with a pre loaded dictionary file. A simple dictionary comparison would not exhibit any intelligence or creativity, only quality assurance. Hofstadter is instead trying to emulate the spontaneous and unconscious composition of coherent wholes derived from scattered parts, a sort of creative construction and regrouping of letters into words. I personally like the analogy of visual art with the construction of words. A painter starts with a defined palette of colors and although the painter most likely has a mental picture or pre determined aspect he/she wishes to construct, the painter does not know exactly what the picture will look like or the subtle nuances and artistic expression it will have. Also one must consider that the painter knows which colors go best with certain others and which will mix to make a more defined and powerful picture. Much like the painter, the Jumbo program starts with a pre determined ‘picture’ or set of rules which govern its letter combinations and then constructs words from a palette of letters, the English alphabet. The program itself has no prediction of its output but will stay within the parameters it is given. Jumbo will have a sense of which letters fit with one another or are commonly grouped together, but one would expect for some errors in arrangement of multiple letter segments that might occur. However, Hofstadter explains that Jumbo will compute many possible letter groupings in parallel and seek out the groupings that are more probable and likely than the others. Each successful grouping of letters triggers another test for grouping those letters with another set and so on, until the most likely combination is reached. Hofstadter emphasizes that there must exists multiple stages of groupings with different parameters. Bonding, combining two neighboring elements together that can still be viewed as separate is different than Hofstadter’s notion of glomming. Glomming is a set of suitable bonded items that creates a higher level structure through its relationships, representing the parts as a whole and reducing further break up of its separate parts. This is just the basic workings of Hofstadter’s sophisticated Jumbo program.

When reading about the different levels of groupings such as bonds and gloms, it occurred to me that this process very closely emulates what humans actually do when constructing words. For example, when I see the mixed up letters ‘reeht’ I first pick out the bonding group of ‘he’. Then further structure it into the glom of ‘the’ and further still group all the given letters into ‘there’. When I grouped the ‘the’ I knew I had to be on the right path because ‘the’ is a word and well known word fragment and could not break the contain letters up again. I wonder how much prediction has to do with this aspect of word construction and if it is common to get multiple words with increasing input size. Such as the case as giving Jumbo ten letters to work with instead of five and receiving multiple different full word outputs.

Tuesday, September 22, 2009

Malleable Mental Objects

Hofstadter writes some interesting descriptions about working memory and virtual memory in this reading. To solve a problem one needs to extract information from long term memory and use it actively in their short term working memory. The steps in between are unknown and most likely complicated even though in our brains it can take mere seconds for them to be completed. This gap or unknown process between long term and working memory is what Hofstadter tries to pinpoint and explain on page ninety of Fluid Concepts. He gives a near perfect analogy for working or virtual memory, comparing it to a moving ball on a video game. The ball itself is not physical or stationary; instead it is an abstract object that is constructed of moving pixels and exhibits a type of predetermined behavior. Although the pixels make up the visual object it is completely different than a computer screen pixel or group of pixels, it floats on such pixel hardware in an ever changing state. Hofstadter details that this level distinction between virtual objects and their component hardware is similar to the distinction between working memory or mental objects and its physical origins. Working memory and mental objects are extremely fluid, malleable, and ever changing. One usually does not store such objects or concepts in long term memory and perhaps the ability to quickly alter these objects is linked to its rapidly fading nature in our memory.

Hofstadter’s visual analogy of a moving ball on a video game screen, such as pong, made this whole concept of the communication and distinct levels of mental objects and working memory ‘click’ in my mind. Even though working memory is linked to long term memory and physical aspects of the brain it is on a whole different level than both. Working memory is usually ever changing and can be altered extremely quickly and drastically within humans. I also believe that because of this ability to quickly alter these mental objects in working memory it becomes more difficult to store them in long term memory. I wonder how this concept would equate to machines, being that they have the ability to store working memory computations and objects in physical state memory if prompted to do so. Would that mean if humans ever had a mechanical memory module could we store most or all our working memory concepts and objects quickly and in permanent memory banks which we could later access anytime.

Wednesday, September 16, 2009

Hofstadter's Creative Wordsmithery

Hofstadter mentions on page eighty six of Fluid Concepts, that it is his firm belief that pattern perception, extrapolation and generalization are core elements of creativity. Furthermore, “one can only understand such cognitive processes only by modeling them in the most carefully designed and restricted microdomains” (Hofstadter, p.86). I would certainly agree with the first assertion, from what I have already read in this book there is no doubt in my mind that perceptual regrouping is a staple of creativity. Concerning generalization, the ability to associate patterns and extract analogies, I would have to agree with Hofstadter that it is another crux of creativity, and would go further and say it is a staple of foresight, prediction, and higher intelligence as well. As for the second assertion, I personally have no experience or knowledge in creating modeled intelligent processes in a carefully designed microdomain, but I am sure to find out by reading the rest of the book. I would imagine that one would undoubtedly run into multiple problems and hurdles trying to model creativity, it seems logical that the more confined the parameters the easier it could be. However, the pure essence of creativity is to be free of restrictions and parameters, it will be insightful indeed to see Hofstadter’s method of modeling a program to have the aspect of creativity. One can surely create a program to look like it is creative or random, but nonetheless a program executes given instructions and formulas, even if there is natural variables and extremely complicated computations. So can a program, computer, or A.I. truly be random or creative, since it can only do what it is instructed to do, I am sure Hofstadter will address his view on this later in the book.
Initially I had reservations about this book after viewing the first few pages and realizing that there was a great deal of math involved. However, after completing the first chapter there is much more than mathematical patterns discussed. Hofstadter’s literary canvas of the first chapter paints all sorts of mind blowing concepts, such as perceptual regrouping, conceptual spheres, and variations on themes. I am actually looking forward to reading the rest of the text, which is extremely rare for me personally. The ending to this chapter is quite a tease and sets up the rest of the book. With Hofstadter laying the initial framework of his definitions of intelligence and creativity in the first chapter he baits the reader to explore more of his book, with the sentence, “This article of faith (his definitions of intelligence and creativity) has guided me and my research group over the past decade and a half, and the remainder of this book is dedicated to conveying the results of those investigations.” (Hofstadter, p.86) Indeed another parry from the wordsmith and literary artist that is Douglas Hofstadter.

Hofstadter, Douglas. Fluid Concepts And Creative Analogies. 1995. Basic Books. New York, NY.

Monday, September 14, 2009

Adaptable Fluid Intelligence

On page fifty eight of Fluid Concepts, by Douglas Hofstadter there is a substantial point made about the process of problem solving. One must organize perceptually the individual elements that are recognizable first, and then step by step move towards other familiar patterns. Hofstadter then shows the reader a direct representation of this concept in his mountain sequence of numbers. This distinct organization of his mountain chain sequence number pattern into a visually relative grouping of plateaus, up runs and down runs is quite helpful in understanding the full concept. Personally, I learn a great deal through visual methods and this optical extrapolation which Hofstadter constructs further cements his idea of the power of perceptual regrouping. Hofstadter then mentions the concept of perceptual glue, or the grouping of like patterns through a common element visible throughout individual segments. Again re-solidifying the conceptual importance of perceptual regrouping, Hofstadter makes a clear point that pattern recognition and fluid reassembling is a vital aspect to intelligence. Another important concept expressed in this book pertaining to perception, is the aspect that we humans usually first recognize the most aesthetic pattern. Hofstadter then eloquently defines mathematics as the art of choosing the most elegant generalization to an abstract pattern. I certainly have never heard mathematics explained so surreptitiously, but it makes logical sense. Mathematicians are not mainly interested in how a problem is solved, but in what they can accomplish and create with such a solution. The ability to alter and sculpt a previous contribution into a greater and more powerful concept is what most mathematicians seem to be interested in. Again, making the unmistakable assertion that the power to reorganize ideas and adapt ones knowledge to emerging problems is a vital part of intelligence.
As I read more and more of this text I realize that Hofstadter is quite the wordsmith, and such phrases as bubble up, plateaus, fluidifying, perceptual glue, and variabilizations add an undeniable active quality to his book. These choice words make the concepts and numbers almost fly of the page and land directly in the mind. One receives a very live and vivid association of such concepts conveyed through this particularly active and colorful language.

Wednesday, September 9, 2009

Perceptual Intelligence

On page thirty five of Fluid Concepts, by Douglas Hofstadter, the author mentions his desire to program intelligence, not knowledge. The distinction made is a very important one, what does intelligence and knowledge mean to you? I have read many different definitions of intelligence and Hofstadter’s is one of the more succinct explanations. Hofstadter comments that intelligence must have a powerful, general, and abstract knowledge based core, but I believe it must go further than that. Many people also agree that intelligence must contain an element of prediction and foresight, again something is still lacking here. I believe strongly that intelligence must include an element of adaptability, as well. Hofstadter makes a valid reference to this by stating that throughout history younger individuals with an incredibly small knowledge base have made amazing insights into complex fields. Usually, younger brains have greater ease to adapt, form new neural networks and to view abstractions in a completely new way. This makes me ponder another factor of intelligence, perception and imagination. Does one’s ability to transform their perception and increase their imagination affect their intelligence? Hofstadter mentions the element of esthetic driven perception aiding him in the triangle between squares problem, but disabling him to see Gosper’s approach to the continued fraction of e. Perception is a very powerful window into one’s mind and thought process, but when utilized, focused perception can be a double edged sword. Individuals past experiences and perceptual grouping biases can disable them in some ways and aid them in others. It seems to me that keeping an open mind and refreshing your point of view is in fact an undeniable quality of intelligence. A good example to support this would be the recent workings and solutions to particular cryptology math problems I competed. At first glance I was able to solve about four of the ten problems present, usually by cancelling out the most noticeable numbers. However, later when I tried the same strategy on the remaining six problems I came up with no solutions. When I perceptually regrouped the numbers and approached the problems in a different way I was able to find many of the solutions. This happens to most people when they are stumped on a problem and then approach it the next day and find the solution almost immediately. Our ability to adapt differently and perceive problems from many points of view is an essential key to our intelligence.

Monday, September 7, 2009

Universal Mathgod

Is pattern recognition a form of intelligence? In short yes, the first pages of Fluid Concepts, by Douglas Hofstadter details his attempts at creating a pattern seeking, intelligent, computer program. Furthermore is there a link between all patterns in the universe? I found it refreshing and insightful to have a little background information about Hofstadter’s prior studies and academic exploits detailed in the prologue. It’s always good to have a description of how someone thinks or learned to think, due to their academic experience and interaction with like minds. Hofstadter begins his investigation into intelligence by developing a program that finds a pattern in a given set of numbers. The pattern he starts with is triangular numbers and squares. His description of triangular numbers got me thinking about one of my favorite movies ‘Pi’ and the golden ratio. Something about pattern recognition in numbers makes me reflect on the idea that there exists a master mathematical formula, most likely very complex for today’s standards, which links all things in the universe. I like to think of it as a grand all encompassing unified theory. A mathematical formula that can predict any number sequence, thought pattern, or physical action from the combination of chemicals, interaction of life forms, or any such objects in the universe. Wishful thinking on my part I know, but we humans, at least most I have talked to, find comfort in the belief that there is an explanation for everything, and that everything is connected. Hofstadter’s concept and mention of what he calls ‘Mathgod’ could be viewed as such a unified concept or governing rule that gives relation and order to all mathematical models. My thought is that there exists a universal ‘Mathgod’ which encircles all aspects of the universe, not just math. I was invigorated to see Hofstadter’s mention of perceptual regrouping, or the ability to view, categorize, and work with patterns in multiple ways dependent on how one perceives them. I strongly agree with him and believe this is a vital tool in creative and cognitive thinking. The adaptive principle behind evolution could also be related to this ability of perceptual regrouping. This reading certainly raised a lot of questions in my mind, such as; does the ability and variety of perceptual regrouping affect intelligence? Would humans be as intelligent as we are today if we had a limited imagination and severe constrictions on our abstract thoughts? Would the confinement or lack of our past experiences, which directly affect perception, cause us to think drastically different then our present ways? This line of questioning reintroduces a little chaos and an uncontrollable aspect into my thoughts about an all encompassing universal ‘Mathgod’.