![]() |
|||||||||||
|
|||||||||||
|
Course Navigation
Week 8
Timothy Ambrogi
Lawrence BombackI apologize for not giving the URL to the website that I consulted last week when I wrote my response. So here it is. Check it out: ai.eecs.umich.edu/cogarch0/subsump/I really enjoyed learning about all the different possible search techniques and how similar they are to the way we as humans perform searches. I have noticed that trend throughout the semester. In order to make concepts more understandable to both fellow computer scientists, students, and to the average person, AI researches opted to explain intelligent behaviors by using everyday analogies. We saw this here in searching, as well as before with genetic algorithms, computer-brain models, and neural nets. I found iterative deepening to be the most interesting of the search methods we learned so far because it appeared to be the most likely candidate for gaming. I assume that chess programs probably use iterative deepening because they follow a blind search pattern. Since computer chess programs don’t know about the distance to the goal (because chess games can be decided in five minutes or five hours) or anything about costs, I assumed heuristic and optimal searches were out of the question. I do wonder though if a computer could calculate cost by ranking particular pieces, as in the case that losing a rook is much worse than losing a pawn for example.
Jacqueline Chew
The activity in class,where we tried to perform a very simple task with the "perfect" robot was a bit of an eye-opener. For one thing, it showed the way in which information is processed and actions are executed. The activity showed the processes as drawn out. It made me think that we take our capabilites for granted. Such a task as moving blocks seems to us as if all we have to do is move our hands to move the blocks, where really, there are many steps involved. one thing that is not exactly a new revelation, but struck me during the activity, was that our "perfect robot," seemed to get a bit frustrated as the task turned out to be more difficult than had been expected. If the activity had gone on for longer, the performance level of our "perfect robot" would have been likely to be lowered as the human "parts" began to feel frustration and defeat. This is one way that computers will never be like humans.
Catherine ChiuI thought it was interesting and very humorous when we tried to make the "perfect" robot. Although we called our two arms, one brain, and pair of eyes a perfect robot, it was far from perfect. The main problem seemed to be that we each had different ideas of how to execute the problem. And since the four parts of the robot were supposed to only follow one brain, there were in fact four brains who were not necessarily on the same page. The thing with an actual robot is that all parts are calibrated to the same thing. Things can be much more exact that way and there is less room for error.Since we are supposed to start thinking about our final projects, I was wondering if anyone would be interested in making a Palm robot with me. Here are some links to how other people have made a robot like this before. zdnet.com.com/2100-11-524529.html?legacy=zdnn I'm not quite sure what the end goal would be for the robot, but thought it would at least be interesting to look into as a project.
Jason ColemanLearning about the search algorithms for game playing AI's got me thinking about a type of AI that might work generally for any program. The way it would work is that the AI starts with only knowledge of how to correctly play the game at hand (say chess). After that, the AI will take any random possible move. If the AI wins the game, it is considered better than the player and doesn't change its playing strategy. If it loses, it will consider the player better than itself, and will record all of the moves played by the human player (or other player) and if the same situation occurs in a future game, the AI will do what the winner of a previous game did. Limitations of this algorithm: Some games like chess have a lot (read millions or billions) of possible board/game setups so it would take a very long time (forever) for the AI to have a "good" move to play for every situation. You could fix this by considering "similar situations" when choosing a move, but this behavior would have to be programmed individually for each game. Another limitation is that if a "good" AI were beat by a better player, the AI would record a possible erroneous move by that player (say he goofed his opening move) as a better than "good" move. I don't think this would be a very bad though, because if the better player could beat the AI, even if he messed up a move or two, the new AI considering his moves would be at least as good in the same situation. This approach is a little different than others I've read about. In chess for example, the computer will usually play out each possible move until it finds a path to victory, and plays with that goal in mind. This way of playing can be PERFECT in some games with optimal playing strategies. I think the above approach is good though, because the AI doesn't know how to play a good game of chess. It learns from others how to play. I wonder what would happen if you made a couple of these AI's and let them play each other a few thousand times. I wonder how good they would become.
Ian HarrisonHaving now seen the “human robot” experiment we did in class on Thursday twice, I have to question whether it really gets at the difficulties that exist in trying to get a machine to exhibit intelligent behavior. For the human robot, the main problems seemed to be lack of descriptive ability and lack of precision movement. The eyes can’t really see 2.7 inches, and now person can move their arm that accurately. Additionally, it’s very hard to describe a visual environment to another person so that they can picture exactly what you’re seeing. Machines shouldn’t face these problems, because they make use of all sorts of measuring tools, can execute precision movements, and don’t lose the data that they take in. So while a human acting as set of eyes may not be able to provide another person, acting as a brain, with a clear picture of even a very simple environment, a computer using a camera would have a much more complete picture of such an environment. The problem for a machine is not so much determining what the environment is like as it is determining what sort of action to execute given the current state of the environment. The machine has problems when it comes to interpreting its environment, and as the environment gets more complex, the interpretation problem gets worse. In the human robot, the brain would’ve known exactly what to do next had it had an accurate picture of the environment. There is a loss of integration when you have 4 people trying to do the job of one, with all the data having to be filtered through the English language. If the people participating in the experiment had sat down for 5 minutes beforehand and worked out a simple communication system that could be used to relay salient environmental features and the movements that should be undertaken by the arms, I believe that stacking the boxes would’ve been a relatively easy task.
Nicholas KerrOne thing I have always thought about as a chess player is if there is a perfect series of moves that a player can do that will win every game. Obviously the set of moves couldn’t just be the same ones every time, since each possible situation in a chess games depends on both players. But maybe there are many common situations that are frequently achieved in chess games in which a small decision tree could perfectly represent winning action. Obviously the answer is no, or someone would have found the “solution” to chess already. It would be funny though if someone could find the perfect set of moves and make the whole game of chess trivial. It would put a lot of people out of business. I learned in math class once that a logician proved a theorem that stated that every set of axioms is either inconsistent or incomplete. In math and computer science, we hope that our axioms are incomplete, not inconsistent. On a similar note to my idea about chess, what if someone could prove a theorem that every set of axioms was inconsistent. Well the obvious problem with that would be that the axioms upon which the statement about the inconsistent axioms would itself then be based on inconsistency and nullify itself. If someone could prove such a thing though, it would probably piss off a lot of scientists whose life work would not longer really be relevant. Proof by contradiction would no longer make any sense since everything would contradict. Whenever I think about a world in which nothing is true, it makes me realize that everything would be true, since we could say anything we wanted and it would be true unless it was true (since we are in a world where everything isn’t true), but even true things wouldn’t be true since nothing is true. Of course, none of this makes sense.
Ananya MisraThe robot exercise we did in class was interesting, showing how complicated simple tasks can be (made). It also made me wonder about the role of the eyes versus the brain in seeing. In our game, the "eyes" did not say, "Pixels x to y are white (or white's RGB values!), a to b are blue..." and so on. This made the "brain's" task much easier. The eyes were also willing to describe the orientation of the boxes. In real life, we're so used to seeing objects as wholes that it's hard to distinguish what we actually get as visual input from what we perceive after our brain processes the information. Well, maybe it's not actually hard if you know enough about human vision, but I don't.Anyway, I guess that was not the main point of the exercise. Another thing that struck me was that dividing the body among four people made the process so much longer. When I reach for an object, I sort of move my hand in its general direction until it touches it. As a robot, we had to check on the hand's status at more discrete intervals... though I think a computer could have done this faster using loops, making it seem continuous enough. And it would probably have been difficult to go in a specific direction without getting into angles, unless the eyes were allowed to do some predicting. It's funny that computers can so easily compute some things that would take us ages to do, while it is difficult to make them accomplish some of our most basic tasks. Though it may be our own fault (as humans) for focusing on developing certain areas more than others. And it may not be so strange, either, because we're naturally less used to thinking about tasks that are basic to us, while making a computer do something usually involves logical thinking--unless we use NNs or GAs, which seem to change the direction of the thinking.
James RacanelliI’ve done a lot of thinking recently about my robot. It seems to me that we haven’t had them do anything intelligent yet. For the maze solving and similar tasks, our experience with programming has been that the less complicated we make the code, the more likely it is to work. Actually, it has more been the case that more complicated code has caused little to no improvement over more simplified code. For example, when trying to program dogged, Nick and I tried a variety of methods to deal with getting out of corners, most of which focused around finding different ways to sense when the robot was in a corner. But as Deepak mentioned, just putting a bit of randomness into the robots turns does the trick. In other situations, I’m sure that a robot would have to actually sense the situation to be able to work through it. However, in that case I can still only imagine writing more complicated code that is just telling what to do all the time. Just a bunch of hard coding. So although I have not seen my robot as being smart, I do think that he is really cool, and I have been impressed by the behaviors that have emerged from our simple programs. It seems that those emergent behaviors have been the most significant things that have been coming out of our labs. So I was wondering how much of a place in the real artificial intelligence world this idea of emergent behaviors has. Is there substantial research done on it or do people rely on it when building robots often? I just don’t know, but I would like to.
Juan RamosI was thinking how the example of the human robot and the brief 'box ordering' example we discussed in class. One advantage that computers have over a human is the fact that, using a graph, the computer can outline all the possible states in which the problem can exist. The person, on the other hand, can only picture maybe a few possibilities. The person, though, has the advantage that it can intuitively process certain behaviors, such as grabbing a box and moving it around, with incredible ease, whereas the robot has to incorporate this behavior as a piece of a larger program. Given a more complex physical problem, a robot might now exactly what actions it needs to take to reach the goal state from the start state, but lacks the improvisation elements that might make the task easier (for example, suppose the robot moves the box exactly 3 in. horizontally every time, making the box fall). A human player might not see the solution to such a problem immediately, but can work around the problem of 'too much precision' through instinct. One quick thought about what was said of the concept of a robot 'remembering' the right paths in navigating a maze. I keep thinking that deep down, one of the major advantages that the human brain has over a computer is storage space. While the most powerful computer might be able to store a few terabytes of information, I'm certain that the brain can store more than a hundred times that amount. The brain seems to work analogous to a computer with nearly unlimited storage space that is never turned off, and thus a lifetime of information can be stored and readily accessed. A program doesn't have the same storage capacity as a human, and in many cases, it resets every time it is run or shut off. Thus, a robot might lose all its gathered information once its turned off, much like a robot that learns its way through a maze might 'forget' it the moment it's shut down.
Matthew Rushton
Tina TanI started thinking about the topics we discussed in class this week and how they apply to game theory. We talked a bit in my CSem about chess playing programs especially since it came up in a lot of our readings and many films we watched. There was talk about why chess is used often when the material deals with artificial intelligence. Most people decided that chess, being one of the most complicated games, defines intelligence. I'm still having trouble with searching and intelligence: if the chess program is searching for the path which will lead to the program winning, it sounds to me that the program is somewhat backtracking, yet has the solution already fed into it. I know this is probably the wrong way to look at it, so I still wonder is it how it is conducting the search or even that it is capable of doing these complicated searches that make it intelligent. How different or similar is it to how humans play? I also thought the perfect robot exercise was really interesting. As someone who didn't have much background in comp sci or AI, it made me think differently about how hard it really is to actually apply ideas. Before, I sort of looked at AI and felt that the advancements made in AI were very far behind the ideas. I never really thought about how hard it was to connect all the components of a robot and make it function as a whole. Seeing that exercise and realizing that humans can't easily connect all the different inputs and outputs, I understand how hard it must be to create a non-living object to do the same. But in that sense, I think more of human intelligence and how complex it really must be for one to do something intuitively. We look at processes such as picking up a box as simple everyday things but never realize the whole process to get this done.ViewWiki | EditWiki | Webmaster@wiki.cs |