Wednesday, October 28, 2009

Conceptual Halo (Preface 5)

In this section, Hofstadter discusses the conceptual halo and an expansion of his Seek-Whence program into his Copycat project. The conceptual halo seems to be nearly identical to the conceptual sphere he talked about in previous chapters. The First Lady of England example or the words in different languages could be moved into the section where he first discusses the conceptual sphere and I don't think it would make any difference to the reader. I am not sure why he decided to change the name from conceptual sphere to halo with what seems to be the same idea. The only difference is how he gives examples with the "slips" where a person may say the wrong word or combine two words when they have two parallel thoughts running in their head. But this is merely just a new kind of example that he brings up.

Hofstadter then introduces the groundwork for another one of his projects, Copycat. The Copycat program seems to take the base idea of patterns from Seek-Whence and combines them with the analogy-making idea he discussed in the previous chapter. Then, for which seems like nothing more than a "why not?" reason, Hofstadter changes the patterns of numbers to letters. This project seems more interesting than the previous Numbo and Jumbo projects, just because it has more of a puzzle or riddle feel to them. It could just be that these problems are presented in a sentence form, but it just seems like it has a more interesting feel to them.

The Influence Of Perception (Chapter 4)

In this section, Hofstadter discusses the idea of perception, representation, and analogical in relation to the human thought process. I found his discussion of perception in the first part of this section to be most interesting. Hofstadter briefly talks about low-level perception, which is mostly made up of processes we do not mentally control, such as visual and hearing sensors. Low-level perception obviously gets more complicated than our eyes and ears, but Hofstadter does not go into much detail about it.

Hofstadter goes into much more detail about high-level perception and the influences that effect this. This is what I feel makes perception more interesting than representation and analogy, the characteristic that it seems to be the most flexible and complex idea of the three. Some of the influences that can change one's perception of an idea or object that Hofstadter brings up are belief, goals, and context. Whether it be a preconceived notion, knowledge of the situation, or simply the context of a situation, these all can radically change the perception of something in the blink of an eye or from person to person.

This high-level perception also directly relates to previous sections in Hofstadter's book. One of these being the conceptual sphere Hofstadter talks about in earlier in the book. The example on page 174 which uses a piece of paper being viewed as a writing platform or a combustible material can be used to create a conceptual sphere. With the piece of paper being the core, all the different possible perceptions make up the rest of the sphere.

A second relation can be made to the Numbo and Jumbo problems. One of the main difficulties in designing these programs was to consider how different individuals may get different answers to the same problem. This is a prime example of how a persons knowledge on the subject has an influence of how someone perceives a problem.

The Eliza Effect (Preface 4)

In this section, Hofstadter talks mostly about the "Eliza Effect" and relating it to other critically acclaimed programs in the field of artificial intelligence. Hofstadter defines the Eliza Effect as, "The susceptibility of people to read far more understanding than is warranted into strings of symbols - especially words - strung together by computers". In short, this means that people tend to give computers too much credit in terms of it's "intelligence" rather than it's systematic functionality. To a computer, a string is a string, whether that string is a name or a incomprehensible combination of random letters, has no meaning to the computer. This is a misunderstanding that the general public has.

Much of this section is used by Hofstadter to demonstrate that exact point. In particular, Hofstadter uses the ACME program, which received much praise, to demonstrate this. The ACME program takes a set of objects and predicates, and strings them together to create a pattern or "story". Hofstadter makes his point by merely substituting these some of these strings for single letter representations. This makes the resulting pattern look like nothing more than random clutter. While the programs Hofstadter mentions in this section do accomplish something are deserve some credit, this Eliza Effect gave way to them being viewed as something much greater than they really are.

Two Blogs Posted On Wrong Site

The Numbo Part 1 blog (Tues. Oct. 6th) and a Jumbo blog (Thurs. Sept. 31) were posted on the wrong blog. Here is the link to them:

http://cog366ref.blogspot.com/search?updated-min=2009-01-01T00%3A00%3A00-08%3A00&updated-max=2010-01-01T00%3A00%3A00-08%3A00&max-results=3

Thursday, October 8, 2009

Numbo Part 2

