Bryn Mawr College Home Page

Department

People

Curriculum
Research
Resources

Course Navigation

 Course Home Page

Robot Lab Wiki

WeeklyReactions

Week 5 (October 1, 3)

Timothy Ambrogi

The topic of the day seems to be poutting our faith in computers, but I was more interested in Ananya's statement that computers cannot do anything that they are not programmed to do. Firstly, in a literal sense this is completely true. It would be like saying that a human cannot do something she does not already know how to do. Obviously, this is true.

However, they could learn the new skill. After enough training (provided that they are capable of the task physically), they would be able to do whatever it was that they were previously unable to. How is this different from what a computer does? Given a robust enough environment and learning algorithm, I believe that an AI program could do anything, "programmed to do it" or not. I think that the very concept of the "learning process" makes this clear.

The limitations of a learning algorithm and a robots interface with its environment are what I see as the root of the problem you see. What we as humans consider to be creative thought is little more than an acquired, learned response to things in our environment. When a musical composer writes a movement of a symphony, the idea for the primary theme does not just "hit him" free of environmental stimuli and things he has learned. It's based on things he as written before, the psychological and physical response his brain has to sound, how he feels, etc... All of those elements can be factored into a learning algorithm, in theory. Therefore, in theory, computers can be "creative". The issue is more that people do not see the need to teach computers to write creative music when humans are perfectly capable.

Lawrence Bomback

I wanted to test out the assumption that the computer notices patterns that we can't notice. Deepak said that in terms of all the supposed randomness, there is a pattern, and this is the theory behind why the computers picking stocks works so well. The experiment I did was admittedly very flawed. But I do think it's a good starting point for future experiments. I used the Rock, Paper, Scissors applet I made last year and presented it with a very simple pattern - I only pressed rock, nothing else. And, I noticed an interesting phenomenon. Three integer values are kept - number of draws, computer score, and user score. After only ten rock presses, the computer took the lead. Even more interesting, it never once lost that lead. The computer definitely noticed a pattern and the scores help to prove this. After 500 rock presses, the computer score led my score consistently by 10 points. After another 500 presses, the computer's lead was consistently up by 20. I stopped after 1000 presses because my finger was killing me. But, I do believe that if I continued to only press rock another 500 times, the computer's lead would be +30, and so on and so forth. There was randomness going on because the program was written that way. But the computer was also noticing my pattern because if there was total randomness the outcome after 1000 presses would be something like this:

Number of Draws: 334 Computer Score: 333 User Score: 333

All the values would be evenly distributed:

Instead, after 1000 presses, the outcomes were as follows:

Number of Draws: 310 Computer Score: 356 User Score: 334

This leads me to believe that the computer was noticing something and that there was a pattern to its randomness. Now I know this is a broad assumption because I only did the experiment once, but I'd venture to say that the results would repeat themselves because we've seen this type of learning in action with the stocks.

Jacqueline Chew

Catherine Chiu

As most people have voiced, not everyone is ready to put their faith on a computer, but we put our faith in other humans who act much more irrationally for no apparent reason. Why is it so comforting for a human face to be behind a decision? Is it because we want to be able to hold someone accountable? Well, you could hold the programmer accountable to an extent. But what is it about human behavior that makes it so difficult to accept a computer's decision when the arguably make more logical, fact based decisions than most humans?

Why is it also that some people get upset when a computer beats them at a simple game? Can computers really cheat, or are they programmed to? We didn't tell a simple Rock, paper scissor applet to keep track of what our input was, but yet it seemed to do so. We also didn't specifically tell our robots to follow a wall or go towards a light in a wayward fashion, but they did. I suppose that this could be considered artificial intelligence since the computer/robot was doing something that it wasn't specifically programmed to do. I wonder what would have happened if we wrote a GA to try to get the robot to follow a wall or a light? How would the GA's end result be different from ours? I guess depending on the parameters we gave the GA and what we declared the fitness algorithm to be, it might have the same or a very similar result.

Jason Coleman