In the second half of the section on Numbo by Daniel Defays, he talks in detail about how Numbo works in theory followed by a description of some sample runs. As expected, Numbo works very similarly to Jumbo with some small differences. As previously mentioned, it features a Pnet as a sort of knowledge base and factors in randomness more so than Jumbo. Like Jumbo, it features a "cytoplasm" which works very similar for the most part to Numbo. The biggest difference between the two are the backtracking when a block is judged unattractive. Jumbo has a very simple way of backtracking up a pathway one level at a time, whereas Numbo is more volatile in how it removes bricks or destroys blocks altogether, like the 77 block in the first trace run of Numbo.

Overall, I feel that Numbo does a good job of simulating how a human would work one of these problems, or at least as good as it may get. As Defay mentions, Numbo does have some shortcomings in some simple problems, like the final puzzle he gives, but it is mostly due to the fact that you can only load the Pnet with so many proximity targets and facts. It is simply not possible to have a program be as knowledgeable as a capable human when it comes to its "knowledge base". Also as Defay suggests, it is very difficult, if not impossible, to fully describe how a human would solve one of these problems. Whether it is subconscious or just unnoticed, there will always be some steps left out. With that said, the randomness, Pnet, and other facets of the process of how Numbo runs make it as close as it can get to the human mind, at least for now.

Wednesday, September 23, 2009

Jumbo A.I.

In previous reflections, I have disputed the "artificial intelligence" level of Hofstadter's programs, calling them sequential and machine-like in their process. I have also said that writing a program to resemble the way a human would go about these puzzles would be nearly impossible. However, after reading this latest section, Hofstadter goes into detail about how the mechanics behind "Jumbo" work and the steps he took to specifically make this more of an artificial intelligence program rather than a mathematical problem solver. The steps he takes, such as just providing possibilities to the answer of the puzzle rather than the exact answer using a dictionary, make it seem much more plausible that this replicates how any person may go about solving one of these anagrams. Hofstadter also does an excellent job of explaining the process through analogies such as molecules or bonds between humans.

There quality of Jumbo that really sells me as a program representative of humans is that it does not use a dictionary. Hofstadter goes on to say, "that is irrelevant to the mental processes I am attempting to model", when talking about not using a dictionary knowledge base. Instead of being an "expert system", the purpose of Jumbo is to compose words using a building process, whether these words are recognizable or not, is irrelevant. This process of using letters to form clusters which then form "gloms" which eventually end up in a word, I believe, is what truly sells this as a program that represents human skills and processes.

Monday, September 21, 2009

Programmatically Solving Anagrams

In this reading by Hofstadter, he talks about the process by which humans decipher anagrams and recognize words and connects it to a program he wrote in LISP to decipher these decipher these anagrams. Even though he attempts to break down the process by which the human brain, more specifically, he himself turns a group of letters such as TARFD (the example given in one of the illustrations) into a recognizable word, it seems like a rather ambiguous task to write a program to simulate the human mind in this process. This is mostly because there is no real process someone can pinpoint as to how the mind does this.

There are many ideas about different parts of the process of solving an anagram, but I do not believe there is any way Hofstadter or anyone else can pinpoint one specific process as to how it is done. I believe this is because much of this process is done subconsciously and kind of "just happens". Similar to how Hofstadter explains how we recognize the word nights using segments like "ght" and "s". While this may possibly be true, this process seems to be done too much on a subconscious level to truly say concretely that this is how it is done.

Relating back to the program to solve these anagrams, while it is obviously that it can be done, it does not really resemble how the human mind solves an anagram. It is merely just a series of processes that use complex mathematical algorithms to systematically find an answer. The closest way one of these can resemble the human mind, I believe, is merely just taking different ideas of how the mind may go about this process and bunching them all together in a trial and error fashion.

Thursday, September 17, 2009

The Conceptual Sphere Phenomenon

Thus far, I found this reading segment of Hofstadter's book the most interesting. This is because Hofstadter spends slightly less than the first half of this section discussing real world examples of his ideas instead of number patterns. Even though it all does relate to these number patterns, it is a nice change in his writing style to keep the number pattern ideas from getting too dry. Similar to the previous readings, this "conceptual sphere" provides great insight into some of the finer subtleties of how the human mind works that typically go without notice.

As Hofstadter ideas imply, this "conceptual sphere" boundaries extend to arguably to infinity. Pretty much any two ideas can be connected in some fashion. Obviously, these connections vary greatly from having an obvious direct connection to a very distant that would take deep thought to find the connection. To use simple examples, an obviously directly connected idea would be a brother and sister in a family while the distantly connected one would be two random individuals in two random different continents or even non-human living beings. The simple fact is that one simple idea can be expanded level by level with broader connections being made at each level to infinity. As this relates to number patterns, you can take any segment of a number pattern and make an infinite amount of variations of that pattern. Hofstadter shows this with the base sequence he suggests on page 78 (1,2,2,3,3,4,4,5,5,6,...) and the variant his student Steve comes up with (1,2,2,3,3,3,4,4,4,4,...). While it may not stay true to the core of the original sequence, there are certainly connections. These are just some examples of how this conceptual sphere extending to infinity is one of the core ways of how the human mind works. We are simply making these connections to anything and everything that goes through our mind, whether we realize it or not.

Monday, September 14, 2009

Picturing Pattern Sequences

In the first part of this reading, Hofstadter talks about picturing certain number sequences and its benefits. In particular, he goes into detail with this using the mountain-chain sequence. Along with picturing these patterns, he also discusses the use of breaking up the sequence into "islands" involving varying amounts of elements which can be visually pictured. The examples he uses for the mountain-chain sequence were plateaus (ex. 2,2), up-runs (ex. 1,2,3), down-runs (ex. 3,2,1), and palindromes (ex. 12321). These strategies, as Hofstadter suggests, make sequences that seem nearly impossible to comprehend, much simpler, and sometimes almost trivial to comprehend.

The picturing strategy in particular, seems like a great way to start out in recognizing patterns. Picturing a complicated sequence that involves series of the previously mentioned "islands" make it practically a trivial task to recognize the pattern. It is much easier for the human eye to recognize a series of "mountains" that involve an up-run, peak, plateau, and down-run of incrementing length and height through a picture than it would be to recognize it through a series of numbers. Naturally, it seems that humans would look for some time of numerical pattern in a sequence involving incrementing/decrementing numbers, or break it up into smaller, but consistent segments like 2 or 3 elements. Recognizing islands and plateaus would only come into place after much time has been wasted failing at trying to find any of the previous patterns in the case of the mountain-chain sequence. However, if the first thing someone did was simply "graph" or make a picture of the sequence, it would only take a short time to recognize the mountains of gradually increasing height and length. Not only is it simpler, but this is a great example of how the human brain works with recognizing patterns visually.

Wednesday, September 9, 2009

Mathematical Patterns Outside Math

In the second half of the reading, Hofstadter talks about his interest in patterns and their connection to music. Hofstadter opens the "Seek-Whence Project" to study this specifically. Hofstadter definitely is correct in his observations that music holds many similar characteristics to the patterns Hofstadter was studying in integers. However, as Hofstadter suggested in the first reading, patterns are visible everywhere and can be viewed as merely a base of humans.

Hofstadter uses music as one of the easiest connections that can be made to mathematical patterns. However, one may look at nearly anything as a pattern. For example, a less mathematical pattern can be seen in a pitcher throughout a game. One more obvious pattern would be the delivery of the ball. If you can take the different steps in the delivery as an incremented integer, and use for example 3 steps, you would get a pattern of 123-123-123-123 throughout the course of a game. Also such things as pitch selection, where you use a unique integer to represent different pitches (ex. 1-fastball, 2-curveball, etc.). Using this, you can develop patterns for a pitcher throughout a game. Baseball is just one of the nearly infinite possibilities of how patterns make up life. A pattern could be found by just opening your eyes and observing. In this case, the baseball example was picked by just looking at what's on television.

Recognizing Patterns With A.I.

After Hofstadter talks about to process he used to uncover the squares and triangles pattern, he talks about how he turned his own research project into a class competition. The project was to write a computer program to recognize mathematical integer patterns. This is a very interesting project to think about how complicated some of the algorithms could get. Looking at artificial intelligence as using a program to simulate the human mind, it seems nearly impossible to write a program that will work like a mind of a mathematician in this process, instead of simply a robotic process of trial and error.
Just like any artificial intelligence project, the idea is to write a program that works on a task as close as possible to the way the human mind would. The different approaches that Hofstadter talks about taking would make this seemingly a nearly impossible task. There are simply too many ways the human mind would attempt to tackle one of these patterns to write a program that would work similarly to the human mind. Even in the few examples that Hofstadter brings up, he uses different approaches such as depth-first, breadth-first, or take every n-th element, when n can be any number out of infinite possibilities. He even states how he looks into these patterns as a combination of all these "searches". With that said, I do not see how any type of program to uncover these patterns could be looked at as an artificial intelligence program, rather than a robotic process to uncover a pattern.