Genetic Programming is neat, we all agree. What I found particularly interesting was a section in the book(p60-68), where instead of evolving weights used in a computation, the computation itself was evovled. Programs are expressed as trees, with each node being an operation or value. These trees can actually be implimented then in LISP, which has a super-simple syntax. In this way, there are actually random "programs", most of which fail miserably, but when put through the process of assigning fitnesses and reproducing, correct programs can be found. This technique seems to be a slightly less focuessed version of genetic programming than the Evolving nueral nets we talked about in class, but the system is generally the same.

I also had a chance last week to check out some ALICE chatbots. These are very fun. You can read up on them at www.alicebot.org Some of them have awards for passing a Turing Test (usually limited to conversation of a certain subject.)

Ian Harrison

    I went to the Ibm website on Deep Blue after reading what Juan wrote about the machine apparently not using an ai techniques. I think that what the site designers meant was that Deep Blue does not employ any artificial intelligence learning techniques. That is, it does not get any better from game to game, but it still probably employs the common ai game playing techniques of the min-max tree and alpha beta pruning. It?s interesting to contrast Deep Blue and its chess playing ability against the stock picking ability of genetic algorithms. Deep Blue was able to beat Gary Kasparov based on pure computational power. It was said that it could search certain lines of play up to 40 ply, while Kasparov is probably only capable of a very limited 12 ply search. Deep Blue could exploit the finite, deterministic search space of a chess game. Genetic algorithms, on the other hand, don?t have that sort of luxury. The stock market is not nearly as forgiving as a chess board, containing far more data with few clues as to what is truly important and what isn?t. While the GA?s still have a computational advantage over a human stock picker the overwhelming amount of data would render this advantage moot were it not for the GA?s ability to pick out patterns that people cannot see. I do wonder, though, whether it would possible, with enough processing power, to write a program that did statistical analysis of the stock market that would out perform the GA?s, much the same way statistics based text-to-speech and speech-to-text software works far better than any other ai solutions implanted in those fields. I also wonder whether any ai approach will ever work with the Japanes game Go, which apparently has a branching factor so large that for a computer to search even 2 ply takes an insane amount of computational time.

    As for Larry?s rock paper scissors, it doesn?t seem like the program was actually doing any pattern recognition, since it sounded like it always picked from rock, paper, and scissors based on a random number generator, without regard to previous games. If the computer had truly noticed a pattern, it would?ve, at some point, started winning almost every game. Instead, it looks like your random number generator was taken from the real numbers between 0 and 1, which is not evenly divisible by 3. This means that one of the symbols would have to be slightly more likely to appear than the other two, in this case, paper. It?s also possible that you just have some slight statistical deviation based on two few trials. If you flip a coin 1000 times, you don?t necessarily end up with 500 heads and 500 tails. Generally, well written learning software for simple games will absolutely destroy most human opponents, as I?ve learned from constantly being beaten by a chess program that was written 12 years ago.

Nicholas Kerr

After hearing discussion of the rock-paper-scissors applet in class and from Larry and Ian, I am still amazed to think that there actually are patterns to be modeled in the way people chooses rock, paper, or scissors. Whenever I play the game with another human, I always try to guess in my mind what they are going to pick, and then the corresponding winning choice. But I think that if I played against a computer which had no character to be judged, I would simply pick randomly. Especially if I was playing against software of this nature, I would specifically try not to allow patterns to evolve in my choices. It would seem to me for that reason that this type of software would not be terribly effective. Ian said that well written learning software for simple games will usually destroy human opponents (which the rock-paper-scissors program does not), so maybe this is testimony to the fact that this software doesn't work terribly well. I guess it impresses me that my choices of rock-paper-scissor over time will tend to reapeat certain subconscious patterns, no matter how hard I try not to allow these patterns to develop. I wonder how many other areas of day to day human life there are in which we follow patterns without even noticing it...

Ananya Misra

    I don't think a computer can do anything it's not programmed to do--at least not yet in my experience. Sometimes it comes up with behavior that surprises us, but that's only because we didn't correctly predict the implications or interpretation of our program. Genetic algorithms and neural networks can come up with many different results because of their randomness, but isn't the random number generator itself a program?

      Usually I associate a computer with something that follows instructions, so maybe that's why I wrote the above paragraph. In a way, that's almost my definition of a computer. If someone came up with a computer that REALLY acted for itself, I wonder if it could still be considered a "computer". Is it even possible?

    Only one more question: since the wall following behavior from our last lab was considered emergent since it wasn't explicitly programmed, how would we explicitly program such a behavior?

James Racanelli

Every time that the topic of using computers and genetic algorithms to pick stocks has come up, I always wonder why it is that this seems to be such a shocking idea to so many people, as it was in that news video that we watched. It seems that it is a task that is entirely more suited for computers than humans, because it involves trying to survey and process so much information. Humans can?t possibly always be taking into account all of the information hidden in the history of the stock market; it?s just too much data to process. Also, it seems that people who would have trouble trusting a computer to carry out such important transactions for some reason seem to forget that people are flawed and make mistakes. Picking stocks is not an exact science and people who do it are bound to make many mistakes. At least leaving a computer in charge makes it more possible for picking stocks to be more concrete and scientific, because computers have a better chance of making sense of such a large data set. More generally, it seems that this sort of lack of confidence in computers in certain fields is often unjustified. Another example would be how there needs to be a pilot on board commercial flights even if they don?t do any of the flying themselves, which we discussed in class. I wonder how this sort of hesitation affects the field of artificial intelligence. I thought that it might be possible that this hesitation somehow limits the study in the field and that more could be accomplished if more faith was put in computers by the public. But at the same time, faith in the ability of computers has grown exponentially even in the few years since that video was produced, so I guess that hesitation is not as present and thus is less of a factor.

Juan Ramos

I was thinking about how computers might implement artificial intelligence techniques in games. The idea of being able to represent the state space as a tree data structure seems to have the potential to guarantee the computer a win, given enough memory to create all possible nodes in the tree. Memory constraints make this highly improbable, if not impossible, but I think we can predict the probability that the computer will win given how many number of 'steps' the program can generate in the tree structure. Take checkers, for example, or even chess (though chess requires far more nodes than checkers). If the program is able to traverse the tree up to about, say, five layers for each possible move at a given time, the player will have a harder time deciding which move to implement next. As for chess, I checked IBMs site on Deep Blue, and from what I understood, it seems to use different search techniques running in parallel. Interestingly, IBM says that Deep Blue uses no AI techniques.

The whole discussion on the missonary/cannibals game reminded me of what we saw in the first video at the beginning of the semester. I tried to, but couldn't find, an example of a genetic program solving this problem, but I imagine someone must have created such a program. I suppose such a program would create generations with only the rules of the game and possibly a state space. The most suited program could then find the optimal solution (or solutions) to this problem. Does anybody here know an example of a GA that solves this problem?

Matthew Rushton

Tina Tan

I agree with James’ comment about how the majority of people aren’t yet at that point where they can trust computers entirely. I also think that in many cases, it really does make more sense to rely on computers than humans. It is an interesting question to wonder how this limits the study and development of AI. I never really thought of it in terms of restricting the actual science of AI on a part of the researchers, but more in terms of how to apply or use those developments in everyday life. I feel like there will always be academics or scientists out there that want to push the envelope since they are the ones who are comfortable with computer. The limits seem to emerge when they try to market the product or simply even try to convince the public that these developments are things we need or will make our lives easier. Finally, the most difficult of all would be to convince the public to trust that the computer will do it better than we can.

Another interesting point brought up was the issue of emergence in relation to our robots. In the past few weeks, I always felt like I still wasn’t completely clear as to what “intelligent” behavior the robots where exhibit. On Thursday, Deepak said that we never programmed insecure to actually follow the wall but only gave the robot the capability to turn left and right based on certain conditions. That comment really made me see the robot as being intelligent. Interestingly, the friend that I showed the robot too chose insecure to be the most intelligent program out of the three.


ViewWiki | EditWiki | Webmaster@wiki.cs